logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

NodeMCU i MCP23017: Sterowanie terrarium, zakłócenia na i2C, rezystory pullup, moduł przekaźników

zipZłoty 29 Sty 2021 20:47 1566 10
REKLAMA
  • #1 19219665
    zipZłoty
    Poziom 10  
    Posty: 23
    Ocena: 1
    Cześć,

    krótki opis aplikacji: sterownik do terrarium, uruchamianie świateł wg harmonogranu, ogrzewanie na podstawie odczytów czujników.

    Hardware
    NodeMCU komunikuje się po i2c z MCP23017. Szyna posiada rezystory pullup 4,7k do 3.3V. Ekspander łączy się z ośmiokanałowym modułem przekaźników, do którego podpięte są wszystkie urządzenia sterowane. Przekaźniki zasilane z osobnego źródła 5V. Schemat w załączeniu. NodeMCU i MCP23017: Sterowanie terrarium, zakłócenia na i2C, rezystory pullup, moduł przekaźnikówschema..jpg (95.96 kB)Musisz być zalogowany, aby pobrać ten załącznik.

    Skrzyneczka sterująca znajduje się w "suficie" terrarium. Zaraz obok idzie koryto z przewodami.

    Na podstawie schematu została wykonana płytka PCB. Linie i2c idą zaraz obok siebie, całkowita długość to ok. 4 cm.

    Software
    Układ współpracuje z Blynk. Kod nie będzie potrzebny do analizy problemu.

    Urządzenia sterowane
    1. Listwy LED dzienne.
    2. Listwa LED nocna.
    3. Promiennik (ogrzewanie) - zasilanie sieciowe.
    4. Metahalogen i jego statecznik.

    Opis problemu
    Światło dzienne LED włącza się o 9. O 10 włączał się metahalogen. Niestety czasem jego rozruch powoduje wyłączenie innych świateł, a moduł przekaźników przestaje reagować na ręczne zmiany stanów przez Blynk. Poza tym program działa normalnie (np. odczyty z czujników, etc). Usunąłem metahalogen z układu i steruje nim oddzielnie (przez gniazdko WiFi). Problem jednak nie zniknął. Winą zatem obarczyłem MCP23017 i i2c. Napięcie zapłonu (wg Osram) wynosi 4.5 kV. Niestety wydaje mi się, że ten pik mocno miesza w mojej szynie. Sterownik jest teraz możliwie najdalej odsunięty od lampy i statecznika, jednak niewiele to zmienia. Moim dotychczasowym rozwiązaniem jest wywoływanie o 10:01 ESP.restart(). Rozwiązanie działa, światła się uruchamiają normalnie, ale nie jestem usatysfakcjonowany.

    Meritum
    I tutaj moje pytanie - co mogę zrobić, aby zabezpieczyć szynę przed interferencjami? Czy drukowanie ścieżek dla i2c było błędem? Jaka jest dobra praktyka - czy powinienem stosować przewody ekranowane do i2c zamiast ścieżek na płytce?
  • REKLAMA
  • #2 19220015
    Konto nie istnieje
    Poziom 1  
  • #3 19220025
    Ondo
    Poziom 12  
    Posty: 99
    Pomógł: 3
    Ocena: 16
    To niekoniecznie muszą być zakłócenia na I2C, sam MCP23017 może zmieniać losowo stan przerzutników wewnętrznych od zakłóceń zewnętrznych. Ale w sumie przyczynę już sam znalazłeś, możesz próbować:
    - dodać filtry RC na styki przekaźnikach
    - zrobić sterowanie na triakach
    - użyć "elektronicznych" przekaźników
  • REKLAMA
  • #4 19220994
    zipZłoty
    Poziom 10  
    Posty: 23
    Ocena: 1
    Przy następnej wersji mam zamiar przejść na triaki (przynajmniej częściowo).

    Jak rozumiem Wasza sugestia jest taka, żebym z powrotem podpiął metahalogen do sterownika i do jego przekaźnika zamontował układ gaszący. W sumie o tym nie pomyślałem, muszę zgłębić temat.

    A co do samej szyny i2c - pytanie z oryginalnego posta - czy prowadzenie jej na pcb jest ok?
  • #5 19221181
    Konto nie istnieje
    Poziom 1  
  • #6 19221751
    zipZłoty
    Poziom 10  
    Posty: 23
    Ocena: 1
    khoam napisał:
    zipZłoty napisał:
    Przy następnej wersji mam zamiar przejść na triaki (przynajmniej częściowo).

    Najlepiej z optoizolacją i przełączaniem w zerze, jeżeli ma być lepiej niż na przekaźniku.


    Obecnie korzystam z modułu przekaźników z optoilozacją. Tak czy inaczej muszę się doedukować z układów gaszących i jak je podpiąć tak naprawdę do lampy.

    khoam napisał:
    zipZłoty napisał:
    A co do samej szyny i2c - pytanie z oryginalnego posta - czy prowadzenie jej na pcb jest ok?

    Nie zamieściłeś rysunku pcb, ale z opisu słownego wynika, że to raczej nie jest problem zakłóceń szyny I2C.


    Zamieszczam PCB, tak dla porządku rzeczy. Była to pierwsza wersja, bez pullup na i2c. Skoro nie szyna, to sugerujesz, że MCP23017 jest problemem? Chciałbym poznać chociaż przybliżony mechanizm tego, co się dzieje podczas rozruchu lampy. Najłatwiej było mi sobie wyobrazić wyindukowanie bardzo małego prądu na szynie, co w naturalny sposób zakłócało jej działanie. Nadal nie wiem, jak mam ochronić układ przed zakłóceniem wywołanym z zewnątrz.
    Załączniki:
    • NodeMCU i MCP23017: Sterowanie terrarium, zakłócenia na i2C, rezystory pullup, moduł przekaźników Untitled.jpg (145.34 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #7 19221775
    Konto nie istnieje
    Poziom 1  
  • #8 19221797
    zipZłoty
    Poziom 10  
    Posty: 23
    Ocena: 1
    khoam napisał:
    W dużym skrócie: iskrzenie styków przekaźnika (łuk elektryczny) generuje zakłócenia, które mogą przenosić na mikrokontroler i powodować jego niestabilną pracę. Dlatego też stosuje się gasiki RC, aby zjawisko to zniwelować. Link


    Ale, tak jak pisałem, obecnie metahalogen jest uruchamiany z zupełnie oddzielnego urządzenia - jest podpięty pod gniazdko WiFi. Jedyną wspólną cechą tych układów jest teraz to, że znajdują się w suficie terrarium. Uważasz, że iskrzenie w przekażniku gniazdka WiFi powoduje zakłócenia, które to z kolei wpływają na uC?
  • REKLAMA
  • Pomocny post
    #9 19221809
    Konto nie istnieje
    Poziom 1  
  • #10 19221818
    zipZłoty
    Poziom 10  
    Posty: 23
    Ocena: 1
    Ok. Wyobrażałem sobie przewody od lampy jako anteny, nawet je scrossowałem, ale jak widać bez skutku. Wypróbuje Twoje podejście.
  • Pomocny post
    #11 19238570
    krzbor
    Poziom 29  
    Posty: 1757
    Pomógł: 41
    Ocena: 1064
    Warto przeanalizować inny problem - zakłócenia związane ze startem metahalogenu. To jest dosyć złożony proces przy którym generowane są impulsy o wartości 4,5 kV. Zakłócenia muszą być wówczas naprawdę duże. Problemem zapewne nie jest zasilanie czy przekaźnik, ale sam statecznik lub połączenie statecznik-żarówka metahalogenowa. Można to sprawdzić oddalając układ statecznik-żarówka od ESP.

Podsumowanie tematu

✨ Dyskusja dotyczy problemów związanych z zakłóceniami w systemie sterowania terrarium, który wykorzystuje NodeMCU i MCP23017 do komunikacji przez I2C. Użytkownik zgłasza, że metahalogen czasami nie włącza się poprawnie, co może być spowodowane zakłóceniami elektrycznymi. Uczestnicy sugerują zastosowanie gasików RC na stykach przekaźników, optoizolacji oraz przełączania w zerze, aby zminimalizować zakłócenia. Wskazano również na możliwość, że zakłócenia mogą pochodzić z samego statecznika metahalogenu, który generuje impulsy o wysokim napięciu. Użytkownik planuje wprowadzenie triaków w przyszłych wersjach projektu oraz analizuje schemat PCB, aby poprawić stabilność systemu.
Wygenerowane przez model językowy.
REKLAMA