Jste zde

Konstrukce: EthernetCommandBox s osmi relé

EthernetCommandBox (EthCoBox) je zařízení, umožňující vzdáleně (po Ethernetu nebo sériové lince) ovládat 8 reléových výstupů a číst stav čtyř vstupů 0-10 V. Zařízení se ovládá pomocí www prohlížeče nebo pomocí telnet příkazů. Ze svého PC, tabletu či mobilního telefonu tak můžete ovládat jakákoliv el. zařízení.
V loňském roce jsem při surfování po internetu narazil na jeden zajímavý projekt pana Stefana Fringse "AVR Webserver I/O Modul". Tento projekt řeší ovládání vstupních a výstupní portů AVR procesoru pomocí telnet příkazů. Jelikož se velice blížil mým představám, stal se základem pro EthernetCommandBox (EthCoBox).
 
 
 

Základní vlastnosti:

 
  • výstupy 8x relé NO kontakt 250 VAC / 10 A
  • paměť FRAM pro uložení stavu výstupů i při výpadku napájení
  • 4x vstupy 0-10 V
  • napájení 12 V
  • HW příprava pro RS485
  • HW příprava pro Dallas 1-wire
  • SW příprava pro SMTP server (zasílání e-mailů)
  • volné zdrojové kódy pod GPL licencí
 

 
 

Hardwarová část

 
 
 
Mým cílem bylo vytvořit zařízení, které bude přes prohlížeč ovládat různá zařízení (topení, sauna, bazén, osvětlení, aj.). Možnost ovládání přes prohlížeč navíc umožňuje ovládat výstupy nejen z PC ale i z telefonu nebo tabletu. Pro jednoduché začlenění do elektroinstalace jsem celé zařízení zabudoval do krabičky (6modul) určené pro montáž na DIN lištu.
 
 
Jelikož jsem se při kompilaci blížil hranici kapacity paměti procesoru Atmega644, rozhodl jsem se použít procesor s větší kapacitou ATmega1284. Jako Ethernet kontrolér je použit CP2200 (Silicon labs). Výhodou tohoto kontroléru je velice jednoduchá HW i SW implementace. Napájecí část generuje napětí 5 V a 3,3 V. Jako driver RS485 je osazen obvod 75176. Pro uchování stavu posledních výstupů při výpadku napájení byla použita pamět FRAM FM24C04.
 
 
 
 

Softwarová část

 
Původní zdrojové kódy jsem lehce upravil a doplnil o interaktivní webové rozhraní. Všechny původní telnet příkazy zůstaly zachovány a byly doplněny o nové. Zdrojové kódy jsou velice pěkně okomentované a přehledné. Lze je použít pro různé typy AVR procesorů (viz seznam telnet příkazů níže).
 
 

Kompilace

 
Zdrojové kódy jsou ve formátu AVR-GCC. Výhodou je, že veškerý software pro programování a kompilaci je zdarma. Je také možné kompilovat jak pod Linuxem tak pod Windows. Pro Linux budete potřebovat avr-gcc, avr-libc, gnu make, avrdude and perl. Pro Windows WinAVR, Strawberry Perl nebo Active Perl.
 
Dále popíšu postup pro Windows:
 
 
 

Programování

 

Vaše návrhy nepatří do šuplíku!

Zajímavá konstrukce nebo jen neobvyklé řešení? Podělte se o své zkušenosti s ostatními! Nechte se inspirovat a pište na redakce@hw.cz .

