![](http://elkim.no/wp-content/uploads/2023/04/pulldownresistor.jpg)
Når du kobler en bryter direkte til en GPIO-port på en mikrokontroller eller annet elektronisk apparat, kan det oppstå et problem kjent som «floating». Dette skyldes at når bryteren ikke er aktiv, er det ingen elektrisk forbindelse mellom bryteren og jord (GND), og derfor kan det genereres en uforutsigbar spenning på GPIO-porten.
Dette kan føre til at mikrokontrolleren tror at bryteren er aktiv selv om den ikke er det, noe som kan føre til at programvaren feiltolker dataene. Det kan også føre til kortslutning mellom GPIO-porten og jord når bryteren aktiveres, noe som kan skade mikrokontrolleren eller andre elektroniske komponenter.
For å unngå dette problemet, bruker man ofte en pull-up eller pull-down resistor sammen med bryteren. En pull-up resistor kobles mellom GPIO-porten og strømforsyningen (VCC), mens en pull-down resistor kobles mellom GPIO-porten og jord (GND). Ved å bruke en av disse motstandene vil det alltid være en fast strømbane mellom GPIO-porten og enten VCC eller GND, uansett om bryteren er aktiv eller ikke.
En pull-up resistor vil sørge for at GPIO-porten alltid har en høy verdi når bryteren er i en bestemt tilstand. En pull-down resistor vil sikre at GPIO-porten alltid har en lav verdi. Dette gir en stabil og pålitelig signalbehandling for mikrokontrolleren eller andre elektroniske enheter som bruker GPIO-porter.
Så for å oppsummere, en resistor brukes sammen med en bryter for å forhindre «floating» og for å sikre at GPIO-porten alltid har en fast verdi enten høy eller lav når bryteren er i en bestemt tilstand. Dette bidrar til en stabil og pålitelig signalbehandling og kan forhindre skade på mikrokontrolleren eller andre elektroniske komponenter.
Høy verdi på pull-up/pull-down motstand
Hvorfor er det lurt å bruke en høy verdi på pull-up og pull-down resistorer? Jo høyere verdien på motstanden er, jo mindre vil strømmen som går gjennom bryteren være når den er aktivert. Dette kan bidra til å minimere strømtapet og redusere belastningen på strømforsyningen.
Det er imidlertid viktig å finne en passende verdi for motstanden, slik at bryteren fungerer som den skal. Hvis motstanden er for høy, kan det hende at ikke nok strøm går gjennom, og det kan føre til at den ikke fungerer som den skal.
Kalkulere verdi på pull-up resistor
En passende verdi for en pull-up eller pull-down resistor avhenger av strømforsyningen og kravene til kretsen din. En vanlig verdi kan være mellom 1kΩ og 10kΩ, men det kan være nødvendig med en lavere eller høyere verdi avhengig av kravene til kretsen din. Heldigvis kan du enkelt kalkulere en passende verdi for motstanden ved hjelp av Ohms lov:
R = (V – V1) / I
der R er motstandens verdi i ohm, V er spenningen som går gjennom bryteren (vanligvis VCC eller GND), V1 er spenningen på GPIO-porten når bryteren er i den aktive tilstanden, og I er strømmen som går gjennom bryteren når den er aktivert.
For eksempel, hvis du bruker en 5V strømforsyning og ønsker å bruke en pull-up resistor for å koble en bryter til en GPIO-port, og ønsker at GPIO-porten skal ha en verdi på 3.3V når bryteren er aktiv, kan du kalkulere en passende verdi for motstanden ved hjelp av følgende formel:
R = (5V – 3.3V) / I
Hvis du vil ha en strøm på 1mA når bryteren er aktivert, vil motstanden være:
R = (5V – 3.3V) / 0.001A = 1700Ω
Så en passende verdi for pull-up resistor vil være rundt 1.7kΩ.
På samme måte kan du også kalkulere en passende verdi for pull-down resistor. Hvis du ønsker at GPIO-porten skal ha en verdi på 0V når bryteren er aktiv, kan du kalkulere en passende verdi for motstanden ved hjelp av følgende formel:
R = V1 / I
For eksempel, hvis du bruker en 5V strømforsyning og ønsker å bruke en pull-down resistor for å koble en bryter til en GPIO-port, og ønsker at GPIO-porten skal ha en verdi på 0V når bryteren er aktiv, kan du kalkulere en passende verdi for motstanden ved hjelp av følgende formel:
R = 3.3V / 0.001A = 3300Ω
Så en passende verdi for pull-down resistor vil være rundt 3.3kΩ.
Det er viktig å merke seg at disse beregningene gir deg en omtrentlig verdi for motstanden, og du må velge en tilgjengelig motstand som er nærmest den beregnede verdien. Du kan bruke en motstandstabell for å finne den nærmeste standardverdien for motstanden.
I tillegg kan du også bruke et multimeter for å måle spenningen på GPIO-porten når bryteren er i aktiv tilstand. Dette vil gi deg en mer nøyaktig verdi for V1 som du kan bruke i beregningen av motstandens verdi.
Så, for å oppsummere, ved å kalkulere en passende verdi for pull-up og pull-down resistor kan man sikre en stabil og pålitelig signalbehandling i digitale kretser. Det er viktig å velge en tilgjengelig motstand som er nærmest den beregnede verdien, og ved å bruke et multimeter kan man få en mer nøyaktig verdi for spenningen på GPIO-porten når bryteren er i aktiv tilstand.