← Back to CoursesStemExpert
StemExpert
Intermediate · Werkboek · 25. Van analoog naar digitaal
StemExpert · Brecht Corbeel · schoolium.me
StemExpert
I25. Van analoog naar digitaal — werkboek
IIntermediate · deel I6 · Elektronica

Werkboek · hoofdstuk 25Van analoog naar digitaal

Van een spanning naar een getal, en van een getal terug naar licht

Je begint met omzetten tussen decimaal, binair en hexadecimaal, ADC-stappen en PWM-signalen aflezen. Daarna reken je met referentiespanningen, kies je bemonsteringsfrequenties, teken je aliasing, meet je PWM door een RC-filter en programmeer je een dimmer. In de uitdagingen ontwerp je de lampsturing van de klimaatmodule (opdracht 25.13, voor je Habitat-portfolio), reken je schakelverliezen uit en weeg je af of meer bits beter meten.

6× oefenen6× toepassen4× uitdagen± 382 min0/16 gedaan
Als de zon zakt, gaan de lampen niet plots aan, maar geleidelijk: zoveel als er aan daglicht ontbreekt.
Als de zon zakt, gaan de lampen niet plots aan, maar geleidelijk: zoveel als er aan daglicht ontbreekt.
Hoe lees je een opdracht?
Drie tredenOefenen Toepassen Uitdagen

Elk hoofdstuk bouwt op: eerst oefenen (één stap, direct toepassen), dan toepassen (meerdere stappen, in een context), dan uitdagen (transfer, open problemen, andere leerlijnen erbij).

De StemExpert-schaal5

Eén moeilijkheidsschaal van 1 tot 9 over de drie niveaus heen: Fundamental loopt van 1 tot 4, Intermediate van 3 tot 7, Expert van 6 tot 9. Zo zie je dat de uitdaging van het ene niveau de oefening van het volgende is.

Oefenen

Oefenen

één stap, direct toepassen
25.1

Analoog of digitaal?

Oefenen3Begrijpen10 min
Een lijst met signalen en toestellen.
  1. a
    Zeg telkens of het signaal analoog of digitaal is: (a) de spanning van de TMP36; (b) wat digitalRead teruggeeft; (c) de druk onderaan het reservoir; (d) het getal van analogRead; (e) een PWM-signaal op pin 9.
  2. b
    Op welke twee manieren verliest een digitaal signaal informatie?
  3. c
    Geef één reden waarom je toch digitaal wil werken.
25.2

Binair en decimaal

Oefenen3Rekenen15 min
Reken om. Toon je werkwijze (gewichten of delen door 2).
  1. a
  2. b
  3. c
    (tien bits)
  4. d
    57 = (binair, 8 bits)
  5. e
    130 = (binair, 8 bits)
  6. f
    Welk getal volgt binair op 0111 1111? Wat valt je op?
25.3

Hexadecimaal

Oefenen3Rekenen12 min
In code en datasheets staan getallen vaak hexadecimaal, met 0x ervoor.
  1. a
    0x0F = (decimaal) = (binair)
  2. b
    0xA0 = (decimaal) = (binair)
  3. c
    200 = 0x
  4. d
    Een kleur op een webpagina is #00FF7F. Hoeveel rood, groen en blauw (elk 0-255)?
25.4

Hoeveel bits heb je nodig?

Oefenen4Rekenen15 min
Een ontwerper wil telkens een aantal verschillende waarden kunnen opslaan.
  1. a
    Hoeveel bits heb je minstens nodig voor: (a) de 24 uren van een dag; (b) een temperatuur van −20,0 tot +60,0 °C in stappen van 0,1 °C; (c) de 1440 minuten van een dag?
  2. b
    Een ADC van 12 bit heeft hoeveel niveaus? Hoe groot is de stap bij 3,3 V?
  3. c
    Waarom gebruikt analogWrite 8 bits en analogRead 10?
25.5

Van spanning naar ADC-waarde

Oefenen4Rekenen15 min
Een ADC van 10 bit met een referentie van 5,00 V.
  1. a
    Welke ADC-waarde geeft: (a) 1,00 V; (b) 2,50 V; (c) 4,998 V; (d) 5,5 V?
  2. b
    Een meting geeft N = 614. Tussen welke twee spanningen ligt de echte spanning?
  3. c
    Een klasgenoot zegt: 'Mijn meter geeft 614, dus de spanning is 2,998 V, tot op de millivolt.' Wat is er mis?
25.6

PWM-signalen aflezen

