Elektroda.pl
Elektroda.pl
X
Sklep HeluKabel
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

ATMega8L, LCD, zasilacz i zakłócenia

Pocieszny 27 Sty 2013 12:41 2187 16
  • #1 27 Sty 2013 12:41
    Pocieszny
    Poziom 38  

    Zmontowałem ostatnio pewien układzik oparty na ATMega8L i wyświetlaczu HD44780. Zasilanie to bateria litowo-jonowa + stabilizator 3,3V. Kondensatory przy pinach mikrokontrolera są. LCD jest zasilany prosto z baterii, bez stabilizatora (bo nie działa na 3,3V). Do jednego z pinów portu C podłączyłem ładowarkę transformatorową ze starej Nokii. Podłączyłem ją przez dzielnik wykonany z diody Zenera + rezystora (żeby ograniczyć napięcie do 3,3V na porcie). Ma ona służyć do wykrywania zaniku napięcia 230V w sieci. I teraz pojawia się problem. Kiedy włączam/wyłączam ładowarkę z gniazdka, LCD wariuje(pomaga tylko odłączenie zasilania) lub mikrokontroler się restartuje. Właściwie to nie powinno dziwić nikogo - pojawiają się różne paskudne zakłócenia w tym momencie. Próbowałem dodatkowych kondensatorów i dławików - bez jakiegoś większego efektu. Ale najbardziej zdziwiło mnie to, że jeżeli włączę ładowarkę do przedłużacza - takiego najzwyklejszego, bez bajerów - to włączanie/wyłączanie przedłużacza z gniazdka nie powoduje już tych problemów. Tak samo użycie jakiejś podłej jakości chińskiej ładowarki impulsowej powoduje o wiele mniej problemów niż transformatorowa ładowarka Nokii. Czy ktoś może wie o co tu chodzi? :)

    0 16
  • Sklep HeluKabel
  • #2 27 Sty 2013 12:50
    tmf
    Moderator Mikrokontrolery Projektowanie

    Indukcyjność transformatora robi swoje. W chwili włączania płynie ogromny prąd, a w chwili wyłączania indukuje się spore napięcie. Ten przedłużacz pewnie ma zaśniedziałe styki i dodatkowy opór styków istotnie ogranicza prąd. Daj szeregoweo z trafem termistor PTC, to ci ograniczy prąd rozruchu. Albo po prostu zamień ten dziwaczny układ na transoptor + rezystory ograniczające prąd.

    0
  • #3 27 Sty 2013 12:55
    Pocieszny
    Poziom 38  

    Wychodzi na to, że dioda Zenera jest zbyt wolna i jednak przez moment przepuszcza wyższe napięcie? Rezystor, który do niej podłączyłem ma 4,7kΩ, wcześniej próbowałem 330Ω. Dodam, że z tej ładowarki zasilam podświetlenie wyświetlacza (żeby nie pobierało niepotrzebnie prądu jak nie ma 230V), ale to chyba nie powinno mieć większego wpływu, bo są odrębne obwody.

    Ta ładowarka jednocześnie ładuje telefon Siemens C45, z którym układ współpracuje przez UART. I też czasem ten telefon potrafi się wyłączyć przy takich zabawach ładowarką. Widocznie kiepska ona jest do takich zastosowań. A tej chińskiej boję się zostawiać włączonej bez opieki, bo już widziałem co potrafią takie badziewia zrobić (dym, ogień itd.).

    0
  • Sklep HeluKabel
  • #4 27 Sty 2013 13:32
    tmf
    Moderator Mikrokontrolery Projektowanie

    Zenerki demonami prędkości nie są, ale nie tylko tu leży problem. Duży prąd w momencie włączania to olbrzymie zakłócenia EMI, które różnymi źródłami, np. masą dostają się twojego układu. Spróbuj podłączyć masę ładowarki z MCU też przez rezystor. A za zenerką daj równolegle do masy mały kondensator - 10 nF wystarczy. Może to coś poprawi.
    Z drugiej strony tak się zastanawiam, MCU jest zasilany z 3,3V, a LCD z 5V? A łączysz to razem przez jakiś bufor, czy chociażby szeregowe oporniki?

    0
  • #5 27 Sty 2013 13:35
    dondu
    Moderator Mikrokontrolery Projektowanie

    Opis słowny jest fajny, ale nawet najbardziej dokładny nie zastąpi schematu :)

    0
  • #6 27 Sty 2013 22:26
    nproton
    Poziom 11  

    Użyj transoptora do wykrywania zaniku zasilania.

    0
  • #7 27 Sty 2013 23:04
    Piotr Piechota
    Poziom 21  

    tmf napisał:
    Indukcyjność transformatora robi swoje. W chwili włączania płynie ogromny prąd(...)


    Duży prąd w momencie włączenia powoduje pojemność a nie indukcyjność uzwojeń. Przerabiałem to przy budowie drivera dużego sinika bezszczotkowego. Pomagały pierścienie ferrytowe wprowadzające indukcyjność między tranzystorami drivera a uzwojeniami silnika.

    Pozdrawiam

    0
  • #8 16 Lut 2013 18:09
    Pocieszny
    Poziom 38  

    Udało się jakoś opanować te zakłócenia z ładowarki. Niestety doszedł kolejny problem. Do 3 portów ATMegi są podłączone 3 czujniki temperatury DS1820. Długość kabli to około 2-3m każdy. W pobliżu znajduje się pompa od ogrzewania i w momencie jej włączenia przez moment układ odczytuje złe temperatury (np. 200 stopni, a naprawdę jest 30). Problemem jest to, że układ wysyła błędne powiadomienie o przekroczonej temperaturze. Okazało się, że przez przypadek użyłem nieekranowanych kabli, więc je wymienię. Ale pewnie jeszcze muszę dodać jakieś filtry. I tu mam pytanie: w których miejscach umieścić dławiki? Przy czujnikach, przy procesorze, czy też w obu miejscach jednocześnie? Włączyć je na wszystkich 3 przewodach(magistrala 1-wire) czy wystarczy na linii danych?

    0
  • #10 16 Lut 2013 18:23
    tmf
    Moderator Mikrokontrolery Projektowanie

    A po co tak kombinować? Jak myślisz, po co DS1820 wysyła CRC? Tak dla zabawy? Sprawdzaj czy CRC odebranego pakietu się zgadza - jeśli tak to ok, jeśli nie to odczytujesz ponownie.

    0
  • #12 16 Lut 2013 19:45
    tmf
    Moderator Mikrokontrolery Projektowanie

    To nie była odpowiedź na twój post, tylko kolegi Pocieszny. Z drugiej strony myślę, że poprawa programu jest najprostszym rozwiązaniem. Rozważałbym jeszcze wykorzystanie USART do realizacji transmisji, to też poprawia jakość, w dodatku upraszcza program.

    0
  • #13 16 Lut 2013 20:41
    Pocieszny
    Poziom 38  

    Niestety sprzętowo już niewiele mogę zmienić. Układ jest zmontowany i działa, nie chce mi się trawić kolejnej płytki i lutować. Tak jak radzicie poprawię program żeby liczył sumy kontrolne. Oczywiście zmienię kable na ekranowane, a czujniki zawinę w folię aluminiową. Wydaje mi się, że powinno to pomóc. Co ciekawe, kiedy wystąpi jakieś "skuteczne" zakłócenie, to odczytana temperatura chyba zawsze ma wartość 85 stopni.

    0
  • #15 16 Lut 2013 22:35
    Pocieszny
    Poziom 38  

    piotrva napisał:
    Co oznacza reset termometru.

    Czy liczenie sumy kontrolnej pomoże ustrzec się przed tymi 85 stopniami?

    piotrva napisał:
    Niestety w przypadku 1-wire włączenie dławików może sprawę jeszcze... pogorszyć.

    No właśnie dołączyłem do zasilania, masy i danych od strony procesora jakieś dławiki 100µH i wydaje mi się, że chyba czasem czujniki milczały.

    0
  • #17 16 Lut 2013 23:05
    Raphaw
    Poziom 20  

    W kwestii eliminacji nieprawidłowego pomiaru 85 stopni można sprawdzać kilka kolejnych pomiarów i odrzucać te wyraźnie odstające od reszty, jednak to bardziej łagodzenie skutków, niż eliminacja przyczyny.

    0