[Megoldva] Serial to Ethernet konverter otthonautomatizáláshoz

 ( asch | 2018. április 12., csütörtök - 9:37 )

Egy egyszerű automatizálást tervezek csinálni. Azt már elterveztem, hogy ipari Arduino alapon csinálnám meg, konkrétan egy ilyennel: https://www.industrialshields.com/product/plc-arduino-ardbox-plc-20-ios-relay-hf/

Viszont minimális számítógépes távvezérlés interfészt is csinálnék hozzá, amit legegyszerűbb lenne úgy megcsinálni, hogy az UTP-t beviszem a kapcsolószekrénybe, és ott egy Ethernet-serial átalakítóval hálózatosítom az Arduionot.

Ehhez keresek eszközt: amit bekonfigurálok, LAN-ra kötök és rákötöm az Arduino serial-jára, és tud vele kommunikálni. Legjobb lenne, ha ez is sínre szerelhető lenne, és az Arduino 24V-os tápjával - esetleg az Arduino által előállított 5V-tal - táplálható lenne.

Persze vehetnék egyből Ethernet-képes Arduino-t is: https://www.industrialshields.com/product/m-duino-plc-arduino-ethernet-38ar-ios-analog-digital-rele-plus/

De ez már drágább, ha olcsóbbra kijön, akkor lehetne külön modul az ethernet. Meg azért is jó lenne külön, mert az Ethernetet Arduino-ból programozása nem tűnik túl jól dokumentáltnak, kiforrottnak, jobban tetszene, ha a vezérlő kódom csak serialt kezelne.

(Akit érdekel, motoros redőnyt mozgatnék ezzel a rendszerrel. (szerk: 230VAC) 5A relé van az Arduinoban, 170W-os motort ugye meg kell tudnia hajtani?)

Szerk.: A rendszert majd akkor tudom összerakni, ha be lesz építve a redőnymotor, de a felsorolt megoldások valamelyike biztosan működni fog, úgyhogy a topikot megoldottnak jelölöm. Ha elkészült, akkor leírom majd mi lett a vége. Köszönöm mindenkinek a segítséget!

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Esetleg valami Modbus RTU - TCP gateway? Mondjuk arakat nem neztem, de egy 24V-os sinre szerelheto ipari atalakito biztos nem lesz olcso.

(AC 230V-os motor? Mert ha netan az is 24V-os, akkor 24*5=120W)


Sic Transit Gloria Mundi

AC230, igen. Utánanézek ennek a Modbusnak, hogy mit tud.

A Modbus egy foleg iparban hasznalt, nem tul komplikalt protokol, aminek van tobb verzioja a fizikai reteg fugvenyeben. Modbus RTU serial porton kommunikal (tobbnyire RS485-on, hogy tobb kliens is csatlakozhasson) es 1 master tobb slave felepitesu, mig a Modbus TCP Etherneten keresztul kommunikal, es igazabol mindegyik kliens lehet master es slave is. Vannak keszen arult Modbus RTU - TCP gateway megoldasok, amiken keresztul, pl. szamitogeprol, Modbus TCP-t hasznalva tudsz Modbus RTU-t hasznalo serial portos keszulekekkel komunikalni. Standard ipari megoldas, viszont arban, tippre azt mondanam, hogy nem lesz olcsobb.


Sic Transit Gloria Mundi

pppoe szempont? Mert a redonymotorhoz ugyis kell tap.

Ugyis csinalhatod, hogy pppoe-en toltesz egy lipo akksit, es a redonymozgatashoz ideiglenesen akksirol megy, es akkor nem okoz gondot a 15/30W power limit (pppoe-tol fugg).
Vagy pedig attetelesen egy elektromos fogkefe motorral ereszted le a redonyt 2 ora alatt:))

Van arduinohoz ethernet shield egyebkent. Meg nem hasznaltam...
Ha ilyen hobbizas, akkor lehet, hogy esp32-ot tennek az arduino helyere, azt is lehet vezetekes ethernettel abajgatni.
https://sautter.com/blog/ethernet-on-esp32-using-lan8720/

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

PoE-ra gondolsz, nem pedig Point to Point Protocol Over Ethernetre.

