Odfiltrování impulzů z ohradníku

Odpovědět
Energizer7
Příspěvky: 3
Registrován: 03 srp 2022, 07:42
Reputation: 0

Odfiltrování impulzů z ohradníku

Příspěvek od Energizer7 » 16 dub 2023, 19:10

Zdravím, obracím se zde pro radu.

Mám obvod na Arduino Nano, které ovládá dveře kurníku zapomocí motoru a L298N. Celý obvod je napojení na Solární panel do nějaké běžného Solar charge controlleru, který je připojen na 12v gelovou baterii. Dále je na tuto baterii napojen i ovládací panel ohradníků. Objevuje se problém, že s vypnutým ohradníkem funguje celý kód z Arduina úplně bez problému. Jakmile je ovšem ohradník zapnut, Arduino zůstává v jakýchsi mezistavech, ovšem tuším, že za to může zmiňovaný LN298N, který ovládá motor. Je nějakým způsobem možno "odstínit" případně odflitrovat impulzy z ohradníku?

Díky za jakoukoliv radu, samozřejmě bude-li potřeba doplním odpovědi na případné dotazy.

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

Re: Odfiltrování impulzů z ohradníku

Příspěvek od ondraN » 17 dub 2023, 09:25

Za to může elektromagnetický impuls od trafa ohradníku a případná špička, která projde po napájení. Jediná pomoc je důkladná fitrace napájení a odstínění obou zařízení. Také případné umístění blízko sebe má velký vliv, takže co nejdále od sebe. Také by bylo dobré použití WDT v arduinu, aby se tyhle záseky vyřešily.

Energizer7
Příspěvky: 3
Registrován: 03 srp 2022, 07:42
Reputation: 0

Re: Odfiltrování impulzů z ohradníku

Příspěvek od Energizer7 » 17 dub 2023, 12:03

Děkuji za radu, pokusil jsem se zakreslit schéma, které by mohlo být nápomocné. Ještě uvedu, že cesta od Sollar Charge Controlleru ke krabici s arduinem je zhruba +- 5m. Tudíž ten ovládací panel je v dostatečné vzdálenosti, ovšem nebude zde dodrženo Vámi zmiňované odstínění. Ještě k použítí WDT v arduinu, zajímavý nápad. Abych ještě dodal vhled do kódu. Vše je ovládáno světelným senzorem (BH1750 uvedeno na skice). Pokud je tma, sepne se relé na 1h (rozsvítí se světlo) a poté sjede motor. Na obvod jsou ještě připojeny 2 magnetické kontakty - abychom dokázali odlišit, zda má motor ještě jet nahoru/případně dolů. To poznáme tím, že se nám sepnou buď magnety nahoře případně dole. Právě během této hodinové pauzy zůstává arduinu v podivných stavech a motor nesjede, případně sjede pouze nějaký kousek. Ovšem tyto podivné stavy nastávájí pouze, pokud je zapnutý ohradník. Když je ohradník vypnutý vše funguje v pořádku. Možná ještě úplně nakonec dodám, že toto rozsvícení na 1h je realizováno pomocí funkce delay(), zda i toto nemůže být příčinou.
Untitled Sketch_bb.jpg

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

Re: Odfiltrování impulzů z ohradníku

Příspěvek od ondraN » 17 dub 2023, 12:33

Jak jsou řešené vstupy do arduina od těch kontaktů? Jsou nějak ošetřené proti impulsnímu rušení? To bývá taky cesta, někdy lepší než napájení, jak se může impuls dostat do MCU a rozhodit ho.
Jinak, ten odstup byl myšlen, jako vzdálenost od generátoru ohradníku od arduina.

Energizer7
Příspěvky: 3
Registrován: 03 srp 2022, 07:42
Reputation: 0

Re: Odfiltrování impulzů z ohradníku

Příspěvek od Energizer7 » 17 dub 2023, 12:41

ondraN píše:
17 dub 2023, 12:33
Jak jsou řešené vstupy do arduina od těch kontaktů? Jsou nějak ošetřené proti impulsnímu rušení? To bývá taky cesta, někdy lepší než napájení, jak se může impuls dostat do MCU a rozhodit ho.
Jinak, ten odstup byl myšlen, jako vzdálenost od generátoru ohradníku od arduina.
Zdravím, vstupy do Arduina od LN298N, které ovládá motory tak i od jiných součástek nejsou nijak ošetřeny proti impulsnímu rušení, jsou připojeny klasickým vodičem, snad chápu správně Váš dotaz.

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

