La modulation de largeur d'impulsion (MLI) est un terme technique désignant un type de signal numérique. Les MLI sont utilisées dans de nombreuses applications, notamment les circuits de commande complexes. Chez SparkFun, nous les utilisons fréquemment pour faire varier l'intensité d'une LED RVB ou contrôler le sens de rotation d'un servomoteur. Nous pouvons obtenir une large gamme de résultats dans ces deux applications car la MLI nous permet de moduler la durée d'un signal à l'état haut de manière analogique. Alors qu'un signal ne peut être que haut (généralement 5 V) ou bas (masse) à un instant donné, nous pouvons faire varier la proportion de temps pendant laquelle le signal est à l'état haut par rapport à l'état bas sur un intervalle de temps constant.
Lorsqu'un signal est à l'état haut, on dit qu'il est « actif ». Pour décrire cette durée d'activation, on utilise le concept de rapport cyclique. Le rapport cyclique est exprimé en pourcentage. Il décrit précisément le pourcentage de temps pendant lequel un signal numérique est actif au sein d'un intervalle ou d'une période. La période est l'inverse de la fréquence du signal. Si un signal numérique est actif la moitié du temps et inactif l'autre moitié, on dit qu'il a un rapport cyclique de 50 %, comme un signal carré idéal. Si le pourcentage est supérieur à 50 %, le signal numérique passe plus de temps à l'état haut qu'à l'état bas, et inversement si le rapport cyclique est inférieur à 50 %. Le schéma suivant illustre ces trois cas :

Un rapport cyclique de 100 % équivaut à une tension de 5 volts (niveau haut). Un rapport cyclique de 0 % équivaut à connecter le signal à la masse.
exemple
Vous pouvez contrôler la luminosité de la LED en ajustant le rapport cyclique.

Avec les LED RGB (rouge, vert et bleu), vous pouvez contrôler la quantité de chacune des trois couleurs mélangées en les atténuant de différentes manières.

Si les trois couleurs sont activées à intensité égale, on obtiendra différentes nuances de blanc. Le même mélange de bleu et de vert donnera une couleur bleu-vert. Pour un exemple légèrement plus complexe, essayez d'activer le rouge à fond, le vert à fond avec un cycle de service de 50 % et de désactiver le bleu pour obtenir une couleur orange.

Pour contrôler des LED, la fréquence du signal carré doit être suffisamment élevée pour obtenir un effet de variation d'intensité correct. Un signal avec un rapport cyclique de 20 % à 1 Hz permettra de visualiser clairement l'allumage et l'extinction, tandis qu'un rapport cyclique de 100 % à 20 Hz ou plus donnera l'impression d'une intensité lumineuse inférieure à celle en fonctionnement normal. En résumé, pour obtenir un effet de variation d'intensité avec des LED, la période du signal ne doit pas être trop longue. La modulation de largeur d'impulsion (MLI) peut également être utilisée pour contrôler l'angle d'un servomoteur relié à un dispositif mécanique tel qu'un bras robotisé. Un servomoteur possède un arbre qui pivote jusqu'à une position précise en fonction de sa ligne de commande. Nos servomoteurs ont une plage de rotation d'environ 180 degrés.
La fréquence/période est spécifique au contrôle d'un servomoteur donné. Un servomoteur classique nécessite une mise à jour toutes les 20 ms, avec une impulsion de 1 à 2 ms, soit un rapport cyclique de 5 % à 10 % sur une fréquence de 50 Hz. Avec une impulsion de 1,5 ms, le servomoteur est à sa position naturelle de 90 degrés. Avec une impulsion de 1 ms, il est à 0 degré, et avec une impulsion de 2 ms, il est à 180 degrés. L'amplitude de mouvement complète est obtenue en actualisant le servomoteur avec des valeurs intermédiaires.
La modulation de largeur d'impulsion (PWM) est utilisée dans de nombreuses applications, notamment pour le contrôle. Maintenant que vous savez qu'elle permet de faire varier l'intensité des LED et de contrôler l'angle des servomoteurs, vous pouvez explorer d'autres possibilités. Si vous avez besoin d'aide, n'hésitez pas à consulter le kit SparkFun Inventor's Kit, qui propose des exemples d'utilisation de la PWM. Si vous êtes prêt à programmer immédiatement et que vous possédez une carte Arduino, consultez les exemples de programmation PWM disponibles ici.
Date de publication : 31 juillet 2025


