- Wat is PWM (Pulse Width Modulation)?
- Inschakelduur van de PWM
- Enkele veel voorkomende vragen over PWM
Inverters, converters, SMPS-circuits en snelheidsregelaars… Een ding dat in al deze circuits gebruikelijk is, is dat het uit veel elektronische schakelaars bestaat. Deze schakelaars zijn niets anders dan vermogenselektronische apparaten zoals MOSFET, IGBT, TRIAC enz. Om dergelijke vermogenselektronische schakelaars te besturen, gebruiken we gewoonlijk zoiets als PWM-signalen (Pulse Width Modulation). Afgezien hiervan worden PWM-signalen ook gebruikt voor het aandrijven van servomotoren en ook voor andere eenvoudige taken zoals het regelen van de helderheid van een LED.
In ons vorige artikel leerden we over ADC, terwijl ADC wordt gebruikt om analoge signalen te lezen door een digitaal apparaat zoals een microcontroller. Een PWM kan worden beschouwd als precies het tegenovergestelde ervan, PWM wordt gebruikt om analoge signalen te produceren van een digitaal apparaat zoals een microcontroller. In dit artikel zullen we leren wat PWM, PWM-signalen en enkele bijbehorende parameters zijn, zodat we er zeker van zijn dat we ze in onze ontwerpen kunnen gebruiken.
Wat is PWM (Pulse Width Modulation)?
PWM staat voor Pulse Width Modulation; we zullen later op de reden voor zo'n naam ingaan. Maar begrijp PWM voorlopig als een soort signaal dat kan worden geproduceerd door een digitaal IC zoals een microcontroller of 555-timer. Het aldus geproduceerde signaal zal een reeks pulsen hebben en deze pulsen hebben de vorm van een blokgolf. Dat wil zeggen, op een bepaald moment zal de golf ofwel hoog ofwel laag zijn. Laten we voor het gemak een 5V PWM-signaal overwegen, in dit geval is het PWM-signaal ofwel 5V (hoog) of op grondniveau 0V (laag). De duur dat de signalen hoog blijven, wordt de " aan-tijd " genoemd en de duur waarop het signaal laag blijft, wordt de " uit-tijd " genoemd.
Voor een PWM-signaal moeten we kijken naar twee belangrijke parameters die eraan zijn gekoppeld, de ene is de PWM-duty-cycle en de andere is de PWM-frequentie.
Inschakelduur van de PWM
Zoals eerder verteld, blijft een PWM-signaal een bepaalde tijd aan en blijft dan de rest van de periode uit. Wat dit PWM-signaal speciaal en nuttiger maakt, is dat we kunnen instellen hoe lang het moet blijven branden door de duty-cycle van het PWM-signaal te regelen.
Het percentage van de tijd waarin het PWM-signaal HOOG (op tijd) blijft, wordt de duty-cycle genoemd. Als het signaal altijd AAN is, is het in 100% inschakelduur en als het altijd uit is, is het 0% inschakelduur. De formules om de duty-cycle te berekenen, worden hieronder weergegeven.
Duty Cycle = Inschakeltijd / (Inschakeltijd + Uitschakeltijd)
De volgende afbeelding vertegenwoordigt een PWM-signaal met een inschakelduur van 50%. Zoals u kunt zien, blijft het PWM-signaal slechts 50% van de tijdsperiode aan, rekening houdend met een hele tijdsperiode (aan tijd + uit tijd).
Frequentie = 1 / Tijdsperiode Tijdsperiode = Aan-tijd + Uit-tijd
Normaal gesproken zullen de PWM-signalen die door de microcontroller worden gegenereerd rond de 500 Hz zijn, dergelijke hoge frequenties zullen worden gebruikt in apparaten met hoge snelheden, zoals omvormers of converters. Maar niet alle toepassingen vereisen een hoge frequentie. Om bijvoorbeeld een servomotor aan te sturen, moeten we PWM-signalen produceren met een frequentie van 50Hz, dus de frequentie van een PWM-signaal is ook programmeerbaar voor alle microcontrollers.
Enkele veel voorkomende vragen over PWM
Wat is het verschil tussen de duty-cycle en frequentie van een PWM-signaal?
De duty-cycle en frequentie van een PWM-signalen worden vaak verward. Zoals we weten is een PWM-signaal een blokgolf met een bepaalde tijd aan en uit. De som van deze tijd aan en uit wordt een tijdsperiode genoemd. Het omgekeerde van één tijdsperiode wordt frequentie genoemd. Hoewel de hoeveelheid tijd dat het PWM-signaal in één tijdsperiode aan moet blijven, wordt bepaald door de werkcyclus van de PWM.
Om het simpel te zeggen, hoe snel het PWM-signaal moet worden in- en uitgeschakeld, wordt bepaald door de frequentie van het PWM-signaal en bij die snelheid wordt bepaald hoe lang het PWM-signaal ingeschakeld moet blijven door de duty-cycle van het PWM-signaal.
Hoe PWM-signalen om te zetten in analoge spanning?
Voor eenvoudige toepassingen zoals het regelen van de snelheid van een DC-motor of het aanpassen van de helderheid van een LED moeten we de PWM-signalen omzetten in analoge spanning. Dit kan eenvoudig worden gedaan door een RC-filter te gebruiken en wordt vaak gebruikt wanneer een DAC-functie vereist is. Het circuit voor hetzelfde wordt hieronder getoond
In de bovenstaande grafiek is de gele kleur het PWM-signaal en de blauwe kleur de analoge uitgangsspanning. De waarde van de weerstand R1 en condensator C1 kan worden berekend op basis van de frequentie van het PWM-signaal, maar normaal wordt een weerstand van 5,7K of 10K en een condensator van 0,1u of 1u gebruikt.
Hoe de uitgangsspanning van het PWM-signaal berekenen?
De uitgangsspanning van een PWM-signaal na omzetting naar analoog is het percentage van de werkcyclus. Als de bedrijfsspanning bijvoorbeeld 5V is, heeft het PWM-signaal ook 5V als het hoog is. In dat geval is voor een inschakelduur van 100% de uitgangsspanning 5V en voor een inschakelduur van 50% is het 2,5V.
Uitgangsspanning = inschakelduur (%) * 5
Voorbeelden:
We hebben eerder in veel van onze projecten PWM met verschillende microcontrollers gebruikt:
- Pulsbreedtemodulatie met ATmega32
- PWM met Arduino Uno
- PWM genereren met PIC Microcontroller
- Raspberry Pi PWM-zelfstudie
- Servomotorbesturing met Raspberry Pi
- Pulsbreedtemodulatie (PWM) met MSP430G2
- Pulsbreedtemodulatie (PWM) in STM32F103C8
- Servomotorbesturing met Raspberry Pi
- DC-motorbesturing met Raspberry Pi
- 1 watt LED Dimmer
- Arduino-gebaseerde LED-dimmer met PWM
Bekijk hier verder alle PWM-gerelateerde projecten.