Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Arduino rušení

Ahoj všem,
asi před rokem jsem se rozhodl vytvorit si regulaci topení v domě, šlo mi hlavně o řízení nabíjení a vybíjení Aku a ovladani podlahoveho topeni, takže 2 cerpadla a 2 servopohony,popripade v budoucnu jeste solar. A jelikoz ceny takovych regulatoru se pohybuji kolem 10 000 tak jsem se rozhodl koupit Arduino mega klon, kartu s 8 rele a lcd 20x4 a ktomu 6x teplotnich cidel dallas 18b20 a zacal zkouset programovat,coz se mi nakonec i povedlo a funguje to vse temer dokonale az na jeden problem s kterym se trapim od zacatku a to je ruseni :( staci kdyz sepne kotlovy termostat odtahovy ventylator,nekdy staci i vysavac a nedej boze svarovat obloukem.Rusi se mi tedy hlavne lcd nesmyslnymi znaky, ale pokud jde o vetsi ruseni napr. ta svarecka tak se sekne i deska. Arduino i s rele mam pritom v plechovem rozvadeci a vse uzemneno a napajeno s pc zdroje. Zkousel jsem i druhe arduino ale ten sam problem :( nenapadlo by nekoho cim by to mohlo byt? Dekuji vsem za rady.

Předmět Autor Datum
Zdravím, začal bych tím, že bych ten PC zdroj připojil přes síťový odrušovací filtr (kombinace kapac…
nagios 25.09.2015 00:19
nagios
Zkoušel jsem dát filtr na výstup ze zdroje 12v ale bez efektu :( Chvilema uz si rikam ze to vyhodim…
RaulB 25.09.2015 00:38
RaulB
Zkuz dat ten regulátor do samostatné plechové krabičky, na zkoušku třeba jen nějak šikovně odstínit…
Glotonn 25.09.2015 01:10
Glotonn
Uzemněná krabička ti až tak nepomůže. Jediné co by ti mohlo pomoct, tak je nějaký RC nebo LC (podle…
antibalda 25.09.2015 03:07
antibalda
Děkuji vam za rady, vyzkousim a dam vedet :)
RaulB 25.09.2015 04:16
RaulB
Ještě mě napadlo, zkus to Arduino napájet nějakým klasickým zdrojem (zdroj s trafem), neboť spínané…
antibalda 25.09.2015 04:44
antibalda
Jo vidíš to mě taky nenapadlo vyzkoušet, zdroje jsem měnil 3,ale všechny byli stejného typu spínané.…
RaulB 25.09.2015 05:32
RaulB
No jo... Pokud jsou ale spínané zdroje zdrojem rušení, jak to, že neškodí kompomentám počítače? Co j…
dejv111 25.09.2015 08:12
dejv111
Tona low ESR kondenzatorov, a aj urcite seriove filtracne cleny
MM.. 25.09.2015 11:07
MM..
Ale vystup z PC zdoja by uz mal byt bez ruseni, ja by som sa skor priklanal k nazoru ze tie rusenia…
MM.. 25.09.2015 11:14
MM..
Jo, EMC je tezka veda a takovyhle problemy jsou spis magie nez cokoliv jinyho. 1) Jak uz tu nekdo ps…
bahno 25.09.2015 09:43
bahno
Já bych doplnil - kabely stíněné (v EZÚ jsem viděl, co takové stínění může zachránit), všude kde to…
Yarda 25.09.2015 10:30
Yarda
Tu plechovu bednu si uzemnil kam? Ak na ochranny vodic, tak to skus neuzemnovat na ochranny vodic al…
MM.. 25.09.2015 11:10
MM..
Tak jsem zkousel uzemnit rozvadec na GND a opravdu je to lepsi, ruseni od ventilatoru a termostatu z…
RaulB 28.09.2015 20:58
RaulB
To s tím oddělením od siloviny také není na škodu. Rozhodně do plechové krabičky a dráty k relé kart…
antibalda 29.09.2015 05:06
antibalda
Jaky rozvadec? Ja nejak nechapem ze co tam mas jak pospajane. P.S. idealne asi vloz sem fotky, nech…
MM.. 01.10.2015 20:37
MM..
Zober jeden alebo zopar 100n (alebo lepsie 470n) keramickych kondikov a napajkuj jeden rovno na atme…
MM.. 01.10.2015 20:40
MM..
Rušení asi přichází po drátech od čidel. Dá se to odstranit vhodnou ochranou vstupů proti nežádoucím…
náhodný 01.10.2015 19:34
náhodný
Pozdravujem. Podarilo sa Vám poriešiť problém s reštartom, rušením a mrznutim na Arduino? Zaujímam s…
MiroCorbaSK 07.01.2020 19:39
MiroCorbaSK
Neresis neco pres millis()? Jednou za cca 50 dni ti tenhle counter pretece, coz muze mit zajimavy na…
bahno 08.01.2020 08:12
bahno
Ahoj. Zrovna před pár dny jsem zhotovil větrání sklepu z bramborama. 2 čidla teploty, Arduino, LCD d…
nosac 02.04.2021 22:59
nosac
To je celkem hezky udělaný. Kde jsi sehnal tu "krabičku" na Arduýno ? Budu teď něco podobného dělat…
antibalda 03.04.2021 16:27
antibalda
Já použil krabičku ze starého vytopeneho modulu z rozvaděče. Ale určite se podívej na gme.cz nebi hl…
nosac 03.04.2021 16:35
nosac
Řešil bych to následovně : 1.) Na napájení Arduýna dát Low-ESR kondenzátor pár stovek uF a dále něko…
antibalda 03.04.2021 21:15
antibalda
Teplotní čidla jsou dvě DS18B20 zapojene paralelně na vstup Arduina přes onewire. Pull-up mám 4K7 př…
nosac 03.04.2021 22:29
nosac
Zmenši ten odpor na 1k. 1-wire je "open collector" sběrnice tj. zařízení jen "přizemňují" sběrnici a…
antibalda 03.04.2021 23:00
antibalda
Osciloskop bohužel nemám. O watchdogu pro nano jsem našel info, že je potřeba vyměnit bootloader viz…
nosac 03.04.2021 23:26
nosac
Takže při testu na stole nebyli žádné problémy. Zmenšil jsem ten odpor na 1K a taky zatím 100uF kond… poslední
nosac 10.04.2021 21:26
nosac

Zkuz dat ten regulátor do samostatné plechové krabičky, na zkoušku třeba jen nějak šikovně odstínit alobalem. Může být rušen el.vedením v rozvaděči. A ještě můžeš zkusit napájet ho z UPSky (záložního zdroje) za kterou nemůže být žádné rušení.

Ještě mě napadlo, zkus to Arduino napájet nějakým klasickým zdrojem (zdroj s trafem), neboť spínané zdroje (PC zdroj) jsou známé svým rušením - zakopaný pes může být právě v tom spínáku.

// Klasický zdroj s trafem samozřejmě dobře vyfiltrovat a napětí stabilizovat např. 7805. \\

Ale vystup z PC zdoja by uz mal byt bez ruseni, ja by som sa skor priklanal k nazoru ze tie rusenia sa mu tam indukuju nejak az za PC zdrojom (alebo cez ochranny vodic). Pripadne je dobre dat na uController extra kondik low ESR alebo par tantalov a 100n keramik atd. To by mal urobit vyrobca arduina, ale cinan na kopec veci sere)

Jo, EMC je tezka veda a takovyhle problemy jsou spis magie nez cokoliv jinyho.
1) Jak uz tu nekdo psal, zdroj. PC zdroj je stejne vykonove premrstenej, dal bych nejakej mensi, klasickej.
2) Dusledny blokovani. Oblibena univerzalni kombinace kondiku 100uF/100nF by mela bejt vsude. Napajet na napajeci piny arduina, napajeci piny displaye, proste kam se da.
3) Propojovaci kabely kratky a bez zavitu
4) Sem tam nejaka tlumivka taky neuskodi.
5) Bacha na zemni smycky - zeme(i napajeni) by mela bejt hvezdice do jednoho bodu, ne roztahany jak se to zrovna hodilo.
6) Zavrit ho do plechovyho rozvadece s tim vsim bordelem je pekne blbej napad, melo by mit vlastni, plechovou krabicku a tu v jednom bode uzemnenou. Ta pak muze bejt v rozvadeci.
Tolik co me na prvni dobrou napadlo, mozna nad fotkama by me napadlo jeste neco navic.

