Pulswydtemodulasie (PWM) is 'n deftige term vir 'n tipe digitale sein. PWM's word in 'n verskeidenheid toepassings gebruik, insluitend komplekse beheerkringe. 'n Algemene manier waarop ons hulle by SparkFun gebruik, is om 'n RGB-LED te dim of die rigting van 'n servo te beheer. Ons kan 'n reeks resultate in beide hierdie toepassings behaal, want PWM laat ons toe om die hoeveelheid tyd wat 'n sein hoog is, op 'n analoog manier te varieer. Terwyl 'n sein slegs hoog (gewoonlik 5V) of laag (grond) op enige gegewe tydstip kan wees, kan ons die verhouding van die tyd wat die sein hoog is in vergelyking met laag oor 'n konsekwente tydsinterval varieer.
Wanneer 'n sein hoog is, noem ons dit "aan tyd". Om die hoeveelheid "aan tyd" te beskryf, gebruik ons die konsep van die diensiklus. Die diensiklus word in persentasies gemeet. Die diensikluspersentasie beskryf spesifiek die persentasie tyd wat 'n digitale sein aan is binne 'n interval of periode. Die periode is die inverse van die golfvorm se frekwensie. As 'n digitale sein die helfte van die tyd aan is en die ander helfte af, sê ons die digitale sein het 'n 50%-diensiklus, soortgelyk aan 'n ideale vierkantsgolf. As die persentasie hoër as 50% is, spandeer die digitale sein meer tyd in die hoë toestand as in die lae toestand, en andersom as die diensiklus minder as 50% is. Die volgende diagram illustreer hierdie drie gevalle:

'n 100%-dienssiklus is dieselfde as om die spanning op 5 volt (hoog) te stel. 'n 0%-dienssiklus is dieselfde as om die sein aan grond te koppel.
voorbeeld
Jy kan die helderheid van die LED beheer deur die werksiklus aan te pas.

Met RGB (rooi, groen en blou) LED's kan jy die hoeveelheid van elk van die drie kleure wat gemeng word, beheer deur hulle met verskillende hoeveelhede te verdof.

As al drie in gelyke hoeveelhede aangeskakel word, sal die resultaat verskillende skakerings van wit lig wees. Dieselfde vermenging van blou en groen sal 'n blougroen kleur skep. Vir 'n effens meer komplekse voorbeeld, probeer om rooi heeltemal aan te skakel, groen heeltemal aan teen 50% diensiklus, en blou heeltemal af te skakel om 'n oranje kleur te skep.

Wanneer LED's beheer word, moet die frekwensie van die vierkantige golf hoog genoeg wees om 'n behoorlike dim-effek te verkry. 'n 20%-dienssiklusgolf teen 1 Hz sal duidelik wys dat dit aan- en afskakel, terwyl 'n 100%-dienssiklus teen 20 Hz of hoër dowwer sal lyk as wanneer dit volledig aan is. As jou doel is om 'n dim-effek met LED's te verkry, kan die periode nie te groot wees nie. Jy kan ook pulswydtemodulasie gebruik om die hoek van 'n servomotor te beheer wat aan 'n meganiese toestel soos 'n robotarm gekoppel is. 'n Servo het 'n as wat na 'n spesifieke posisie draai gebaseer op sy beheerlyn. Ons servomotors het 'n reikwydte van ongeveer 180 grade.
Die frekwensie/periode is spesifiek vir die beheer van 'n spesifieke servo. 'n Tipiese servomotor verwag 'n opdatering elke 20 ms, met 'n puls tussen 1 ms en 2 ms—met ander woorde, 'n werksiklus tussen 5% en 10% op 'n 50 Hz-golfvorm. Met 'n 1.5 ms-puls sal die servomotor in sy natuurlike 90-grade-posisie wees. Met 'n 1 ms-puls sal die servo op 0 grade wees, en met 'n 2 ms-puls sal die servo op 180 grade wees. Jy kan die volle bewegingsreeks kry deur die servo op te dateer na waardes tussenin.
Pulswydtemodulasie word in 'n verskeidenheid toepassings gebruik, veral beheer. Noudat jy weet dat dit gebruik kan word om LED's te dim en die hoek van servomotors te beheer, kan jy ander moontlike gebruike begin verken. As jy verlore voel, kyk gerus na die SparkFun Inventor's Kit, wat voorbeelde insluit wat pulswydtemodulasie gebruik. As jy gereed is om dadelik te begin kodeer en 'n Arduino het, kyk na die PWM-koderingsvoorbeelde hier.
Plasingstyd: 31 Julie 2025


