Samovolné spouštění klon Arduino Nano V3.0 R3, CH340G

romandj1
Příspěvky: 4
Registrován: 20 bře 2020, 09:13
Reputation: 0

Samovolné spouštění klon Arduino Nano V3.0 R3, CH340G

Příspěvek od romandj1 » 20 bře 2020, 09:23

Zdravím,
potřebuji poradit. Vlastním modelové kolejiště, a dle toho návodu http://www.vejrov.cz/2017/09/arduino-7- ... -zvuk.html jsem si postavil staniční hlášení. Vše funguje skvěle, ale bohužel mám jeden problém a už vůbec nevím jak dál => Arduino se mi samovolně spouští.
Jedná se o analogové kolejiště, kde vše je ovládáno přes relé.
Relé jsou napájena samostatným 12V zdrojem.
Výhybky jsou nápajeny také samostatným zdrojem (střídavý proud).
Arduino je napájeno samostatným 5V (500 mA) zdrojem.
Problém je pokud například sepnu nějakou výhybku, tak se mi spustí Ardunino a začne hrát. Nebo sepnu nějaké relé a opět se mi spustí Ardunino. Releé sepnu třeba 2x, 3x a nic po 4 sepnutí se pustí Ardunino a začne hrát.
Nemáte někdo představu jak toto vyřešit? Jak se to může navzájem ovlivňovat, když to není nikde spojené?
Předem moc díky

Uživatelský avatar
kiRRow
Příspěvky: 1151
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: Samovolné spouštění klon Arduino Nano V3.0 R3, CH340G

Příspěvek od kiRRow » 20 bře 2020, 09:58

Někde se ti na vstupech arduina nabírá nějaké rušení. Relátka, motory a další věci pracující s magnetickým polem indukují do vodičů v jejich okolí rušení. Ten MCU probíhá tím loopem strašně rychle a i krátký "ruch" ti veme jako 2-3 stisky tlačítka. Dá se to řešit HW - správně stíněné vodiče, faradayova klec pro elektroniku, RC filtry a schmitovy klopné obvody na vstupech ... Dá se to řešit SW - viz debounceButton example -

Uživatelský avatar
kiRRow
Příspěvky: 1151
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: Samovolné spouštění klon Arduino Nano V3.0 R3, CH340G

Příspěvek od kiRRow » 20 bře 2020, 10:16

Jako první bych zkusil obrácení logiky :
Všechny odpory z mínusu na plus. Všechny tlačítka z plusu na mínus. A v programu všechny if (buttonState == HIGH) přepsat na LOW.

Snadněji se z LOG0 rušením udělá LOG1 než naopak - to zase umí špatně filtrované zdroje

ondraN
Příspěvky: 932
Registrován: 08 srp 2019, 20:01
Reputation: 0

Re: Samovolné spouštění klon Arduino Nano V3.0 R3, CH340G

Příspěvek od ondraN » 20 bře 2020, 10:46

Měl jsem na kolejišti podobný problém a vyřešilo ho spojení pinu arduina RESET s napájením 5V přes rezistor 220ohm.

jankop
Příspěvky: 1029
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Samovolné spouštění klon Arduino Nano V3.0 R3, CH340G

Příspěvek od jankop » 20 bře 2020, 17:14

Asi bych snížil hodnotu rezistorů na cca 3k3.

romandj1
Příspěvky: 4
Registrován: 20 bře 2020, 09:13
Reputation: 0

Re: Samovolné spouštění klon Arduino Nano V3.0 R3, CH340G

Příspěvek od romandj1 » 23 bře 2020, 18:08

Děkuji všem za rady. Zatím vyzkoušeno:
- spojení pinu arduina RESET s napájením 5V přes rezistor 220ohm => bez úspěchu.
- výměna kabelů od tlačítek k Arduinu za stíněné kabely => bez úspěchu.

Stíněné kabely Arduina jsou vedeny společně s ostatními kabely relátek, výhybek, apod. Myslíte, že by se to mohlo stále ovlivňovat?
Délka kabelu od Arduina k tlačítkům je cca 1,5m.

Další pokus bude obrácení logiky... Dám vědět, zda zabralo.

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Samovolné spouštění klon Arduino Nano V3.0 R3, CH340G

Příspěvek od pavel1tu » 24 bře 2020, 08:42

Musíš ošetřit vstupy na Arduinu,
jak se zde píše - menší odpory, nebo prostě nějakým filtrem (RC atd.).
Ale pomohou ty odpory i obrácení logiky a je to nejjednodušší.

PS: stínění od kabelů dát na minus, nebo kostru - ale jen na jedné straně !!!
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

romandj1
Příspěvky: 4
Registrován: 20 bře 2020, 09:13
Reputation: 0

Re: Samovolné spouštění klon Arduino Nano V3.0 R3, CH340G

Příspěvek od romandj1 » 24 bře 2020, 10:58

Obrácení logiky vyzkoušeno, ale zatím bez úspěchu... vyzkouším menší odpory. Samozřejmě že 3k3 zrovna nemám, ale mám tu 2k2, myslíte, že bude stačit?
Vše je nápájeno laboratorním zdrojem, takže napětí by mělo být čisté... Ale nějaký filtr vyzkouším také.
Stínění kabelů mám na jedné straně spojené s mínus na zdroji.

passion
Příspěvky: 10
Registrován: 27 dub 2018, 16:33
Reputation: 0

Re: Samovolné spouštění klon Arduino Nano V3.0 R3, CH340G

Příspěvek od passion » 24 bře 2020, 14:25

Nechaj obrátenú logiku (tlačítka nie na plus, ale na mínus a rezistory len odpoj od mínus prípadne ich pripoj na plus, ak to bude ešte blbnúť) a skús vo void setup nastaviť vstupy 4 až 13 ako s internými pullup rezistormi.
pinMode(4, INPUT_PULLUP); atď...

Uživatelský avatar
kiRRow
Příspěvky: 1151
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: Samovolné spouštění klon Arduino Nano V3.0 R3, CH340G

Příspěvek od kiRRow » 24 bře 2020, 14:36

Na přesnou analýzu tohohle problému je nejlepší přítel osciloskop. Ten ti doslova ukáže co se ti na těch pinech děje. Pokud není HW výbava, tak se to dá i vyřešit pomocí programu, kdy budeš reagovat pouze na impulzy o nějaké minimální délce.

Tahat v jednom svazku kabelu napájení na spínání relátek a zároveň signály pro řízení mikroprocesoru není moc dobré. Stínění pak postrádá jakýkoliv smysl.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 6 hostů