Já bych doplnil - kabely stíněné (v EZÚ jsem viděl, co takové stínění může zachránit), všude kde to je možné dát galvanické, nejlépe optické oddělení, pravidelně obnovovat údaj na LC(D) displeji a doplnit něco jako watchdog, když zabloudí program na Arduinu, tak aby ho to zase nahodilo.

Tu plechovu bednu si uzemnil kam? Ak na ochranny vodic, tak to skus neuzemnovat na ochranny vodic ale na zem vystupu zdroja (t.j. GND toho arduina).
Skus nepouzivat PC zdroje - ptz tie spajaju ochranny vodic na DC zem. Skusal si uz obycajny malicky 1A USB zdroj? (akakolvek USB nabijacka 1A a viac). Tie su uplne galvanicky oddelene od zeme, a potom uz nic nespajaj na ochranny vodic ani nic co je mimo vystupu zdroja.

Tak jsem zkousel uzemnit rozvadec na GND a opravdu je to lepsi, ruseni od ventilatoru a termostatu zmizelo, ale presto se mi to od te doby jiz 2x zaseklo. Chtel bych vyzkouset uplne oddelit silovou cast, tak ze bych nechal rele kartu a zdroj v tom rozvadeci a lcd a duino bych dal do male krabicky cca 2m vedle, myslite ze by to mohlo pomoct ma to cenu? A byla by lepsi plechova nebo plastova? Dekuji vsem za rady, uz jsem to vzdaval :-/

