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

Atmega8535 resetowanie przy pracy z silnikiem przemysłowym

stary1111 29 Lis 2004 13:47 2253 11
  • #1 1022123
    stary1111
    Poziom 11  
    Posty: 10
    Ocena: 1
    WItam!!
    Zrobiłem sterownik do zespołu prądotwórczego i mam problem z resetowaniem sie Atmegi8535 która jest sercem układu. Cały sterownik zasilany jest z baterii rozruchowych zespołu gdzie niestety podczas rozruchu generowane są zakłucenia o amplitudzie ponad 100V. Na wejściu sterownika dałem Zenerką 33V, elektrolit 1000u +100n i dalej LM7805 za nim elektrolit 47u + 100n. Na samych zasilaniu uC również 100n (tqk samo jak i na każdym innym scalaku). Dodam że w sterowniku są również przekaźniki sterewane z ULN 2803, na cewce każdego z nich oczywiście jest kondensator 100n.
    Niestety cały układ czasem się resetuje a co się z tym wiąże zmieniane są parametry nastaw zapisane w epromie. Muszę coś z tym zrobić, może ktoś ma pomysł co jeszcze mogę zrobić aby ulepszyć obwód zasilania układu??
  • #2 1022469
    al555
    Poziom 20  
    Posty: 485
    Pomógł: 32
    Ocena: 8
    Ja bym próbował nastęująco:

    0. Nie pamiętam czy ten procesor ma WatchDoga - ale zakładam że JEŚLI ma to jeśli jest załączony to go prawidłowo obsługujesz!!
    1. Odseparowałbym wszystko galwanicznie i zasilił z akumulatora lub ze zwykłej sieci
    2. Zastosowałbym dławiki na linii zasilania ( 1mH nie będzie za mało) a może w dużej desperacji nawet na lini masy ??
    3. Przetwornice DC/DC na zasilaniu ( najtańsza izolowana już od 25zł)- powinna wytłumic napięcia - chociaż 100V ... dziwię się że uP dalej żyje
    4. Diody transil na liniach zasilania i na liniach sygnałowych nieizolowanych
    5. Przekaźniki raczej nie mają wpływy na resetowanie się układu z tym że równolegle do cewek daje się diody prostownicze ( najlepiej szybkie ) ale zwykłe o odpowiednio wysokim napięciu wstecznym też w zupełności wystarczą np. 1N4007
    6. Określiłbym w którym momencie najczęściej się resetuje układ ( może rozruch ? ).
    7. Jeśli reset następuje wskutek zaniku napięcia to możesz spróbować detekować ten stan i zabronić pisać do EEPROMA ( szerogoea dioda na zasilaniu tak aby przy anodzie nie było żadnego kondensatora, anode podłącz do lini np. przerwania procesora )

    Na początek tyle ... może Ci to pomoże

    Powodzenia
  • #3 1022579
    yarpen2
    Poziom 22  
    Posty: 549
    Pomógł: 39
    Ocena: 38
    Kiedyś w ATMega16 mi pomogło jak wywaliłem DS1813 i zostawiłem wiszący reset. Układ przestał się resetować nawet na obiekcie (sterowałem z przekaźnika stycznikiem i to stycznik powodował zakłócenia)
  • #4 1022596
    Lisciasty
    Poziom 21  
    Posty: 634
    Pomógł: 19
    Ocena: 123
    Ja też miałem problemy z tym deesem! Może jakiś syf wypuścili u nas
    w kraju? A kosztował mnie chyba ze 7 złociszy :(
    Byłem wtedy sporym gamoniem jeśli chodzi o avry i dłuugo mi zajęło
    odnalezienie kreta, przez którego cały układ mi nie chodził.
    Po co toto w ogóle?...
  • #5 1023027
    jacur
    Poziom 32  
    Posty: 1748
    Pomógł: 166
    Ocena: 295
    Jezeli mozesz i masz na tyle miejsca to nieuzywaj nizszej komórki pamieci eeprom niz 100. Żadko zakłucenia dochodzą tak daleko a do resetu podpinasz od strony +5V rezystor 4k7 i diode 1n4148
    a od strony minusa kondziorek 100nF ceramik albo smd

    aaaaa PrzypomniałemSobie
    przy projektowaniu płytki sciezka resetu jak najdalej od sciezki masy i jak najkrótsza sie da
  • #6 1023483
    stary1111
    Poziom 11  
    Posty: 10
    Ocena: 1
    Dzięki !!
    Wdrożę Wasze propozycje i zobaczymy co z tego wyniknie!
    Układ resetuje się przy rozruchu agregatu jak rozrusznik źle wtrybi, idą wtedy szpile po zasilaniu i reset:-(. Najgorsze jest to że w momencie rozruchu dostęp do eproma jest właśnie zablokowany a jednak coś się kaszani.
    Pozdrawiam
  • #7 1024681
    hunterhouse
    Poziom 26  
    Posty: 893
    Pomógł: 84
    Ocena: 3
    w moim projekcie który też się wieszał pomogło (oprócz filtracji napięcia) ustawienie wszystkich nieurzywanych pinów jako wyjścia.
  • #8 1029704
    GienekS
    Poziom 32  
    Posty: 1971
    Pomógł: 139
    Ocena: 15
    Ja też zrobiłem sterowanie ale na ATmega32 + ATmega16 są to dwa moduły dla celów rozszerzeniowych (coś w stylu SIMENSA). W układach reset procków ma tylko klasycznie 100nF i 10k. Ale obydwa procki jak od strony wejść tak i od strony wyjść jest wszystko poszczone przez transoptory. Układ steruje maszyną w której jest robiony rozróch silnika 18KW oczywiście przez ten układ oraz kilkoma elektrozaworami i kilkoma sondami indukcyjnymi. Jak narazie niema żadnych problemów z resetowaniem się ani jednego procka.
    Może w tym kierunku musiałbyś pujść ?
  • #10 2107721
    projektavr
    Poziom 16  
    Posty: 234
    Ocena: 2
    jacur napisał:
    podpinasz od strony +5V rezystor 4k7 i diode 1n4148
    a od strony minusa kondensator 100nF ceramik albo smd


    w ktora strone ta dioda? Mam ten sam problem ze w 5 na 50 układach regulatorow temperatury nastepuje nieplanowany zapis do eeproma co rozwala dzialanie urzadzenia.Od czego to sie dzieje? Bodlevel i Boden ustawione. Czy powodem moze byc ze uzywam atmega8L czyli wersje niskonapieciowa a zasilam ja 5V. Ustawienie eesave nie pomaga :(
  • #11 2108598
    genetix
    Poziom 24  
    Posty: 669
    Pomógł: 42
    :arrow: projektavr
    EESAVE działa tylko podczas kasowania układu przez programator (odcina sygnał kasujący od EEPROM-a).

    Starsze wersje AVR'ów miały tą wadę, że podczas wahań zasilania w czasie zapisu EEPROM zerowany był rejestr adresowy EEARH:EEARL, co powodowało zapisywanie do zerowej komórki pamięci. Pomijając zastosowanie układu BOD, poleca się nie wykorzystywanie tej komórki do przechowywania danych, gdyż może ona zostać zamazana nową wartością. Z tego, co wiem, w nowej linii AVR'ów problem ten rozwiązano (ATmega48, ATmega88)

    pozdrawiam,
    genetix
  • #12 2118528
    Bartek S.
    Poziom 12  
    Posty: 58
    Pomógł: 1
    Ocena: 1
    A moja propozycja jest taka:
    1.) zamątuj przy samym procku kondziorka 100nF
    2.) w szereg zasilania procka wstaw jakiś dławik np 100uH

    po takim zabiegu napewno bedzie wszystko poprawnie działać
    pozdrawiam

Podsumowanie tematu

✨ Problem dotyczy resetowania mikrokontrolera Atmega8535 w sterowniku zespołu prądotwórczego podczas rozruchu silnika przemysłowego, gdzie występują silne zakłócenia o amplitudzie ponad 100V. Układ zasilany jest z baterii rozruchowych, a na wejściu zastosowano zabezpieczenia: diodę Zenera 33V, kondensatory elektrolityczne i ceramiczne oraz stabilizator LM7805. Pomimo tego mikrokontroler resetuje się, co powoduje niepożądane zmiany w pamięci EEPROM. Proponowane rozwiązania obejmują: poprawne wykorzystanie Watchdoga, galwaniczną separację zasilania, zastosowanie dławików (np. 1mH lub 100uH) na linii zasilania i masy, użycie przetwornic DC/DC izolowanych, diod transil na liniach zasilania i sygnałowych, diod prostowniczych (np. 1N4007) równolegle do cewek przekaźników, minimalizację długości i oddalenie ścieżek resetu od masy, ustawienie nieużywanych pinów mikrokontrolera jako wyjścia oraz separację zasilania procesora od reszty układu. Wskazano również na problem z zapisem do EEPROM podczas zakłóceń i konieczność unikania zapisu do zerowej komórki pamięci. W niektórych projektach zastosowano transoptory na wejściach i wyjściach, co poprawiło stabilność. Resetowanie najczęściej występuje podczas rozruchu agregatu, gdy rozrusznik generuje impulsy zakłóceniowe.
Wygenerowane przez model językowy.
REKLAMA