jah, valami miatt beneztem reggel, pedig foglalkozok vele mar egy ideje.

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

en is neztem kikerekedett szemekkel mi koze a pppoe-nek a redonyhoz :) keso van mar gyerekek

ATC-2000 típusú eszközöket használunk mérlegek elérésére a cégnél, teszik a dolgukat, nincs velük gond. Sínre is szerelhető, 24V-ról is üzemeltethető...

Ez ugy mukodik, hogy Windows-ban letrehoz egy virtualis COM portot, amit normal COM port-kent nyitasz meg es irsz/olvasol ra/rola, majd az adatot elkuldi Etherneten az adapternek, ami tovabbitja serial-on?


Sic Transit Gloria Mundi

Úgy is tud működni, de direkt IP-n keresztül is elérhető. Mi az utóbbi módon használjuk őket...

Igen, pont ilyet keresek!

Igen, pont ilyet keresek!

"5A relé van az Arduinoban"
Nézd meg, hogy az 5A az AC vagy DC (egyen/váltakozó áram). (AC áramot egyszerűbb kapcsolni, mert a null átmenetnél nem folyik áram, és ilyenkor könnyű bontani az áramkört. DC áramnál ilyen nincs, ott a maximális áramot kell tudni megszakítani. Ezért nem minden relé alkalmas DC -t kapcsolni, és ami alkalmas az is sokkal kisebb DC áramot tud mint AC -t.)

Ez AC-hez való relé, a vázlatos specifikáció szerint: 8 Outputs Relay 220Vac

Pontosabban még nem olvastam utána, hogy milyen relé van benne.

Olyan logika viszont nincs benne, hogy mérné a fázist és éppen a 0 átmenetnél kapcsolná be - szakítaná meg. Mindenképpen szükség van rá?

A User Guide-ban az I/O Technical Details reszben azt irja, hogy a rele max 5A/250VAC-t vagy 3A/30VDC-t tud kapcsolni. Ha neked 230VAC-rol uzemelo motorod van, es 170W a maximalis teljesitmenye, akkor, szerintem, kell menjen.


Sic Transit Gloria Mundi

"Olyan logika viszont nincs benne, hogy mérné a fázist és éppen a 0 átmenetnél kapcsolná be - szakítaná meg"
Nem kell a relébe logika. AC esetén, mivel az áram váltakozó irányú, az irányváltás közben lesz egy pillanat amikor nem folyik áram, azaz 0 A folyik. Ez a 0 átmenet.
A relé nem figyel semmit, ő csak el akarja távolítani egymástól a kontaktust kialakító pogácsákat. Ilyenkor a kontaktuson megnő az ellenállás, így az melegedni kezd. Ha elég nagy áram elég ideig melegíti, akkor összeheged és a reléd többet nem kapcsol ki. Váltakozó áramnál az áram erősség ingadozik, így mire túlmelegedne a kontaktus, megszakad az áramkör. Ezért tud a relé nagyobb AC áramot kapcsolni mint DC -t.

Be kell vallanom, hogy mémileg mellé beszéltem/pontatlanul fogalmaztam, mert a nagyobb AC terhelhetőség bár összefügg a 0 átmenettel, de nincs köze az okos relékhez, amik figyelik a 0 átmenetet, és időzítve kapcsolnak. Ilyesmire nagy teljesítménynél van szükség, amikor a túlmelegedés/összehegedés gyorsabban következik be minthogy az áram elérné a 0 átmenetet. Ergo, ha nem a 0 átmenet közelében próbálunk bontani, kapcsolás helyett hegeszteni fogunk :)

Bocsánat, ha megtévesztettelek!

Relével nullátmenetnél kapcsolni, kicsit sci-fi. A kapcsolás eltart pár periódusig.

Úgy értem, hogy szilárdtestrelével, ami ugye technikailag nem relé, csak úgy hívják. Abból van olyan, nem?

Azzal lehet e félét művelni.
Kis goole-zás után találtam olyat ami tudja a nullátmenetet.

Nekem van ilyen rs485 modulom keszen (nem modbus, hanem sajat protocol). Ha erdekel meg is tudom mutatni :)

