Pull-up resistor i pull-down resistor w µC AVR

5/5 - (2 votes)

Tym razem opiszę – zanotuję sobie,  😀 jak to jest z tymi wewnętrznymi pull-up resistor i pull-down resistor w µC AVR.

Dla świętego spokoju można wyczytać w nocie katalogowej każdego µC jakie ma te rezystory i czy w ogóle ma, oraz o jakich są one wartościach. Rezystancja tych elementów jest odmienna dla pinów reset i GPIO. Stosowne informacje o wartościach zawiera dział Electrical Characteristics  tabela – DC Characteristics, – wiersze u dołu.

wartości resistors pull-up, na przykładzie ATmega48

wartości resistors pull-up, na przykładzie ATmega48

Technologia w jakich są wytwarzane nasze µC oraz zoptymalizowany koszt wykonania tych obwodów w masowej produkcji gwarantuje tylko niewielką dokładność (duża tolerancja wartości). Niemniej jest to wystarczające w większości zastosowań i upraszcza tworzenie PCB. Zawsze dodatkowo można przylutować swój pull-up resistor, lub pull-down resistor, gdyby ten wewnętrzny okazał się niestosowny.

Typowe ich wartości w rodzinach Mega i Tinny wynoszą:
Reset Pull-up Resistor – 30 do 60kΩ (lub do 80kΩ małe tinny z 8pin)
I/O Pin Pull-up Resistor – 20 do 50kΩ
Eeee nie da się tak uogólnić, Tinny 24/44/84 np mają pull-up resistor w granicach 20 do 100kΩ. Czyli ta rodzinka rządzi się „swoimi wartościami”. Gdyby to było istotne trzeba indywidualnie zaglądać.

Aby uaktywnić funkcjonalność pull-up resistor lub pull-down resistor w kodzie po deklaracji funkcji pinu należy wydać polecenie Set, np

lub

Ot i cała magia. Teraz nie trzeba lutować opornika, gdy do wejścia połączony jest np przycisk. Dla takiej funkcjonalności pin powinien być mieć zadeklarowaną funkcjonalność jako wejście. Czyli aby prawidłowo korzystać z tej możliwości uaktywniamy podciąganie do Vcc, a wykrywamy stan przeciwny.

Dla ścisłości wspomnę też o tym, iż rodziny Tinny i Mega mają tylko pull-up resistor (podłączany do VCC), a rodzinka XMega posiada dodatkowo pull-down resistor (podłączany do GND).

Otagowano , , .Dodaj do zakładek Link.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

11 − pięć =

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.