Snímání 220V vstupu-připojení 230VAC na port mikrokontroléru

Chtěl bych se zeptat na jednu věc.

Mám zařízení s následujícím zapojením a zatím jsem jej nenamontoval na své místo, protože při testech to dělalo neplechu a já nevím proč.

Připojení zařízení
Vstupy :
JP1 - 12V PIR čidlo
JP2 - komunikační vstupy k/od mcu
X3-1 - nulový
X3-2 - spínaná fáze z PIR čidla
X3-3 - spínaná fáze z tlačítka

Výstupy :
X2-3 - fáze pro světla
X1-1, X1-2, X2-1 a X2-2 jednotlivá světla.

Jde mi o tu vstupní část s optočleny.

Zatím z mcu posílám jen rozsvicování LED diod v závislosti na sepnutí jednotlivých vstupů. Testováno je zatím jenom na stole a chovalo se to následovně :

Když na svorku X3-1 připojím nulovací vodič, probliknou mi LEDky a občas cvakne nějaký relátko. Pokud místo nuly připojím fázi, tak jsou “poruchy” o něco silnější. V okamžiku, kdy na některý vstup přivedu napětí, tak se mi sice rozsvítí požadovaná LED dioda, ale k probliknutí druhé a svaknutí některého reláka dojde stejně. Dokonce mi to občas i restartovalo mcu. Chová se to stejně i v případě, že v patici není optočlen (jen se samozřejmě nerozsvítí žádná LEDka natrvalo). Původně byla vstupní část řešená pomocí 230V relátek, tak jsem si myslel, že se z cívky indukuje při připojení nějaký impulz, proto jsem to předělal na optočleny.

Pokud vstup nezapojím a výstupy optočlenů spínám ručně (propojím piny na patici), můžu si dělat co chci a šlape to naprosto pohodově. Mám jiné zařízení, kde jsem snímání stavu vypínače dělal právě s těmi relátky, které jsem použil i tady a tam to šlape bez problémů.

Podmínky zapojení byly následující : K napájení mcu a modulu byl použit zdroj z PC, vstup jsem připojoval do stejné zásuvky, ve které byl připojen mcu. Mohlo mít na funkci vliv to, že byl modul napájen z PC zdroje a ne z klasického trafa ? V předchozím zařízení, které jsem stavěl a funguje, je použito klasické trafíčko.

Ještě malá poznámka : Prosím, nepište mi, abych osadil 12V PIR čidlo místo 220V a tlačítko taky. Kdyby to šlo, tak bych to udělal a nelámal si hlavu s 220V vstupem …

:arrow_right: administrator: přesunuto z "Elektronika bez mikrokontrolérů, procesorů"

:arrow_right: administrator: přejmenováno z "Snímání 220V vstupu."
Spinani_3.png

Prva vec, ktora je v zapojeni zle, su chybajuce odpory paralelne radene k dioode optoclena. V taokomto zapojeni rozne naindukovane prudy na kabloch z ktorych snimas stav -/230V postupne nabijaju kondenzator za usmernovacom az sa napatie dostane na uroven pootvorenia optoclena. Tym sa sice kondik trochu bybije, ale jav sa periodicky (samozrejme s roznou periodou zavisiacou od okolitych vplyvov) opakuje. VZDY davaj na vstup optoclena odpor. Staci aj 10k. Ale VZDY ho tam daj. Aj v zapojeni na 5V. Vyhnes sa obcasnemu divnemu spravaniu sa zariadenia.

Druha vec je, ze zapojenie je zbytocne zlozite. Ale ze fakt ze je :slight_smile:
Na vstup 230V daj 100k/2W z neho chod na optoclen PC814. Ten ma dve antiparalelne optodiody v sebe. Druhy koniec optoclena daj na nulak. Alebo ak hrozi dotyk s pinom optoclena, potom daj odpor 47k, optoclen a dalsi 47k odpor. Paralelne k optoclenu daj 4k7 odpor. Odpor 100k/2W (alebo 2x47k/2W) nedavaj s mensou hodnotou, lebo po case scerna. To nevadi ze je vykonovo predimenzovany. To je skusenost. Prud samozrejme mozes zrazit aj kondenzatorom. Ten vsak bude vzdy objemovo vacsi (dana kapacita a dane izolacne napatie, kondik by som uz potom dal bezpecnostny) ako ten odpor. Predpokladam, ze vykonova strata Ta v tomto pripade netrapi.

Vystup z optoclena zapoj tak, ze C das na +U, emitor das cez odpor do bazy nejakeho NPN, alebo NFET-tu a samozrejme nezabudni dat medzi B a E (G a S) odpor (napr 10k-47k) a paralelne k nemu kondenzator. Ak bude odpor do bazy 4k7, C by som videl tak na 1uF pripadne 10uF. Tym vyfiltrujes tie pulzy z 230V. Medzi kolektor tranzistora a +U daj odpor (4k7-22k) a mas to. :slight_smile:

