Image of eBits Academy fundamentals illustration

Pull-up- och pull-down-motstånd - ett oumbärligt verktyg!

  • January 20, 2022
  • |
  • Jesper Nielsen

 

Om dina elektronikprojekt inte alltid beter sig som tänkt kanske det saknas ett pull-up- eller pull-down-motstånd någonstans i kretsen. Den här artikeln beskriver och visar exempel på hur pull-up- och pull-down-motstånd används och vad som kan hända utan dem. De är ett värdefullt verktyg att ha med sig i framtida projekt.
Pull-up- och pull-down-motstånd hjälper till att hålla en ingång på en bestämd nivå, antingen logisk 1 eller logisk 0. Om ingången inte hålls på en nivå kan den flyta. Det innebär att den kan hoppa mellan logisk 0 och logisk 1. Som med mycket annat är övergången mellan 0 och 1 inte helt skarp: spänningen följer en kurva från logisk 0 till logisk 1 och tvärtom. 
Bilden ovan illustrerar hur en ESP32 använder definierade spänningsgränser för att skilja logisk 0 från logisk 1. Bilden är bara en allmän illustration: ESP32 GPIO arbetar med 3.3V och får inte anslutas till 5V. Använd databladets VIL- och VIH-gränser för den aktuella kretsen.
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

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.

BRA VIDEOR OM PULL-UP OCH PULL-DOWN

Lämna en kommentar

Observera att kommentarer måste godkännas innan de publiceras.