Arduino/Weerstand
Een weeerstand is een elektronisch onderdeel dat stroom in meer of mindere mate belemmert. Voor een weerstand geldt de Wet van Ohm:
Met deze regel kunnen we de stroom door een weerstand uitrekenen, als we de spanning en de waarde van de weerstand kennen. Of we kunnen de spanning uitrekenen, als we de stroom en de weerstand kennen.
Potmeter
In de Arduino-schakelingen gebruiken we ook vaak een potmeter: dit is een weerstand met een regelbare aftakking. Deze kunnen we gebruiken als een regelbare spanningsdeler (zie hieronder) of als een regelbare weerstand.
Basisschakelingen
Serieweerstand: beperken van stroom
Elektronische onderdelen kunnen kapot gaan door een te grote stroom. Voobeelden:
- LED: de stroom door een (normale) LED mag niet groter zijn dan ca. 20 mA.
- Arduino: de stroom die een Arduino output-pin levert mag niet groter zijn dan 40 mA; meestal proberen we deze te beperken tot 20 mA of minder.
Je kunt de stroom door een onderdeel beperken door een weerstand in serie met dit onderdeel op te nemen. Voorbeeld: LED met serieweerstand aangesloten op een Arduino output-pin.
Een rekenvoorbeeld:
- we willen de stroom die een Arduino output-pin levert beperken tot ca. 20 mA ofwel 0,02 A
- de spanning op een output-pin is 0V (LOW) of 5V (HIGH).
- volgens de Wet van Ohm () moeten we dan een weerstand hebben van tenminste R = U / I = 5 / 0,02 = 250 Ohm.
- in de praktijk gebruiken we dan vaak een weerstand van 220 Ohm of 330 Ohm.
Opmerking: over de LED staat ook een spanning; voor een rode LED is deze spanningsval (voltage drop) ongeveer 2V. De spanning over de weerstand is dan 3V. De stroom door een weerstand van 220 Ohm is I = U/R = 3/220 (V/Ohm) = 0,014 A = 14 mA.
Opmerking: sommige Arduino's en de Raspberry Pi gebruiken een spanning van 3,3V. Als de spanningsval over de LED 2V is, is de spanning over de weerstand 1,3V. De stroom door een weerstand van 220 Ohm is dan I = U/R = 1,3/220 (V/Ohm) = 0,006A = 6mA.
- Zie o.a. Wikipedia Light Emitting Diode
Pull-up of pull-down weerstand
Een schakelaar heeft een oneindige weerstand ("open"), of een weerstand van 0 Ohm ("gesloten"). Voor het gebruik van een schakelaar in een logische schakeling moeten we de toestand van de schakelaar omzetten in een spanning. Hiervoor gebruiken we een weerstand in serie met de schakelaar:
- als we een gesloten schakelaar willen laten overeenkomen met een "hoog" (HIGH) niveau, dan
- als we een open schakelaar willen laten overeenkomen met een "hoog" (HIGH) niveau, dan
In de praktijk gebruiken we vaak een weerstand van 10 kOhm als pull-up of pull-down weerstand.
- de stroom door deze weerstand is maximaal I = U / R = 5 (V) / 10.000 (Ohm) = 0,5 mA.
Spanningsdeler
Een schakeling met twee weerstanden in serie heeft de eigenschap dat de spanning over de weerstanden evenredig is met de waarden van de weerstanden: Vx : Vy = Rx : Ry. Dit kunnen we op de volgende manieren gebruiken::
- we kunnen een tussen-spanning afleiden uit een vaste spanning, bijvoorbeeld van de voeding.
- als we twee gelijken weerstanden gebruiken, tussen 5V en 0V, dan is de spanning op het punt tussen de weerstanden 2,5V
- we kunnen een variabele weerstand omzetten in een variabele spanning
- variabele weerstand, bijvoorbeeld potmeter of sensor
- reken Vx : Vy = Rx : Ry na met behulp van de wet van Ohm. De stroom door beide weerstanden is gelijk.
Variabele weerstand
Veel sensoren werken als een variabele weerstand. Bijvoorbeeld, de weerstand van een LDR (Light Dependent Resistor, lichtgevoelige weerstand) neemt af als er meer licht op valt. We kunnen met de Arduino niet rechtstreeks de waarde van een weerstand meten: de analoge ingang meet alleen spanning. Dit betekent dat we een variabele weerstand moeten omzetten in een variabele spanning. Dit doen we door deze weerstand op te nemen in een spanningsdeler: we plaatsen de variabele weerstand in serie met een vaste, bekende weerstand.
Welke waarde moeten we kiezen als serieweerstand? Dit hangt af van een aantal factoren:
- de stroom die door de spanningsdeler geleverd moet worden. Hoewel een A/D omzetter spanning meet, is er een bepaalde stroom nodig om die spanning voldoende snel en nauwkeurig te kunnen meten. In het geval van de Atmega328 (gebruikt in de Arduino). Deze stroom moet de interne sample/hold condensator opladen.
- In het geval van de Atmega328 is dit uitgedrukt in de impedantie (betekent hier "weerstand"): The ADC is optimized for analog signals with an output impedance of approximately 10 kΩ or less. If such a source is used, the sampling time will be negligible. Datasheet Atmega328, par. 21.6.1
Het verband tussen de waarde die je wilt meten en de weerstand is niet altijd lineair. Dit kan betekenen dat je op de gemeten spanning (of weerstand) nog een correctie moet toepassen.
Waar moet je om denken?
Een weerstand is symmetrisch: deze kun je deze niet verkeerd om aansluiten. Maar je moet wel een weerstand van de juiste waarde gebruiken: de waarde van de weerstand kun je aflezen aan de kleurcode die erop gedrukt is. Daarnaast moet je een weerstand van het juiste vermogen gebruiken. Voor de Arduino-schakelingen gebruik je meestal weerstanden van 1/4 of 1/8 Watt.
Een weerstand zet elektrische energie om in warmte
Een serie-weerstand voor een LED beperkt de stroom door de LED. Maar deze weerstand verbruikt ook elektrische energie: deze wordt in warmte omgezet, en niet in licht in de LED. Voor LEDs met een klein vermogen, die je gebruikt als indicatielampje, is dat meestal geen probleem. Maar voor LEDs die je gebruikt voor verlichting moet je een andere oplossing kiezen, bijvoorbeeld door een stroombron te gebruiken in plaats van een spanningsbron (een speciale LED-voeding).
Een weerstand gaat kapot door een (te) grote stroom
We gebruiken een weerstand vaak om de stroom door andere delen van de schakeling te beperken - bijvoorbeeld de stroom door een LED, of de stroom die geleverd moet worden door een Arduino-uitgang. Maar een weerstand zelf kan ook door een grote stroom kapot gaan. Meestal gebruiken we weerstanden van 0,25W (een kwart Watt). Dit is het maximale vermogen dat een dergelijke weerstand kan verwerken: daarboven wordt de weerstand te warm, en kan deze doorbranden.
Het vermogen (energie per seconde) dat een weerstand verbruikt is evenredig met de stroom en met de spanning over de weerstand: P = U x I. (eenheden: W (Watt_ = V (Volt) x A (Ampere); Watt = J/s). Als de dit combineren met de wet van Ohm dan krijgen we voor een bepaalde weerstand en een bepaalde spanning: P = U^2 /R. Voor een bepaalde weerstand en een bepaalde stroom krijgen we: P = I^2 * R.
- een weerstand van 220 Ohm, en een spanning van 5V, verbruikt: P = U^2 / R = 25 /220 = 0,11W.
- voor een weerstand van 330 Ohm wordt dit: P = 25/330 = 0,08W
Een weerstand zet deze energie om in warmte: er gebeurt verder niets nuttigs mee, deze energie gaat meestal gewoon verloren. Vooral in schakelingen waarbij het energieverbruik van belang is moeten we daarom goed op de weerstanden letten.