Oefenen4Analyseren15 min
Een logische analysator toont twee PWM-signalen van 5 V.
signaal Asignaal B00,511,522,533,544,55t (ms)
Signaal A en B, elk 0 of 5 V.
  1. a
    Lees voor A en B de periode af, en bereken de frequentie.
  2. b
    Bepaal de duty cycle van A en B en de gemiddelde spanning.
  3. c
    Op welke pinnen van een Uno kunnen A en B gemaakt zijn? Welke analogWrite-waarde hoort er ongeveer bij?
Toepassen

Toepassen

meerdere stappen, in een context
25.7

Twee referentiespanningen

Toepassen5Rekenen20 min
De pH-module op A2 van de Mega geeft 2,50 V bij pH 7,00 en daalt 0,18 V per pH-eenheid (hoofdstuk 15). De voedingsoplossing moet tussen pH 5,5 en 6,5 blijven.
  1. a
    Welke spanningen horen bij pH 5,5, 5,8 en 6,5?
  2. b
    Hoeveel pH is één ADC-stap met de referentie van 5 V?
  3. c
    Kan je de referentie van 2,56 V (INTERNAL2V56) gebruiken? Hoeveel pH per stap wordt het dan?
  4. d
    De pH-module is maar tot ongeveer 0,1 pH nauwkeurig. Is de fijnere stap dan zinvol?
25.8

Hoe vaak meten?

Toepassen5Analyseren20 min
Kies voor elk signaal van de klimaatmodule een zinvolle bemonsteringsfrequentie, en verantwoord.
  1. a
    Vul de tabel in.
    signaalsnelste veranderingbemonsteringwaarom
    temperatuur voedingsreservoir
    CO₂ in de kweekruimte
    waterniveau in het reservoir (klotst na het aanslaan van de pomp met ±1 Hz)
    batterijstroom met PWM-lampen (490 Hz)
  2. b
    Voor het waterniveau wil je alleen het gemiddelde niveau, niet het klotsen. Wat doe je, met de regel van Nyquist in gedachten?
25.9

Aliasing tekenen

Toepassen5Tekenen20 min
Een signaal van 11 Hz wordt 10 keer per seconde gemeten, te beginnen bij t = 0.
0,00,10,20,30,40,50,60,70,80,91,0−1,5−1,0−0,50,00,51,01,5t (s)signaalsignaal van 11 Hz
Een signaal van 11 Hz; teken de metingen erop.
  1. a
    Duid de metingen aan op t = 0; 0,1; 0,2 … 1,0 s.
  2. b
    Verbind de metingen met een vloeiende kromme. Welke frequentie lijkt het signaal te hebben?
  3. c
    Vergelijk met het signaal van 9 Hz uit het handboek. Wat is hetzelfde, wat is anders?
  4. d
    Hoe vaak had je minstens moeten meten?
25.10

Labo: PWM gladstrijken

Toepassen6Labo50 min
Voer de proef van het handboek uit: pin 9 → 10 kΩ → 10 µF → GND, meet op A0 en met een voltmeter.
  1. a
    Schrijf het programma: een waarde uit de seriële monitor naar analogWrite, dan 200 metingen van A0 met hun laagste, hoogste en gemiddelde waarde.
  2. b
    Meet voor minstens vijf waarden.
    waardeD (%)D · 5 Vvoltmeter (V)A0 min-maxA0 gemiddeld → V
  3. c
    Zet de voltmeterwaarde uit tegen D. Wat verwacht je, en klopt het?
  4. d
    Vervang 10 µF door 1 µF. Wat verandert er aan de rimpel en aan de insteltijd? Verklaar met τ.
Zo wordt dit beoordeeld
ProgrammaanalogWrite met de ingelezen waarde; 200 metingen met min, max en gemiddelde; geen delay die het meten verstoort.
MetingMinstens vijf waarden, met eenheden; elco juist gepoold.
VerwerkingGrafiek U tegen D: een rechte door de oorsprong met helling ±5 V.
VerklaringRimpel en insteltijd verklaard met τ = RC: kleinere τ, snellere reactie, meer rimpel.
25.11

C++: een dimmer met een potentiometer

Toepassen5Programmeren25 min
Een potentiometer van 10 kΩ tussen 5 V en GND, met de loper op A0. Een led met 220 Ω hangt aan pin 9.
  1. a
    Schrijf een programma dat de led dimt met de potentiometer.
  2. b
    Een klasgenoot schrijft analogWrite(9, analogRead(A0));. Wat ziet hij als hij aan de knop draait, en waarom?
  3. c
    Waarom is analogRead(A0) / 4 hetzelfde als de twee laagste bits weglaten (>> 2)?
25.12

Hoeveel data?

Toepassen5Rekenen15 min
De datalogger van de klimaatmodule bewaart elke 10 s de zeven analoge waarden (A0-A6), elk in 2 bytes, plus een tijdstempel van 4 bytes.
  1. a
    Hoeveel bytes per meting, per dag en per jaar?
  2. b
    Als tekst (CSV) is een regel ongeveer 60 tekens (1 byte per teken). Hoeveel per jaar?
  3. c
    Hoe lang past dat op een SD-kaart van 8 GB?
Uitdagen

Uitdagen

transfer, open problemen, leerlijnen combineren
25.13

Habitat: de lampsturing van de klimaatmodule

Uitdagen7Habitat60 min
Werk de lampsturing uit het handboek verder uit. Het energiebeheer van hoofdstuk 20 zegt: laadtoestand boven 40 %: lampen volgens schema; tussen 20 en 40 %: alleen als de zonnepanelen leveren; onder 20 %: lampen uit. Met PWM kan dat zachter. De laadtoestand is in het programma beschikbaar als float soc (0-100).
  1. a
    Stel een regel voor die de lampen niet in één klap uitschakelt, maar hun maximum geleidelijk verlaagt tussen 40 en 20 %. Schrijf ze als formule en als een stukje C++.
  2. b
    Bereken de PWM-waarde bij 3000 lux daglicht en een laadtoestand van 30 %, met jouw regel.
  3. c
    Bereken het verlies in de MOSFET bij die waarde (geleiding en schakelen) en de opwarming op de koelplaat.
  4. d
    Wat gebeurt er met de stroommeting op A4, en hoe pas je die aan?
Zo wordt dit beoordeeld
RegelContinu tussen 20 en 40 %, geen sprong; ondergrens en bovengrens juist; in code met constrain of map.
BerekeningTekort aan daglicht en de begrenzing correct gecombineerd (de kleinste van beide).
VerliezenGeleiding D · R · I² en schakelen 2 · ½ U I t · f; opwarming met 7 °C/W.
MetenAliasing herkend; middelen over een geheel aantal PWM-perioden of filteren.
25.14

Schakelverliezen en de PWM-frequentie

Uitdagen7Rekenen25 min
Elke keer dat de MOSFET van de groeilampen schakelt, staan er even tegelijk spanning en stroom over. Met de gateweerstand van 220 Ω duurt een flank ongeveer 3 µs; reken met per flank (, ).
  1. a
    Bereken de energie per flank en het schakelverlies bij 490 Hz en bij 20 kHz.
  2. b
    Vergelijk met het geleidingsverlies bij D = 50 %. Wat besluit je?
  3. c
    De gate is een condensator die per flank ongeveer 50 nC lading nodig heeft. Welke gemiddelde stroom levert de pin bij 20 kHz? En welke piekstroom als de flank 3 µs duurt?
  4. d
    Waarom gebruikt men voor hoge PWM-frequenties een aparte gatedriver?
25.15

Onderzoek: ziet het oog lineair?

Uitdagen6Onderzoeken40 min
Een led aan pin 9 wordt gedimd met analogWrite. Het licht is evenredig met de duty cycle, maar ons oog lijkt daar anders over te denken.
  1. a
    Ontwerp een proef: laat proefpersonen kiezen welke waarde 'half zo fel' lijkt als 255. Wat verander je, wat meet je, wat hou je gelijk?
  2. b
    Voer de proef uit met minstens vijf personen. Noteer hun keuzes.
    persoon'half zo fel' bij waardeD (%)
  3. c
    Wat besluit je? Waarom maakt dat voor een lamp voor planten niet uit, en voor een lamp voor mensen wel?
25.16

Debat: een ADC van 16 bit kopen?

Uitdagen6Argumenteren25 min
Een groepje wil voor de klimaatmodule een externe ADC van 16 bit kopen (via I²C, hoofdstuk 30), 'want dan meten we alles 64 keer nauwkeuriger'. De sensoren: NTC (±0,5 °C na ijking), pH-module (±0,1 pH), druksensor MPX5010 (±5 % van het bereik), LDR (±30 % tussen exemplaren).
  1. a
    Klopt 'nauwkeuriger'? Gebruik de begrippen resolutie en nauwkeurigheid.
  2. b
    Voor welke sensor zou 16 bit echt iets opleveren, en voor welke zeker niet?
  3. c
    Wat raad je het groepje aan?
ZelfevaluatieKleur per doel: lukt al / bijna / nog niet