

Diagrammen nedan visar var motståndet ska placeras beroende på om du vill använda ett pull-up- eller pull-down-motstånd. Nedan går vi närmare in på varje metod, inklusive beräkningar och praktiska exempel.
INNEHÅLL
- 1 PULL-UP & dess användning
- 2 PULL-DOWN & dess användning
- 3 EXEMPEL PÅ FLYTANDE INGÅNGAR
- 4 PRAKTISKA LÖSNINGSEXEMPEL
- 5 BRA VIDEOR OM PULL-UP OCH PULL-DOWN
PULL-UP & dess användning
Ett pull-up-motstånd är ofta användbart för att hålla en ingång på en känd nivå när ingen insignal finns. Detta görs genom att ansluta ett pull-up-motstånd mellan ingången och en matningsspänning, exempelvis +5V i bilden ovan för ett lämpligt 5V-system. För ESP32 ska pull-up anslutas till 3.3V, inte 5V. Ingången läses då som logisk 1, eller hög.
BERÄKNA VÄRDET
Välj pull-up-motståndet utifrån utgångens tillåtna sänkström och VOL vid låg nivå samt ingångens läckström, VIH och signalens stigtid. Strömgränsen sätter en nedre resistansgräns; läckström och stigtid kan sätta en övre gräns. 10k ohm är ett vanligt utgångsvärde för långsamma knappingångar, men är inte ett universellt värde. Den äldre formelillustrationen nedan får inte ensam användas för dimensionering.

Vsupply är matningsspänningen. Vh(min), även kallad VIH, är den lägsta spänning som garanterat läses som hög. Läs den tillåtna sänkströmmen tillsammans med utgångens VOL-specifikation i databladet; VIH är inte spänningsfallet över en aktivt låg utgång.
PULL-DOWN & dess användning
Pull-down har motsatt funktion till pull-up: att dra ned spänningen. Som bilden ovan visar ansluts ett motstånd mellan ingången och jord. Det gör att ingången läses som logisk 0, eller låg.
BERÄKNA VÄRDET
Pull-down-motståndet måste hålla ingången under VIL trots läckström och samtidigt undvika att överbelasta en aktivt hög utgång. Läckströmmen sätter vanligtvis en övre resistansgräns, medan tillåten utgångsström kan sätta en nedre gräns. 10k ohm är ett vanligt utgångsvärde för långsamma knappingångar; kontrollera datablad och signalhastighet. Den äldre formelillustrationen nedan får inte ensam användas för dimensionering.

Vl(max), även kallad VIL, är den högsta spänning som garanterat läses som låg. Skilj mellan ingångens läckström och strömmen som en aktiv utgång kan leverera (source); de används för olika dimensioneringsgränser.
EXEMPEL PÅ FLYTANDE INGÅNGAR (HI Z)
Exemplet är implementerat på en ESP32 med MicroPython. Läs mer om att installera MicroPython på ESP32 i denna artikel: MicroPython
Exemplet har ett motstånd i serie med en LED på stift 4. På Pin23 läser vi om nivån är 0 eller 1. Exemplet visar att utan ett motstånd som drar till logisk 0 (pull-down), eller ett motstånd som drar till logisk 1 (pull-up), kan ingången flyta mellan 0 och 1. Videon nedan visar detta.
from machine import Pin
import time
p4=Pin(4,Pin.OUT)
p23=Pin(23,Pin.IN)
print(p23.value())
while 1:
print(p23.value())
if p23.value() == 1:
p4.value(1)
else:
p4.value(0)
time.sleep_ms(100)
PRAKTISKA LÖSNINGSEXEMPEL
Här är ett exempel med ett pull-down-motstånd och en brytare för att förhindra flytande eller oönskade avläsningar på Pin23. Diagrammet nedan visar uppkopplingen på kopplingsdäcket. Pull-down-motståndet är R2 i detta fall. Videon visar hur vi med brytaren SW1 kan styra avläsningen av Pin23.

Diagrammet nedan visar motsatsen: ett pull-up-motstånd R4 som håller ingången hög så att den läser logisk 1. När brytaren SW2 trycks in dras ingången till logisk 0 och lysdioden släcks.

SPECIFIKATIONER
Följande material användes för testerna ovan. Allt finns att köpa här på ebits.dk. Obs: tryckknapp, LED och Dupont-kablar finns i komponentmegakitet längst ned i tabellen.
|
Antal |
Komponent |
Länk |
|
1 |
ESP-WROOM-32 |
|
|
1 |
Blå LED |
|
|
1 |
270 ohm motstånd |
|
|
1 |
2K ohm motstånd |
|
|
1 |
Dupont-kablar |
120 st. Dupont-kablar, 10cm eller 20cm långa, 3 typer – ebits.dk |
|
1 |
Kopplingsdäck |
|
|
Delvis samlad lösning |
||
|
1 |
Tryckknapp, LED och Dupont-kablar |
Komponentmegakit – ebits.dk — aktuellt utbud; kontrollera kompatibilitet |