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

Jak zabezpieczyć Atmega 8 przed resetem podczas burzy?

krzbor 21 Kwi 2012 14:56 3259 13
  • #1 10818288
    krzbor
    Poziom 27  
    Mam zegar na Atmega 8 z podtrzymaniem na akumulatorze. Całość zasilana jest z zasilacza impulsowego 12V, a następnie poprzez 78l05. Na procesorze jest odsprzęganie 100 nF. Podczas burzy jednak doszło do restartu. Nie wiem co było powodem - jakaś indukcja czy przepięcie w sieci. Teraz moje pytanie - jak się przed tym zabezpieczyć? Mam dwa pomysły:
    1. Dodanie płytki aluminiowej połączonej z masą (układ jest zmontowany na płytce uniwersalnej stąd bardzo małe obszary masy). Kiedyś przekonałem się jak ważna jest masa.
    2. Przeróbka resetu - obecnie nie jest zewnętrznie podciągany, a co gorsza odchodzi od niego krótki kabelek do złącza ISP (podłączany tylko przy programowaniu). Czy warto dodawać zewnętrzne podciąganie i jakiś kondensator? Czy nie zakłóci to programowania ISP?
    3. Inne wasze pomysły wynikające z doświadczenia.
    Oczywiście na każdy z moich punktów można odpowiedzieć, że warto. Proszę jednak o radę osoby, które miały takie problemy i znalazły skuteczne rozwiązanie.
    Dziękuję.
  • #2 10818306
    Fredy
    Poziom 27  
    Myślę że przeróbka resetu rozwiąże problem.
    Daj na resecie 100n do masy i rezystor 10k do zasilania.
    Do tego warto dać nawet kilka 100n na zasilaniu.
    Powinno pomóc, szczególnie jeśli masz podtrzymanie z aku.
  • #3 10818318
    mirekk36
    Poziom 42  
    krzbor napisał:

    3. Inne wasze pomysły wynikające z doświadczenia.
    Oczywiście na każdy z moich punktów można odpowiedzieć, że warto. Proszę jednak o radę osoby, które miały takie problemy i znalazły skuteczne rozwiązanie.


    proszę:

    http://mirekk36.blogspot.com/2012/04/mikrokontroler-prawidowe-zasilanie.html
  • #4 10818322
    gaskoin
    Poziom 38  
    Jakbyś pokazał schemat to by było trochę łatwiej.

    Pin resetu niekoniecznie musi mieć cokolwiek wspólnego z resetem jaki miał miejsce. Jak walniesz odpowiednim ładunkiem w którykolwiek pin to też możesz go zresetować (albo całkiem uszkodzić)

    Kondensatora nie trzeba dawać przy resecie, nawet jak masz przycisk. Jeśli już chcesz go koniecznie dać, to nie zapomnij o resytorze jakiejś małej wartości szeregowo do resetu.

    Warto pin reset zewnętrznie podciągnąć do VCC. Rezystor musi być dość spory (10k) właśnie dlatego, żeby nie przeszkadzał programatorowi.

    Można dać transila na zasilaniu + wcześniej warystor. W hardcore'owych przypadkach jakieś trafo 1:1 szeregowo na lini zasilania. To wszystko przed stabilizatorem :)
  • #5 10818328
    mickpr
    Poziom 39  
    krzbor napisał:
    1. Dodanie płytki aluminiowej połączonej z masą (układ jest zmontowany na płytce uniwersalnej stąd bardzo małe obszary masy). Kiedyś przekonałem się jak ważna jest masa.
    2. Przeróbka resetu - obecnie nie jest zewnętrznie podciągany, a co gorsza odchodzi od niego krótki kabelek do złącza ISP (podłączany tylko przy programowaniu). Czy warto dodawać zewnętrzne podciąganie i jakiś kondensator? Czy nie zakłóci to programowania ISP?
    3. Inne wasze pomysły wynikające z doświadczenia.


    Ad.1 Bzdura z tą płytką. Może po prostu zaprojektuj swoją własną płytę od nowa (nie bazując na uniwersalnej).
    Ad.2 Reset powinien być zewnętrznie podciągnięty - obowiązkowo!
    Ad.3 Nie zabezpieczysz układu przed piorunem - nie czarujmy się.
    Możesz jednak minimalizować zakłócenia - umieść układ w metalowej puszce (klatka Faradaya), poprawnie zasilaj, zminimalizuj długość kabli wychodzących z płytki - robiących z układu odbiornik wszelkiego rodzaju zakłóceń.... w razie potrzeby stosuj optoizolację.
    Na końcu zawsze zostaje modlić się (o ile jesteś wierzący).
  • #6 10818754
    krzbor
    Poziom 27  
    Wszystkim bardzo dziękuję za szybką pomoc. Wysuwa się jeden wniosek - należy dodać podciąganie poprzez rezystor 10k. Interesuje mnie jednak pomysł dodania kondensatora 100 nF od reseta do masy. Do zresetowania procesora potrzebny jest bardzo krótki impuls (chyba 2µs). Taki kondensator powinien być więc konieczny. Rzadko jednak widzę go na schematach z Atmegą. Co o tym myślicie?
  • #7 10818762
    mickpr
    Poziom 39  
    krzbor napisał:
    Wszystkim bardzo dziękuję za szybką pomoc. Wysuwa się jeden wniosek - należy dodać podciąganie poprzez rezystor 10k. Interesuje mnie jednak pomysł dodania kondensatora 100 nF od reseta do masy. Do zresetowania procesora potrzebny jest bardzo krótki impuls (chyba 2µs). Taki kondensator powinien być więc konieczny. Rzadko jednak widzę go na schematach z Atmegą. Co o tym myślicie?

    Przeczytaj http://www.atmel.com/Images/doc2521.pdf będziesz wiedział, że kondensator jest niepotrzebny.
    Cytat:

    To protect the RESET line further from noise, it is an advantage to connect a
    capacitor from the RESET pin to ground. This is not directly required since the AVR
    internally have a low-pass filter to eliminate spikes and noise that could cause reset.
    Applying an extra capacitor is thus an additional protection. However, note that this
    capacitor cannot be present if debugWIRE or PDI is used.

    Poza tym kondensator na lini RESET (do masy) może (ale nie musi) utrudnić programowanie ISP.
  • #8 10818839
    krzbor
    Poziom 27  
    W przytoczonym fragmencie nie jest napisane, że kondensator jest zbędny. Wręcz przeciwnie - stanowi dodatkową ochronę. A swoją drogą dzięki za link do tego dokumentu. Zawsze czytałem tylko dokumentację konkretnego modelu procesora, a tam brak tych ważnych informacji.
  • #9 10818864
    dondu
    Moderator na urlopie...
    krzbor napisał:
    Czy warto dodawać zewnętrzne podciąganie i jakiś kondensator?

    Kondensator jest wskazany jeżeli chcesz wzmocnić odporność na takie zakłócenia.

    krzbor napisał:
    Czy nie zakłóci to programowania ISP?

    To zależy jaki (jakie) zastosujesz. Ale na czas programowania możesz go wyłączać za pomocą jumpera.
    Więcej na ten temat w punkcie RESET vs kondensator

    krzbor napisał:
    W przytoczonym fragmencie nie jest napisane, że kondensator jest zbędny. Wręcz przeciwnie - stanowi dodatkową ochronę.

    Ooo, przykład kolegi, który szczegółowo czyta datasheety :)
  • #10 10820001
    hotdog
    Poziom 26  
    ja stosuje zawsze jeszcze mocniejszy pull-up - 3k3 - 4k7 + 100nF i to powinno rozwiązać. Większa wartość kondensatora może spowodować problemy przy programowaniu.

    Kiedyś jak byłem bardziej zielony dałem 47k na reset i przyciski. Skutkowało to częstymi resetami przy załączeniach styczników w bliskiej obecności, lub urządzenie samo wchodziło do menu :)
  • #11 10821901
    krzbor
    Poziom 27  
    hotdog napisał:
    ja stosuje zawsze jeszcze mocniejszy pull-up - 3k3 - 4k7 + 100nF i to powinno rozwiązać. Większa wartość kondensatora może spowodować problemy przy programowaniu.

    Kiedyś jak byłem bardziej zielony dałem 47k na reset i przyciski. Skutkowało to częstymi resetami przy załączeniach styczników w bliskiej obecności, lub urządzenie samo wchodziło do menu :)

    Dzięki za info. Praca stycznika może generować coś podobnego jak wyładowanie atmosferyczne.
    Mam jeszcze jedno pytanie. Do niektórych urządzeń dodawany jest filtr ferrytowy, który owija się w postaci jednego zwoju na kablu zasilającym (niskie napięcie). Widziałem także ferrytowy torrus, na który był nawinięte przewody (jeden lub dwa zwoje) wewnątrz urządzenia. Czy warto coś takiego używać? Czy działa to skutecznie na przepięcia? Jeśli ktoś ma ciekawy artykuł, blog na ten temat to proszę o linka (poprzednie linki były bardzo ciekawe).
  • #12 10822112
    gaskoin
    Poziom 38  
    Na przepięcia to nie działa w ogóle :) Pokaż najpierw schemat. Jak pisałem wcześniej, na gwałtowne wzrosty napięć stosuje się warystor i/lub diodę transil, zobacz sobie charakterystyki tych dwóch elementów. Po pokazaniu schematu może się okazać, że jest to niepotrzebne.
  • #13 10822424
    janbernat
    Poziom 38  
    Tu trochę jest na ten temat:
    and.elektroda.eu/elektronika/inne/surge/
    A jeśli chodzi o pierścień ferrytowy to działa on podobnie jak transformator szeregowy- ale oczywiście nadaje się raczej do eliminacji zakłóceń impulsowych małej mocy.
    Podobnie działa zwykła skrętka- tłumienie sygnałów współbieżnych- a takie sygnały są indukowane przez zakłócenia w przewodach- i mała impedancja dla sygnałów przeciwbieżnych- a to jest nasz sygnał.
  • #14 10871710
    krzbor
    Poziom 27  
    Zastosowałem rezystor 4.7k i kondensator 100 nF. Nie spowodowało to zakłóceń w pracy programatora. Dziękuję wszystkim za pomoc. Temat zamykam.
REKLAMA