Köszi, inkább USB-nél maradok úgy döntöttem időközben a tippek hatására.

Ha inkább egyedi mikrovezérlős áramkört csinálok, akkor TTL level serial is bőven megfelel. Van egy olyan érzésem, hogy sokkal kisebbre (és talán olcsóbbra) kijönne az egész ketyere pl Arduino PRO-val (kb 11x7 raszter méretű uC board), TTL szintű Ethernet-serial illesztővel és FET-ekkel, amik a külön DIN foglalatba tett teljesítményreléket kapcsolják.

Közben nézegettem még, és vannak Ethernetes mikrovezérlős dev boardok is, például ez egész jónak tűnik: https://os.mbed.com/platforms/FRDM-K64F/ 35 dollárér Ethernet képes mikrovezérlő, csak tápot kell adni neki és teszi a dolgát.

Az Ardbox-on is ki van vezetve TTL szintű serial (Az Arduino software serial-ja vagy akár a HW serialja is, ha átjumpereljük), tehát ahhoz is lehet az egyszerűbb, olcsóbb, TTL szintű konvertert használni.

Raspberry-t is használhatsz erre.
Vagy egy olyan arduino-t is berakhatsz amin van wifi (ha ethernet helyett oké a wifi)

A relével szerintem nem leszel boldog, ezek a kis szilárdtest relék nem bírnak el a motorok által elkövetett fázistolással. Bekapcsolni be tudod a motort de ki nem (vagy nem mindig).
Nekem 5w-os szivattyút sikerült vele vezérelnem, nagyobbat nem.
Viszont ha ezzel a pici relével vezérelsz egy rendes elektromechanikus relét az menni fog 100%

--
Gábriel Ákos

Ah ... Raspberry-t teljesen le kell valasztani a vezetekelesrol, kulonben hajlamos ujraindulgatni, nagyon erzekeny az EMI-re! Nagyon nem erre van kitalalva (sajnos) ...

Milyen típus volt, ami nem működött?

Van erre valami mérőszám, ami szerint ilyet méretezni kell, vagy marad a kipróbálom és addig növelem amíg jó nem lesz módszer?

Ez biztosan nem solid state relé, a PLCn lévő jelekből (mechanikus relé) és a leírás sem említi h solid state lenne.

Így az általad említett jelenség nem okozhat gondot. Ami viszont igen h a relék 90W (1200 VA) kapcsolási teljesítményt tudnak. Ez indításkor valószínűleg elég, de ha úgy állítod le a motort ( mint a garázs kapuknál szokás) h már a motor fizikailag végálláson erölködik így rövidzáási üzemállapotba kerül, akkor valószínűleg nagyobb lesz a kapcsolni kívánt teljesítmény.

Tehát javaslom h valóban relézd meg kint, a PLCn kívül. Plusz javítani is egyszerűbb megfelelő foglalat esetén.

A redőnynek van saját végálláskapcsolója, amit ha elér, akkor megszakítja az áramkört. Rövidzárba nem mehet a motor, csak ha megszorul valami miatt a rendszer. Persze az sem túl jó, ha úgymarad. De az ilyet a sima biztosítéknak ki kellene fognia, nem?

Nem kekeckedésből írom, hanem érteni szeretném. Ha kipróbálom és működik a beépített relével, akkor is mindenképpen jobb egy külső nagyobb teljesítményűt is betenni?

Az ARDBOX RELAY terméknél nem sikerült megtalálnom, hogy szilárdtest vagy mechanikus relé-e, pláne hogy pontosan milyen típus. Ez a dokumentálatlanság egy kicsit elbizonytalanít.

Tűzveszélyes lehet ez a rendszer? Ha mondjuk rövidzár állapotban beragad a motor, és nem tudja nyitni a relé a kört?

Ezen az oldalon ebbe a képbe belenagyítva jutottam ehhez a relé adatlaphoz.
Ez egy "mezei" elektromechanikus relé.

