Istnieje wiele samouczków, w których wykorzystuje się rezystor podnoszący lub obniżający w połączeniu z przełącznikiem, aby uniknąć pływającego uziemienia, np.
Wiele z tych projektów wykorzystuje rezystor 10K, jedynie zaznaczając, że jest to dobra wartość.
Biorąc pod uwagę szczególny obwód, jak ustalić odpowiednią wartość dla rezystora obniżającego? Czy można to obliczyć, czy najlepiej określić to eksperymentalnie?
Odpowiedzi:
Szybka odpowiedź: Doświadczenie i eksperymentowanie to sposób na znalezienie właściwej wartości pullup / pulldown.
Długa odpowiedź: rezystorem podwyższającym / obniżającym jest R w obwodzie czasowym RC. Szybkość zmiany sygnału będzie zależeć od R (rezystora) i C (pojemność tego sygnału). Często trudno jest dokładnie ustalić C, ponieważ zależy to od wielu czynników, w tym od tego, jak ten ślad jest kierowany na płytce drukowanej. Ponieważ nie znasz C, nie możesz dowiedzieć się, jakie powinno być R. Tam właśnie wkracza doświadczenie i eksperymenty.
Oto kilka praktycznych zasad zgadywania przy dobrej wartości rezystora podciągania / opuszczania:
źródło
Użyj 10 kΩ, to dobra wartość.
Aby uzyskać więcej szczegółów, musimy spojrzeć na to, co robi pullup. Powiedzmy, że masz przycisk, który chcesz czytać za pomocą mikrokontrolera. Przycisk jest chwilowym przełącznikiem SPST (Single Pole Single Throw). Ma dwa punkty połączenia, które są albo podłączone, albo nie. Po naciśnięciu przycisku dwa punkty są połączone (przełącznik jest zamknięty). Po zwolnieniu nie są połączone (przełącznik jest otwarty). Mikrokontrolery z natury nie wykrywają połączenia ani rozłączenia. Wyczuwają napięcie. Ponieważ ten przełącznik ma tylko dwa stany, sensowne jest użycie wejścia cyfrowego, które jest przecież zaprojektowane tylko w jednym z dwóch stanów. Mikro wyczuwa, w jakim stanie jest wejście cyfrowe.
Pullup pomaga przekształcić otwarte / zamknięte połączenie przełącznika w niskie lub wysokie napięcie, które mikrokontroler może wyczuć. Jedna strona przełącznika jest podłączona do masy, a druga do wejścia cyfrowego. Po naciśnięciu przełącznika linia zostaje wymuszona nisko, ponieważ przełącznik zasadniczo powoduje zwarcie do masy. Jednak po zwolnieniu przełącznika nic nie doprowadza linii do określonego napięcia. Może po prostu pozostać na niskim poziomie, odbierać inne pobliskie sygnały przez sprzężenie pojemnościowe lub ostatecznie unosić się do określonego napięcia z powodu niewielkiego prądu upływu przez wejście cyfrowe. Zadaniem rezystora podciągającego jest zapewnienie dodatniego gwarantowanego wysokiego poziomu, gdy przełącznik jest otwarty, ale nadal pozwala on bezpiecznemu zwarciu linii do masy po zamknięciu.
Istnieją dwa główne konkurujące wymagania dotyczące wielkości rezystora podciągającego. Musi być wystarczająco niski, aby solidnie ciągnąć linię wysoko, ale wystarczająco wysoki, aby nie powodować przepływu zbyt dużego prądu, gdy przełącznik jest zamknięty. Oba są oczywiście subiektywne, a ich względne znaczenie zależy od sytuacji. Ogólnie rzecz biorąc, podciąganie jest wystarczająco niskie, aby upewnić się, że linia jest wysoka, gdy przełącznik jest otwarty, biorąc pod uwagę wszystkie rzeczy, które mogłyby sprawić, że linia byłaby niska.
Spójrzmy na to, czego potrzeba, aby podciągnąć linię. Patrząc tylko na zapotrzebowanie prądu stałego, odkrywa się prąd upływowy cyfrowej linii wejściowej. Idealne wejście cyfrowe ma nieskończoną impedancję. Rzeczywiste nie, oczywiście, a stopień, w jakim nie są idealne, jest zwykle wyrażany jako maksymalny prąd upływowy, który może wyjść lub wpiąć się w kołek. Załóżmy, że twoja mikroprocesor jest określony dla maksymalnego upływu 1 µA na jego pinach wejściowych. Ponieważ pullup musi utrzymywać wysoką linię, najgorszym przypadkiem jest założenie, że pin wygląda jak ujście prądu 1 µA do ziemi. Jeśli na przykład użyjesz podciągania 1 MΩ, wówczas 1 µA spowoduje 1 wolt na oporniku 1 MΩ. Powiedzmy, że jest to system 5 V, więc oznacza to, że pin ma gwarancję tylko do 4 V. Teraz musisz spojrzeć na specyfikację wejścia cyfrowego i zobaczyć, jakie jest minimalne zapotrzebowanie na napięcie dla wysokiego poziomu logiki. Może to wynosić 80% Vdd dla niektórych mikrometrów, co w tym przypadku wynosiłoby 4 V. Dlatego podciągnięcie 1 MΩ znajduje się na marginesie. Potrzebujesz co najmniej trochę mniej niż to, aby zagwarantować prawidłowe zachowanie ze względu na względy DC.
Istnieją jednak inne względy, które są trudniejsze do oszacowania. Każdy węzeł ma pewne sprzężenie pojemnościowe ze wszystkimi innymi węzłami, chociaż wielkość sprzężenia spada z odległością, tak że istotne są tylko pobliskie węzły. Jeśli te inne węzły mają na sobie sygnały, sygnały te mogą się łączyć z wejściem cyfrowym. Podciągnięcie niższej wartości powoduje, że linia ma niższą impedancję, co zmniejsza ilość odbieranego sygnału błądzącego. Daje to również wyższy minimalny gwarantowany poziom prądu stałego względem prądu upływu, więc jest więcej miejsca między tym poziomem prądu stałego a miejscem, w którym wejście cyfrowe może interpretować wynik jako niski poziom logiczny zamiast zamierzonego poziomu wysoki. Ile wystarczy? Oczywiście podciąganie 1 MΩ w tym przykładzie nie jest wystarczające (zbyt wysoka rezystancja). Prawie niemożliwe jest odgadnięcie sprzężenia z pobliskimi sygnałami, ale chciałbym mieć margines co najmniej rzędu wielkości powyżej minimalnego przypadku DC. Oznacza to, że chcę podciągnąć co najmniej 100 kΩ lub mniej, chociaż jeśli w pobliżu jest dużo hałasu, chciałbym, aby był niższy.
Jest jeszcze jedna kwestia, która obniża pullup, czyli czas narastania. Linia będzie miała pewną pojemność błądzącą do ziemi, więc gwałtownie spadnie w kierunku wartości zasilania, zamiast natychmiast się tam udać. Powiedzmy, że cała pojemność błądząca sumuje się do 20 pF. To razy podciągnięcie 100 kΩ wynosi 2 µs. Dotarcie do 95% ustalonej wartości zajmuje 3 stałe czasowe, w tym przypadku 6 µs. Nie ma to żadnego wpływu na ludzki czas, więc nie ma znaczenia w tym przykładzie, ale gdyby była to linia magistrali cyfrowej, którą chciałbyś uruchomić z prędkością 200 kHz, nie działałaby.
Teraz spójrzmy na inne konkurencyjne rozważania, czyli prąd zmarnowany po naciśnięciu przełącznika. Jeśli w tym urządzeniu brakuje prądu lub w inny sposób obsługuje znaczną moc, kilka mA nie będzie miało znaczenia. Przy napięciu 5 V potrzeba 5 kΩ, aby pobrać 1 mA. To w rzeczywistości „dużo” prądu w niektórych przypadkach i znacznie więcej niż jest to wymagane z innych względów. Jeśli jest to urządzenie zasilane bateryjnie, a przełącznik może być włączony przez znaczną część czasu, to każdy µA może mieć znaczenie i musisz o tym bardzo ostrożnie pomyśleć. W niektórych przypadkach możesz okresowo próbować przełącznik i włączać pullup tylko na krótki czas wokół próbki, aby zminimalizować bieżące pobieranie.
Poza szczególnymi względami, takimi jak zasilanie bateryjne, impedancja 100 kΩ jest wystarczająco wysoka, aby denerwować się zbieraniem hałasu. 1 mA prądu zmarnowanego przy włączonym przełączniku wydaje się niepotrzebnie duży. A więc 500 µA, co oznacza, że impedancja 10 kΩ jest prawie właściwa.
Jak powiedziałem, użyj 10 kΩ. To dobra wartość.
źródło
Po pierwsze, tego rodzaju samouczki są bezużyteczne, nie nauczy Cię elektroniki. Musisz nauczyć się rysować schemat , a następnie pojawi się okablowanie.
Tak więc, nie mając schematu, musiałem sam wyprowadzić go ze schematu elektrycznego. OK, to nie było takie trudne, ale kiedy narysujesz schemat, zauważysz, że czegoś brakuje: z czym łączy się przełącznik taktowy? Musisz to wiedzieć, aby odpowiedzieć na twoje pytanie. Zakładam, że jest to wejście cyfrowe mikrokontrolera, ale nie można tego wiedzieć.
Istnieją dwie sytuacje: przełącznik taktowy otwarty i przełącznik zamknięty.
Co jeśli wybraliśmy inną wartość rezystora? Niższa wartość oznaczałaby mniejszy spadek napięcia, a napięcie wejściowe byłoby nawet wyższe niż 4,99 V. Ale wtedy rezystor przepłynie więcej prądu, gdy przełącznik jest zamknięty, a tego nie chcesz.
Wyższa wartość rezystora byłaby OK, gdy przełącznik jest zamknięty, ponieważ byłby mniejszy prąd, ale napięcie wejściowe na mikrokontrolerze będzie niższe niż 4,99 V. Mamy tu trochę miejsca, więc nieco wyższa wartość może być OK.
wniosek
źródło