Pulsbreedtemodulaasje (PWM) is in moaie term foar in soarte digitaal sinjaal. PWM's wurde brûkt yn in ferskaat oan tapassingen, ynklusyf komplekse kontrôlesirkwy's. In gewoane manier wêrop wy se by SparkFun brûke, is om in RGB LED te dimmen of de rjochting fan in servo te kontrolearjen. Wy kinne in ferskaat oan resultaten berikke yn beide tapassingen, om't PWM ús mooglik makket om de hoemannichte tiid dat in sinjaal heech is op in analoge manier te fariearjen. Wylst in sinjaal allinich heech (meastal 5V) of leech (grûn) op in bepaald momint kin wêze, kinne wy de ferhâlding fan 'e tiid fariearje dat it sinjaal heech is yn ferliking mei leech oer in konsekwint tiidsynterval.
As in sinjaal heech is, neame wy it "op tiid". Om de hoemannichte "op tiid" te beskriuwen, brûke wy it konsept fan duty cycle. Duty cycle wurdt metten yn persintaazjes. It duty cycle persintaazje beskriuwt spesifyk it persintaazje tiid dat in digitaal sinjaal oan is binnen in ynterval of perioade. De perioade is de inverse fan 'e frekwinsje fan' e golffoarm. As in digitaal sinjaal de helte fan 'e tiid oan is en de oare helte út, sizze wy dat it digitale sinjaal in duty cycle fan 50% hat, fergelykber mei in ideale fjouwerkante golf. As it persintaazje heger is as 50%, bringt it digitale sinjaal mear tiid troch yn 'e hege steat as yn' e lege steat, en oarsom as de duty cycle minder is as 50%. It folgjende diagram yllustrearret dizze trije gefallen:

In duty cycle fan 100% is itselde as it ynstellen fan de spanning op 5 volt (heech). In duty cycle fan 0% is itselde as it ferbinen fan it sinjaal mei de grûn.
foarbyld
Jo kinne de helderheid fan 'e LED kontrolearje troch de duty cycle oan te passen.

Mei RGB (reade, griene en blauwe) LED's kinne jo de hoemannichte fan elk fan 'e trije mingde kleuren kontrolearje troch se mei ferskillende hoemannichten te dimmen.

As alle trije yn gelikense hoemannichten oan binne, sil it resultaat ferskillende skaden fan wyt ljocht wêze. Deselde minging fan blau en grien sil in blau-griene kleur meitsje. Foar in wat yngewikkelder foarbyld, besykje read folslein oan te setten, grien folslein oan mei 50% duty cycle, en blau folslein út om in oranje kleur te meitsjen.

By it kontrolearjen fan LED's moat de frekwinsje fan 'e fjouwerkante weach heech genôch wêze om in goed dimeffekt te berikken. In weach fan 20% duty cycle by 1 Hz sil dúdlik sjen litte dat er oan en út giet, wylst in weach fan 100% duty cycle by 20 Hz of heger dofder liket as wannear't er folslein oan is. Yn essinsje, as jo doel is om in dimeffekt te berikken mei LED's, kin de perioade net te grut wêze. Jo kinne ek pulsbreedtemodulaasje brûke om de hoeke fan in servomotor te kontrolearjen dy't ferbûn is mei in meganysk apparaat lykas in robotarm. In servo hat in as dy't nei in spesifike posysje draait op basis fan syn kontrôleline. Us servomotors hawwe in berik fan sawat 180 graden.
De frekwinsje/perioade is spesifyk foar it kontrolearjen fan in bepaalde servo. In typyske servomotor ferwachtet elke 20 ms in update, mei in puls tusken 1 ms en 2 ms - mei oare wurden, in duty cycle tusken 5% en 10% op in golffoarm fan 50 Hz. Mei in puls fan 1,5 ms sil de servomotor yn syn natuerlike posysje fan 90 graden wêze. By in puls fan 1 ms sil de servo op 0 graden wêze, en by in puls fan 2 ms sil de servo op 180 graden wêze. Jo kinne it folsleine bewegingsberik krije troch de servo by te wurkjen nei wearden dertuskenyn.
Pulsbreedtemodulaasje wurdt brûkt yn in ferskaat oan tapassingen, benammen kontrôle. No't jo witte dat it brûkt wurde kin om LED's te dimmen en de hoeke fan servomotors te kontrolearjen, kinne jo oare mooglike gebrûken begjinne te ferkennen. As jo jo ferlern fiele, kinne jo de SparkFun Inventor's Kit besjen, dy't foarbylden befettet mei pulsbreedtemodulaasje. As jo klear binne om direkt te begjinnen mei kodearjen en in Arduino hawwe, besjoch dan de PWM-kodearringsfoarbylden hjir.
Pleatsingstiid: 31 july 2025


