Jakie wartości rezystora i kondensatora należy zastosować do izolacji styków resetujących AVR?

15

Tło...

Jestem nowicjuszem w aplikacjach AVR. Niedawno zbudowałem dwa obwody oparte na ATTINY13 (gloryfikowane migacze LED), które działały poprawnie (niezależnie) na płycie głównej. Kiedy połączyłem je na płycie lutowniczej ze wspólnym zasilaczem, wszystko poszło jak szalone. Po wielu badaniach okazało się, że ciągle się resetują.

Zostawiłem pin 1 (reset) każdej mikro odłączony. Zbadałem odpowiednie sposoby obsługi pin resetowania i na tej podstawie wdrożyłem:

  1. Dodano kondensator elektrolityczny 100uF równolegle z zasilaczem, aby pomóc w pobraniu potencjalnego prądu, zasilacz byłby zbyt „wolny”, aby sobie z tym poradzić.

  2. Dodano rezystor 4,7 K od VCCdoRESET

  3. Dodano ceramiczny kondensator 0,1 uF od GNDdoRESET

Te kroki całkowicie rozwiązały problem.

Pytanie:

Strona, do której się powiodłem, zawiera porady dotyczące programowania ISP (programowanie w systemie), którego jeszcze nie robię. (Programuję mikrofony osobno, bez podłączonych do nich innych komponentów).

Widziałem kilka różnych wartości kondensatora (10nF, 0,1uF itp.) I rezystora (4,7 K, 10 K itp.) I nie jestem pewien, jakie czynniki zmieniają te wartości. Czy ktoś może rzucić nieco światła na to, jak działa izolacja wyzerowanego bolca i jak obliczyć wartości komponentów do użycia? Czy możesz wyjaśnić, jakich wartości użyć, jeśli nie ma nagłówka programowania w systemie?

Schemat izolacji pinów resetowania AVR

JYelton
źródło

Odpowiedzi:

15

Atmel AVR042: Uwagi dotyczące projektowania sprzętu AVR mówią nam, że kondensator na szpilce resetującej nie jest konieczny. Osobiście uważam, że to przesada. Nie ma powodu, abyś nadal robił dziesiątki obwodów AVR, każdy z tym nadmiarowym kondensatorem.

Jeśli chodzi o resetowany rezystor pullup:

Linia resetowania ma wewnętrzny rezystor podciągający, ale jeśli w otoczeniu panuje hałaśliwość, może być niewystarczająca i dlatego reset może się zdarzać sporadycznie. Wartość rezystora podciągającego w określonych urządzeniach podano w arkuszu danych. Podłączenie RESETU, aby możliwe było wejście zarówno programowania wysokiego napięcia, jak i zwykłego resetu niskiego poziomu, można osiągnąć poprzez zastosowanie rezystora podciągającego do linii RESET. Ten rezystor podciągający zapewnia, że ​​resetowanie nie spadnie niezamierzone. Rezystor podciągający może teoretycznie mieć dowolny rozmiar, ale jeśli Atmel®AVR® powinien zostać zaprogramowany np. Z STK500 / AVRISP, podciąganie nie powinno być tak silne, aby programator nie mógł aktywować RESETU poprzez narysowanie linii RESET na niskim poziomie. Zalecany rezystor podciągający wynosi 4,7 kΩlub większy przy użyciu STK500 do programowania. Aby debugWIRE działał poprawnie, pull-up nie może być mniejszy niż 10kΩ.

Jeśli przyjrzysz się profesjonalnym produktom, które zawierają mikrofony AVR, takim jak Arduino, jego liczne klony, dziesiątki zestawów deweloperskich, przekonasz się, że większość używa rezystora 4,7 kΩ lub 10 kΩ.

W szczególności dla twojego ATtiny13, jego arkusz danych określa, że ​​pullup powinien idealnie wynosić [20kΩ, 80kΩ].

Jonny B. Dobrze
źródło
1
20k do 80k, czy 20k podzielone przez 80k? :)
JYelton
Dziękujemy za link do rozważenia projektu sprzętu. Nie wiedziałem o tym dokumencie!
JYelton,
Haha, użyłem tego znaku, ponieważ wszyscy używają znaku minus. Negatywny opór też nie miałby sensu :)
Jonny B Good
Zwykle widzę, że tylda (~) oznaczała „przez”, ale także „przybliżone”. Myślę, że to zależy od kontekstu. Dzięki za wskazanie arkusza danych z listą zresetowanego rezystora podciągającego, nie zdawałem sobie sprawy, że zawiera on te informacje. Arkusz danych, który mam, pokazuje, że rezystor podciągający dla kołka resetującego ma wartość między 30k a 80k. Przynajmniej wiem, gdzie teraz szukać. Dzięki!
JYelton,
4
20kΩ80kΩ
7

Zawsze używam 10k rezystora podciągającego do Vcc na pinie / Reset i nigdy nie miałem żadnych problemów. Dobrym pomysłem jest również umieszczenie kondensatora 100nF w pobliżu styku Vcc między Vcc a GND, aby zapewnić stabilną pracę układu. Moim zdaniem kondensator na bolcu resetującym nie jest konieczny, co oznacza, że nigdy nie włączyłem go do żadnego opracowanego przeze mnie obwodu AVR (i wiele opracowałem) i nigdy nie spowodowało to mojego smutku.

vicatcu
źródło
Czy możesz wyjaśnić (lub wskazać dobry poradnik dla początkujących), w jaki sposób te małe kondensatory pomagają w uzupełnieniu lub zamiast większego elektrolitu równoległego do zasilacza?
JYelton,
1
Zajmuje się „częstotliwościami tętnień” i może być bardziej skomplikowanym tematem niż na pierwszy rzut oka, ale przy minimum 100nF jest ogólnie przyjętą standardową praktyką dla kondensatorów obejściowych. Oto jeden (z wielu) artykuł referencyjny, który może być interesujący: seattlerobotics.org/encoder/jun97/basics.html . Można również znaleźć pokrewne posty na tej stronie, wyszukując
hasło
Duże kondensatory elektrolityczne obsługują niskie częstotliwości, ale są nieskuteczne przy wysokich częstotliwościach. Małe kondensatory ceramiczne (0,1 uF) obsługują wysokie częstotliwości, ale są nieskuteczne przy niskich częstotliwościach.
Technophile
Więc użyj obu, podaż i tak powinna mieć duży, a mały lokalnie. Indukcja i HF mogą stanowić problem, ale skrajnie. Ciekawe, że względy HSVP również nie mają szeregowej diody z rezystorem z resetowanym stykiem.
mckenzm