PWM : modulation par largeur d’impulsion
Introduction
La modulation par largeur d’impulsion (Pulse width modulation ou PWM) est un concept simple largement utilisé. Jetons un coup d’œil à une onde carrée.
Notez que le signal est totalement numérique car il transite entre les états On/High et Off/Low. C’est différent, par exemple, d’un signal sinusoïdal analogique pour lequel les variations sont douces tout au long de la forme d’onde.
Notez également que, pour une onde carrée, le signal est ON pendant la moitié du temps et il est OFF pendant l’autre moitié du temps.
La portion de la forme d’onde qui est à l’état ON est appelée rapport cyclique (Duty Cycle) – c’est la proportion du temps pendant laquelle le signal délivre de l’énergie. Pour un signal carré c’est 50% du temps, ainsi le rapport cyclique est de 50% ; c.a.d. que si la période est de 1s (fréquence de 1Hz), alors le signal est ON pendant 0,5s et OFF pendant 0,5s.
La partie positive de la forme d’onde (partie On) peut également être vue comme une impulsion d’énergie. En modifiant la largeur de l’impulsion (le rapport cyclique), nous pouvons modifier la proportion d’énergie délivrée par la forme d’onde.
C’est de là que provient le terme « Pulse Width Modulation » (modifier la largeur de l’impulsion).
Principales utilisations du PWM
La modulation par largeur d’impulsion (Pulse width modulation ou PWM) est un concept simple largement utilisé.
La modulation par largeur d’impulsion est une possibilité dont dispose un système numérique pour générer une sortie analogique (en faisant passer le signal PWM dans un circuit additionnel et/ou un système mécanique). Des exemples d’applications du PWM sont :
- Un signal PWM peut être utilisé pour générer une tension analogique en faisant passer le signal dans un filtre passe-bas.
- Un PWM peut être utilisé pour contrôler de manière proportionnelle un moteur à courant continu (DC).
3. Un PWM est utilisé pour fixer la position de certains types de servomoteurs.
- Le PWM peut être utilisé pour contrôler la quantité de chaleur générée par un élément chauffant.
- Le PWM est utilisé dans les convertisseurs BUCK et BOOST pour convertir une tension d’entrée en une tension plus faible ou plus haute (voir l’article sur les convertisseurs BUCK et BOOST)
- Le PWM peut être utilisé pour contrôler la luminosité apparente d’une lampe ou d’une LED.
- et plus encore, beaucoup plus.
Du PWM au signal analogique
Voyons comment convertir un signal PWM en un signal analogique. Pour cela nous avons besoin d’un filtre passe-bas (voir notre article sur les filtres)
Le signal numérique PWM 5V est converti en une sortie analogique (50% de 5V = 2,5V).
Tous ces exemples simples peuvent être simulés rapidement grâce au module Proteus de simulation avancée par graphes.
De valeurs plus petites de R (résistance) ou C (condensateur) répondront plus rapidement à des variations de l’entrée mais produiront plus de gigue (jitter) en sortie (et vice versa).
Une modification du rapport cyclique changera la tension de sortie. Par exemple, un « duty cycle » de 20% produira une tension de sortie de 1V (20% de 5V = 1V) :
Inversement un rapport cyclique de 80% générera une tension de sortie de 4V (80% de 5V = 4V) :
Le fait d’augmenter la fréquence du PWM diminuera le jitter en sortie.
En résumé, des valeurs relativement faibles de résistance et/ou condensateur peuvent être utilisées pour produire des réponses plus rapides par rapport aux variations de l’entrée; c’est généralement la règle pour un PWM. Plus la fréquence du PWM est élevée, plus la sortie sera lissée.
Lorsqu’on s’intéresse à la réactivité, souvenez-vous que si on veut l’augmenter alors les éléments de lissage (la résistance et le condensateur de notre filtre passe-bas plus haut) doivent être plus petits.
Accessoirement, le niveau de puissance de l’entrée (la tension d’entrée de la forme d’onde dans les exemples ci-dessus) doit être augmentée. Dans un système mécanique, l’élément de lissage du système peut être l’inertie du système (masse).
Il y a toujours des limites hautes et basses aux fréquences possibles pour le PWM – cela peut être la fréquence d’horloge du système qui génère le PWM ou le temps de réponse de(s) l’élément(s) qui commute(nt) la sortie – un relais peut commuter en quelques ms.
Comme indiqué dans l’article sur les filtres passifs, un filtre passe-bas constitué d’inductance et de résistance peut être aussi utilisé.
Des filtres résistance – condensateur sont généralement préférés pour ce type d’application.
PWM enfoui
La plupart des microcontrôleurs modernes possèdent des périphériques PWM internes capables de générer des sorties PWM dans une certaine gamme de fréquences et de résolutions. S’il faut générer des fréquences inférieures aux capacités du périphérique PWM interne, il est possible d’utiliser un timer en interruption et de régler manuellement l’état haut et bas de la broche.
Sur Arduino, la fonction analogWrite() génère directement une sortie PWM.
Reportez vous au navigateur de projets exemples
Résumé
Le principe du PWM est très simple – convertir une entrée numérique en une sortie analogique. Les variables du système sont la force (tension), la fréquence, le rapport cyclique et l’inertie de l’élément de lissage. Le réglage fin (tuning) d’un système doit être adapté à chaque application.
Copyright Labcenter Electronics Ltd. 2024
Traduction française
Copyright Multipower France 2024