Купюроприёмник и помехи

unterukroppen
unterukroppen аватар
Offline
Зарегистрирован: 08.06.2020

Доброго времени суток, форумчане! В сложившейся прискорбной ситуации вынужден обратиться к Вам за помощью.

Подключаю купюроприёмник к Ардуине согласно с указаниями https://silatoka.net/arduino-nv-9 при использовании ниже указанных схемы и кода.

Невзирая на то, что к пину приёма сигнала подтянут резистор, плата порой принимает непонятного рода помехи, так же реагирует и на подключение проводов к другим пинам. Висящие проводки, подключённые к другим пинам, вообще выступают в роли антенны по приёму стороннего сигналa; подключение блока питания к сети тоже приводит к начислению нескольких денежных единиц, как следствие информация о внесённой сумме денег сильно искажается. Стоит отметить, что "голая" ардуина тоже ловит помехи, даже при подключении к пину подтягивающего резистора. Проверял на двух платах и двух идентичных блоках питания - результат тот же.

Блок питания:

Что характерно, пребывая в другой локации подобных проблем не наблюдал. Не уверен имеет ли это сильное влияние, но сейчас нахожусь вблизи вышки сотовой связи. Буду чрезмерно благодарен за помощь.

P.S. Прошу прощения, если тема оформлена не лучшим образом, на данном форуме впервые.

При использовании следующего кода:

const int moneyPin=2;
const int zapretPin = 5;
int money=0;
int sum=0;

unsigned long timeAllPulse1=3000; // макс. время приема купюры
unsigned long timeCount1=0;

void setup()
{
pinMode(zapretPin, OUTPUT);
pinMode(moneyPin,INPUT_PULLUP);
Serial.begin(9600);
Serial.println("ready");
attachInterrupt(0,count_pulse1,FALLING);

}

void loop()
{
digitalWrite(zapretPin, LOW);
// прошло максимальное время приема купюры?
if(money>0 && (millis()-timeCount1)>timeAllPulse1)
{
sum+=money;
money=0;
Serial.print("Kredit= ");
Serial.println(sum);
}
}
// обработка прерывания — получить кол-во импульсов
//
void count_pulse1()
{
detachInterrupt(0);
money++;
if(money==1)
timeCount1=millis();
attachInterrupt(0,count_pulse1,FALLING);
}

 

 

unterukroppen
unterukroppen аватар
Offline
Зарегистрирован: 08.06.2020

Прошу прощения, в коде вместо "pinMode(moneyPin,INPUT_PULLUP);" используется "pinMode(moneyPin,INPUT);" первый вариант имеет не совсем корректное отношение к указанной схеме.

nik182
Offline
Зарегистрирован: 04.05.2015

На прошлой неделе боролись с помехами в купюроприёмнике. Слабо посмотреть - поискать прежде чем постить тоже самое?

unterukroppen
unterukroppen аватар
Offline
Зарегистрирован: 08.06.2020

Поисковик сайта не находил подобных тем с участием купюроприёмника, а если таковы и были, то шум зачастую вызывался подключение ещё какого-то устройства, шагового двигателя, например. Тем не менее, буду благодарен за наводку

nik182
Offline
Зарегистрирован: 04.05.2015

Странно. Только что была 12 тема с верху в аппаратных вопросах.   

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

nik182, там был монетоприёмник :)

unterrukroppen, http://arduino.ru/forum/apparatnye-voprosy/problemy-s-polucheniem-impulsov-ot-monetopriemnika

nik182
Offline
Зарегистрирован: 04.05.2015

А какая разница? Помехи и решения  одинаковы  для них. 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

nik182, никакой. Но он то гуглил по другому слову :)

unterukroppen
unterukroppen аватар
Offline
Зарегистрирован: 08.06.2020

Благодарю! Не могли бы ли вы быть любезны посоветовать хороший блок питания, возможно производителя? 

yuhenotix@2p-ma...
Offline
Зарегистрирован: 09.06.2019

Конденсаторы  везде  повесить по питанию.  попробовать засунуть все  в алюм кастрюлю или  нержавейку и  проверить  перестанут ли идти помехи.  Вообще  arduino   платки   крайне  не помехазащищщеные, я  однажды  заталкивал  плату  в фольгу чтоб избавится от помех. КМОП  микросхемы они такие...