Článek je bezpochyby dobrý.
Ovšem jeví se mi to jako další domácí automatizace v počátečním stadiu, napřed se měří teplota, pak se na základě měření bude něco regulovat, třeba hlavice na topení a kotel, pak se přidá ovládání světel a žaluzií. Při tom se zjistí, že rozvod 1-wire sběrnice je nedostatečný a bude se to předělávat na komplexnější řešení. To všechno se objevuje v mírných variacích přes 20 let :-)
Proto je nevyhnutelné tahat po bytě normální Cat 5 4 kroucené páry, v budoucnu to půjde snadno předělat. V článku je to shodou okolností správně.
Taky jsem před delším časem zvažoval mít čidla přímo na ethernetu, dokonce každé s IP adresou.
Ale vychází mně to relativně složité - u každého mikrokontrolér s W5100 plus pochopitelně PoE.
Uznávám, že by to ale bylo velmi variabilní - mikrokontrolér může čidel obsloužit celou řadu a nemusí měřit jen teplotu...
Nejspíš existuje pro takové teplotní IP čidlo nějaké instantní řešení, ale zatím jsem po tom nepátral - máte nějaký tip?
Bavíme se pochopitelně o hobby řešení, ne o profi chytrém domu.
CAN by mě pro domácí automatizaci nenapadl. Můžete to trochu rozvést?
Je pravda, že třeba STM32 obsahují CAN řadič, takže se to dnes dá poměrně snadno bastlit i doma...
Jak vypadá fyzicky sběrnice - 4 dráty(2 data, zem, napájení), terminátory?
V autě je to snadné, tam je "všude" kostra a každá jednotka má napájení vyřešeno...
CAN elektricky, protokolově RS232, výhodou je že CAN má snadnou detekci kolize na sběrnici, většina CAN budičů umí zároveň přijímat i vysílat, takže se kolize pozná hned a ne až jako timeout že cílové zařízení neodpovědělo. Máte-li plnohodnotné řadiče CAN "zadarmo" použijte je samozřejmě přednostně.
Drátově GND, +12V, CAN+, CAN-, terminátory na konci vedení.
1. CAN není elektricky RS-232 ani omylem. Ani tem neběhají jedničky a nuly.
2. CAN není protokolově RS-232, má to vlastní formát dat a zabezpečení, což RS-232 nepopisuje (ta se týká víceméně jenom PHY)
3. u CANu neřešíte kolizi. Řadič řeší kolizi za vás (a další věci jako priority zpráv, kódování, zabezpečení dat,...).
4. Napájení není sočástí CAN, tam jsou jenom dva datový vodiče. Jestli kolem povede 230V, 24V nebo bude v každým zažízení akumulátor, není součástí specifikace. Naštěstí. V průmyslu jsou trošičku jiný standardy, než 12V DC.
Na aplikační vrstvě se to má tak, že při initu nastavíte filtr k mailboxům pro zprávy, který vás zajímají. Pokud po sběrnici proběhne hlídaná zpráva, padne do mailboxu a vyskočí interrupt, stačí jenom vyčíst. Když cci něco poslat, prostě to nakopíruju do mailboxu a nastavím na periferce příslušný bit, přijde interrupt při chybě (např. zkratu na sběrnici) nebo interrupt, že zpráva byla odeslána a mailbox je volný.
Jo. Dá se to tak udělat. Bez připojení ke sběrnici se to chová jako loopback, se sběrnicí stačí kontrolovat, že přijímá co vysílá. A bere to jenom dva piny na jednočipu bez txEnable a dalších blbostí, při pádu CPU to nesestřelí sběrnici, ... Jenom ten komfort proti CANu tomu chybí.
Přesně tak, CAN budiče mají jednu log. úroveň jako dominantní a jakmile ji jeden prvek nastaví ( vyšle ), je zaručeno, že bude na celé sběrnici. Oproti tomu budiče pro RS485 se stavem vysílání dvou zařízení proti sobě konstrukčně nepočítají a na delší sběrnici se může stát, že v jednu chvíli vysílají dva prvky opačnou úroveň a tu dokáží vnutit jen části sběrnice ve svém okolí. Proto je okamžitá kolize detekce problematická. Bohužel i při použití budičů CAN a seriového hw procesorů lze kolizi zjistit až po odeslání ( a kontrolním přijetí ) celého byte.
Ovšem třeba na Arduinu i jinde se používá i software serial a tam by jistě bylo možné implementovat kontrolu na úrovni jednotlivých bitů a využít i část filozofie protokolu CAN pro detekci kolizí jednotek s nižší prioritou, jejich odmlčení a následné bezkolizní doručení telegramu.
CAN také doma používám (ColdFire V1 procesory), na CANu mám informace o stavu vypinačů (v nových mám už kapacitní čidla, takže se stačí akorát dotknout rukou a nemusí se mačkat), světlech, PIR čidlech, teploty z DS18B20 a další stavové informace, zatím to zobrazuji (a případně ručně ovládám) pomocí USB-CAN převodníku a programu na PC, ale už mám něco rozjetého i na Raspi s CANem a programem FHEM, takže mohu zobrazovat nebo ovládat i přes web (případně přes Andfhem i mobilem - pak lze na mobilu pomocí Taskeru a Autovoice rozpoznat hlasový příkaz a například zapnout světlo, ale to je spíš taková blbinka :)
Anebo řešení od soudruhů bastlířů z německa. Běhá to po dvou drátech, jede po tom i 24V napájení (klidně i z několika zdrojů) a fyzická vrstva se dá splácat i z toho, co seškrábe p(r)odavač v GM. Z procáku si to vezme jenom UART na 2.4kbps.
A rozumí tomu i některý "profi" výrobky, hlavně ze západní produkce (kotlíky Vailant a podobný bestie).
Hotové IP teploměry jsou (třeba Papouch a to druhé si nemůžu vzpomenout, ale jsou to taky místní), ale jsou zbytečně drahé.
Osobně, jestli se k tomu jednou dostanu, mám systém vymyšlený tak, že v každé místnosti je jedno Raspberry (nebo něco podobného) a teploměr je jenom jedna z jeho funkcí, dál to může být bezpečnostní kamera, AirPlay a podobně.
Jedním z důvodů je i to, že samozřejmě nemám doma natahané kabely. I když umístění čidla do UTP konektoru se mi moc líbí :-)
Zbytečně drahé? Proti DS18B20 je ta cena přímo raketová :)
www.papouch.com/...
Když jsem váš příspěvek četl, představoval jsem si cenu v řádu stovek, a to mi připadalo ještě uvažovatelné, ale tohle jsou očividně zařízení pro úplně jinou cílovku :)
Takže pořád je levnější pořídit rpi, poe adaptér a teploměry zvlášť :(
Tak sorry, opravuji "raketově drahé"... :-)
To druhé, na co si nemohu vzpomenout, je o malinko levnější. Ale taky to bylo kolem dvou tisíc. Kupoval jsem to do jednoho racku asi dva roky zpátky.
Ale jinak souhlasím s kombinací raspberry a teploměry zvlášť. Projekt "Raspberry do každé místnosti" mám pořád na stole. Respektive pod stolem mám jedno běžící s připojeným čidlem, ale nemám na to čas a už ani nevím, jakou to mělo IP adresu :-)
Variantně podobné provedení http://www.t-cz.com/lan-controller-v2-0_d14598.html a na TZB se dallas čidla řešili zde: http://forum.tzb-info.cz/119066-rizeni-pres-internet
IP teplomer se da postavit za zlomek ceny papoucha... http://avr.analogic.cz/
IPv6 to 1-wire protocol translator | Hackaday
Velmi pěkné, nádherné mapování 1-Wire na IPv6.
Dělá se a dá se bez problémů sehnat spousta čidel např (fa Papouch nebo Rawet) s napájením 24VDC a výstupem RS485 s protokolem Modbus (průmyslový otevřený standard). Není problém tato čidla napojit na běžný Ethernet kabel (doporučuji stíněný). 1 pár vodičů zajistí komunikaci a zbylé napájení. Délka vedení může být i několik set metrů.
To sice dá, ale je to trochu... nepoužitelný.
Jde o průmyslový výrobky. Jejich cena je někde úplně jinde, než u domácího bastlení. A sice nevím, jak u teplotních čidel, ale Papouch u převodníků RS232-RS485 totálně zklamal. Mám ho v práci v šufleti a už čtyři roky jenom bez užitku zavazí. A vůbec netuším, jak ho použít, protože s tou krpou v napájení je to jenom hliníkový těžítko.
Clanek skvely, tesim se na dalsi dil serialu. Jenom se zeptam, http://i.iinfo.cz/images/229/termostat-2-4.jpg skutecne mate nekde v byte/dome?
Přemostění pull-up rezistoru tranzistorem je docela dobrým řešením. Používám to. Pokud použijete například AVR, není ani potřeba přidávat vnější tranzistor. Použije se tranzistor ve výstupním pinu. Postačuje tedy pouze upravit program. Kód může vypadat asi takto:
#define __w1_PORT PORTD
#define __w1_DDR DDRD
#define __w1_PIN PIND
#define __w1_bit PD6
//Vyslání 0:
__w1_PORT &= ~(1 << __w1_bit);
__w1_DDR |= (1 << __w1_bit);
//Vyslání 1 (Sepnuty pull-up tranzistor)
__w1_PORT |= (1 << __w1_bit);
__w1_DDR |= (1 << __w1_bit);
//Nastaveni pro čtení
__w1_PORT |= (1 << __w1_bit);
__w1_DDR &= ~(1 << __w1_bit)
Také jsem to zkoušel.
Vnitřní pull-up rezistor AVR má jinou hodnotu než je doporučená pro DS18B20.
S jedním čidlem a třemi dráty to nicméně chodí velmi spolehlivě.
Na třídrátovou verzi stačí připsat pullup instrukci na správný pin do setup().
Staré Arduino API:
pinMode(pin, INPUT);
digitalWrite(pin, HIGH);
Nové API:
pinMode(pin, INPUT_PULLUP)
Na dvoudrátové parazitní napájení potřebujete kód, který to umí, a dva volné piny, jeden měkký a jeden „tvrdý“ (ten by mohl spínat i externím tranzistor).
Zkoušel jsem i dvoudrátovou verzi s jedním pinem a parazitním napájením a přepínáním mezi vnitřním pull-upem AVR procesoru a logickou 1, a to chodí špatně až vůbec. Proud nedostačuje. (S delší kabeláží a mnoha čidly obecně nelze parazitní napájení doporučit.)
Parazitní napájení funguje bez problémů, dlouhodobě jej používám s vnitřním tranzistorem pinu AVR. Naznak kódu nastaveni pinu jsem uvedl výše.
Aby to fungovalo, je potřeba splnit požadavky v dokumentaci. V tomto případě bude asi problém to, že po zadaní příkazu CONVERT T je nutno pull-up tranzistor sepnout do 10us!
Kód který používám (__w1_PORT |= (1 << __w1_bit);__w1_DDR |= (1 << __w1_bit);) se přeloží (avr-gcc) na dvě instrukce SBI. Provedení instrukce SBI 2 takty. Za 4 takty hotovo. Tzn při taktovaní procesoru pouze i 1 MHz je to bez problémů stihnutelné.
Ale funkce pinMode a digitalWrite jsou o poznaní pomalejší. Jsou to funkce, ... Je to udělané tak aby se to pěkně volalo. Rychlost neřeší. Snadno se tedy stane, že se pull-up tranzistor sepne pozdě a nefunguje to. Nebo ještě hůře, funguje to někdy.
http://garretlab.web.fc2.com/en/arduino/inside/arduino/wiring_digital.c/digitalWrite.html
Obávám se, že autor by si měl znovu přečíst datasheet DS18B20, protože možná parazitní režim nepochopil. Nejdříve se dozvídáme, jak mu parazitní napájení příliš nefunguje a teprve v závěru článku se objevuje klíčový obrázek, tedy tranzistor, který je pro funkci čidel v parazitním režimu nutný.
Napájení přes pull-up po datovém drátu stačí pro běžné operace, ale pro měření teploty a zápis do eeprom je potřeba mnohem více energie (až 1.5 mA pro čidlo), proto se používá "strong pullup", což je buď externí tranzistor z obrázku nebo zpravidla stačí PIN atmegy přepnout do tvrdé jedničky. S atiny85 napájené z 5V mi to funguje krásně (paradoxně mám v parazitním režimu na větší vzdálenost menší chybovost než s 3mi dráty).
Taky je potřeba si uvědomit, že spotřeba čidel meřících teplotu zároveň se sčítá, takže nějakých 15 čidel už může překračovat povolený proud na PINu AVR, takže je buď už opravdu nutný ten tranzistor nebo se smíříme s tím, že všechna nebudou čidlla meřit současně, ale budeme konverzi teploty spoušťet postupně na každém zvlášť.
"Kruhová topologie"?!
Nevím, zda je to přesný termín, ale třeba linie by mi přišla srozumitelná.
Větvení se opravdu příliš nedoporučuje kvůli vícenásobným odrazům, ale tak tragicky bych to neviděl, záleží na celkové délce vedení a počtu čidel. Při jednotkách metrů je to úplně jedno, když chce někdo 100m nebo víc, odbočky bych neriskoval.
Jinak s ATtiny85 + Rp=2K2 (a vlastní firmware) připojeným do USB mi zkušebně fungovalo 15 parazitně napájených DS18B20 čidel na konci 100m klubíčka dvojlinky. Problémy s napájením nebyly, občas se vyskytla chyba CRC, stačilo přenos zopakovat.
Základem je ale prostě při posledním bitu příkazu Convert nastavit komunikační PIN do výstupu na 1 (+5V). Když to někdo neudělá nebo to přepne pozdě, tak mu parazitní napájení fungovat nebude.
Chtěl bych se zeptat, co konkrétně je myšleno tou topologií do hvězdy/kruhově. Uvedu příklad - pokud ke každému čidlu povedu 4žilový kabel (např. 2x2 sykfy) z centrálního místa, kde:
1 žíla bude zem
1 žíla bude napájecí
2 žíly budou datové (tam a zpět).
Kabely tedy natahám hvězdicově, ale zapojení datových žil udělám do kruhu. Je taková varianta zapojení vhodná nebo naopak není?
Díky
David Z.
V tom případě bude problém jenom s rušením. Zkroucením signálu se sebou samotným se toho zbavit nedá.
Kdyby byl jeden pár zem + data a druhý napájení + data a u čidla ještě kondík na zkratování bordelu mezi Vcc a Gnd (stačí malá keramika), tak není důvod, aby to nefungovalo...
Podle mě je to rozumná varianta, protože signál nemá žádnou odbočku/rozbočku. Mohlo by to fungovat dobře. Pochopil jste mou nevhodně použitou terminologii s kruhem správně a ještě to šikovně vyřešil s hvězdicovitou kabeláží.
Kdybyste to stihl během nejbližších 4 dnů otestovat, byl bych vděčný za zprávu a snad bych to stihl zařadit do příštího dílu pro ostatní čtenáře.
To s kapacitou sběrnice mi došlo až po odeslání, dobrá připomínka.
Že je to tak uvnitř jsem koukal, z textu v diskuzi jsem to pochopil tak, že interní kapacita nemusí stačit a proto se tam rve napájení natvrdo aby se nabila.
Ono popravdě nějak nechápu ten poslední odstavec komentáře na který jsem reagoval - jak může víc čidel měřit teplotu současně? Neznamená to, že budou chtít ve stejnou chvíli vysílat data a víc čidel najednou bude tahat vodič do nuly? Nebo je tím myšleno, že čidlo měří např. 1 sekundu, takže se sekundu bude posílat sekvence dat všem čidlům, všechny postupně spustí měření a postupně budou odpovídat? (potom bych tu tvrdou logickou jedničku i chápal)
"Stačí na vhodná místa v bytě i mimo něj čidla mechanicky upevnit a pak je všechny paralelně propojit kabelem (tj. DQ vývod každého následujícího čidla připojit na DQ vývod čidla předchozího, a analogicky GND na GND, a (pokud používáme i Vdd) Vdd na Vdd."
Je toto paralelni zapojeni nebo seriove ?
Skutecne nekomu chodi 1wire na delsi vzdalenosti?
jako zbernici jsem ji zavrhl kdyz jsem se nedostal s jednim cidlem dal nez na 15metru (a nahradil obycenu proudovou smyckou 2-20mA, nebo RS485) vic cidel jednotky metru.
kabely jsem skousel ruzny UTP FTP CYKY... a ne a ne.. pravda vsechny jdou v soubehu v jedne sachte spolecne s FWE a jinejma vecma.
Mně chodí bez problému tři čidla asi na 20 metrech po UTP v třívodičové variantě s budičem DS2482 ovládaným z Linuxu (takže bez strong pullup :( ). Jediný problém, co se po roce vyskytl, bylo prosáknutí vody k hlubinnému čidlu, které po čase sběrnici zkratovalo. Ta zapouzdřená čidla se totiž nedají sehnat s delším, než metrovým kabelem.
To uz davno neni pravda, neni problem koupit s 10m kabelem .. provozuji 4ks v topologii hvezda bez problemu na rpi
http://www.ebay.com/itm/2X10M-Waterproof-Digital-Thermal-Temperature-Temp-Sensor-Probe-DS18B20-Connector-/251310437129?ssPageName=ADME:L:OC:US:3160
S 1-wire som sa babral pred par rokmi v ramci bakalarskej prace. 5 teplomerov mi s 1k pull-upom behalo na vzdialenost 20 metrov v single-mode rezime.
Viac tu:
http://www.kiwiki.info/index.php/Auton%C3%B3mny_syst%C3%A9m_pre_zber_teplotn%C3%BDch_d%C3%A1t_z_p%C3%B4dneho_profilu
Pre merania v nasej firme pouzivame vlastne riesenie budica, ktory podporuje 64 1-wire zariadeni v parazitnom zapojeni na dlzke 500-600 metrov (krutena dvojlinka 2x0,8mm). Doska komunikuje po RS-485-2w na modifikovanom protokole MODBUS.
Díky moc za tip.
http://i.iinfo.cz/images/229/termostat-2-8.jpg
Ve spojení se samořezným protikusem je to přesně to, co jsem už dlouho hledal.
Nebo má někdo lepší nápad jak efektivně nasadit mnoho TO92 s dobrým krytím na 4 žilový UTP kabel ?
Vlastnosti zbernice 1-wire silne zavisia od vystupnej impedancie zariadenia, ku ktoremu je pripojena, pokial je to pin procesoru, ziadne zazraky sa cakat nedaju, naviac pripojit kusisko drotu k procesoru dost skodi jeho zdraviu. Jednoduche zapojenie s 1-2 teplomermi si vystaci aj s pull-up odporom, tranzistor je potrebny v pripade dlhsieho vedenia a viacerych cipov, specialne sa mod, kedy je tranzistor otvoreny, vola v dokumentacii STRONG.
Pre dlhsie vedenie a vacsi pocet 1-wire zariadeni je potrebny booster, v ktorom je mozne ovladat stav a casovanie zbernice, kriticka dlzka kabla je urcena dobou odrazu na volnom konci - do cca 6usec (doba trvania stavu '1')- prakticky vyskusane s kablom o dlzke 600m a 75 zariadeni na zbernici (rekord bol 750m) - kapacita kabla bola cca 10nF, booster musi byt schopny kabel nabit/vybit za zlomok u-sekundy. Casovanie boostra musi byt adaptivne, dlzka doby oneskorenia sa da zistit napr. pri resetovacom impulze zbernice na prvej hrane a odmeranim doby predlzenia impulzu na urovni cca 30% amplitudy.
Pri poriadnom usporiadani zbernice pahyle o dlzke cca 3m nerobia ziaden problem.
K ochrane zbernice - najlepsie je pouzit kvalitny skruteny dvojvodic / kabel (CAT5 NIE JE kvalitny skruteny dvojvodic) a celu zbernicu odizolovat od ostatnych casti - zariadeni. Pripajanie transilov, kondenzatorov a pod. spolahlivo zahlusi komunikaciu na zbernici, samotne cipy su pomerne voci ESD dost odolne, priamy uder blesku samozrejme neprezije nic ...
Ano, mate pravdu, tento efekt sa obcas (zriedka) vyskytne, myslim, ze vyskyt byval castejsi pri merani v BULK mode, kedy meraju vsetky senzory na zbernici naraz a zbernica nebola v STRONG mode. Podla vsetkeho ma ten efekt daco spolocne s urovnou napajacieho napatia resp. impedanciou linky (zbernice).
Zdravim,
take si doma hraju, a nema tu nekdo zkusenost ci napad jak bezpecne merit hdo, presneji z hodin nam jde kabel pres pul baraku hned vedle trifaze az do technicke mistnosti, nechce se mi ten kabel jen tak pripojit na gpio pin protoze pokud neni levny tarif tak se tam indukuje docela vysoke napeti.
Jo, HDO se na GPIO připojit nedá. Ty logický úrovně 230V AC nedělají procesoru moc dobře... HDO má navíc tak trochu specifický zapojení a můžou se dít celkem zajímavý věci. Bezpečně to jde, ale zas taková sranda to není. Je tam potřeba gavanický oddělení, pak splnit požadavky 33 2000-5-51ed2, souběh kabelů, bezpečný vzdálenosti, jsou tam nějaký požadavky na izolaci... Navíc i po oddělení je většinou potřeba brát ten nový indikační obvod jako FELV, takže potenciálně smrtící.
Rozhodně bych do toho nelezl, pokud na 100% nevím i bez nápovědy, co a proč dělám. Tam už to smrdí docela velkým problémem... Takový bastl může i zabíjet a stačí malinká chyba, aby na člověka baflo 400V.
Tak kabel jde z hdo prijimace z hodin,
takze hodnota je nulak nebo odpojeno vysi to ve vzduchu a tu je prave ten problem s naindukovanym napetim.
Nic proti galvanickemu oddeleni zde me napadla jedine doutnavka s fototranzistorem.
Zase spotreba doutnavky neni take uplne minimalni
"Nic proti galvanickemu oddeleni zde me napadla jedine doutnavka s fototranzistorem."
Nic proti, ale pokud tohle je všechno, co ohledně tohohle vymyslíte, tak je lepší to vzdát. Zrovna sledování kontaktu, který je spojený s libovolným pracovním vodičem rozvodné sítě, je z kategorie "sami to doma nedělejte" a neodpouští chyby!!!
Navíc, kde je HDO, tam jsou minimálně dva tarify. A pokud je to dělaný podle připojovacích podmínek, tak sice spíná proti PEN, ale v NT je na něm dost tvrdých 230V. Při použití šúatné fáze pro detekci budou logický úrovně 230V pro 0 a 400V pro 1...
Další riziko je výměna elektroměru, kdy může nějaký matla třeba vrazit vadasku mezi vodič HDO a tvrdou fázi...
Pak je tady další nebezpečí, v některých lokalitách na JM není TN-C, ale TT. A tam je to pak ještě divočejší... Mezi PE a N je v klidu dalších 20V, takže pokud bude cokoliv na automatizaci připojený na PE, budou se dít psí kusy....
A bez rizika není ani budoucí rekonstrukce nebo rozšíření, pokud o tom elektrikář neví a mlaskne tam klasický stykač pro další spotřebič...
Stabilní a bezpečné zapojení je ve vašem případě crontab.
Doutnavka právě žere celkem hodně, je nestabilní a tak jako tak 100x za sekundu blikne, takže je potřeba navíc synchronizovat SW, aby nečetl právě ve chvíli, kdy je zhaslá... Pochybuju, že někdo, kdo nezná rozdíly mezi i/y a v/f, dokáže napsat něco tak komplikovanýho.
Jinak já jsem to kdysi řešil, je to triviální. ALE vzhledem k tomu, že se podle české legislativy jedná o vyhrazené technické zařízení, tak sem NEBUDU DÁVAT KONKRÉTNÍ ŘEŠENÍ. Nabádání k porušování předpisů a zákonů snad do veřejné diskuse nepatří.
Uvedu snad jenom to, že potřebný znalosti mělo přesně 90% spolužáků z průmky na konci druhýho ročníku (dva propadli a třetí to vzdal). Pokud ani takový základy neznáte, nehrabte do VTZ. Může to špatně skončit, nejedná se tady o 3.3V z LVTTL GPIO!!!
gratuluju k dokonceni prumky,
ja zas na prumce delal uplne jine veci nez elektro, a mozna to bude ten duvod proc sem se obratil o radu nebo nasmerovani kde si mam co nastudovat.
to ze existuje elegantnejsi reseni nez doutnavka tusim, proto sem se zeptal
o tom ze mi ulitava i/y vim moc dobre a nejak nechapu jakou to ma souvislos stim co sem a nejsem schopen naprogrmaovat
Začni studiem literatury:
Vyhláška 73/2010 sb, Vyhláška 50/1978 sb., občanský zákoník, trestní zákoník. To abys měl motivaci to udělat pořádně. Elektrika je sviňa a tohle může zabíjet, zapálit a dělat pěkný problémy. Bez elektro vzdělání v tom fakt nemáš co dělat!!!
V druhé etapě základy elektrotechniky. Bez těch se nikam neposuneš. Minimálně aktivní a pasivní součástky, admitance, impedance a výkon střídavýho proudu.
A až bude jasno ohledně principu, vlez na stránky distributora. Jsou tam připojovací podmínky a v nich uvidíš, co by do toho ovládacího kabelu mělo jít a odkud.
A potom už jde "jenom" o to, udělat to bezpečně a spolehlivě. Zabudování do rozvaděče v případě průšvihu musíš obhájit podle ČSN EN 61439, provedení části na malý napětí musí vyhovět ČSN EN 33 2000-4-41, potom to vedení od rozvaděče musí splňovat ČSN EN 33 200-5 ed2. No a ochrana proti přepětí podle ČSN EN 62305 ed3.
A nejde jenom o schéma zapojení, někdy je potřeba i vědět, jak a kama tahat dráty. Viz třeba http://www.kniska.eu/animace/spatne%20zap.%20rozvadec-NEW.flv/view - na belsku je to vidět nejlíp, ale týká se to i rušení, přeskoku,...
Samo o sobě je to relativně jednoduchý, ale hlavně ohledně bezpečnosti a spolehlivosti se toho může hodně pokakat...
Pokud už tam stykač je, tak pomocný kontakt bude stačit. Ale držte to nejmíň centimetr od silařiny, izolaci kabelu na 450/750V a rozhodně ne přímo na GPIO, to by hodně blblo. Ideálně optočlen (stačí PC817) na oddělení (samo, že LED s odděleným zdrojem), 5-10mA LEDkou tomu rušení celkem odolá... A nechte si to zkontrolovat!
Připojím se k Petrovi. Ačkoliv se jedná o celkem jednoduchý zásah, tak pořád se bavíme o nebezpečném napětí. Pokud nemáte vyhlášku 50, paragraf 6, tak se prosím o nic nepokoušejte. Nejhorší úrazy a nehody jsou důsledkem toho, že někdo udělal něco nestandardně a někoho jiného po letech ani nenapadlo, že tam nějaká taková past je.
Hmm, tak to u vás asi platí jiná fyzika, než u nás.
1) Aby došlo k indukci, musel by vodičem protíkat proud. Pokud bude ten fázový vodič naprázdno, nepoteče proud, nekoná se magnetický pole,... Ale proud tam posílat z nějakýho záhadnýho důvodu nechce.
2) Pokud se ta fáze zatíží, proud poteče a objeví se magnetický siločáry v rovinách kolmých na osu vodiče. Vtipný je, že v rovině magnetickýho pole leží detekční vodič a magnetický pole v něm nemůže vytvořit proud.
3) Jediná možnost detekce napětí je kapacitní vazba skrz izolace. Ale tam je to o hubu, stačí blesk někde blízko (počítej do cca do 2km při zásahu vedení) a GPIO jde do kytek.
4) Ať indukčně nebo kapacitně, vždycky z toho vyletí střídavina a ta procáku nedělá moc dobře.
5) MOSFETy se neřídí proudem, ale napětím. A k jejich destrukci stačí málo - indukovaný impuls.
Proto říkám, tohle chce trochu znalostí elektrotechniky a fyziky, jinak z toho bude víc škody než užitku.
Fázovým vodičem střídavý proud prochází trvale a to mezi distribučním transformátorem a kapacitou a indukčností vedení. U stejnosměrného proudu by to nefungovalo.
MCU mají na většině pinů zabudované zenerky proti GND a VCC, naindukovaný proud zvládají.
Na pinu se to jeví jako 100 Hz střídání nul a jedniček bez nějakých problémů.
Blesk neřeším, to by chtělo dodat alespoň transil.
Potenciální škoda omotáním drátu je minimální, oproti jiným nápadům amatérů kutit něco přímo na fázi. Asi nejlepší by bylo amatéry přesvědčit na relé s cívkou na 230 VAC, to ale stojí 120 Kč a to se ti jen tak nepodaří.
Opravdu je na GPIO Zenerka? Nedestruktivní průrazy na čipu s takovou integrací, to by byl zajímavý oříšek. A navíc, Zenerka je hodně pomalá na chytání špiček, tam by muselo být spíš nějaký TVSko a to se integruje hodně blbě...
Špice navíc klidně prolezou do celýho procesoru a sejmou ho. Je to CMOS, CG ty špičky propustí až moc ochotně na můj vkus :( NA zkušeně s tím bývalo hafo problémů, i když byl filtr na vstupu...
Tady to máte písemně, když mi nevěříte ;-) http://www.atmel.com/images/doc2508.pdf
NA čipu jsou obyčejný diody.
Ne každá dioda je zenerka. Zenerova dioda je takový specifikum, funguje trochu jinak než obyčejná. V propustným směru je to stejný, ale v závěrným je definováno napětí, při kterým dojde k nedestruktivnímu průrazu.
Zenerka se do procáku neintegruje, protože je tam jednak trochu jiný složení materiálu (technologický kroky navíc), druhak se při průrazu krásně ohřívá. To by procesoru zrovna moc nepomohlo z pohledu životnosti (difúze v pevné fázi atd.).
Takže kolemjdoucí, až pudeš kolem knihkupectví, zastav se tam a kup si něco o polovodičích. Je to zajímavý čtení.
P.S. Pokud někdo bude realizovat tohle zapojení z aplikační poznámky, tak tím zařízení pasuje do kategorie FELV podle ČSN 33 2000-4-41. Zařízení pak musí být vybaveno dvojitou nebo zesílenou izolací, musí mít odpovídající krytí min. IP2x (horní strana IP4x) a galvanickým oddělením komunikačních linek, použití interního zdroje atd. Pokud tyhle požadavky nesplní, tak riskuje šatlavu. Zapojení navíc nechrání před rušením od přechodových jevů a může způsobovat padání procesoru.
Vyšší napětí s malou impedancí znamená tvrdý zdroj s velkým zkratovým proudem. Pokud je to napětí vyšší než Vcc, tak z těch součástek uteče všechen stlačený dým. A bez něho součástky moc dobře nefungují...
Pokud to má navíc být jako proudový trafo, tak to nesmí mít proudovou smyčku uzavřenou skrz polovodiče. Hádej proč?
Tam je velkej odběr, to by se mu nelíbilo. A navíc potřebuje ošetřit vstup proti zákmitům. Navíc k požadavkům na prostorový oddělení obvodu a na izolaci přibude i požadavek na chlazení, protože docela dost topí a to cvakání a bzučení může taky někdy vadit. Takže tohle je zrovna cesta, kterou bych nešel...
Dají se sehnat SSR relé, které těch 400V zvládnou. Necvaká to, ale stojí to 300Kč a víc. Největším problémem je ale ta spotřeba, tam to bude typicky kolem 5W. To sice nevyžaduje aktivní chlazení, ale trochu volného prostoru to chtít bude. Plus tu elektřinu musí někdo zaplatit. Takže ani to SSR by nebylo řešením.
To opravdu není. Ale paradoxně ne kvůli spotřebě, to je to poslední.
- Vstup SSR je obvykle 4-30V DC, on potřebuje 230V AC.
- Na výstupu je triak. Ten se nedá použít, potřebuje o dost víc než 5V.
- Triak při spínání DC nevypne.
- Z principu reaguje na přechodový jevy, třeba když bude soused svařovat a je velká Zs...
- Reaguje i na teplo.
- Snadno se odstřelí
- Nestandardní mechanika
- Cena úplně jinde - kvalitnější od 800 nahoru...
Nemá. To je na digitálním elektroměru, LEDka s definovaným počtem bliknutí na kWh.
Počítám, že tazatel má dvoutarif. Takže verze s jedním relé s přepínacím kontaktem. Společný je na PE nebo na N, jeden kontakt přepíná sazbu na elektroměru, druhý spíná nulu pro blokovací stykač. Takže při tomhle provedení, i kdyby tam pustil bezpečný malý napětí, musí se to po technické stránce brát jako FELV. Se vším, co z toho vyplývá.
A i kdyby to tak bylo, tahání dalšího kabelu přes půl baráku by taky mohlo být hodně veselý...
Elektrika je zákeřný zabiják a chce to opravdu vědět, co děláte a jak to funguje. Pokud něko nemá znalosti silnoproudu, měl by použít plán B. Opsat si kód na HDO, podíva se na stránky distributora a dostane časy vypnutí a zapnutí. Ty stačí nasázet do CRONu. I kyby to o dvě minuty netrefilo přepnutí, tak z osmi hodin denně je to ještě v toleranci....
Asi neco takoveho, pod elektromerem je jeste hdo prijimac, jestli hodiny spina on nebo to elektromer umi sam nemam paru.
Ale do technicke mistnosti mi jde kabel z toho hdo prijimace, ten opravdu spina proti N.
No asi to to tema uzavru ze tam vazne narvu doutnavku a k ni foto-tranzistor prijde mi to jako nejednodusi a nejfunkcnejsi reseni. Stykac zavrhuju pro jeho zravost, spotreba 2-5W mi prijde trosku moc to temer nesezere ani cele rizeni vcetne relatek.
Asi pro spoustu lidi resim kravinu, ale to mozna bude ten duvod proc si cim dal vic lidi resi automatizaci sami, protoze to nepovazuji za kravinu a znat hdo je pro me dulezite, damozrejme seznam kdy je sepnuto vypnuto mam, ale to neznamena ze to tak v realu je. A pokud se clovek snazi o trosku inteligentni rizeni, bojleru a solarniho prihrevu (tekutinou) tak znalost hdo je dulezita, protoze jak rikam spotreba klasickych stikacu mi prijde jako mrhani.
Zdravím,
zkus AC optocoupler, např. zde: https://github.com/Miceuz/triac-bloc autor používá LTV-814 na čtení fáze AC pro řízení triaku.
Rozhodně bezpečnější a jednodušší je ale standardní AC relé na DIN, doma to tak mám.
Jinak super články a výborná diskuze. :-)
Dik za radu,
nezavisle jsem také našel, že řešením by mohlo být zapojení pro zero cross detector
s menší úpravou, a to buď hw nebo i soft, takže to by mohla být správná cesta.
ještě jednou dík, nad použitím relé se ještě zamyslím, vim že to není zas tak moc, ale ta spotřeba rele mě prostě leží v žaludku a to ani nemluvím o ceně za něco tak hloupého.
Jinak napadlo mě ještě další řešení, a to že se píchnu na opentherm zběrnici u kotla a budu si vyčítat hdo z něj.
Pepo, ta spotřeba je něco, žeho se nezbavíš. Kabel od HDO je jako velkej kondík mezi žílama, pokud tam neproženeš pořádný proud, tak tam furt bude něco, co nechceš. Třeba doutnavkou teče tak maej proud, že nepoznáš rozdíl...
Ale co, bude u vás sranda... Minimálně než se naučíš rozdíl mezi výkonem a jalovinou.
Dobrý den, nápad dát DS18B20 do konektoru RJ45 mi přijde super, ale to provedení :D
Doporučuji profi řešení: http://bit.ly/1Kexqnz
Moc pekny clanek,
pull-up rezistor ani 5k potenciometr pro zprovozneni 1-Wire treba neni. Staci pouzit upravenou knihovnu a pak jde pripojit DS18B20 primo (jde rovnou nasadit do direk na pinech :-)). Tu je odkaz na clanek co to popisuje:
http://wp.josh.com/2014/06/23/no-external-pull-up-needed-for-ds18b20-temp-sensor/#more-1892