"Tűzveszélyes lehet ez a rendszer?"
Véleményem szerint a redőny elektronikának és motornak akkor sem szabad lángra kapnia, ha kézzel vezérled, elakad, és nyomod a gombot mint süket a csengőt. Azaz a te vezérlésed nem ront a helyzeten. Érdemes lehet ugyanakkor időzíteni, és lekapcsolni adott idő után, pl arra az esetre ha a végállás kapcsoló kinyiffan.

"ilyet a sima biztosítéknak ki kellene fognia"
Tervezés/szabvány kérdése, de szerintem a biztosíték inkább arra az esetre van, amikor zárlatos lesz a motor, és az üzemi áram sokszorosa folyik. Pl. belefolyik a motorba az esővíz, lerágja a szigetelést az egér a drótról, stb...
Persze lehet a "motorban" hővédelem, azaz egy bimetál ami túlmelegedés esetén bontja az áramkört. De ennél egyszerűbb úgy méretezni a motort, hogy huzamosabb ideig bírja a "rövidzár üzemet", azaz amikor lefogod a tengelyt, és nem engeded mozogni.

Biztos voltam benne, hogy nincs benne Arduino board, hanem ekvivalens áramkört építenek bele az alap NYÁK-ba. Tévedtem. Egy fullos Arduino Leonardo van a dobozba betéve! Hihetetlen megoldás :-) Köszi a linket, jobban utána kellett volna néznem nekem is z eszköznek.

Az általad linkelt cikk is leírja egyébként a pontos típust: "I will only mention here the relays are from OMRON, model G5NB-1A-E, with a current rating of 5A @ 220VAC and 3A @ 30VDC"

Ezt is írja:

"In terms of hardware, everything is high-quality, and this PLC goes right on the first position in my list of Arduino-compatible PLCs."

Úgyhogy egész meggyőző.

Van a cikkben link a Controllino Mini-re is, ami hasonló képességű, de kicsit nagyobb a relé teljesítménye: https://controllino.biz/controllino/mini/ Egy ÁFÁ-nyival olcsóbb, mint a másik.

Ennek a Controllino-nak a hátránya viszont, hogy nem pontosan Arduino kompatibilis, telepíteni kell valamiket az Arduino IDE-be, de csak Windowsos telepítő van hozzá. Ha nem muszáj nem akarnék ilyenekkel vacakolni.

Konkrét relét tudsz esetleg ajánlani?

Én sínre szerelve oldottam meg, bármi normális minőségű elektromechanikus cucc jó lesz. Asszem Haka márkájú.

--
Gábriel Ákos

Ezt nem teljesen értem.
Az a lényeg,hogy hálózaton keresztül akarsz vezérelni valamit?
Miért nem jó egy esp8266 wemos d1 mini (integrált wifivel)+ relék?

Vagy egy ilyen:

https://m.ebay.com/sch/i.html?_odkw=Power+Switch+ethernet+wifi&_from=R40&_trksid=m4084.l1313&_nkw=Power+Switch+ethernet+wifi+remote+control

Ha ennyire elbonyolítod,akkor túl sok hibalehetőség lesz...

Rs232-ethernet: tibo ds1100, bár nem olcsó.


Nem csak az M$ számol furán... A Zinternet lenne ilyen gyors?
65% [62 Sources 1528 kB/6239 kB 24%] 3062 PB/s 0s

* önmagában is működik - nyomógombról kapott jelekkel - a TCP-ről jövő vezérlés csak plusz
* Az Arduinot ismerem és szabad szoftveres és valamennyire szabad hardveres megoldás (talán ez az ipari változat nem szabad HW, de azzal egyenértékűen működik)
* Az offline alapkiépítésben nincs extra hibalehetőség egy bármilyen PLC-hez képest, amely elrendezést egyébként eleve javasoltak amikor még nem tudták, hogy Arduino-val akarom megcsinálni
* Wifit elvből nem szeretem. Laptoppal használom, de mindig legyen vezetékes backup megoldás. Egyszerűen folyton baj van vele. Nem tudom miért, de én rengeteget szívok vele. Több eszközöm is van, ami szívózik, nem is csak egy. És általában sem szeretem a rádiós megoldásokat. Aminek működni kell az legyen dróton. Utólag beépítve elfogadható kompromisszum, de újba csakis drótos megoldás lehet.

