Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

ESP8266/Trafo/Przekaźniki - Sterownik podlewania ogrodu na ESP8266 / MQTT

lis.marc 22 Lut 2016 23:58 2226 6
  • #1 22 Lut 2016 23:58
    lis.marc
    Poziom 9  

    Witam,

    Wykonałem kolejny element automatyki domu tzn. prototyp sterownika podlewania ogródka.

    Sterownik składa się:
    - ESP8266 12E: WiFi, MQTT, I2C,
    - MCP23017: 16 wyjść do sterowania zaworami oraz trafo (wykorzystywane tymczasowo 8),
    - moduł 8 przekaźników Arduino z optoizolacją: 1 przekaźnik steruje linię N dochodzącą do trafo, pozostałe 7 przekaźników steruje wyjściem 24VAC do odpowiednich zaworów,
    - zawory RAINBIRD 100-HV,
    - zasilacz 203VAC/5VDC
    ESP8266/Trafo/Przekaźniki - Sterownik podlewania ogrodu na ESP8266 / MQTTProtot..jpg Download (4.91 MB)

    Działa to tak:
    - ESP8266 nasłuchuje komunikaty kolejki MQTT,
    - po rozpoznaniu odpowiedniego komunikatu ESP8266 za pomocą I2C ustawia odpowiednie wyjścia MCP23017,
    - wyjścia MCP23017 podłączone są do modułu przekaźników,
    - moduł przekaźników podłączony jest do trafo oraz zaworów,
    - linia N do trafo załączana jest za pomocą przekaźnika w momencie jeśli conajmniej jeden zawór otwarty i odpowiednio wyłączana,
    - pozostałe przekaźniki sterują 24VAC do zaworów.
    ESP8266/Trafo/Przekaźniki - Sterownik podlewania ogrodu na ESP8266 / MQTTSchema..png Download (22.22 kB)

    Sterownik ma możliwość podłączenia czujnika wilgotności gleby, gdzie próbkowana wartość będzie nadawana w komunikacie do MQTT, ale to później (wykorzystany ADC w ESP8266).

    Podczas prób rozruchu sterownika napotkałem problem, który mnie nurtuje i na tą chwilę przerasta.
    Otóż zauważyłem, że ESP8266 potrafi o czasu do czasu się zresetować (1/100 zdarzeń) i to dokładnie w momencie wyłączania trafo. Kiedy trafo pracuje bez napięcia, układ działa bez problemu przez wiele dni.
    Wiem, że ESP8266 są wrażliwe na niestabilne zasilanie więc podłączyłem oscyloskop na zaciskach GND/+3.3V ESP8266 i sprawdziłem co sie tam dzieje w momencie wyłączania trafo - załączam oscylogram.
    ESP8266/Trafo/Przekaźniki - Sterownik podlewania ogrodu na ESP8266 / MQTTOscylog...png Download (3.64 kB)

    Widać tam ewidentne "piki", które najpewniej są powodem restartów.

    Rozważałem kilka tematów:
    1. Wyseparowanie trafo poza skrzynkę - pewnie to nic nie da i będzie tylko próbą zakamuflowania problemu.
    2. Dołożenie jakiegoś "mądrego" filtra przed trafo.
    3. Zrezygnować z włączania/wyłączania trafo w momencie sterowania zaworami - nie wiem czy to jest sensowne, bo zawory większą część czasu są zamknięte.
    4. Przeprojektować układ i zrezygnować z zasilacza 230VAC/5VDC na rzecz prostownika 24VAC/5VDC do zasilania całości - wtedy oczywiście trafo cały czas załączony.

    Opcja 2) wydaje mi się najbardziej elegancka, ale przerasta moją wiedzę.
    Proszę o pomoc i porady.

    Pozdrawiam,
    Marcin

  • #2 23 Lut 2016 10:10
    lis.marc
    Poziom 9  

    Teraz widzę, że zamiast kondensatorów ceramicznych powkładałem chyba foliowe. Ciekawe czy wymiana na ceramiczne poprawi właściwości zasilania układu - sprawdzę w wolnej chwili.

  • Pomocny post
    #3 26 Lut 2016 14:26
    Martin_250
    Poziom 12  

    Jesteś pewien, że to ESP się resetuje? Filtr linii RESET i samo zasilanie przy założeniu, że kondensatory C5 i C6 są blisko układu jest ok, można dołożyć szeregowo na jego linii zasilania jakiś drobny dławik 1uH byle nie przesadzić bo takie moduły potrzebują mieć skąd pociągnąć często w szczycie pod kilkaset mA. Natomiast MCP otworzyć notę katalogową, całe zasilanie i obstawa linii RESET prosi się o poprawki, sprawdź też tolerowane poziomy napięć skoro MCP jest z 5V. Komunikujesz się z modułem ESP w momencie wyłączeń?
    Nie sugerowałbym się pikami na oscylogramie bo to akurat może być efekt metody pomiaru przy zakłóceniach EMI. Referencyjnie przyjrzyj się przebiegom dla innych pinów modułu. Jeśli jednak faktycznie się tam takie rzeczy pojawiają, koniecznie sprawdź jak wysokie te piki są, zmień podstawę czasu przyjrzyj się jaki to ma kształt, pokombinuj z najbliższą układowi pojemnością. Druga strona medalu - wysokie skoki napięcia uszkodzą Ci moduł, dioda zabezpieczająca może okazać się niezbędna, jeśli jeszcze tego nie zrobiły to być może ESP ma wewnętrzne zabezpieczania i stąd reset (byłoby to jakieś rozwiązanie gdybyś nie poradził sobie z tym inaczej). Przyjrzyj się też co robi watchdog tego układu. Generalnie musisz dojść do tego czy to są zakłócenia przewodzone czy indukowane.

    Rozwiń trochę choćby odręcznym schematem co robisz z tym trafem, bo brzmi podejrzanie szczególnie ten fragment z włączaniem "linii N".

  • #4 26 Lut 2016 23:53
    lis.marc
    Poziom 9  

    Wielkie dzięki za zainteresowanie.
    Już odpisuje:

    1. Mam 100% pewność, że to właśnie tylko ESP się resetuje - wielokrotnie badałem ten układ, debugowałem na porcie szeregowym. Zresztą napisałem sobie tak wsad do ESP, że potrafi się odpowiednio zachować po resecie, w przypadku kłopotów z WiFi czy też z kolejką MQTT.

    2. Kondensatory C5/C6 znajdują się bardzo blisko ESP. Włożyłem tam kondensator foliowy jednak wiem, że ma być ceramiczny - czekam na przesyłkę i to wymienię ;)

    3. Sprawdzałem wcześniej notę MCP23017: nie widziałem i tak teraz przeglądam, nie bardzo widzę sugestie co do "wsparcia" dla zasilania i RESET. Są tam timingi oraz progi, ale brak mi biegłości, aby to przełożyć na brakujące elementy w moim układzie. Aczkolwiek MCP wydaje się być stabilny. Nawet jak ESP się restartuje to MCP dzielnie trzyma zadany stan.
    http://ww1.microchip.com/downloads/en/DeviceDoc/21952b.pdf

    4. Dołączam odręczny schemat
    ESP8266/Trafo/Przekaźniki - Sterownik podlewania ogrodu na ESP8266 / MQTT

    5. trafo włączam/wyłączam za pomocą przekaźnika, ale który odcina linię jedną linię. Mam takie przemyślenia:
    - wyłączanie trafo na pewno generuje sporo zamieszania i być może, kilka pików "przechodzi" przez zasilacz do płytki z logiką - czy powinienem odłączać także druga linię?
    - czytam, że do układów przekaźnikowych warto dodać "układ gasikowy" składający się z rezystora 30Ohm / 0,5W i kondensatora 200uF / 400V wpiętego równolegle do styków przekaźnika - koszt znikomy zatem chyba warto.

    6. Jeśli chodzi o charakterystykę "pików" to okres pomiędzy większymi igłami wynosi 4 - 8us, a same oscylacje to 110ns. Amplituda największej zmierzonej wynosi około 15V, ale pewnie jest dużo więcej.
    ESP8266/Trafo/Przekaźniki - Sterownik podlewania ogrodu na ESP8266 / MQTTESP8266/Trafo/Przekaźniki - Sterownik podlewania ogrodu na ESP8266 / MQTT

    7. W zasadzie nie komunikuję się z ESP podczas wyłączania trafo. Samo wyłączenie trafo to ostatnia operacja jaką wykonuję.
    Mój protokół komunikacji z układem to kilka komend (opakowanych w JSON'ie przesyłanym w komunikacie MQTT), obrazowo wygląda to tak:
    - open/czas/zawory - otwiera zbiór zaworów na określony czas
    - close/zawory - zamyka wskazane zawory,
    Tak jak wcześniej pisałem, trafo wyłączam kiedy ostatni z zaworów zostaje zamknięty i to wtedy może dojść do resetu. W zasadzie sporadyczny reset nikomu nie przeszkadza, ale wiem, że w układzie jest coś nie tak i chciałbym dotrzeć do poprawnego stanu.

  • #5 28 Lut 2016 14:16
    Martin_250
    Poziom 12  

    Co do wyłącznika na przewodzie fazowym przemyśl sobie na spokojnie po co go zastosowałeś i jak sytuacja się zmienia jeśli odwrócisz wtyczkę w gniazdku.
    TO WAŻNE! Musisz mieć świadomość kiedy naprawdę odłączasz wysokie napięcie, a kiedy nie.

    Przy każdym układzie scalonym warto mieć jak najbliżej pinów zasilania kondensator odsprzęgający.
    Reset też mógłby być podpięty przez jakiś rezystor. Dla przykładu przy ESP R4 i C5 to prosty filtr dolnoprzepustowy chroniący przed resetowaniem wskutek zakłóceń.
    Można dołożyć jeszcze szybką diodę zwrotną równolegle do R4 (przytnie szpilki).
    Jednak nie ustaliłeś jeszcze co konkretnie resetuje moduł ESP (linia reset, zasilanie, coś innego?). Ja tego zdalnie nie wymyślę ;)

    Obserwuj przebiegi, szukaj źródła problemów (nawet sam projekt płytki będzie miał znaczenie).
    Ze zdjęcia jeśli się nie mylę płytka przekaźników ma już swoje transoptory i diody zabezpieczające (tudzież układ gasikowy);

  • #6 08 Wrz 2016 09:40
    piotr411
    Poziom 22  

    1. Reset zawsze przez 10k do Vdd.
    2. Dlaczego dałeś przekaźniki?
    3. ESP powinno być zasilane przez przetwornice, a nie LDO.
    4. GPIO2 podczas startu zawsze powinien mieć stan H, mimo, ze pdf podaje, ze może być "luźny"
    5. Jeśli korzystasz z sekwncyjnego nawadniania, to wybrałeś nieodpowiedni elektrozawór. Cewki w RainBirdzie mają cienki drut i są wysokoprądożerne, lepsze niż np Cleber, ale i tak mało trwałe przy funkcjach sekwencji. Lepsze są polskie zawory ewentualnie PGV-100 Hutera.
    6. Podpowiem, że 24VAC = 9VDC, choć cewki zasilane z 12VDC spokojnie bez grzania się wytrzymują kilka lat :)
    7. Elektrozawory Hunter PGV100 bardzo łatwo przerobić na bistabilne zasiane z baterii 9V przy pomocy serva SG-90
    8. W przypadku modyfikacji zaworów Huntera Sterownik z ESP na akumulatorze 12V 7Ah działa bez problemu 60dni oczywiście sterującą też zaworami :)

  • #7 09 Wrz 2016 07:42
    zdenyo
    Poziom 10  

    Widać na oscyloskopie, że rozłączanie trafo powoduje bardzo wysokie szpilki - brutalne przerwanie obwodu z indukcyjnością, więc robienie urządzenia "pancernego" pod kątem odporności EMC, po pierwsze przedraża, po drugie nie likwiduje źródła problemu.
    Wydaje mi się, że wystarczy dać warystor równolegle do trafa (rzędu 390 V) lub styków przekaźnika, ale nie sprawdzałem w praktyce. Ewentualnie sterowanie trafa tyrystorem z załączaniem w zerze.

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME