Nous allons ici utiliser un module IRF520N afin d’alimenter un moteur à courant continu.
Ce module permet d’activer des charges avec une demande d’intensité assez importante.
Le datasheet du transistor est disponible ici : IRF520N
Caractéristique du module :
– Alimentation: 3,3 ou 5 V
– Tension de sortie: 0 à 24 V
– Courant de sortie: 5 A maxi
– Dimensions: 34 x 26 x 23 mm
1er exemple :
Ce premier code permet de faire tourner le moteur, et l’arrêter toutes les secondes. Ce programme permet déjà de déterminer que le câblage de notre transistor est correct, et que le moteur est en bon état de fonctionnement.
Nous utilisons la sortie 3, qui permet d’effectuer une modification du rapport cyclique. Cette modification permettra dans le second code de faire tourner le moteur à différentes vitesses de rotation.
Câblage :
Code :
2ND exemple :
Dans le second programme, nous allons utiliser un potentiomètre permettant de faire varier la vitesse de rotation du moteur.
L’utilisation d’un potentiomètre est indiqué ici…
Dans le code proposé, lors de mes essais,le potentiomètre variait entre 184 et 873. Mais quelques fois, ces valeurs augmentaient de quelques décimales.
J’ai donc imposé une valeur min et une valeur max pour le potentiomètre :
Nous allons utiliser un signal PWM. Vous pouvez consulter cet article qui explique le rôle d’un signal PWM.
La commande analogWrite permet d’envoyer le rapport cyclique au moteur. Cette valeur est comprise entre 0 et 255. Il faut donc définir une fonction permettant de traduire les valeurs des potentiomètres vers la valeur permettant d’alimenter le moteur.
La commande map effectuera donc un rapport proportionnel à partir des valeurs 0 => 0 et 1023 => 255. Or chez nous, le min et le max sont différents, donc 184 => 0 et 873 => 255
Commande map :
–> Lire la variable Pot
–> Valeur Min = 184 —- Valeur Max = 873
–> Valeur Min souhaitée = 0 —– Valeur Max souhaitée = 255
Câblage :
Code :
Un commentaire