Pulsbreedtemodulatie (pwm): soepele controle voor jouw modelbaan
Heb je je ooit afgevraagd hoe je jouw modeltreinen fluweelzacht kunt laten optrekken en afremmen, of hoe je verlichting realistisch kunt dimmen?
Het antwoord is vaak verborgen in de wereld van Pulsbreedtemodulatie, kortweg PWM.
Het is een techniek die essentiële controle biedt over de beweging en verlichting op je modelbaan.
Duik met ons in de basisprincipes van PWM en ontdek hoe het jouw hobby naar een hoger niveau tilt.
PWM staat voor Pulse Width Modulation (pulsbreedtemodulatie).
Het is een veelgebruikte techniek in elektronica om met een digitaal signaal (aan/uit) toch een analoge werking te bereiken, bijvoorbeeld voor het regelen van motorsnelheid, LED-helderheid of vermogen.
Ik leg het stap voor stap uit.
- PWM met vaste frequentie
Bij PWM schakelt een signaal continu aan en uit met een vaste frequentie.
* Frequentie = hoe vaak per seconde het signaal een volledige cyclus maakt
(bijv. 1 kHz = 1000 keer per seconde)
* Arduino 490 Hz pin 3,9,10,11
* Arduino 980 Hz pin 5,6
* De periodetijd is:
Periodetijd = 1/ Frequentie
Bij een vaste frequentie blijft deze periode altijd gelijk.
Alleen de tijd dat het signaal “hoog” is, verandert.
- Pulsbreedte (duty cycle)
De pulsbreedte wordt meestal uitgedrukt als de duty cycle.
De duty cycle (inschakelduur) is de verhouding tussen de tijd dat een systeem of signaal actief ("AAN") is en de totale cyclustijd, meestal uitgedrukt als een percentage.
Voorbeelden:
* 0% altijd uit
* 50% half aan, half uit
* 100% altijd aan
Hoe groter de duty cycle, hoe hoger het gemiddelde vermogen of spanning.
Bij een 5 V PWM-signaal:
* 25% duty cycle gemiddeld 1,25 V
* 50% duty cycle gemiddeld 2,5 V
* 75% duty cycle gemiddeld 3,75 V
(mits gefilterd of traag belast)
- Fourier-analyse van PWM
Een PWM-signaal is geen zuivere sinus, maar een blokgolf.
Met Fourier-analyse kun je zo’n blokgolf ontbinden in:
* een DC-component (gemiddelde waarde)
* plus een reeks sinusvormige wisselcomponenten
Bij PWM krijg je:
* een DC-term (afhankelijk van de duty cycle)
* sinuscomponenten op:
o de fundamentele frequentie (PWM-frequentie)
o en veelvouden daarvan
- Harmonischen
De extra sinuscomponenten heten harmonischen.
* 1e harmonische basisfrequentie
* 2e harmonische 2 x basisfrequentie
* 3e harmonische 3 x basisfrequentie
* enz.
Bij een symmetrische PWM (bijv. 50% duty cycle):
* verdwijnen de even harmonischen
* blijven vooral de oneven harmonischen over
Bij andere duty cycles:
* verschijnen zowel even als oneven harmonischen
* de amplitudes veranderen met de pulsbreedte
- Waarom zijn harmonischen belangrijk?
Harmonischen veroorzaken:
* elektromagnetische storing (EMI)
* ruis in audio
* extra verliezen in motoren
* ongewenste warmte
Daarom gebruikt men vaak:
* laagdoorlaatfilters
* spoelen en condensatoren
* of een hoge PWM-frequentie zodat harmonischen makkelijker te filteren zijn
- Samenvatting
* PWM: digitaal schakelen met analoge werking
* Vaste frequentie: periode blijft constant
* Pulsbreedte (duty cycle): bepaalt gemiddeld vermogen
* Fourier-analyse: ontleedt PWM in DC + sinuscomponenten
* Harmonischen: veelvouden van de basisfrequentie, afhankelijk van duty cycle
De opstelling:
Een arduino met een potmeter en een scoop
Natuurlijk kan er ook een functiegenerator gebruikt worden.
Vereiste blokspanning met regelbare duty cycle
Opstelling:
Arduino
Potmeter aan de analoge ingang pin A0
1 kOhm aan de uitgang pin 9
9 volt batterij
Arduino programma:
const int analogInPin = A0;
const int analogOutPin = 9;
int sensorValue = 0;
int outputValue = 0;
void setup() {
}
void loop() {
sensorValue = analogRead (analogInPin);
outputValue = map (sensorValue,0,1023,0,255);
analogWrite(analogOutPin,outputValue);
delay(2);
}
Maak jouw eigen website met JouwWeb