Modulation de largeur d'impulsion (PWM) : présentation et utilisation

Avant le développement de la modulation de largeur d'impulsion (PWM), le seul moyen d'ajuster la tension ou le courant à des fins de gradation était de recourir à des rhéostats ou à des potentiomètres. Par ailleurs, le contrôle de composants plus grands tels que les moteurs, les vannes, les pompes, les composants hydrauliques et d'autres composants mécaniques est plus simple avec la modulation de largeur d'impulsion.

Normalement, une tension CC reste constante à une certaine valeur au-dessus ou en-dessous zéro. La modulation de largeur d'impulsion transforme un signal numérique en signal analogique en modifiant sa durée d'activité et d'inactivité. Le terme « rapport cyclique » est utilisé pour décrire le pourcentage de temps passé à l'état actif et celui passé à l'état inactif, ou le rapport entre ces deux durées. Habituellement, les dispositifs capables de produire une sortie PWM présentent une fréquence de rafraîchissement très élevée pour s'assurer que la puissance moyenne semble constante à une charge. Par exemple, j'ai testé le dispositif Arduino avec un analyseur numérique qui affichait une fréquence de rafraîchissement d'environ 500 Hz. Voici un exemple de ce à quoi ressemblent les signaux PWM. J'ai utilisé l'outil LTSpice pour simuler le signal et j'ai fait une capture d'écran de la forme d'onde.

Signal PWM généré via LTSpice, un programme de simulation de circuit conçu par Analog Devices.

J'ai utilisé différents niveaux de tension et défini un décalage pour chaque signal afin de montrer les différences entre les rapports cycliques. Comme vous pouvez le voir, un rapport cyclique supérieur signifie que le signal reste actif plus longtemps que sa durée d'inactivité, alors que c'est l'inverse pour les rapports cycliques faibles.

Qu'est-ce que ce type de signal accomplit exactement ? Un dispositif à capacité PWM conserve le rapport cyclique défini par l'utilisateur, quel qu'il soit. Dans certains cas, l'utilisateur peut même programmer des changements de largeur d'impulsion à tout moment. Mathématiquement parlant, les dispositifs à capacité PWM modifient la sortie afin de créer une tension « moyenne ». Un signal défini à un rapport cyclique de 50 % réduit approximativement de 50 % la tension moyenne présentée à une charge. Toutefois, ce n'est pas toujours pratique étant donné que les dispositifs ne sont pas précis à 100 %. Il existe une meilleure mesure à prendre en compte : la valeur efficace (RMS). De nombreux multimètres et autres équipements de mesure peuvent prendre des mesures de valeur efficace. Par exemple, dans une simulation sur LTSpice, un signal de 5 VCC avec un rapport cyclique de 50 % et une fréquence de rafraîchissement de 60 Hz affiche une tension efficace de 3,57 V. J'ai aussi utilisé une charge qui consomme typiquement 1 A sans impulsion PWM dans la même simulation, et elle affichait une valeur efficace de 714 mA avec un rapport cyclique de 50 %.

Les signaux numériques ont tendance à rester autour de 5 V ou de 3,3 V selon l'application, mais il est possible de « dupliquer » l'effet sur de plus hautes tensions en utilisant des MOSFET. Étant donné que ces transistors sont souvent utilisés en tant que commutateurs commandés en tension, ils s'activent et se désactivent à la même fréquence que le signal PWM en fonction de la tension grille-source. Cette réaction permet aux hautes tensions de ressembler au signal PWM et de suivre le même comportement. La modulation de largeur d'impulsion est particulièrement utile lors de l'émulation d'un effet de « gradation » sur plusieurs composants. Les LED ne réagissent pas très bien aux potentiomètres, en particulier les LED à courant et tension supérieurs. Cependant, les dispositifs PWM en tandem avec des MOSFET maintiennent la tension à un niveau suffisamment élevé pour garder les LED allumées plus longtemps, ce qui produit une plage de graduation supérieure. La modulation de largeur d'impulsion est également utilisée pour contrôler la vitesse des moteurs au moyen du même concept.

Pour votre première expérience avec PWM, je vous recommande la plateforme Arduino. Les deux modèles que j'ai utilisés sont les suivants : 1050-1024-ND et 1050-1018-ND. Le modèle MEGA a plus de broches compatibles avec une sortie PWM. Pour ce faire, la plateforme Arduino utilise une fonction « analogWrite(pin, val) ». La variable de broche correspond aux E/S à capacité PWM (avec un symbole ~ à côté de la broche), et la valeur peut s'étendre de 0 à 255. Zéro correspond à un rapport cyclique de 0 %, tandis que 255 correspond à un rapport cyclique de 100 %.

À propos de l'auteur

Image of Kaleb Kohlhase

Kaleb Kohlhase, technicien en électronique dans le service d'ingénierie des applications chez DigiKey, travaille chez DigiKey depuis le début 2018. Il s'intéresse à la logique numérique, à la programmation, à la simulation de circuits, à la conception de circuits imprimés, à la modélisation 3D, aux circuits audio, et plus. Kaleb a obtenu son diplôme en ingénierie à l'Université d'État du Minnesota en 2017. Ses points forts incluent la compréhension de la documentation technique, notamment les schémas de circuit et les fiches techniques, la rédaction de documentation technique sur les informations recherchées, le dépannage de divers systèmes, la finalisation de concepts par la réalisation de prototypes physiques et la programmation dans divers langages informatiques. Pendant son temps libre, Kaleb aime regarder Netflix avec sa femme, jouer à des jeux vidéo, faire du vélo, nager et en apprendre plus sur l'électronique.

More posts by Kaleb Kohlhase
 TechForum

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.

Visit TechForum