Dans cet article, vous allez comprendre, c’est quoi, un signal PWM, son utilité et on traitera les deux modes PWM dans le stm32.
Explication général d’un signal PWM :
La modulation de largeur d’impulsion (PWM) est une technique utilisée pour générer plusieurs impulsions avec des différents rapports cycliques dans une période de temps donnée ou à une fréquence donnée. La PWM a de nombreuses applications en électronique numérique, parmi eux:
- Coder (moduler) un message sur une onde porteuse (qui fonctionne à une fréquence donnée).
- Commande de moteur.
- Conversion de puissance.
- La génération d’une onde de sortie à une fréquence donnée (sinusoïdale, triangulaire, carrée, etc.).
Dans la figure ci-dessus, D est le rapport cyclique, TON est le temps pendant lequel le signal est actif. Ainsi, un rapport cyclique de 50% signifie que le signal est actif 50% du temps et inactif 50% du temps. Le rapport cyclique ne dit rien sur la durée du signal. La durée d’activation d’un signal dépend de la longueur de la période. La largeur d’impulsion est la durée de la TON, compte tenu de la période réelle. Par exemple, en supposant une période de 1s, un cycle d’utilisation de 60% génère une largeur d’impulsion de 600ms.
PWM sur STM32
Pour créer un signal PWM sur STM32, on utilise un timer configurable en mode PWM (le Timer c’est un compteur à fonctionnement libre, il dispose d’une fréquence de comptage issue d’une horloge source). Il existe deux modes PWM sur STM32 :
PWM mode1 : au comptage, tant que la valeur de comptage(Period) est inférieur à Pulse( valeur où le signal va changer d’état) on a un signal active ( état 1 ), sinon on a un signal inactive ( état 0 ). Au décomptage, tant que Period>Pulse on a un signal inactive, sinon active.
PWM mode2 : Au comptage, tant que Period>Pulse on a un signal active, sinon inactive. Au décomptage, tant que Period<Pulse on a un signal inactive, sinon active.
Period: c’est la période du signal, on lui attribue la valeur max de comptage quand le compteur atteint cette valeur il se réinitialise.
Pour générer votre signal PWM sur STM32 consultez notre article : créer facilement un signal PWM sur un STM32 .