Ezek a szempontjaim. Részben érzelmi de ez van.

"nincs extra hibalehetőség egy bármilyen PLC-hez képest"

Kérlek ezt fejtsd ki bővebben!

Úgy értem, hogy a PLC-ben is mikrovezérlő van, és az ő lábait kicsatoló áramkörök. Ilyen értelemben ez az ARDBOX egy PLC. Annyiból nem az, hogy nem PLC-szerűen kell programozni, hanem mint egy mikrovezérlőt C-ben. De ez nem probléma, szoftveres gond nem lesz. Csináltam már piaci terméket ezzel a processzorral, és semmi baja remekül működik. Ez a kapcsoló annál sokkal egyszerűbb lesz.

Hobbizás közben én hasonlót az Arduino USB-jén keresztül oldottam meg egy LEDE-s routerrel, ser2net-tel.
Bónusz, hogy viszonylag rugalmas a megoldás, mert ha kell, a router AP vagy Wi-Fi kliens is lehet, illetve usbipvel távolról is tudok az Arduinora sketchet feltölteni.

Jó ötlet, úgyis be akartam tenni egy Wifi access pointot is, és ezt a két feladatot csinálhatná egy doboz. Nem is értem miért fixálódtam rá a serialra, mikor ott az USB. Persze tudom, azért mert az USB nem annyira ipari.

Milyen LEDE képes wifis routert ajánlanál?

Bejön a képbe, hogy az USB-n vajon lenne-e DC áram, ha külön tápja van a routernek és a PLC-nek? Jó volna, ha közös tápja lenne az ARDBOX-nak és a rúternek. Az ARDBOX 12-24V között bármivel üzemel. Viszont ott lesz a relé is, annak is kellhet táp. Szóval jó lenne közös nevezőt találni, és akkor nem kell több dobozt beszerelni, és tuti jól muzsikálnak együtt.

Disclaimer: nekem az ilyesmi tényleg csak hobbi, ezért ne vedd készpénznek, amit írok.
Routert sajnos nem tudok ajánlani, mert én aliexpressről rendelt 7 USD-s vacakokból szoktam építkezni. Azt nem ajánlom :)
A te céljaidra szerintem az OpenWrt kompatibilitási táblázatából bármelyik jó, ami 12 volt tápról megy és van USB-je. Pl. TP-Link TL-Wr1043ND, már ha nem érdekes az ipari szintű üzembiztosság.
Az arduino két oldalról való megtáplálását úgy szoktam elkerülni, hogy az USB VCC-t nem kötöm össze.

Idézet:
motoros redőnyt mozgatnék ezzel a rendszerrel

Én már megcisnáltam ezt. Egy irodában kb 25 lámpát és 12 motoros redőnyt vezérlek a Controllino Maxi fantázia nevű sínre pattintható, 24V-os arduinóval. Etherneten kereszül, OSC protokollon vezérli egy desktop alkalmazás, illetve egy python-os cli-os script. Keress meg, ha érdekelnek a részletek.

A Controllino-kat is néztem, de végül a topikkírásban linkelt ARDBOX-ot rendeltem meg.

Annyi érdekelne, hogy a Controllino reléje elbírja-e a redőnyt önmagában, vagy külső relé kell-e neki? És hogy az milyen fajta redőnymotort vezérel?

Miért 24V-ot választottál, ez a doboz működik 12V-ról is. Van a 24V-nak előnye?

A szoftveres részhez értek, és valami teljesen egyedi nemszabványosat fogok gányolni a saját megelégedésemre :-).

marmint az a kerdes, hogy hasznalod az 5V-os beepitett relet, ami ha tonkremegy max kiforraszthatod.
Vagy hasznalsz egy sinre pattinthato, az aljzatabol egy mozdulattal kiveheto Finder 40.51-es relet?

Pl:
https://www.tme.eu/en/details/40.51.9.024.000/miniature-electromagnetic-relays/finder/405190240000/

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Idézet:
Vagy hasznalsz egy sinre pattinthato, az aljzatabol egy mozdulattal kiveheto Finder 40.51-es relet?