Re: Odfiltrování impulzů z ohradníku

Příspěvek od ondraN » 17 dub 2023, 13:19

Tak bych nejdříve zkusil tyhle vstupy ošetřit, nejlépe nějakým RC členem. Dále připojit ten generátor ohradníku přes nějaké tlumivky (v obou větvích napájení) a mezi tlumivkami a generátorem blokovat kondenzátory (kombinace několika keramik (cca 1M) a lowESR elytů(cca 1000M)).
Pokud je program koncipován, jak píšete, tak použití WDT bude problém, protože po resetu nebude arduino vědět, kolik času již uplynulo v čekací smyčce, pokud byla aktivní. Jedině si to ukládat do vniřní EEPROM, ale ta má omezený počet zápisů na buňku, takže to jedině řešit ukládáním na proměnnou adresu cirkulárně.

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

Re: Odfiltrování impulzů z ohradníku

Příspěvek od kiRRow » 17 dub 2023, 16:59

No velmi snadno můžeš rozlišit odkud se ten rušící element bere tak, že pro test napojíš arduino přes usb na nějakou power banku. Časová náročnost minimální. Tím obejdeš napájení a pokud se to stále bude zasekávat, tak rušení jde přes vodiče připojené na IO ( ono je dobré i tak mít veškerou kabeláž stíněnou - hlavně když to jde mimo "krabičku", důležité je stínění vodičů ukostřit všechno pouze v jednom jediném bodě - jinak to může nasekat více škody jak užitku ).

Ano, EEPROM se časem zničí, ale taky vydrží stovky tisíc zápisů, člověk se musí fakt snažit, aby jí zlikvidoval - a nebo fakt fatalerror. Jsou RTC moduly s vlastní eeprom, externí eeprom - vyhodím švába, dám novýho ... SD karta z hlediska arduina udrží obrovské množství dat a je prakticky nezničitelná ... jsou švábi co pracují jako RAM ale mají vlastní EEPROM do které přepíší svůj obsah při výpadku napájení.

peterple
Příspěvky: 156
Registrován: 22 zář 2021, 20:20
Reputation: 0

Re: Odfiltrování impulzů z ohradníku

Příspěvek od peterple » 17 dub 2023, 21:25

Ohľadom resetu od watchdoga. SRAM sa resetom nenuluje, robí to len default C kód ktorý nuluje globálne premenné. Assembleristi to teda vedia vyriešiť ľahko. V C existujú aj nenicializované globalne premenné ale neviem ako sa to v arduine deklaruje. ATMEGA má však okrem tejto SRAM aj zopár IO buniek ktoré sa dajú využiť ako pamäť ktorá prežije reset. Zdroj resetu sa dá zistiť, teda po resete môžem pokračovať v časovaní kde som skončil. Počítanie času netreba ukladať do EEPROM. Môže zostať v SRAM. Samozrejme je tu určité riziko že tá šupa poškodí aj obsah SRAM. To sa rieši kontrolnou sumou.

A najprv treba urobiť všetky hw úpravy preto aby sa tie šupy žiadnou cestou nedostali do arduina. To už ale chce aj nejaké znalosti z elektrotechniky, prípadne veľa študovania.

edit:
tu je link kde riešia ako urobiť premennú ktorá sa po resete nenuluje
https://forum.arduino.cc/t/how-to-not-i ... es/56805/6

Uživatelský avatar
gilhad
Příspěvky: 786
Registrován: 07 bře 2018, 11:22
Reputation: 0

Re: Odfiltrování impulzů z ohradníku

Příspěvek od gilhad » 17 dub 2023, 21:58

Jen sem plácnu něco o filtraci napájení a pokud mě tazatel odpálkuje, že tohle přece dávno ví "každý a jeho pes", tak jen dobre :lol:

https://kubac.jecool.net/petr-kubac.blo ... akuje.html
https://kubac.jecool.net/petr-kubac.blo ... dil-1.html

Odpovědět

Kdo je online

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