La modulació per amplada de pols (PWM) és un terme sofisticat per a un tipus de senyal digital. Els PWM s'utilitzen en una varietat d'aplicacions, inclosos circuits de control complexos. Una manera habitual d'utilitzar-los a SparkFun és per atenuar un LED RGB o controlar la direcció d'un servo. Podem aconseguir una gamma de resultats en ambdues aplicacions perquè el PWM ens permet variar la quantitat de temps que un senyal és alt de manera analògica. Tot i que un senyal només pot ser alt (normalment 5V) o baix (terra) en un moment donat, podem variar la proporció de temps que el senyal és alt en comparació amb baix durant un interval de temps consistent.
Quan un senyal és alt, l'anomenem "en temps". Per descriure la quantitat de "temps en", utilitzem el concepte de cicle de treball. El cicle de treball es mesura en percentatges. El percentatge del cicle de treball descriu específicament el percentatge de temps que un senyal digital està activat dins d'un interval o període. El període és la inversa de la freqüència de la forma d'ona. Si un senyal digital està activat la meitat del temps i desactivat l'altra meitat, diem que el senyal digital té un cicle de treball del 50%, similar a una ona quadrada ideal. Si el percentatge és superior al 50%, el senyal digital passa més temps en estat alt que en estat baix, i viceversa si el cicle de treball és inferior al 50%. El diagrama següent il·lustra aquests tres casos:

Un cicle de treball del 100% és el mateix que establir el voltatge a 5 volts (alt). Un cicle de treball del 0% és el mateix que connectar el senyal a terra.
exemple
Podeu controlar la brillantor del LED ajustant el cicle de treball.

Amb els LED RGB (vermell, verd i blau), podeu controlar la quantitat de cadascun dels tres colors barrejats atenuant-los en diferents quantitats.

Si tots tres s'encenen en quantitats iguals, el resultat seran diferents tons de llum blanca. La mateixa barreja de blau i verd crearà un color verd blavós. Per a un exemple una mica més complex, proveu d'encendre completament el vermell, encendre completament el verd al 50% del cicle de treball i apagar completament el blau per crear un color taronja.

Quan es controlen els LED, la freqüència de l'ona quadrada ha de ser prou alta per aconseguir un efecte de regulació adequat. Una ona del cicle de treball del 20% a 1 Hz mostrarà clarament que s'encén i s'apaga a ull nu, mentre que un cicle de treball del 100% a 20 Hz o superior apareixerà més tènue que quan està completament encès. Essencialment, si el vostre objectiu és aconseguir un efecte de regulació amb els LED, el període no pot ser massa gran. També podeu utilitzar la modulació d'amplada de pols per controlar l'angle d'un servomotor connectat a un dispositiu mecànic com un braç robòtic. Un servo té un eix que gira a una posició específica en funció de la seva línia de control. Els nostres servomotors tenen un rang d'aproximadament 180 graus.
La freqüència/període és específic per controlar un servo en particular. Un servomotor típic espera una actualització cada 20 ms, amb un pols entre 1 ms i 2 ms; en altres paraules, un cicle de treball entre el 5% i el 10% en una forma d'ona de 50 Hz. Amb un pols d'1,5 ms, el servomotor estarà en la seva posició natural de 90 graus. Amb un pols d'1 ms, el servo estarà a 0 graus i, amb un pols de 2 ms, el servo estarà a 180 graus. Podeu obtenir el rang complet de moviment actualitzant el servo a valors intermedis.
La modulació per amplada de pols s'utilitza en diverses aplicacions, especialment en el control. Ara que ja sabeu que es pot utilitzar per atenuar els LED i controlar l'angle dels servomotors, podeu començar a explorar altres possibles usos. Si us sentiu perduts, no dubteu a consultar el kit d'inventors de SparkFun, que inclou exemples que utilitzen la modulació per amplada de pols. Si esteu preparats per començar a programar ara mateix i teniu un Arduino, consulteu els exemples de codificació PWM aquí.
Data de publicació: 31 de juliol de 2025