Mi mindkettőt használjuk. Két Controllino Maxi mellé még be van téve 6 db 24V-os relé, mert nem volt elég az alap relészám.

Meggyőztetek, fogok betenni külön relét.

Finder, Hager normális márkák.
XBS-t ne.

--
Gábriel Ákos

Köszi!

Idézet:
Annyi érdekelne, hogy a Controllino reléje elbírja-e a redőnyt önmagában, vagy külső relé kell-e neki? És hogy az milyen fajta redőnymotort vezérel?

Elbírja önmagában, 6A-t tud kapcsolni egy relé. Redőnymotor pontos speckót holnap tudok nézni. Azt tudom, ez egy csőmotor, 4 bemenete van: 2L + N + PE és önmagában tartalmazza a tanítható végálláskapcsolót (nem külön drótozott valami, hanem megtaníthatod a végállásokat mindkét irányban és emlékszik rá).

Idézet:
Miért 24V-ot választottál, ez a doboz működik 12V-ról is. Van a 24V-nak előnye?

Controllino Maxi-ból az Automation alverziót használjuk, ami 24V-os (lehet tud mást is, nem rizikóztunk. Egy Siemens PLC-hez ajánlott 24V-os, kalapsínes tápot vettünk hozzá). De jobb is ez talán, mert mágneskapcsolókból jóval több van 24V-os, mint pl. 12V-os. Bár a mindent lekapcsoló mágneskapcsolót végül egy külön, fizikai kulcsos kapcsoló vezérli és 230V-os lett.

Idézet:
A szoftveres részhez értek, és valami teljesen egyedi nemszabványosat fogok gányolni a saját megelégedésemre :-).

Hajrá, érdekelne a végeredmény :)

Ki fogom rakni githubra, nem lesz benne semmi titok. Egyelőre az egyetlen dolog amit automatizálni akarok az az, hogy mire az ébresztő szól, addigra felhúzza a redőnyt a hálószobában. Ébresztőre már írtam programot, ami playlistet játszik halkból indulva és egyre hangosabban.

Persze ha már csinálok elektromos redőnyt, akkor talán még annyit érdemes, hogy napsütés szerint húzogassa a déli ablakokat értelemszerűen.

Már megrendeltem a 12V-os tápot az ARDBOX-szal együtt, úgyhogy keresek hozzá 12V-os relét inkább.

A tápnak meg a kapcsolt feszültségnek szerintem semmi köze egymáshoz.
Arra gondolok hogy az elektromechanikus relénél a kisáramú körnek nem muszáj 12V-osnak lennie (szerintem).

--
Gábriel Ákos

Ahogy néztem a kisáramú elektromágnesből ezek elérhetőek:
12VAC, 12VDC, 24VAC, 24VDC, 48VAC, 48VDC, 110VAC, 110VDC, 220VAC, 220VDC

Ha a 12 vagy 24V-ot használom, akkor nem kell 220-at vezetni az Arduino-ba. Így biztonságosabbnak érzem, és saját áramkör használatát is lehetővé teszi. (A relék szabványnak megfelelően sokszáz Voltra le vannak választva.) A 12V praktikusabbnak tűnik, mert többféle dolgot is meg lehet hajtani vele (pl direktben dev boardokat), nem kell több tápegység. Az árama kicsit nagyobb (névleg pl 160mA), de úgy csinálom meg, hogy egyszerre csak 1 (esetleg 2) relé legyen aktív, úgy el fogja bírni a táp.

Így okoskodék. Van benne hiba?

Ez így rendben van. Egy problémád lesz: a beszerzés. 220/220-as relét minden villanyos bolt tart és relatíve olcsók. 12/220-as relék ha jól emlékszem drágábbak is de mindenképpen ritkábbak.

--
Gábriel Ákos

SRD-12VDC-SL-C kb bárhol van, legfeljebb 3-400 Ft-ért.

Plussz a kiegeszito ara, hogy sinre szerelheto legyen...


Sic Transit Gloria Mundi

de ez megint valami szilárdtest okosság.
sose próbáltam, ki tud ez egy motort kapcsolni?

--
Gábriel Ákos