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, reset podczas burzy

krzbor 21 Kwi 2012 14:56 2989 13
  • #1 21 Kwi 2012 14:56
    krzbor
    Poziom 16  

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

    0 13
  • Arrow Multisolution Day
  • #2 21 Kwi 2012 15:03
    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.

    0
  • Arrow Multisolution Day
  • #4 21 Kwi 2012 15:08
    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 :)

    0
  • #5 21 Kwi 2012 15:10
    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).

    0
  • #6 21 Kwi 2012 17:10
    krzbor
    Poziom 16  

    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?

    0
  • #7 21 Kwi 2012 17:16
    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.

    0
  • #8 21 Kwi 2012 17:43
    krzbor
    Poziom 16  

    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.

    0
  • #9 21 Kwi 2012 17:53
    dondu
    Moderator Mikrokontrolery Projektowanie

    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 :)

    0
  • #10 21 Kwi 2012 23:29
    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 :)

    0
  • #11 22 Kwi 2012 16:44
    krzbor
    Poziom 16  

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

    0
  • #12 22 Kwi 2012 17:38
    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.

    0
  • #13 22 Kwi 2012 19:05
    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ł.

    0
  • #14 07 Maj 2012 20:01
    krzbor
    Poziom 16  

    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.

    0