Po nauce i eksperymentowaniu z mikrokontrolerami zrozumiałem koncepcję rezystorów podwyższających i obniżających. Teraz rozumiem, kiedy i jak ich używać oraz jak działają. Używałem głównie pull-upów, ponieważ mnie tego nauczono, ale zawsze wydawało mi się to trochę wstecz, ponieważ zamknięcie przełącznika ustawia wejście MCU na LOW. Myślę, że bardziej sensowne byłoby użycie rezystora obniżającego, aby wejście było NISKIE, gdy przełącznik jest otwarty, ale to tylko mój sposób myślenia.
Czy powinienem zwiększać lub zmniejszać liczbę moich rzutów pojedynczych? Kiedy preferuje się ściąganie w dół, a nie odwrotnie?
Odpowiedzi:
Odpowiedź zależy od tego, jaka ma być konfiguracja „domyślna”. Załóżmy na przykład, że masz MOSFET z niższego kanału N i chcesz, aby domyślnie był wyłączony. Następnie użyłbyś rezystora obniżającego, aby zapewnić to zachowanie, jeśli wejście stanie się wysokiej impedancji.
symulacja tego obwodu - Schemat utworzony za pomocą CircuitLab
Z drugiej strony załóżmy, że masz nadrzędny kanał MOSFET i chcesz, aby domyślnie był wyłączony. Tym razem wymagany jest rezystor podciągający, aby stworzyć to zachowanie.
zasymuluj ten obwód
Istnieje również alternatywny przypadek, w którym chcesz, aby urządzenie było domyślnie włączone, w którym to przypadku powyższe dwa przypadki zostałyby odwrócone (pull-up dla N-channel MOSFET, pull-down dla P-channel MOSFET).
Kilka innych uwag:
Linie I2C określają rezystory podciągające, ponieważ „oczekuje się”, że urządzenia będą miały otwarty odpływ do ziemi, a zatem potrzebują sposobu na zwiększenie potencjału linii.
Komparatory analogowe są zwykle konfigurowane jako urządzenia z otwartym drenem, a zatem potrzebują również rezystorów podwyższających, aby uzyskać wysoki potencjał wyjściowy.
Możesz pobierać więcej prądu za pomocą rezystorów pullup / pulldown, w zależności od tego, co jest podłączone do wejścia / wyjścia.
Każda konfiguracja może działać równie dobrze w twojej aplikacji (tj. Nie ma znaczącej przewagi w ten czy inny sposób).
... I dowolna liczba bardzo specyficznych dla aplikacji powodów, dla których jedna konfiguracja może być preferowana.
źródło
Jeśli sygnał nie ma jeszcze specyfikacji, użyj tej, która ma dla ciebie najlepszy sens. To twój wybór, aby wejście było aktywne-wysokie lub aktywne-niskie .
Jeśli są to przyciski, upewnij się, że używasz obwodu debounce (lub zrób to w oprogramowaniu).
symulacja tego obwodu - Schemat utworzony za pomocą CircuitLab
źródło
Jeśli Twój projekt obwodu jest taki, że możesz wybrać - innymi słowy, nie jest wymagane, aby reszta obwodu korzystała z podciągania lub opuszczania - wtedy powinieneś rozważyć bezpieczeństwo i ochronę w przypadku awarii.
Jeśli twój mikrokontroler ulegnie awarii lub tylko to wyjście ulegnie awarii, nastąpi pociągnięcie w górę lub w dół. Jak to zmieni działanie twojego urządzenia? Czy narazi użytkownika na niebezpieczeństwo - na przykład przez wymuszenie włączenia elementu grzejnego? Czy wpłynie to na bezpieczeństwo, takie jak wyłączenie zamka drzwi?
Rezystory ciągnące w górę / w dół określają domyślny stan drutu. Decyzja, jaki powinien być stan domyślny, zależy od bezpieczeństwa, ochrony i wreszcie pożądanej funkcjonalności obwodu.
źródło
Jeśli pracujesz z Arduino / ATmega328, możesz użyć wbudowanego rezystora podciągającego .
Raspberry Pi też je ma .
źródło
Często chcesz pull-up lub downs - często downs - na wyjściach programowalnych urządzeń, takich jak mikrokontrolery, aby określić ich stan podczas sekwencji rozruchu. Takie wyjścia często mają wysoką impedancję przy włączaniu zasilania, a podłączone urządzenia mogą otrzymywać niezamierzone sygnały, jeśli nie zostanie to zrobione. Jeśli na przykład zaangażowanych jest wiele dostaw, najlepiej jest zaprojektować każdą sekcję jako bezpieczną z zerowymi woltami na wejściach i zastosować rozwijanie.
Nieco bardziej niejasne niż inne odpowiedzi, ale widziałem przykłady dotyczące niebieskiego dymu i groźby działań prawnych.
źródło