Pro programování doporučuji AVRdude. Tento programovací software funguje s různými programátory. Já používám konkrétně AVRProg USB v2 (http://www.and-tech.pl), který se dá např. koupit u GM electronic. Pokud použijete AVRdude, budete moci programovat přímo pomocí příkazu "make program". Musíte pouze nastavit správnou konfiguraci vašeho AVRdude v Makefile. Podrobnosti viz. dokumentace k AVRdude. V případě že použijete stejný programátor jako já (AVRProg USB v2) ve stejné konfiguraci (JP1 – off, JP2 – off, JP3 ON), nemusíte v Makefile nic měnit a rovnou se pustit do kompilace a programování.
 
  • „make clean“ vyčistí předchozí komiplace
  • „make fuses“ naprogramuje fuse procesoru - nezapomeňte (stačí udělat pouze jednou)
  • „make program“ zkompiluje a hned poté naprogramuje procesor
 

 

Návod k obsluze hotového zařízení

 
Předpokladem je správné nastavení IP parametrů (viz. též dokument první spuštění níže):
 
  • připojte EthCoBox nekříženým kabelem do Vaší počítačové sítě
  • připojte napájení
  • ve Vašem www prohlížeči zadejte IP adresu zařízení
  • výstupní relé můžete ovládat na úvodní stránce zařízení
  • stav vstupů můžete sledovat na stránce inputs
  • zařízení můžete ovládat i příkazy telnetu
  • stav výstupů je zapamatován i při výpadku napájení, po zapnutí je obnoven do stavu před přerušením napájení
  • zařízení je možno chránit před neoprávněným přístupem pomocí hesla, viz. konfigurační strana (config.shtml)
  • prosím důkladně zvažte, co budete tímto zařízením ovládat, včetně všech důsledků, které mohou nastat chybnou obsluhou, případně poruchou zařízení; já i ostatní autoři nemůžeme nést za tyto chyby a jejich následky zodpovědnost
  • dále si dejte pozor na neoprávněný přístup: WWW rozhraní je sice možné chránit heslem, ale jedná se pouze o jednoduchou ochranu s nízkou úrovní zabezpečení

 


 

Možnosti rozšíření aneb co dále

 
  • Na plošném spoji je osazen obvod 75176, umožňující komunikaci po lince RS485. Původní idea byla udělat vzdálený modul pro 8 výstupních relé po lince RS485
  • Zprovoznit sběrnici „1-Wire“, kterou jsem původně zamýšlel pro připojení teplotních čidel DS18B20
  • Udělat aplikaci pro Android, iPhone která by přes telnet příkazy ovládala EthCoBox, v současné době to lze přes webový prohlížeč, ale přímo ušitá aplikace by byla lepší
  • Udělat plošný spoj umístěný v horní části krabičky na kterém budou osazené LED pro zobrazení stavu výstupních relé
  • Zprovoznit SMTP zasílání zpráv
 
 
 
Pro zájemce o konstrukci nabízím v e-shopu některé hůře sehnatelné součástky, např. TG41-2006N (Ethernet trafo s převodním poměrem 1:2.5). Rovněž si zde můžete zakoupit již osazený, naprogramovaný a odzkoušený EthCoBox.


 

Ke stažení

 
 

 

Poděkování

 
Za inspiraci pro tento projekt děkuji následujícím stránkám a osobám:
 

Stefan Frings

  • Toto je hlavní inspirace pro můj projekt. Použil jsem jeho zdrojové kódy šířené pod licencí GPL. V projektu se zabývá možností ovládat vstupní a výstupní periferie procesorů Atmel AVR přes Ethernet. Jeho software je určený pro moduly prodávané na http://www.chip45.com. Já jsem zdrojové kódy upravil a rozšířil o interaktivní webové rozhraní. Pozor, můj hardware má jiné zapojení než moduly chip45.de, nelze bez uprav zaměňovat hardware a software, i když úpravy jsou pouze v konfiguraci portů.
 

The Contiki OS

  • Contiki je open source operační systém pro internet v elektronických zařízeních – běží na síťových embedded sytémech a sítích bezdrátových senzorů. Contiki byl použit v mnoha projektech, jako například síť požárních čidel v silničních tunelech, zabezpečovací sytémy, monitorování divoké zvěře a v monitorovacích sítích. OS je určen pro mikrokontroléry s malým množstvím paměti: typická konfigurace Contiki je 2 kB RAM a 40 kB ROM.
 

Peter Fleury

  • Základní asemblerové rutiny pro komunikaci s I2C, založené na AtmelApplication Note AVR300 s opravou a přizpůsobením GNU assembleru AVR-GCC. Opraveno nesprávné zpoždění nalezené v AVR300.

 

Odkazy

 

 
Autor konstrukce, text a fotografie: Lubomír Berky, www.din-box.cz, berky@din-box.cz
Hodnocení článku: 

Komentáře

Dobry den, zarizeni vypada moc pekne, muzu se zeptat na celkovou cenu soucastek a pripadne desky, pokud jste si ji nechal delat?
Dekuju moc

Dobrý den,
cena součástek je cca 1200,- i s DPH a se započítaným poštovným od prodejců. Plošný spoj cca 220,- plus příprava výroby, záleží u koho objednáte.

moc pekne, ale malo..
idealne 16xvstup, 16xvystup + 1-wire sbernice pro teplotni cidla
s tim se uz pak daji delat zajimave veci (automatizace vytapeni atd..)

Dobrý den,

dneska jsem nalezl tuto zajímavou konstrukci, ale bohužel všechny podklady jsou mrtvné. Schema, odkazy,........ Proto bych se chtěl zeptat, jestli není nějaká možnost znovuobnovení. Děkuji

S pozdravem

Jirka