To zazracne zapojenie s 595, D5 (D6) a optoclenmi som nejako nepochopil. Podla mna si tak akurat cez 595 skratujes napatie. Davat na vystup QG (QH) log.1 zmysel nevidim - vzhladom na funkciu optoclena - a ak tam das log. nulu a optoclen sa ma otvorit, tak akurat nim realizujes nicim neobmedzeny skrat cez vnutorne struktury 595 a toho optoclena. To by mohlo sposobovat to spomynane blbnutie.

P.S. Az teraz som si vsimol, ze na D5 a D6 nie je priamo Ucc ale nejaky zahadny signal. Ani vystup z toho hradla nie. Tak beriem spat slova o skrate Ucc, ale nejako si to trochu uces, nech je to trochu jasnejsie.

Martine to zapojení jsem pochopil tak, že pomocí 595 přepíná který vstup bude číst (3 stavy: X3-2, X3-3 nebo JP1), signály slučuje přes diody a pak to čte jedním pinem přes JP2. … asi už může být problém s nedostatečnou úrovní LOW (výstup 595 + optočlen + dioda), ale to zřejmě není to co by způsobovalo problém.

Parazitní indukce+srážecí odpor se zdá být dobrý tip.

Aj tak sa to da pochopit. Zahadou mi tam este je ta 7400.

No jednoduchsie sa to da zapojit podla prilohy.
230V_2x_mux.pdf (69.9 KB)

Ještě tam chybí čtení z JP1 (když jsou QG a QH na HIGH - tím se odblokuje signál přes 7400 a projde na výstup).

Zapomněl jsem napsat, že modul je hotový a v podstatě připravený k montáži. Na kontaktním poli mě ani nenapadlo testovat 220V část. Na to mám příliš velký respekt před síťovým napětím. Panda správně pochopil tu 7400 i slučovací diody a tahle část šlape jak má. 74595-ka v tomhle případě vybírá, který vstup se bude číst. Stav 00 je nepřípustný, ale to je ošetřeno pomocí SW. Kromě toho tahle část funguje správně. Ten paralelní odpor k optočlenu zkusím, ale jak jsem psal, tak stejně se to chovalo i když tam byly místo optočlenů (teda celý vstupní 220V části) relátka nebo když tam optočleny nebyly osazeny.

Díky za tipy - budu zkoušet dál.

P.S.: Ještě zkusím místo přímého propojení sepnout výstup optočlenu diodou, abych nasimuloval úbytek napětí na tranzistoru. Ale popravdě, když tam byl místo optočlenu kontakt relátka, tak se to chovalo úplně stejně …

Balů ještě jestli není chyba v tom, že by nebyl správně ovládaný RCLK a na výstup 595 by se dostal mezistav během načítání - špatný kontakt v konektoru (chytá rušení ze sítě), obsluha přerušení neuchovává nějaký registr nebo koliduje v nějaké sdílené proměnné. Ale jestli se signály tahají dráty k MCU, tak spíš to bude chytání rušení ze síťových částí.

Na to jsem taky myslel. Jenže program jsem zkontroloval a 595-ku mám zmáknutou dobře (i když chybu člověk nemůže vyloučit nikdy). Rušení do kablíku k mcu můžu skoro vyloučit. Mám totiž mcu ve vývojový desce a je k němu jen cca 10 cm dlouhý kablík. Myslel jsem i na to, že je mcu příliš rychlý, tak jsem mu nastavil (mcu ATtiny13A) až IntRC 128kHz s děličkou 8, takže běžel na 16 kHz (místo původních 9,6MHz) - výsledek stejný. Když jsem na mcu odpojil pin DATA a připojil je na zem, tak se tam žádné chyby neobjevily. Budu zkoušet a testovat a snad se něco uchytí.

A co propojení zemí zdrojů. Jestli je MCU a deska napájená jiným zdrojem, tak může být problém s parazitními proudy přes zemní vodič. Dalo by se ověřit dokonalým propojením zemí z více bodů na plošňáku, několika dráty.

Není. Deska s mcu je napájena ze starého PC zdroje - z větve +5V, modul je napájen z +12V téhož zdroje. Zem je společná. Ve finále bude jeden 12V pulzní zdroj, který bude napájet tento modul, PIR snímače, dveřní vstup a pár dalších věcí a samozřejmě i jakousi centrální jednotku s jedním mcu, který to všechno bude řídit. Kde bude potřeba nižší napětí, tam budou stabilizátory 7805. 220V vstupy jsou napájeny ze stejné zásuvky jako PC zdroj.

Akosi nevidim tu cast kde je uP, daj sem cele schema ako to vyzera…