To s tím oddělením od siloviny také není na škodu. Rozhodně do plechové krabičky a dráty k relé kartě pevně svinout dohromady (např. vrtačkou), něco na způsob UTP kabelů a točených párů.

Pokud už se to "jen" zasekává, tak to bych možná zkusil doladit softwarově - zapnout nějaký watchdog a v případě záseku programu program restartovat, teda pokud tam nemáš nějaký důležitý data, který se v průběhu programu ukládají a přepisují.

PS. Hlavně vše uzemňovat do jednoho bodu, nesmí se to spojovat kde tě to napadne - to nemá vůbec cenu.

Zober jeden alebo zopar 100n (alebo lepsie 470n) keramickych kondikov a napajkuj jeden rovno na atmel medzi Vcc a GND piny, a dalsie kondiky pripadne na nejake ine Vcc (analogove) a pripadne Vcc dalsich obovodov ak tam su aj nejake dalsie obvody. kondik vzdy rovno na IO a s co najkratsimi nozickami. A jeden drbni medzi reset pin a gnd rovno na atmeli. (//edit: na reset ani netreba, keby zakmitaval reset tak by sa to asi skor resetovalo a ne mrzlo :)
To by mohlo pomoct na to zasekavanie. Inac moze byt aj naprd naprogramovany firmwer, ked sa zasekava.

P.S. a pripadne skus pouzit oddeleny zdroj (nabijacka na telefon apod), ne PC zdroj.

Rušení asi přichází po drátech od čidel. Dá se to odstranit vhodnou ochranou vstupů proti nežádoucím pulzům jak hardwarově (jestli je vstup na vysoké impedanci, tak tam pronikne všechno, podívejte se na řešení ochrany vstupů u podobných zařízení) tak i softwarově, podobně, jako se softwarově řeší zákmity tlačítek při spínání.

Pozdravujem.
Podarilo sa Vám poriešiť problém s reštartom, rušením a mrznutim na Arduino?
Zaujímam sa o to, lebo mám svoj projekt kotolne na podobnej báze...
Mega 2560,lcd 20x4 I2C, 10x18b20, 2xservo 2xcerpadlo., 8xvstup - termostaty, 2xvystup el. Kotol.

Mal som problém s mrznutim... Občas....
Teraz som pridal wotchdog je to fajn...
Pri prevádzke 24h celí rok mam 5 reštartov.
Mam presnú evidenciu.. Lebo všetko mi to loguje na SD kartu...
Ďakujem a prajem veľa úspechov.
Čorba
Corba.elektro@gmail.com
0907242 418

Ahoj.
Zrovna před pár dny jsem zhotovil větrání sklepu z bramborama. 2 čidla teploty, Arduino, LCD displej, releový modul. Na stole to fungovalo v pohodě. Bylo napájené z PC přes USB. Když jsem to dal na zeď. Napájel jsem to spínaným zdrojem na DIN lištu značky MW. Po zprovoznění začali problémy. Někdy se nenačetla někerá z teplot, z čidel. viz foto. Teplotní čidla jsou propojené přes stíněný kabel JYTY. Pak začali problémy i ze zaseknutím displeje a pomohl pouze restart na pár hodin. Po testech jsem zjistil, že problémy dělal spínaný zdroj, který byl od Arduina vzdálen cca 10 cm i když nenapájel Arduino. Stačí, že byl naprázdno zapnutý tou dobou jsem Arduino napájel přes vzdálený adaptér ze zásuvky. Zatím bez problému.

Řešil bych to následovně :
1.) Na napájení Arduýna dát Low-ESR kondenzátor pár stovek uF a dále několik keramických kondenzátorů 100nF až 470nF - ty co nejblíže napájení MCU (většinou nějaká ATmega - pokud je to DIL pouzdro, dají se dát SMD kondenzátory přímo na piny).
2.) Do SW implementovat Watchdog, který procesor při zaseknutí restartuje. Samozřejmě používat rozumně.
3.) Vše obměřit osciloskopem, kde je největší zarušení a podle toho vybírat typy filtrů a jejich umístění.

Ještě mi není jasná jedna věc : jakého typu jsou ty teplotní čidla ? Analog nebo nějaký 1-wire interfejs ? U toho analogu bych zkusil zapnout nějaký integrovaný filtry v ATmega (nevím, jestli má - už s AVR dlouho nedělám - STM32 má, jak analogový, tak i digitální). Pokud jsou 1-wire, zkusil bych snížit hodnoty Pull-up odporů (aby zde tekl větší proud a méně zarušovalo sběrnici). Opět, osciloskop řekne nejvíce. :beer:

Teplotní čidla jsou dvě DS18B20 zapojene paralelně na vstup Arduina přes onewire. Pull-up mám 4K7 přímo na shieldu mezi 5V a vstupem pro DATA. Ten Low-ESR kondik můžu zkusit, ale ty keramické k MCU nedám, protože používám Arduino nano. Nad tím watchdogem jsem začal uvažovat, ale jako začátečník to musím ještě nastudovat, mám pocit, že na tyto čínské klony to bude trošku komplikovanější. Trochu podezírám umístění releového modulu. je vedle arduina a pod displejem. Možná by bylo řešení výměna za SSR nebo ho dát úplně mimo krabičku. Na fotkach je zatím nepřipojené čidla a napájení + spínání 230V v releovém modulu.

P.S. možná se ti bude hodit tato krabička https://www.gme.cz/krabicka-plastova-kpdin3-abs-z-101 to je v podstatě kopie mojí.

Zmenši ten odpor na 1k. 1-wire je "open collector" sběrnice tj. zařízení jen "přizemňují" sběrnici a tím přenáší data. 5mA určitě neuškodí.

Je jedno jestli je to čínská kopie nebo originál od Arduýna. Ten procesor je AVR od Atmelu. Takže watchdog bude fungovat podle návodů, co jsou na netu. Je sice pravda, že na čínské kopie se používají vyřazené procesory z výroby (nesplňují parametry v datašitu), ale musel by jsi mít opravdu velké "štěstí", aby jsi měl tak vadný kus, že ti způsobí takovéto kravení.

SSR relé bych tam nedával - mám spíše negativní zkušenosti než pozitivní. Pokud nemáš kapacitní zátěž (ta by mohla způsobovat lepení kontaktů relé), tak ponechej klasické magnetické.

Osciloskop máš ? Nějak jsi nereagoval na věty ohledně osciloskopu.

Takže při testu na stole nebyli žádné problémy. Zmenšil jsem ten odpor na 1K a taky zatím 100uF kondik na vstup arduina Vin. Doprogramoval jsem počítadlo případných výpadků načtených teplot. Po montáží na zeď vše bez problému. Pouze jednou jsem si všiml, když byl kabel pro ventilátor kousek vedle , zrovna jsem ho napájel pouze ze spínací časové zásuvky, tak při vypnutí začal LCD vypisovat blbosti. Nevím jestli pomohlo, ale i z jiného důvodu jsem zapojil na kabel k ventilátoru RC člen. Odvtedy mám klid. Žádny výpadek od čidel a displej taky bez problému. Watchdog jsem zatím nedával. Jinak díky za podněty, určitě nejaká kombinace pomohla.

Zpět do poradny Odpovědět na původní otázku Nahoru