Intermediate · Oplossingen · 22. De spanningsdeler en sensoren StemExpert · Brecht Corbeel · schoolium.me
SE
StemExpert
I22. De spanningsdeler en sensoren — oplossingen
IIntermediate · deel I6 · Elektronica
Oplossingen · hoofdstuk 22De spanningsdeler en sensoren
Hoe een microcontroller licht en temperatuur 'ziet': van weerstand naar spanning naar getal
Uitgewerkte oplossingen bij de 17 opdrachten van het werkboek. Voor de leerkracht, en voor wie zichzelf wil verbeteren nadat hij het eerst zelf probeerde.
Bij (b) vervang je beide weerstanden door 1,0 MΩ. Wat verandert er aan de uitgang? Wat verandert er wel?
De uitgang blijft 2,5 V: alleen de verhouding telt. De stroom wordt honderd keer kleiner (5 µA in plaats van 0,25 mA), en de deler wordt veel gevoeliger voor belasting (uitgangsweerstand 500 kΩ in plaats van 5 kΩ).
22.2
Stijgt of daalt de spanning?
Oefenen3Begrijpen10 min
Drie schakelingen met een LDR of een NTC en een vaste weerstand.
Schakelingen A, B en C.
a
Het wordt lichter. Stijgt of daalt de spanning op A0 bij A? En bij B?
AA stijgt, B stijgt
BA stijgt, B daalt
CA daalt, B stijgt
DA daalt, B daalt
A stijgt, B daalt. Meer licht maakt de LDR kleiner. Bij A staat de LDR boven: de vaste weerstand onderaan krijgt een groter deel, de spanning stijgt. Bij B staat de LDR onder en krijgt hij zelf een kleiner deel: de spanning daalt.
b
Het wordt warmer. Stijgt of daalt de spanning bij C? Leg uit.
Ze daalt: warmer maakt de NTC kleiner, en de NTC staat onderaan, dus krijgt hij een kleiner deel van de 5 V.
c
Je wil een programma dat een groter getal geeft als het warmer wordt. Hoe pas je C aan?
Wissel de NTC en de vaste weerstand van plaats (NTC boven), of reken in het programma met 1023 − N.
22.3
ADC-waarden omrekenen
Oefenen4Rekenen12 min
Een Arduino Uno meet met een ADC van 10 bit en een referentie van 5,00 V.
a
Welke spanning hoort bij N=1, N=512 en N=1023?
N=1: 4,88 mV; N=512: 2,500 V; N=1023: 4,995 V (de bovenste stap loopt tot 5 V).
b
Welke ADC-waarde geeft een spanning van 1,20 V? En van 3,30 V?
Een ander bord heeft een ADC van 12 bit met een referentie van 3,3 V. Hoe groot is één stap? Is dat bord altijd beter?
3,3V/4096=0,81mV, zes keer fijner. Niet altijd beter: het bereik is maar 3,3 V (een 5 V-sensor past er niet op zonder deler), en een fijnere stap helpt niet als de ruis of de sensor zelf groter is dan één stap.
Bij welke temperatuur is de weerstand 15,0 kΩ? En 5,0 kΩ?
1/T=1/298,15+ln(1,5)/3950, dus T=16,1∘C; bij 5,0 kΩ: T=41,5∘C.
c
Hoeveel procent verandert de weerstand tussen 20 en 21 °C?
R(21)/R(20)=e3950(1/294,15−1/293,15)=0,9552: 4,5 % kleiner per graad.
22.5
De potentiometer
Oefenen4Rekenen12 min
Een lineaire potentiometer van 10 kΩ hangt met zijn uiteinden aan 5,0 V en GND; de loper gaat naar A2.
a
Welke spanning en welke ADC-waarde geeft de loper op 20 %, 50 % en 90 % van onderen?
20 %: 1,0 V, N = 204; 50 %: 2,5 V, N = 512; 90 %: 4,5 V, N = 921.
b
Hoeveel stroom loopt er door de potentiometer? Hangt die af van de stand?
5,0/10000=0,50mA, in elke stand: de loper trekt (onbelast) geen stroom, dus de hele 10 kΩ blijft in serie.
c
Het programma zet N om naar een lichtdrempel tussen 1000 en 20 000 lux, lineair. Geef de formule en de drempel bij N = 512.
E=1000+N⋅102319000; bij N=512: 1000+512⋅18,57=10509lx.
Toepassen
Toepassen
meerdere stappen, in een context
22.6
Van ADC-waarde naar temperatuur
Toepassen5Rekenen15 min
De NTC van het reservoir (10 kΩ, B = 3950 K) staat boven een vaste weerstand van 10 kΩ; de microcontroller leest N = 612.
a
Bereken de spanning, de weerstand van de NTC en de temperatuur.
U=612⋅5/1024=2,99V. R=10000⋅(1024−612)/612=6732Ω. 1/T=1/298,15+ln(0,6732)/3950, dus T=34,2∘C.
b
Hoeveel verandert de temperatuur als N één stap hoger is?
Bij N=613: T=34,28∘C, dus 0,097∘C per stap.
c
Op een dag leest de microcontroller N = 0. Wat is er waarschijnlijk aan de hand? En bij N = 1023?
N = 0: A0 ligt op GND; de NTC is los (draad gebroken), de vaste weerstand trekt de ingang naar 0. N = 1023: kortsluiting over de NTC, of de vaste weerstand is los. Beide zijn onmogelijke temperaturen: het programma moet ze als sensorfout melden, niet als −273 °C of 1000 °C.
22.7
Ontwerp: een schemersensor voor de meetkas
Toepassen5Ontwerpen25 min
De ledstrip van de meetkas (F21) moet aangaan als het schemert. In de kas valt dan tussen 50 en 1000 lux op de sensor (zonder kapje). Je gebruikt een GL5528 (R10=15kΩ, γ=0,7) boven en een vaste weerstand onder, op 5 V.
a
Bereken de weerstand van de LDR bij 50 lux en bij 1000 lux.
R(50)=15000⋅5−0,7=4862Ω; R(1000)=597Ω.
b
Kies de vaste weerstand met de regel van de wortel en rond af naar de E12-reeks (1,0; 1,2; 1,5; 1,8; 2,2; 2,7; 3,3 ...).
4862⋅597=1704Ω: kies 1,8 kΩ (of 1,5 kΩ).
c
Bereken de spanning en de ADC-waarde bij 50, 200 en 1000 lux.
50 lx: 4862 Ω, 1,35 V, N = 276; 200 lx: 1842 Ω, 2,47 V, N = 506; 1000 lx: 597 Ω, 3,75 V, N = 768.
d
De ledstrip moet aan onder 200 lux. Welke ADC-waarde wordt de drempel? Aan welke kant van de drempel is het donker?
N = 506. Donker is een kleinere N (grotere LDR boven, minder spanning op de ingang): ledstrip aan als N < 506.
22.8
Labo: een LDR ijken met een luxmeter
Toepassen5Labo50 min
Bepaal de constanten R10 en γ van jouw LDR. Leg de LDR en de luxmeter naast elkaar onder een lamp waarvan je de afstand kan veranderen (of dim het licht), en meet de weerstand met een ohmmeter. Een voorbeeldmeting: 5 lx: 20,3 kΩ; 20 lx: 7,61 kΩ; 50 lx: 4,21 kΩ; 150 lx: 1,95 kΩ; 400 lx: 1,02 kΩ; 1000 lx: 0,532 kΩ.
a
Meet bij minstens zes verlichtingssterkten tussen 5 en 1000 lux. Wacht telkens tot de weerstand stabiel is.
Eigen metingen; de weerstand daalt telkens als het licht toeneemt.
b
Zet log R uit tegen log E en teken de best passende rechte.
De punten liggen op een dalende rechte.
c
Bepaal γ uit de helling en R10 uit de rechte bij log E = 1. Doe het ook voor de voorbeeldmeting.
Voorbeeldmeting (kleinste kwadraten op logR tegen logE): helling −0,68, dus γ=0,68; bij logE=1: R10=12,5kΩ. Binnen de datasheet (8-20 kΩ, γ ≈ 0,7).
d
Waarom moet je wachten tot de weerstand stabiel is, vooral als je van licht naar donker gaat?
Een LDR reageert traag, en van licht naar donker het traagst: de vrijgemaakte ladingen verdwijnen maar langzaam. Wie te snel afleest, meet een te kleine weerstand in het donker.
Zo wordt dit beoordeeld
Meting
Minstens zes punten verspreid over twee decaden; LDR en luxmeter op dezelfde plaats en in dezelfde richting.
Grafiek
log-log correct berekend of op logaritmisch papier; rechte door de punten.
Constanten
γ en R₁₀ met eenheid; vergelijking met de datasheet (8-20 kΩ, 0,7).
Kritisch
Traagheid, spectrum van de lamp, nauwkeurigheid van de luxmeter besproken.
22.9
Een voltmeter op een deler
Toepassen5Rekenen15 min
Een deler van twee keer 1,0 MΩ staat op 10,0 V. Je meet de uitgang.
a
Welke spanning verwacht je zonder meter? Wat is de uitgangsweerstand van de deler?
5,00 V; Ruit=1,0∥1,0=0,50MΩ.
b
Wat wijst een multimeter van 10 MΩ aan? En een meter van 1,0 MΩ?
Wat zou een ingang van 100 MΩ aanwijzen? Welke les trek je voor het kiezen van een deler?
4,975V: nog altijd 0,5 % te laag. Hoe groter de weerstanden van een deler, hoe zuiniger, maar hoe gevoeliger voor belasting. Kies ze zo dat de belasting minstens honderd keer groter is dan R1∥R2.
22.10
C++: een lichtsensor met twee drempels
Toepassen6Programmeren30 min
De lichtsensor van het handboek zit op A1 (1,0 kΩ onder, kapje 10 %). Met één drempel zouden de lampen bij elke wolk aan en uit gaan. Daarom: lampen aan als de ADC-waarde onder 479 zakt (4000 lx), uit als ze boven 552 komt (6000 lx). Daartussen verandert er niets. De lampen hangen via een MOSFET aan pin 9 (hoofdstuk 23).
a
Waarom verandert er tussen de twee drempels niets? Wat onthoudt het programma daarvoor?
Tussen 4000 en 6000 lux blijft de vorige toestand gelden: het programma onthoudt of de lampen aan of uit staan (een variabele). Zo schakelt een kleine schommeling rond één waarde niet telkens.
b
Schrijf setup() en loop(): elke seconde meten (gemiddelde van 16), beslissen, pin 9 zetten en de toestand afdrukken.
Controleer de drempels: bereken zelf de ADC-waarde bij 4000 en 6000 lux daglicht.
4000 lx: 400 lx op de LDR, R=1134Ω, U=2,343V, N=479. 6000 lx: R=854Ω, U=2,697V, N=552.
22.11
Het kapje ijken
Toepassen5Analyseren15 min
De lichtsensor rekent met een kapje dat 10 % doorlaat. Een luxmeter naast de sensor toont 5000 lux daglicht, maar de microcontroller berekent 4200 lux. Aan de LDR en de vaste weerstand ligt het niet: die zijn apart gecontroleerd.
a
Hoeveel lux valt er volgens de microcontroller op de LDR? Hoeveel laat het kapje dus echt door?
Op de LDR: 4200⋅0,10=420lx. Echte doorlaat: 420/5000=0,084=8,4%.
b
Welke constante pas je aan in de code, en naar welke waarde?
KAPJE = 0.084.
c
Dit is een eenpuntsijking. Waarom is dat hier genoeg? Wanneer niet meer?
Het kapje vermenigvuldigt het licht met een vaste factor: één punt legt die factor vast. Dat werkt zolang de LDR zelf juist gemodelleerd is. Kloppen ook γ of R₁₀ niet, dan is de fout niet overal even groot, en heb je meer punten nodig (een fit, zoals bij de NTC).
22.12
Hoe goed meet de batterijdeler?
Toepassen6Rekenen20 min
De batterijdeler van het handboek (100 kΩ en 33 kΩ) gebruikt weerstanden met een tolerantie van 1 %. De LiFePO4-batterij (hoofdstuk 16) heeft een erg vlakke spanning: tussen 20 % en 90 % laadtoestand verandert ze maar enkele tienden van een volt.
a
Bereken de uitgang bij 14,6 V in het slechtste geval: 101 kΩ met 32,67 kΩ, en 99 kΩ met 33,33 kΩ.
Welke batterijspanning berekent het programma (dat met 100 en 33 rekent) in die gevallen?
3,568⋅133/33=14,38V en 3,677⋅133/33=14,82V: tot ±0,22 V naast de echte 14,6 V.
c
Kan je met deze deler de laadtoestand van de LiFePO4-batterij bepalen? Hoe doet de klimaatmodule het wel?
Nee: een fout van 0,2 V is even groot als het hele verschil tussen bijna leeg en bijna vol. Je kan de deler wel ijken (één punt met een goede multimeter), maar ook dan blijft de spanning een slechte maat. De klimaatmodule telt daarom lading met een stroomsensor (coulombteller, hoofdstuk 16) en gebruikt de spanning alleen om 'vol' en 'leeg' te herkennen.
Uitdagen
Uitdagen
transfer, open problemen, leerlijnen combineren
22.13
Habitat: de lichtsensor van de klimaatmodule afwerken
Uitdagen6Habitat60 min
Werk de lichtsensor van het handboek af tot hij in de klimaatmodule kan: LDR onder een kapje, vaste weerstand op A1, drempels voor de lampen. Denk aan de plaats, het ijken, fouten en de energie die hij bespaart.
a
Waar hang je de sensor, zodat hij het daglicht meet en niet het licht van de groeilampen? Schets.
Bovenop de module of boven de lampen, onder een eigen kapje naar de hemel gericht, met een scherm tussen de lampen en de sensor. Niet in de schaduw van de zonnepanelen. Een tweede mogelijkheid: alleen meten als de lampen even uit zijn.
b
Stel een ijkplan op: welke referentie, welke punten, wat pas je aan in de code?
Luxmeter naast het kapje (dezelfde richting); meten bij bewolkt en zonnig weer, minstens vijf punten tussen 1000 en 20 000 lux; KAPJE (of R₁₀ en γ met een fit) aanpassen; opnieuw ijken na het poetsen of vervangen van het kapje.
c
Welke fouten kan de sensor maken (draad los, kortsluiting, vuil kapje, sneeuw), wat ziet het programma dan, en wat moet het doen?
LDR los: N = 0 (donker, lampen zouden altijd aan gaan) → sensorfout, terug naar het tijdschema. Kortsluiting: N = 1023 → sensorfout. Vuil kapje of sneeuw: te lage waarden overdag → vergelijk met de verwachting uit de klok en de zonnepanelen (die leveren wel stroom). Losse vaste weerstand: N = 1023.
d
Schat: als de sensor de lampen op een lentedag 3 uur korter laat branden, hoeveel energie spaart dat (2 × 95 W)? Hoeveel procent van het budget van 3,27 kWh per dag?
190W⋅3h=570Wh=0,57kWh, of 17 % van 3,27 kWh per dag. Meer dan alle andere verbruikers samen gebruiken (0,23 kWh).
Zo wordt dit beoordeeld
Plaats
Boven de lampen of afgeschermd, kijkt naar de hemel, niet in de schaduw van het dak of de panelen.
IJken
Luxmeter als referentie, meerdere punten rond 5000 lx, KAPJE (of R10, γ) aangepast, datum genoteerd.
Fouten
Onmogelijke waarden herkend (N = 0, N = 1023, plots verschil met de klok); veilige reactie: terug naar het tijdschema van hoofdstuk 20.
Energie
Correct: 190 W × 3 h = 0,57 kWh; 17 % van 3,27 kWh.
22.14
Zelfverwarming van de NTC
Uitdagen7Rekenen25 min
Door de NTC loopt stroom, en die maakt hem een beetje warmer dan zijn omgeving. Hoeveel, zegt de dissipatieconstante: het vermogen dat nodig is om de NTC 1 °C op te warmen. Voor een klein NTC-bolletje is dat in stilstaande lucht ongeveer 2 mW/K, in water ongeveer 10 mW/K (orde van grootte).
a
Bereken de stroom en het vermogen in de NTC bij 22 °C (NTC boven 10 kΩ, op 5 V).
Hoeveel te warm meet de NTC daardoor in lucht en in water? Is dat belangrijk tegenover de ADC-stap?
Lucht: 0,62/2=0,31∘C; water: 0,062∘C. In lucht is dat drie ADC-stappen (0,09 °C per stap): wel belangrijk als je nauwkeurig wil meten; in water verwaarloosbaar.
c
Bedenk twee oplossingen en reken er één door.
(1) Een NTC van 100 kΩ met 100 kΩ: dezelfde spanningen, tien keer minder stroom en vermogen (0,062 mW, 0,03 °C in lucht), maar de uitgangsweerstand wordt 50 kΩ: zet er 100 nF op. (2) De deler voeden uit een digitale pin die alleen tijdens de meting (enkele ms per seconde) hoog is: gemiddeld vermogen bijna nul. (3) Een kleinere spanning over de deler.
22.15
Bewijs: de beste vaste weerstand
Uitdagen7Analyseren30 min
Een sensor boven een vaste weerstand Rv op spanning U: Uuit=URv+RRv. De sensor varieert van Rmin tot Rmax.
a
Schrijf het verschil ΔU=Uuit(Rmin)−Uuit(Rmax) als één breuk.
Toon aan dat ΔU het grootst is als Rv=RminRmax. (Tip: deel teller en noemer door Rv.)
Deel teller en noemer door Rv: ΔU=Rv+Rmin+Rmax+RminRmax/RvU(Rmax−Rmin). De teller hangt niet van Rv af; de noemer is het kleinst als f(Rv)=Rv+RminRmax/Rv het kleinst is. Voor x+a/x met x,a>0 geldt x+a/x≥2a (want (x−a/x)2≥0), met gelijkheid als x=a. Dus Rv=RminRmax.
c
Wil je rond één waarde R0 zo gevoelig mogelijk zijn, dan zoek je de grootste helling ∣dUuit/dR∣ in R0. Toon aan dat dat bij Rv=R0 gebeurt (of redeneer met de eerste vraag voor Rmin en Rmax heel dicht bij R0).
dRdUuit=−(Rv+R)2URv. In R0: ∣⋅∣=U(Rv+R0)2Rv, en met dezelfde truc (Rv/(Rv+R0)2=1/(Rv+2R0+R02/Rv)) is dat het grootst voor Rv=R0. Dan staat er precies U/2 op de uitgang. (Of: laat Rmin en Rmax naar R0 gaan; RminRmax→R0.)
22.16
Python: B en R25 uit twee ijkpunten
Uitdagen7Programmeren30 min
Met twee ijkpunten (T1,R1) en (T2,R2) liggen de twee constanten van het B-model vast. Neem de punten bij 0,1 °C (34 329 Ω) en bij 50,1 °C (3745 Ω) uit de proef van het handboek.
a
Leid af: B=1/T1−1/T2ln(R1/R2) en R25=R1e−B(1/T1−1/T25).
Schrijf het model voor beide punten en deel: R1/R2=eB(1/T1−1/T2), neem ln en deel door (1/T1−1/T2). Daarna uit R1=R25eB(1/T1−1/T25) de R25 halen.
b
Schrijf een Python-functie ijk(t1, r1, t2, r2) die B en R25 teruggeeft, en druk ze af.
Bereken met die constanten de temperatuur bij 12 857 Ω (de meting bij 20,2 °C). Vergelijk met de fit door zes punten. Wanneer kies je voor twee punten, wanneer voor meer?
Bij 12 857 Ω geven de twee punten 20,21 °C (referentie 20,2 °C); de fit door zes punten gaf 20,21 °C. Twee punten volstaan als het model goed is en de metingen weinig ruis hebben; met meer punten middel je de ruis uit en zie je of het model ergens afwijkt (dan heb je bv. Steinhart-Hart nodig).
22.17
Debat: LDR en NTC, of digitale sensoren?
Uitdagen6Argumenteren25 min
Een collega stelt voor de LDR te vervangen door een digitale lichtsensor (BH1750: geeft lux via I²C, ongeveer 1 tot 65 000 lux) en de NTC door een digitale temperatuursensor (DS18B20: ±0,5 °C volgens de datasheet, één datadraad). Een ander vindt dat onzin: 'Een LDR en een NTC kosten niets en ik begrijp ze.'
a
Geef twee argumenten voor elke kant, telkens concreet (een getal, een eigenschap uit dit hoofdstuk).
Voor digitaal: lux of °C zonder model en zonder vaste weerstand; fabrieksijking (DS18B20 ±0,5 °C zonder ijking, een NTC zonder ijking ±1 °C); geen last van spanningsval en ruis op lange kabels (het getal wordt digitaal verstuurd); geen cadmium; veel sensoren op één draad of bus (spaart analoge ingangen). Voor analoog: goedkoop en robuust; snel te lezen; je begrijpt elke stap en kan hem zelf ijken tot 0,02 °C (proef); geen bibliotheek of protocol dat kan vastlopen; werkt ook met een eenvoudige comparator zonder microcontroller.
b
Wat zou jij kiezen voor de lichtsensor van de klimaatmodule, en wat voor de temperatuur van het reservoir? Motiveer.
Bijvoorbeeld: licht met een BH1750 (de lichtsensor moet het hele jaar werken, RoHS, een groot bereik tot volle zon zonder kapje), en de temperatuur van het reservoir met een geijkte NTC of een DS18B20 in een waterdicht buisje: allebei goed genoeg voor een reservoir dat tussen 15 en 30 °C blijft. Elke goed gemotiveerde keuze is juist.