Řídící modul jsem zatím nestavěl. Pro test mám naprogramovanou ATtiny13A. Ta sedí v kontaktním poli a s modulem je propojená cca 10cm dlouhým plochým kablíkem :
GND
Data OUT - PB2
CLK - PB1
WR - PB0
Data IN - PB4
LED - PB3

Blokovací kondík mezi GND a VCC. LED na PB3 se po startu mcu na chvilku rozsvítí a pak zhasne a zůstane zhasnutá. Proto vím, že se mi v původním zapojení, kde byly relátka mcu občas resetoval. Napájení modulu je z PC zdroje větev +12V, napájení mcu je z +5V větve téhož zdroje. Vstup X1-1 je připojen na nulový vodič ze stejné zásuvky, ve které je zapojen PC zdroj. Už při připojování nulového vodiče k X1-1 mi to zablbne. V případě, že připojím místo nulového vodiče fázový, je porucha o něco intenzivnější. Po připojení nulového vodiče a spínání pomocí fázového na svorce X1-2 nebo X1-3 funguje snímání správně, jen prostě při zapínání mi probliknou obě LEDky, někdy i cvakne některé relátko. Vzhledem k tomu, že relátka programově nespínám (posílám jim trvale log. 0), tak by to dělat v žádném případě neměly. Pokud uzemním na straně mcu signál Data OUT, tak nic neproblikává, nic necvaká. Jakoby dělalo blbosti napájecí napětí z PC zdroje. Zkusím napájet mcu z větve +12V přes 7805-ku. Třeba to způsobuje ten PC zdroj.

PC zdroj není až tak moc stabilizovaný. Zpětná regulace je typicky jen pro jednu větev a tak může snadno proniknout rušení z 12V do 5V. Ta 7805 by mohl být užitečný pokus.

Zkus přizemnit nebo na +5V (např. 4K7 odpory) vstupy té 74HC595-ky. Myslím tím definovat klidový stav. Protože je možné, že délkou sběrnice se něco indukuje. Totéž platí i vstupu na konektoru JP1 a hlavně vstupech 1 a 2 u 7400. Také připomenu, že 595-ka má 3-stavové výstupy, tudíž může nastat situace, že vstupy 1 a 2 u 7400 budou v luftu. Chápu tedy správně, že pak nebudou fungovat ani ty vstupní optočleny. Pokud bude na QG a QH log.0 nebo 1, tak je ani jeden optočlen nepřeklopí do jiného log. stavu než jsou.
Možná bych zkusil i nějaký elyt na napájecí svorky u 595-ky, když spíná přímo ty relé.
Nevím, co to je za relé, ale v datasheetu 74HC595 píšou max. 20mA na pin a celkově 70mA. Změř si napětí na výstupech té 74HC595-ky při sepnutých relé.
Já bych na jejích výstupech použil k posílení UL2308A nebo alespoň tranzistory pro ty relé.

To Mikop : Ty odpory proti +5V nebo GND jsem taky zkusil a bez výsledku. Stejně jako kondík na napájení 74595-ky. Výstupní proudy jsem podcenil. Relátka mají 208 Ohmů, což dává 24mA. Jestli to bude dělat neplechu, zkusím tam dát šestivoltový. Ty by měly spínat při 4,2V a mají 300 Ohmů, což je necelých 17 mA. 4 budou sepnutý jen vyjímečně, 3 zřídka. Nejčastěji 1-2, tak uvidíme.

Jinak pokud jsi četl pozorně, tak jsem psal, že relátka zatím programově NESPÍNÁM a že jejich cvaknutí způsobuje to, co dělá neplechu i s LEDkama. Prostě se tam nějak dostanou naprosto nesmyslný data. A pokud ses díval stejně pozorně i do schématu, pak jsi určtě zjistil, že OE (G) je natvrdo uzemněn, tudíž se výstupy do luftu nikdy nedostanou.

V každém případě díky za upozornění a jakmile bude vyřešen jeden problém, zaměřím se na to, jestli nedělají potíže navíc i ty relátka. Jinak přímo z 595-ky je ovládám kvůli tomu, že prostě víc místa v DIN lištový krabičdce není a zvětšit DPS nelze. Ale je pravda, že je ještě místo na tý vrchní destičce s LEDkama, tak by se tam eventuálně přidalo nějaký posílení. Bude tam jen víc drátování mezi destičkama …

Čím máš definované ty úrovně na JP1 a JP2?

PS. Ještě k tomu PC zdroji. Zkus zatížit napájecí větev nějakou žárovkou, alespoň 20W.

JP1 jsem zapomněl, tam připojím 4k7 pull-up z +5V, JP2 je kompletně připojený na výstupy z mcu, výstupní pin (data do mcu) má pull-up 4k7.

Zkusím mcu nejdřív napájet z větve +12V přes 7805-ku, pak ho ještě zkusím zatížit a uvidíme.