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

Atmega 8 - Częste zawieszanie się sterownika

endurasek 04 Gru 2012 23:05 8391 50
  • #1 04 Gru 2012 23:05
    endurasek
    Poziom 14  

    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 - Częste zawieszanie się sterownika

    Atmega 8 - Częste zawieszanie się sterownika

    0 29
  • Arrow Multisolution Day
  • #2 05 Gru 2012 00:14
    mirekk36
    Poziom 42  

    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.

    0
  • #3 05 Gru 2012 07:19
    endurasek
    Poziom 14  

    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 - Częste zawieszanie się sterownika

    Dodano po 5 [minuty]:

    A zapomniałem, nie używam przekaźników tylko wyjścia sterują tym
    Atmega 8 - Częste zawieszanie się sterownika

    1
  • #4 05 Gru 2012 08:17
    Zbych_
    Poziom 24  

    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.

    0
  • Arrow Multisolution Day
  • #5 05 Gru 2012 10:56
    mirekk36
    Poziom 42  

    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

    0
  • #6 05 Gru 2012 13:15
    dondu
    Moderator Mikrokontrolery Projektowanie

    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

    0
  • #7 05 Gru 2012 17:32
    endurasek
    Poziom 14  

    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

    0
  • #8 05 Gru 2012 17:38
    MArSTER_1
    Poziom 18  

    "Od samego początku mam problem ze sterownikiem."...."A jeszcze jedno w kontrolerze jest włączony timer jako counter do zliczania impulsów ślimaka podajnika
    Przerywasz w programie procedurę wyświetlania na LCD przerwaniem od Timera.

    0
  • #10 06 Gru 2012 19:51
    McMonster
    Poziom 32  

    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.

    0
  • #11 06 Gru 2012 22:25
    endurasek
    Poziom 14  

    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.

    0
  • #12 06 Gru 2012 23:23
    mirekk36
    Poziom 42  

    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.

    0
  • #13 24 Gru 2012 09:07
    TMEA
    Poziom 16  

    ja bym dał jeszcze kondensator 100nF przy samym wyświetlaczu na zasilaniu :)

    0
  • #14 13 Sie 2013 07:04
    endurasek
    Poziom 14  

    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 - Częste zawieszanie się sterownika Atmega 8 - Częste zawieszanie się sterownika

    0
  • #15 19 Sie 2013 17:31
    endurasek
    Poziom 14  

    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ń?

    0
  • #16 20 Sie 2013 17:39
    endurasek
    Poziom 14  

    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 ;(

    0
  • #17 20 Sie 2013 18:09
    atom1477
    Poziom 43  

    A płytka w tym innym jaka?
    Bo ta na górze to taka sobie jest.

    0
  • #18 20 Sie 2013 18:28
    endurasek
    Poziom 14  

    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

    0
  • #19 20 Sie 2013 20:33
    dondu
    Moderator Mikrokontrolery Projektowanie

    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.

    0
  • #20 24 Sie 2013 13:53
    endurasek
    Poziom 14  

    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

    0
  • #22 25 Sie 2013 20:36
    BlueDraco
    Specjalista - Mikrokontrolery

    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ń.

    0
  • #23 25 Sie 2013 21:05
    endurasek
    Poziom 14  

    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

    0
  • #24 26 Sie 2013 18:36
    perlon
    Poziom 19  

    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.

    0
  • #26 26 Sie 2013 19:45
    atom1477
    Poziom 43  

    No to niestety trochę nie trafiłeś. I2C nie jest do takich celów. On jest na małe odległości.
    Choć różnymi cudami można go zmusić do działania na większe odległości. Jednak to raczej nieodpowiednie rozwiązanie. Lepiej użyć specjalnego do takich celów. Np. RS485.

    0
  • #28 26 Sie 2013 20:18
    perlon
    Poziom 19  

    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.

    0
  • #29 26 Sie 2013 20:24
    atom1477
    Poziom 43  

    Zadziałać zadziała, ale będzie wrażliwe na zakłócenia. O czym zresztą jest ten temat (w końcu zawiesza się od zakłóceń).

    0
  • #30 26 Sie 2013 20:30
    endurasek
    Poziom 14  

    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ć.

    0