Dlaczego potrzebujemy zewnętrznych rezystorów ciągnących, kiedy mikrokontrolery mają wewnętrzne rezystory ciągnące?

15

Mikrokontrolery mają wewnętrzne rezystory ściągające, ale większość obwodów ma zewnętrzne rezystory ciągnące.

Szukałem w Google odpowiedzi i kilka stron stwierdziło, że te oporniki nie są tak silne, ale myślałem, że są wystarczająco dobre, aby działać. Pomyślałem, że mogą potrzebować zewnętrznego, ponieważ wewnętrzne rezystory muszą być wyzwalane przez programowanie.

Dlatego w przypadku niektórych nieplanowanych sytuacji dołączają również rezystory zewnętrzne. Ale nie jestem tego pewien.

Jaki jest prawdziwy powód korzystania z zewnętrznych, gdy mamy wewnętrzne?

Gunjan Gangwani
źródło
6
Niektóre mikrokontrolery mają rezystory wewnętrzne. Rezystory te nie mają odpowiednich rozmiarów dla wszystkich aplikacji (zazwyczaj są zoptymalizowane pod kątem niskiej mocy).
Dave Tweed
2
Co się stanie, jeśli pominę rezystory podciągające na liniach I2C? Wątek ten stanowi analizę próby zastosowania wewnętrznych rezystorów podciągających z I2C.
Nick Alexeev
„W przypadku niektórych nieplanowanych sytuacji dołączają również rezystory zewnętrzne”. Czasami też planowane sytuacje. Często w środowisku produkcyjnym łatwiej / szybciej / taniej jest po prostu przenieść rezystor z jednego miejsca do drugiego, niż trzeba ponownie flashować oprogramowanie, aby osiągnąć ten sam wynik. Wykonanie tego w oprogramowaniu prawdopodobnie wymagałoby drugiego wydania tego samego oprogramowania, które wymaga konserwacji. W przypadku modyfikacji lutowania wszystko, czego potrzeba, to warunkowa instrukcja pracy.
Wossname,

Odpowiedzi:

30

Istnieje kilka możliwych przyczyn, takich jak

  • Wymaganie obecności rezystora podczas uruchamiania, ponieważ mikrokontroler jeszcze nie zaczął działać.
  • Potrzebuje dokładniejszej rezystancji niż wewnętrzny rezystor. Wewnętrzne rezystory podciągające / opadające mają bardzo szerokie tolerancje.
  • Potrzebujący większego lub mniejszego oporu niż ten zapewniany wewnętrznie. Na przykład I 2 C zwykle używa silniejszych podciągnięć, podczas gdy możesz chcieć bardzo słabego podciągania do monitorowania przełącznika, aby oszczędzać energię.
  • Konieczność przyciągnięcia do napięcia innego niż napięcie zasilania lub masa mikrokontrolera.
  • Używanie rezystora podwyższającego / zmniejszającego wraz z ADC na mikrokontrolerze. Niektóre mikrokontrolery wyłączają rezystory wewnętrzne na dowolnym pinie, do którego podłączony jest ADC.
  • Potrzebuje rozwijanego rezystora na mikrokontrolerze, który ma tylko podciągnięcia.
Abe Karplus
źródło
Nie mogłem zrozumieć ostatniego punktu drugiego ... Dlaczego mikrokontrolery miałyby wyłączać swoje wewnętrzne rezystory za pomocą ADC
Gunjan Gangwani,
3
@GunjanGangwani Nie sądzę, że to dobra decyzja projektowa, ale pomysł jest taki, że zwykle nie chcesz, aby ADC pobierał prąd z przedmiotu, który mierzy, więc potrzebujesz połączenia o wysokiej impedancji. Myślę, że niektórzy projektanci nie ufają twórcom oprogramowania układowego, że zawsze wyłączają wewnętrzne rezystory.
Abe Karplus,
7
Myślę, że dzieje się tak zwykle, ponieważ podciągania / opuszczania są powiązane z cyfrowymi buforami wejściowymi, a włączenie ADC może czasami całkowicie wyłączyć obwód buforowania cyfrowego (a wraz z nim rezystory podwyższające / zmniejszające).
Connor Wolf,
3
@Ashutosh Jeśli chcesz mieć wysoką impedancję, oczywiście nie używasz żadnego podciągania. Niektóre mikrokontrolery wymuszają to, automatycznie wyłączając wewnętrzne podciągnięcia, co jest problemem w sytuacjach, w których nie chcesz mieć wysokiej impedancji.
Abe Karplus,
1
@GunjanGangwani Wejścia ADC powinny być izolowane od wszystkich innych obwodów, aby zapewnić najniższy poziom szumu. Wejścia cyfrowe często zużywają więcej prądu niż jest to pożądane, gdy są napędzane między ich „wysokimi” i „niskimi” napięciami. Starsze mikrokontrolery używały wewnętrznego przełącznika do odłączania wejścia od części cyfrowej, gdy ten pin był używany do ADC, i to ta część cyfrowa ma podciągnięcie. Jest to odłączone, aby zarówno odizolować ADC, jak i obniżyć poziom szumów, a także zapobiec możliwemu dodatkowemu pobieraniu prądu (lub w bardzo starych układach, cmos latchup).
Adam Davis,
9

Niektóre (lub być może wiele) mikrokontrolerów mają wewnętrzne rezystory podciągające, ale często są to dość wysokie wartości. Wiele aplikacji wymagałoby podciągania o niższej wartości.

Rezystory podciągające mogą być również wymagane na wejściach do normalnych obwodów logicznych (bramki, liczniki itp.), Które nie mają wewnętrznych podciągnięć (a czasami zamiast tego chcemy oporników podciągających ...)

Peter Bennett
źródło
1
wewnętrzne rezystory podciągające, ale często są to dość wysokie wartości. Ostatnio budowałem aplikację o niskiej mocy i stwierdziłem, że rezystory podciągające miały około 50 k, co okazało się być dość niskie, co spowodowało zbyt duże zużycie prądu. Więc użyłem zewnętrznego rezystora o wyższej wartości. Ostatecznie zależy to od twoich potrzeb.
Bimpelrekkie,
3

Ponadto należy użyć zewnętrznego rezystora za każdym razem, gdy potrzebna jest rzeczywista wartość rezystancji. MCU zwykle nie mają rzeczywistych rezystorów podciągających, a raczej tranzystory MOSFET pobierające niewielki prąd, więc ich równoważna wartość rezystancji może się bardzo różnić w zależności od sygnału zastosowanego do pinu.

Dmitrij Grigoriew
źródło