Introduction

Le pwm (pulse width modulation) ou modulation de largeur d’impulsion est une technique utilisée pour réduire la puissance moyenne délivrée par une tension électrique.

On obtient cette variation de tension en allumant et éteignant rapidement cette source de tension. 

Le pwm est beaucoup utilisé pour des composants qui fonctionne avec de l’inertie comme des moteurs car il ne sera pas affecté par de rapidement changement comme son temps de réaction est long due a son inertie. 

Le pwm est aussi beaucoup utilisé pour faire varier la luminosité d’une led sur Arduino.

La led est allumée et éteinte très rapidement ce qui fait que on ne la voit pas clignoter grâce à la persistence retiniene mais juste une luminosité plus faible. 

Fonctionnement du PWM

Le but du pwm est de creer une alternative entre le high et le low de la carte Arduino, afin d’avoir la moitié de la puissance par exemple. Pour cela il va y avoir des cycles de periodes et la broche sera allumée et puis éteinte. 

Par exemple si on prends une periode de 20 ms, ce qui donne une fréquence de 200hz (f=1/T), si la led est allumée pendant 10ms et éteinte pendant le même temps, alors cela fera une puissance divisée par deux soit 50% de sa luminosité maximum. 

Maintenant si pour la même periode la led est allumée 5 ms et éteinte pendant 15 ms, la luminosité sera maintenant de 25% de sa puissance maximale. 

Le PWM sur Arduino

Sur une carte Arduino uno, vous avez 6 broches  qui propose le pwm. Elle sont reconnaissable par le symbole ~. Ce sont les pins 3,5,6,9,10,11.

Pour utiliser le pwm, il y a une fonction faite pour ca appele analogwrite. Cette fonction prends en paramètres la broche que vous souhaitez allumer et un nombre entre 0 et 255 correspondant à la tension. 0 correspond à 0V et 255 a 5V. 

analogWrite(broche, valeur)

Pourquoi un nombre entre 0 et 255 valeurs ? 

 

La valeur retenue pour la valeurs de la tension est de 1 octet ou 1 byte. Un octet contient 8 bits qui peuvent tous avoir une valeur entre 0 et 1. On a donc 2^8 = 255 valeurs possible de tension. 

La carte Motorshield

La carte motorshield est utilisée pour contrôler un moteur. Elle va vous permettre de gérer sa vitesse et sa direction. 

Avec cette carte vous pouvez contrôler jusqu’à deux moteurs à courant continu en même temps, faire varier leurs vitesses,  changer de direction grâce à un pont en h. Certaine carte sont même capable de contrôler un moteur pas à pas.