Pulsbreedtemodulatie (PWM) is een chique term voor een type digitaal signaal. PWM's worden gebruikt in diverse toepassingen, waaronder complexe regelcircuits. Een veelgebruikte manier waarop we ze bij SparkFun gebruiken, is om een RGB-led te dimmen of de richting van een servo te regelen. We kunnen in beide toepassingen uiteenlopende resultaten behalen, omdat we met PWM de tijdsduur van een hoog signaal op een analoge manier kunnen variëren. Hoewel een signaal op een bepaald moment alleen hoog (meestal 5 V) of laag (aarde) kan zijn, kunnen we de verhouding van de tijdsduur dat het signaal hoog ten opzichte van laag is, variëren over een consistent tijdsinterval.
Wanneer een signaal hoog is, noemen we het "aan-tijd". Om de hoeveelheid "aan-tijd" te beschrijven, gebruiken we het concept duty cycle. Duty cycle wordt gemeten in percentages. Het duty cycle-percentage beschrijft specifiek het percentage van de tijd dat een digitaal signaal aan is binnen een interval of periode. De periode is de inverse van de frequentie van de golfvorm. Als een digitaal signaal de helft van de tijd aan is en de andere helft uit, zeggen we dat het digitale signaal een duty cycle van 50% heeft, vergelijkbaar met een ideale blokgolf. Als het percentage hoger is dan 50%, brengt het digitale signaal meer tijd door in de hoge toestand dan in de lage toestand, en vice versa als de duty cycle kleiner is dan 50%. Het volgende diagram illustreert deze drie gevallen:

Een duty cycle van 100% komt overeen met het instellen van de spanning op 5 volt (hoog). Een duty cycle van 0% komt overeen met het aansluiten van het signaal op aarde.
voorbeeld
U kunt de helderheid van de LED regelen door de duty cycle aan te passen.

Met RGB-leds (rood, groen en blauw) kunt u de hoeveelheid van de drie kleuren die worden gemengd, regelen door ze in verschillende mate te dimmen.

Als alle drie in gelijke mate worden ingeschakeld, resulteert dit in verschillende tinten wit licht. Dezelfde mix van blauw en groen creëert een blauwgroene kleur. Voor een iets complexer voorbeeld: probeer rood volledig aan te zetten, groen volledig aan bij een bedrijfscyclus van 50% en blauw volledig uit om een oranje kleur te creëren.

Bij het aansturen van leds moet de frequentie van de blokgolf wel hoog genoeg zijn om een goed dimeffect te bereiken. Een golf met een duty cycle van 20% bij 1 Hz zal het aan- en uitgaan duidelijk zichtbaar maken, terwijl een duty cycle van 100% bij 20 Hz of hoger er zwakker uitziet dan wanneer de leds volledig aan staan. Kortom, als u een dimeffect met leds wilt bereiken, mag de periode niet te lang zijn. U kunt ook pulsbreedtemodulatie gebruiken om de hoek te regelen van een servomotor die is aangesloten op een mechanisch apparaat, zoals een robotarm. Een servo heeft een as die naar een specifieke positie draait op basis van de stuurlijn. Onze servomotoren hebben een bereik van ongeveer 180 graden.
De frequentie/periode is specifiek voor de aansturing van een specifieke servo. Een typische servomotor verwacht een update elke 20 ms, met een puls tussen 1 en 2 ms – met andere woorden, een duty cycle tussen 5% en 10% op een 50 Hz-golfvorm. Bij een puls van 1,5 ms bevindt de servomotor zich in zijn natuurlijke positie van 90 graden. Bij een puls van 1 ms bevindt de servo zich in een positie van 0 graden en bij een puls van 2 ms in een positie van 180 graden. U kunt het volledige bewegingsbereik bereiken door de servo bij te werken naar waarden die daartussen liggen.
Pulsbreedtemodulatie wordt in diverse toepassingen gebruikt, met name voor besturing. Nu je weet dat het gebruikt kan worden om leds te dimmen en de hoek van servomotoren te regelen, kun je andere mogelijke toepassingen gaan verkennen. Als je het even niet meer weet, bekijk dan gerust de SparkFun Inventor's Kit, met voorbeelden van pulsbreedtemodulatie. Ben je klaar om direct te beginnen met coderen en heb je een Arduino? Bekijk dan hier de voorbeelden van PWM-codering.
Plaatsingstijd: 31-07-2025


