Pull-up motstander er avgjørende i mange digitale kretser. La oss snakke om hvordan pull-up motstander fungerer og hvordan du bruker dem.
Bilde som lager en digital krets der det kreves en trykknapp for å slå på en LED. Du kobler opp kretsen riktig, kobler den ene enden av trykknappen til en digital inngang og jord til den andre. Når du endelig leverer strøm, merker du at LED-en går av og på uten at du trykker på bryteren.
Hvis du noen gang har observert situasjoner som dette, er det sannsynlig at du har glemt å legge til en pull-up-motstand til den digitale kretsen din. Så hva er egentlig en pull-up motstand? Hvordan fungerer det, og hvordan bruker du det?
Hva er en Pull-up Resistor?
En pull-up motstand er en motstand du legger til en digital krets for å unngå uønskede signaler som kan forstyrre kretsens logikk eller programmering. Det er en måte å forspenne eller trekke en inngangslinje til positiv eller VCC når ingen annen aktiv enhet driver linjen. Ved å trekke linjen til VCC, setter du effektivt standardtilstanden til linjen til 1 eller sann.
Å angi en standardtilstand for alle inngangspinnene er viktig for å unngå tilfeldige signaler som genereres under flytende tilstand. En inngangspinne er i flytende tilstand når den blir koblet fra en aktiv kilde som jord eller VCC.
Pull-up motstander brukes vanligvis i digitale kretser som bruker mikrokontrollere og enkeltkorts datamaskiner.
Hvordan en opptrekksmotstand fungerer i en krets
Når du bruker en øyeblikkelig bryter på en digital krets, vil trykk på bryteren føre til at kretsen lukkes og overfører sann eller høy til mikrokontrolleren. Å koble fra bryteren vil imidlertid ikke nødvendigvis stoppe inngangspinnen fra å sende slike signaler.
Dette er fordi å kutte forbindelsen gjennom en bryter betyr at den ikke lenger er koblet til noe annet enn luft. Dette fører til at linjen er i en flytende tilstand, der signaler fra omgivelsene potensielt kan føre til at pinnen heves høyt til enhver tid.
For å stoppe disse forvillede signalene fra å registrere seg i kretsen din, må du injisere inngangsledningen med nok spenning til at den fortsetter å registrere seg høyt når jord ikke lenger oppdages. Du kan imidlertid ikke koble VCC direkte til inngangsledningen siden kretsen vil kortslutte så snart bryteren/sensoren kobler ledningen til jord.
For å unngå å kortslutte opptrekksspenningen, må du bruke en motstand. Å ha riktig verdimotstand vil sikre at den flytende linjen vil ha nok spenning til å heve høyt mens den er lav nok til å ikke kortslutte kretsen for tidlig. Mengden motstand vil avhenge av logikktypen kretsen din bruker.
Forklar logikkfamilier
For riktig å beregne motstandsverdien til pull-up-motstanden din, må du vite hvilken logikktype kretsen din bruker for å fungere. Logikkfamilien som kretsen din bruker, vil diktere motstandsverdien din pull-up-motstand trenger.
Det finnes flere typer logikk. Her er noen av dem:
Forkortelse |
Navn |
Eksempel kretser |
Min V på |
Max V av |
---|---|---|---|---|
CMOS |
Komplementær metall-oksid halvleder |
DSP, ADC, DAC, PPL |
3.5 |
1.5 |
TTL |
Transistor-transistor logikk |
Digitale klokker, LED-drivere, minne |
2.0 |
0.8 |
ECL |
Emitter-koblet logikk |
Radar, laser, partikkelakseleratorer |
-1.5 |
-1.8 |
DTL |
Diode-transistor logikk |
Flip-flops, registre, oscillatorer |
0.7 |
0.2 |
Hvis du ikke er sikker på hvilken logikkfamilie du bruker, er det svært sannsynlig at kretsen din bruker CMOS- eller TTL-logikkfamilier, ettersom ECL og DTL lenge har vært utdaterte. Brikkemerker med prefikser som bruker "74" eller "54" er typisk TLL-brikker, mens brikkemerker med "CD" eller "MC" indikerer en CMOS-brikke. Hvis du fortsatt er usikker, kan du enkelt finne ut hvilken logikkfamilie kontrolleren din bruker ved å gjøre et raskt søk etter databladet på nettet.
Hvordan beregne Pull-Up Resistor-verdien
Nå som du forstår de forskjellige typene logikkfamilier og deres minimum på og maksimal av spenninger, kan vi nå fortsette å beregne verdier for pull-up motstanden vår.
For å beregne riktig motstandsverdi, trenger du tre verdier. Minimumsspenningen til den logiske familien kretsen din bruker, forsyningsspenningen til kretsen og inngangslekkasjestrømmen, som du kan finne på dataarket eller ved å ved hjelp av et multimeter.
Når du har alle variablene, kan du ganske enkelt koble dem til følgende formel:
Motstandsverdi = (forsyningsspenning - logisk høyspenning) / inngangslekkasjestrøm
La oss for eksempel si at kretsen din bruker TTL, og inngangslinjen bruker 100uA ved 5V. Vi vet at TTL trenger minimum 2V for å heve høyt og maksimalt 0,8 volt for å heve lavt. Dette vil bety at den riktige spenningen som går ut av pull-up-motstanden vår bør være mellom 3V og 4V siden spenningen må være høyere enn 2V, men ikke høyere enn forsyningsspenningen vår som er 5V.
Våre gitte verdier vil være:
- Forsyningsspenningen = 5V
- Logisk høyspenning = 4V
- Inngangslekkasjestrøm = 100μA eller 0,0001A
Nå som vi har variablene, la oss koble dem inn i formelen:
(5V - 4V) / 100μA = 10 000 ohm
Opptrekksmotstanden vår må være 10 000 ohm (10 kilohm eller 10 kΩ).
Hvordan bruke en opptrekksmotstand i en krets
Pull-up motstander brukes vanligvis i digitale kretser for å unngå uønsket interferens med en krets digitale programmering. Du kan bruke pull-up motstander hvis den digitale kretsen bruker brytere og sensorer som inngangsenheter. Dessuten vil opptrekksmotstander bare være effektive hvis inngangspinnene er koblet til jord. Hvis inngangspinnene er koblet til VCC, kan det være lurt å bruke nedtrekksmotstander i stedet.
For å bruke en opptrekksmotstand, må du finne inngangslinjen som kobles til en inngangsenhet. Når du er lokalisert, vil du beregne hvordan verdien av motstanden din ved å bruke formelen diskutert tidligere. Hvis kretsen din egentlig ikke krever mye presisjon, kan du ganske enkelt bruke motstandsverdier fra 1kΩ til 10kΩ.
Nå som du har motstanden med riktig verdi, kan du plassere den ene enden av opptrekksmotstanden til VCC og den ene enden mellom inngangsenheten og MCU. Gratulerer! Du vet nå hva en pull-up motstand er og hvordan du bruker en.
Noen mikrokontrollere som Arduino-kort, og SBC-er som Raspberry Pi, har interne pull-up-motstander som du kan utløse i koden i stedet for eksterne pull-up-motstander.
Styrk kunnskapen din gjennom erfaring
Oppsummert er en pull-up-motstand en viktig komponent for å beskytte kretsen din mot forstyrrelser i nærheten. Ved å sette standardtilstanden til en inngangspinne til høy, forhindrer den at tilfeldige signaler forstyrrer logikken eller programmeringen til kretsen din. Og nå som du vet hvordan du bruker en, kan det være lurt å styrke den nyvunne kunnskapen din ved å bruke den på dine neste prosjekter.