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

Atmega32 [C] zawieszanie sie programu

pawel8704 13 Cze 2009 11:41 6607 49
  • #1 6649922
    pawel8704
    Poziom 10  
    Witam serdecznie.
    Mam następujący problem. Zbudowałem sterownik podlewania na Atmega32 program napisany w języku C. Sterownik przez klucze tranzystorowe załącza przekaźniki, jeden od pompy i dwa od elektrozaworów. Wystepuje natomiest problem zawieszanie sie mikrokontrolera w czasie włącznia przekaźników. Zawiesza sie on tylko czasmi raz na jakiś czas czasem wogóle. Co moze byc tego przyczyną? Zasilanie przez stabilizator 5V przy nożkaz Vcc i GND kondensator 100nF. transformator daje ok 10V, dodatkowo bateria 9V połączone to funkcja logiczna lub na diodach prostowniczych.
    Zaobserwowałem jeszcze taki przypadek, że gdy przekaźnik załączy elektrozawór a ja ten elektrozawór odłączam i podłączam tak co chwile to rownież nastepuje zawieszenie programu lub zresetowanie (kszaczki na wyświetlaczu), elektrozawór jest zasilany z innego transformatora, maja wspólny tylko przewód zasilający tzn uzwojenia pierwotne sa podłączone razem. prosze o pomoc
  • #2 6649940
    janbernat
    Poziom 38  
    A jak jest podłączony reset procesora?
  • #3 6650013
    pawel8704
    Poziom 10  
    Rezystor podciągajacy 10k do Vcc, switch rownolegle z kondensatornem 100n do GND
  • #4 6650033
    kaken
    Poziom 15  
    Dałeś diode równolegle z przekażnikiem?
  • #5 6650095
    pawel8704
    Poziom 10  
    nie nie dalem. a czy układ gasikowy tez cos poprawi?
  • #6 6650178
    janbernat
    Poziom 38  
    Może jeszcze tak być że wyświetlacz się wiesza a nie procesor.
  • #7 6650181
    pawel8704
    Poziom 10  
    procesor wiesza sie rownież
  • #8 6650340
    janbernat
    Poziom 38  
    Jaka jest odległość przycisku reset od procesora?
    Daj diodę schottkiego od resetu (anoda) do +zasilania (katoda)-może to jest latch-up.
  • #9 6650423
    pawel8704
    Poziom 10  
    odległość to 3-4cm. dałem diody na cewkach przekaźników zaporowo i to nic nie dalo. Przy odłączniu i załączaniu elektrozawora mikrokontroler sie resetuje. Przekaźniki są zasilane z tego samego transformatora, przez ten sam układ prostujący, oraz stabilizujący i filtrujący co mikroprocesor
  • #10 6650467
    janbernat
    Poziom 38  
    Przekaźniki daj przed stabilizatorem-po co im stabilizowane i filtrowane napięcie.
    Pewnie jak się włączają to napięcie na zasilaniu spada, na resecie zostaje napięcie z kondensatora 100nF i procesor się zatrzaskuje.
    Dlatego daj na reset diodę schottkiego-może coś da.

    Dodano po 7 [minuty]:

    Jeszcze niedawno poleciłbym układ nadzoru resetu ds1813-ale po temacie założonym przez nouki-mam wątpliwości czy jest to dobre rozwiązanie
  • #11 6650722
    pawel8704
    Poziom 10  
    to chyba nie jest wina resetu nie mam diody schotkiego i nie moge tego sprawdzic:/, ale gdy podłącze na stałe elektrozawór do przekaznika wszysko jest dobrze, natomiast gdy go podłączam i odłaczam dotykajac przewody wtedynastepuje zawieszenie lub zresetowanie calości. Dzieje sie tak samo gdy mam podłączone zasilanie z baterii i szybko odłączam i podłączam(wyjmowanie i wkładanie do gniazdka) zasilanie sieciowe tzn nastepuje resey lub zawieszenie, natomiast gdy odłączona jest bateria i odłącze zasilanie sieciowe to kondensator trzyma ok 5sekund caly układ co widać po wyświetlaczu.
  • #12 6650750
    janbernat
    Poziom 38  
    To jednak musisz narysować schemat i go pokazać.
  • #13 6650883
    pawel8704
    Poziom 10  
    oto schemat sterownika
    Atmega32 [C] zawieszanie sie programu
  • #14 6650946
    IMEX
    Poziom 20  
    a ja postawił bym na przekażniki lub tranzystory

    podłącz osobne zasilanie VCC do przekaźników - jakiś zasilacz uniwersalny

    jeżeli masz za słaby transformatorek a na dodatek chiński to gedą takie oznaki - chwilowy ale spory spadek napiecia i zawieszka i te krzaczki to tego przyczyna

    temat sprawdzony w czym innym ale osobne zasilanie naprawiło problem

    jesli pomogłem wiesz co kliknąć :)

    pozdro
  • #15 6650981
    janbernat
    Poziom 38  
    To co napisałem-dioda schottkiego do resetu i zasilanie przekaźników przed stabilizatorem.
    Potem zobaczymy.
  • #16 6651080
    pawel8704
    Poziom 10  
    zbudowałem inny układ zasilania przekaźników (inny transformator, mostek oraz kondensator filtrujący) niestety nie pomogło. musze sprawdzic z diodą Schottky'ego ale nie posiadam jej, czy moze byc jaka inna dioda?
    PS.
    Czy diode dodać dodatkowo czy jakoś szeregowo lub równolegle?
  • #17 6651151
    janbernat
    Poziom 38  
    Równolegle do opornika R1
    Powinna być szybka -schottkiego jest szybka i ma 0.2V spadku napięcia przewodzenia.
    Kup 100szt. po 10-20gr-przydadzą się.
    BAT42 lub coś podobnego.
  • #18 6651209
    pawel8704
    Poziom 10  
    założyłem diode BA159 jednak to nic nie pomogło. Czytałem że wpływ maja prowadzone scieżki od zasilania, jak one musza być poprowadzone? u mnie krzyżują sie przed samym mikrokontrolerem, tzn na Vcc jest zworka i przechodzi nad masa
  • #19 6651251
    janbernat
    Poziom 38  
    To już tylko przyzwoity oscyloskop.
  • #20 6651551
    pawel8704
    Poziom 10  
    a czy mogą mieć na to wpływ uszkodzone tranzystory kluczujace?

    PS
    A czy pomoże jakis prosty filtr dolnoprzepustowy np typu pi kondensatory po 10nF i dławik 10uH? czy zamontować go przy samym mikrokontrolerze?
  • #21 6652108
    janbernat
    Poziom 38  
    Mogą-zwierają zasilanie.
    Ale raczej stale.
    Filtr może pomóc-ale raczej trzeba oddzielnie zasilać przekaźniki.
  • #22 6652245
    Konto nie istnieje
    Poziom 1  
  • #23 6652423
    pawel8704
    Poziom 10  
    Nie wiem czy dobrze zrozumiełem ale chodzi o to aby podpiąć wszystkie piny portu A do zasilania tzn przez rezystor podciągający? Port A mam skonfigurowany jako wyjście caly.
  • #24 6652463
    _Robak_
    Poziom 33  
    Chodzi o to zebys polaczyl pin AVCC z VCC, mimo ze nie korzystasz z przetwornika A/C.
  • #25 6652549
    pawel8704
    Poziom 10  
    połaczenie AVCC z VCC nic nie zmienia:/
  • #26 6652724
    elektryk2000
    Specjalista urządzeń chłodniczych
    Próbowałeś odciąć całkowicie reset przy samym procesorze?
    Ja w swoich sterownikach nie daję żadnego podciągania i żadnego kondensatora do resetu i żadnych problemów. Jedynie krótka ścieżka do złącza ISP (jak najbliżej procesora)

    Druga sprawa - czy w momencie testów gdy się resetuje masz podłączony programator do procesora??
  • #27 6653042
    zby

    Poziom 15  
    Mnie na schemacie brakuje układu gasikowego na stykach przekaźnika załączającego elektrozawór (szeregowo rezystor z kondensatorem). Nie podałeś jakie napięcie zasilające cewkę elektrozaworu.
    Od strony programowej dopisz ciągłe odświeżanie rejestrów portów które ustalają kierunek dla linii - jak zakłócenie spowoduje przekłamanie to nawet prawidłowo działający program nic nie zdziała i będzie wyglądać jakby sie zawiesił. Na dodatek ATmega32 nie posiada sprzętowego watchdoga co jest bardzo dużą wadą - ja ich z tego powodu nie stosuje. Inne atmele posiadają, przynajmniej większość.
  • #28 6653171
    hose2
    Poziom 17  
    Witam, aż sprawdziłem w dokumentacji - co to ja włączam w atmedze32.
    DOC2503.PDF
    Cytat:
    Programmable Watchdog Timer with Separate On-chip Oscillator

    Atmega32 posiada sprzętowego watchdog-a.
  • #29 6653353
    pawel8704
    Poziom 10  
    Sterownik jest odłączony od programatora, gdy sie resetuje. Elektrozawory sa zasilane 24V AC pobieraja ok 0,3A przy starcie i 0,2A w pracy normalnej. Pompa 230V 0,9kW.
REKLAMA