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

Atmega 8 - Zawieszanie się sterownika przy zakłóceniach świetlówki i czujnikach DS18B20

endurasek 04 Gru 2012 23:05 9729 50
Najlepsze odpowiedzi

Dlaczego sterownik na ATmega8 zawiesza się lub resetuje przy zakłóceniach od świetlówki i długich przewodach do DS18B20 oraz jak go uodpornić?

To nie sama świetlówka jest głównym problemem, tylko zasilanie, masa i prowadzenie sygnałów na płytce oraz długich przewodach. Na płytce brakuje poprawnego odsprzęgania: trzeba dać kondensator 100 nF jak najbliżej Vcc mikrokontrolera, poprawić filtrowanie przy LCD i nie liczyć, że sam większy elektrolit załatwi sprawę [#11612032][#11618951][#12708268] Layout też jest zły: cienka, „wężowata” masa, podłączenia GND w niekorzystnych miejscach i 1-wire z czujnikami na 30 m wprost do procesora powodują dużą podatność na zakłócenia, więc płytkę trzeba przeprojektować [#11612351][#11612724] Warto też odłączyć na czas testów wszystkie przerwania, zwłaszcza od ślimaka, zostawić tylko obsługę LCD i wgrać prosty program testowy, żeby rozdzielić problem sprzętowy od błędu w sofcie [#12672505][#12674044] I2C nie jest dobrym rozwiązaniem na 10–12 m i przy zakłóceniach; jeśli drugi wyświetlacz ma być daleko, lepiej użyć RS485 albo osobnego mikrokontrolera przy wyświetlaczu i połączenia UART [#12672812][#12670718]
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
  • #1 11611788
    endurasek
    Poziom 14  
    Posty: 211
    Ocena: 17
    Witam
    Od samego początku mam problem ze sterownikiem.
    Może zacznę od początku, wgrałem oprogramowanie do sterownika i tak działał 3 dni bez problemów po czym zaczął się zawieszać cały lub na wyświetlaczu zaczęły się pokazywać krzaczki. Doszedłem do tego że świetlówka która była zamontowana i podłączona pod te samo gniazdko co sterownik powodowała takie zakłócenia przy starcie i wyłączaniu że własnie powodowała "zwiechy" . Wsadziłem więc filtr równolegle no i się trochę polepszyło. Wsadziłem też większy kondensator filtrujący na sterowniku. Ale nadal dzieje się to samo a nawet częściej.
    Dodam że do sterownika są podłączone cztery czujniki temp db18b20 na przewodzie ok 30m i z tego powodu musiałem też zmienić rezystor podciągający do + na tych czujnikach. Dołączam zdjęcie schemat i to co się wyświetla. A jeszcze jedno w kontrolerze jest włączony timer jako counter do zliczania impulsów ślimaka podajnika(też przewód ok 30m)

    Prosił bym o pomoc w mojej sprawie

    Atmega 8 - Zawieszanie się sterownika przy zakłóceniach świetlówki i czujnikach DS18B20

    Atmega 8 - Zawieszanie się sterownika przy zakłóceniach świetlówki i czujnikach DS18B20
  • #2 11612032
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    Po pierwsze masz złe filtrowanie zasilania - albo powiem inaczej prawie go w ogóle nie masz :( więc poczytaj i zapoznaj się koniecznie z tym:

    http://mirekk36.blogspot.com/2012/04/mikrokontroler-prawidowe-zasilanie.html

    poza tym masz źle podłączony LCD, więc popatrz tutaj:

    http://mirekk36.blogspot.com/2012/04/lcd-hd4478-jak-podaczac.html

    dalej, jedną z gorszych rzeczy jaką zrobiłeś to fakt, że przekaźniki zasilasz z tego samego napięcia co mikrokontroler, dlaczego nie dałeś np 12V na przekaźniki sprzed stabilizatora ?

    Poza tym warto poprawnie rysować schematy - bo przy takim schemacie obawiam się, że druga wielka grupa błędów jest u ciebie na źle zaprojektowanym PCB :( ... ale spokojnie może obejrzyj sobie to:

    http://atnel.pl/kurs-cadsoft-eagle.html

    po tym wszystkim na prawdę duuuużo rzeczy ci się wyjaśni .... no ale poza tym warto żebyś też pokazał swoje PCB - bo jak mówię tam też można byłoby pewnie wskazać ci trochę kolejnych błędów, które powodują takie zachowanie. Nie mniej jednak najważniejszy to brak prawidłowej filtracji zasilania a zwiększanie elektrolita jak napisałeś tylko zwiększy twoje kłopoty - nie tędy droga.
  • #3 11612266
    endurasek
    Poziom 14  
    Posty: 211
    Ocena: 17
    Dziękuje za szybką odpowiedz.
    Na razie zamieszczam obraz mojej płytki a z materiałem co mi przesłałeś dzisiaj się zapoznam
    Atmega 8 - Zawieszanie się sterownika przy zakłóceniach świetlówki i czujnikach DS18B20

    Dodano po 5 [minuty]:

    A zapomniałem, nie używam przekaźników tylko wyjścia sterują tym
    Atmega 8 - Zawieszanie się sterownika przy zakłóceniach świetlówki i czujnikach DS18B20
  • #4 11612351
    Zbych_
    Poziom 25  
    Posty: 456
    Pomógł: 81
    Ocena: 6
    Pojechałeś po bandzie z layoutem płytki :-)

    Masa cieniutka, wije się jak wąż. Ścieżka GND od ULN2003, podłączona w okolice kwarca. Linia 1-wire (z czujnikami na 30 metrowym kablu) podłączona wprost do wejścia procesora. Mały elektrolit przed stabilizatorem, ale za nim już nie żałowałeś :-). Dalej nie chce mi się sprawdzać. Płytka nadaje się do całkowitego przeprojektowania.
  • #5 11612724
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    Zbych_ napisał:
    Pojechałeś po bandzie z layoutem płytki :-)

    Masa cieniutka, wije się jak wąż. Ścieżka GND od ULN2003, podłączona w okolice kwarca. Linia 1-wire (z czujnikami na 30 metrowym kablu) podłączona wprost do wejścia procesora. Mały elektrolit przed stabilizatorem, ale za nim już nie żałowałeś :-). Dalej nie chce mi się sprawdzać. Płytka nadaje się do całkowitego przeprojektowania.


    ooo jo jo joj, podpisuję się pod tym nogami i rękami co napisał kolega Zbych_, więc czym prędzej panie autor - zapoznaj się z tym np kursem eagle, zamiast to odkładać na później. Tam znajdziesz mnóstwo odpowiedzi na swoje pytania i bolączki
  • #6 11613090
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    1. Wyświetlacz wpięty bezpośrednio w gniazdo na płytce, czy na jakiejś taśmie (jak długiej)?
    2. Pokaż moduł z przekaźnikami. Masz na nich diody?: http://mikrokontrolery.blogspot.com/2011/03/przekaznik-i-zaklocenia.html
    3. Co robisz z nieużywany pinami mikrokontrolera?
    4. Przewody 30 metrów - jakie?

    Zakłócenia vs mikrokontroler: http://mikrokontrolery.blogspot.com/p/spis-tresci.html#dzial_zasilanie_zaklocenia
  • #7 11613630
    endurasek
    Poziom 14  
    Posty: 211
    Ocena: 17
    dondu napisał:
    1. Wyświetlacz wpięty bezpośrednio w gniazdo na płytce, czy na jakiejś taśmie (jak długiej)?
    2. Pokaż moduł z przekaźnikami. Masz na nich diody?: http://mikrokontrolery.blogspot.com/2011/03/przekaznik-i-zaklocenia.html
    3. Co robisz z nieużywany pinami mikrokontrolera?
    4. Przewody 30 metrów - jakie?


    ad1. wyświetlacz bezpośrednio wpięty do płytki
    ad2. nie stosuje przekaźników tylko tak jak na schemacie mam extra układ wykonawczy na MOC3041 I BT138 jako układ wykonawczy (który w chwili obecnej i tak jest odłączony fizycznie)
    ad3. nieużywane piny w mikrokontrolerze mam ustawione jako wyjścia i podciągnięte do plusa
    ad4. przewód skretka (ale wszystkie sygnały i zasilanie leci tym przewodem)

    Dodano po 1 [godziny] 38 [minuty]:

    Zbych_ napisał:
    Pojechałeś po bandzie z layoutem płytki :-)

    Masa cieniutka, wije się jak wąż. Ścieżka GND od ULN2003, podłączona w okolice kwarca. Linia 1-wire (z czujnikami na 30 metrowym kablu) podłączona wprost do wejścia procesora. Mały elektrolit przed stabilizatorem, ale za nim już nie żałowałeś :-). Dalej nie chce mi się sprawdzać. Płytka nadaje się do całkowitego przeprojektowania.


    Co do masy to oczywiście poprawie a o co chodzi z tą linią 1-wire?
    Jeśli chodzi o elektrolita to posiadam już stabilizowane zasilacz i elektrolit jest jaki jest bo na wejsciu układu do wtyczki mam wsadzony 2200uF
  • #8 11614027
    Konto nie istnieje
    Poziom 1  
  • #9 11614271
    endurasek
    Poziom 14  
    Posty: 211
    Ocena: 17
    Trochę pozmieniałem w schemacie, prosił bym o sprawdzenie i w razie czego zabiorę się za plytkę
    Atmega 8 - Zawieszanie się sterownika przy zakłóceniach świetlówki i czujnikach DS18B20

    I jeszcze plik

    A o co dokładnie chodzi z tym przerywaniem wyświetlania przez timer? jak tego uniknąć lub inaczej rozwiązać?
    Załączniki:
    • atmega moja v2.1.rar (59.82 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #10 11618951
    McMonster
    Poziom 32  
    Posty: 1942
    Pomógł: 182
    Ocena: 57
    Dalej brak kondensatora na Vcc. Kondensator od AREF do masy nie jest potrzebny, jeśli nie używasz ADC, możesz zostawić pin niepodłączony. Podobnie z dławikiem na AVcc, możesz go pominąć i podłączyć pod 5 V, ale kondensator musi zostać.

    I jak wygląda układ zasilający? Jeśli nie ma w nim bezpiecznika, to ta dioda przed stabilizatorem spowoduje potencjalnie groźne zwarcie.
  • #11 11619857
    endurasek
    Poziom 14  
    Posty: 211
    Ocena: 17
    McMonster napisał:
    Dalej brak kondensatora na Vcc.

    znaczy się że muszę jeszcze dać jeden kondensator blisko nóżki Vcc?

    A jako zasilanie używam gotowego zasilacza(przetwornica) z routera.
  • #12 11620139
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    endurasek napisał:

    znaczy się że muszę jeszcze dać jeden kondensator blisko nóżki Vcc?

    A jako zasilanie używam gotowego zasilacza(przetwornica) z routera.


    Widać, że w ogóle tego nie poczytałeś:

    http://mirekk36.blogspot.com/2012/04/mikrokontroler-prawidowe-zasilanie.html

    i dobrze - będziesz tak jeszcze długo się męczył, aż w końcu uznasz, że lepiej raz poświęcić kilka chwil na przeczytanie i zrozumienie a przy okazji projektować prawidłowe zasilanie.
  • #13 11690733
    TMEA
    Poziom 16  
    Posty: 345
    Pomógł: 3
    Ocena: 62
    ja bym dał jeszcze kondensator 100nF przy samym wyświetlaczu na zasilaniu :)
  • #14 12622999
    endurasek
    Poziom 14  
    Posty: 211
    Ocena: 17
    Od ostatniego wpisu trochę czasu już minęło i udało mi się trochę to opanować ale dalej nie działa sterownik jak ma.
    Sterownik działa poprawnie do momentu gdy jest zanik prądu lub we warsztacie (tam gdzie jest wpięty zasilacz) zał/wył jakieś urządzenie głównie światło (świetlówka).
    I tu mam dwa przypadki:
    1. Sterownik się zawiesi i nie można nic na nim zrobić (należy wył/wł zasilanie)
    2. Sterownik się uruchomi ale na wyświetlaczu będą same zera (wartości temp)
    tak jak by z pamięci flash znikły dane odczytane z eepromu. Można wejść do menu sterownik pracuje ale brak danych. Samo resetowanie sterownika nic nie da należy ponownie wył/zał zasilanie.

    Atmega 8 - Zawieszanie się sterownika przy zakłóceniach świetlówki i czujnikach DS18B20 Atmega 8 - Zawieszanie się sterownika przy zakłóceniach świetlówki i czujnikach DS18B20
  • #15 12644455
    endurasek
    Poziom 14  
    Posty: 211
    Ocena: 17
    Schemat i płytka została zmieniona ale efekty te same.
    Co ciekawsze to jeśli układ podłącze z akumulatora (brak fizycznego połączenia z siecią) i zacznę bawić się świetlówką wyl/wl to nadal jest to samo czyli sterownik się resetuje lub zawiesza

    No i jak tu się pozbyć zakłóceń?
  • #16 12648348
    endurasek
    Poziom 14  
    Posty: 211
    Ocena: 17
    Widzę że temat już upadł ale mam jeszcze jedną ciekawą sytuacje, inny sterownik tez na atmega8 podpięty pod akumulator i postawiłem go przy świetlówce i to samo ;(
  • #17 12648443
    Konto nie istnieje
    Poziom 1  
  • #18 12648534
    endurasek
    Poziom 14  
    Posty: 211
    Ocena: 17
    Trochę inna ale kurcze kurcze układ nie ma żadnej styczności ze światem zewnętrznym !!!! jedynie co mi przychodzi na myśl do w puszcze gdzie znajduje się układ wykonawczy dać ekran na sciankach
  • #19 12649027
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    endurasek napisał:
    Trochę inna ...

    Pokaż komplet materiałów:
    - schemat,
    - aktualny projekt płytki,
    - zdjęcia im więcej tym lepiej byle były ostre,
    - program,
    - i podaj długości przewodów, bo w 2012 pisałeś o 30m.
  • #20 12662606
    endurasek
    Poziom 14  
    Posty: 211
    Ocena: 17
    Chwilowo tego układu nie poprawiam z racji tego że właśnie przeprowadziłem pierwsze próby z przesyłem danych po i2c.
    Przewód skróciłem prawie do minimum (skrętka) ok 12m.
    Po magistrali chce wyświetlać informacje na dwóch wyswietlaczach lcd i odbierać z trzech przycisków informacje.
    Teraz trochę to potrwa ale za nim wytrawie płytkę podeśle na forum do sprawdzenia
  • #21 12667305
    endurasek
    Poziom 14  
    Posty: 211
    Ocena: 17
    Schemat już częściowo zrobiony na razie płytki nie robię do puki nie będę pewien że jest dobry. I tu prośba do Was ;)



    Atmega 8 - Zawieszanie się sterownika przy zakłóceniach świetlówki i czujnikach DS18B20



    Edytuj
    Załączniki:
    • 2xlcd_i2c.zip (89.37 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #22 12667426
    BlueDraco
    Specjalista - Mikrokontrolery
    Posty: 6479
    Pomógł: 939
    Ocena: 421
    Ja tego schematu nie rozumiem. Dziwny ten pomysł z wyświetlaczem na I2C - po co? Poco bramki na wejściach przycisków? Za duża pojemność kondensatorów przy wejściach i jeszcz wz 5 innych dziwnych rozwiązań.
  • #23 12667550
    endurasek
    Poziom 14  
    Posty: 211
    Ocena: 17
    Już odpowiadam
    - wyświetlacz jest na i2c bo potrzebuje dwa wyświetlacze zastosować a tylko tak umiem to zrobić

    - bramki na wejściach przycisków (bramki schmidta) są w sumie tylko efektem ubocznym zastosowania układu który bym mi potrzebny do zastosowania countera
    wcześniej bez tego układu counter co trochę sam dodawał lub gubił impulsy a od momentu zastosowania układu jest cisza i spokój a że mi zostało kilka bramek to wykorzystałem go do sprzętowego eliminacji "drgania styków"

    -rozumiem że chodzi o kondensatory przy zasilaniu. Tak mi doradzono na forum

    co do pozostałych rozwiązań "dziwnych" to szczelaj
  • #24 12670432
    perlon
    Poziom 20  
    Posty: 254
    Pomógł: 36
    Ocena: 3
    endurasek napisał:
    Już odpowiadam
    - wyświetlacz jest na i2c bo potrzebuje dwa wyświetlacze zastosować a tylko tak umiem to zrobić


    2 wyświetlacze mogą współdzielić linie z wyjątkiem linii E. Każdy powinien linię E mieć swoją. I2C natomiast to oszczędność portów i jeżeli taki był cel to OK.
  • #26 12670718
    Konto nie istnieje
    Poziom 1  
  • #28 12670851
    perlon
    Poziom 20  
    Posty: 254
    Pomógł: 36
    Ocena: 3
    Z danych różnych producentów wynika, że skrętka Cat5 do pojemność poniżej uważanej za graniczną 400pF dla I2C więc 12m dobrej skrętki da radę. Jak ze stabilnością transmisji to wyłącznie testy pokażą. Może trzeba jedynie wzmocnić podciąganie do Vcc. Jestem ciekaw wyników.
  • #29 12670884
    Konto nie istnieje
    Poziom 1  
  • #30 12670890
    endurasek
    Poziom 14  
    Posty: 211
    Ocena: 17
    oczywiscie ze podciagnołem, jak na razie z jednej strony przy wyswietlaczu 3,3k ale czytałem o 1k z obu stron

    Dodano po 5 [minuty]:

    Moment bo teraz nie kminie rozumiem że może będą błędy w transmisji danych ale nie powinien się sterownik od tego zawieszać.

Podsumowanie tematu

✨ Użytkownik zgłasza problemy z mikrokontrolerem Atmega8, który zawiesza się w wyniku zakłóceń generowanych przez świetlówki oraz czujniki DS18B20. Po początkowym okresie stabilnej pracy, sterownik zaczął się resetować lub wyświetlać nieprawidłowe dane. Użytkownik próbował zastosować filtrację zasilania oraz kondensatory, jednak problemy nadal występują. W dyskusji poruszono kwestie związane z projektowaniem PCB, podłączeniem wyświetlacza LCD, a także z długością przewodów i ich wpływem na zakłócenia. Użytkownicy sugerują poprawki w schemacie, dodanie kondensatorów oraz przemyślenie użycia I2C do komunikacji na większe odległości. Problemy z zakłóceniami są nadal aktualne, a użytkownik testuje różne rozwiązania, w tym zastosowanie innego wyświetlacza.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA