Le moteur à courant continu est le moteur le plus utilisé dans les projets de robotique et d’électronique. Pour contrôler la vitesse du moteur à courant continu, nous disposons de différentes méthodes, par exemple, la vitesse peut être automatiquement contrôlée en fonction de la température, mais dans ce projet, la méthode PWM sera utilisée pour contrôler la vitesse du moteur à courant continu. Ici dans ce Projet de contrôle de la vitesse du moteur Arduinola vitesse peut être contrôlée en tournant le bouton du potentiomètre.
Modulation de largeur d’impulsion :
Qu’est-ce que le PWM ? PWM est une technique grâce à laquelle nous pouvons contrôler la tension ou la puissance. Pour le comprendre plus simplement, si vous appliquez 5 volts pour entraîner un moteur, le moteur se déplacera à une certaine vitesse. Actuellement, si nous réduisons la tension appliquée de 2, nous appliquons 3 volts au moteur, puis la vitesse du moteur diminue également. Ce concept est utilisé dans le projet pour contrôler la tension à l’aide de PWM. Nous avons expliqué PWM en détail dans cet article. Vérifiez également ce circuit où PWM est utilisé pour contrôler la luminosité de la LED : variateur LED 1 Watt.
% Duty cycle = (TON/(TON + TOFF)) *100
Where, TON = HIGH time of the square wave
TOFF = LOW time of square wave

Actuellement, si l’interrupteur sur la figure est fermé en continu pendant un certain temps, le moteur restera allumé en continu pendant ce temps. Si l’interrupteur est fermé pendant 8 ms et ouvert pendant 2 ms sur un cycle de 10 ms, alors le moteur ne sera allumé que pendant 8 ms. Actuellement, le terminal moyen sur une période de 10 ms = Temps d’activation/ (Temps d’activation + Temps d’arrêt), c’est ce qu’on appelle cycle de service et est de 80% (8/ (8+2)), donc la tension de sortie moyenne sera de 80% de la tension de la batterie. Désormais, l’œil humain ne peut pas voir que le moteur est allumé pendant 8 ms et éteint pendant 2 ms, il semblera donc que le moteur à courant continu tourne à une vitesse de 80 %.
Dans le deuxième cas, l’interrupteur est fermé pendant 5 ms et ouvert pendant 5 ms sur une période de 10 ms, la tension moyenne aux bornes en sortie sera donc de 50 % de la tension de la batterie. Dites si la tension de la batterie est de 5 V et le cycle de service est de 50 %, la tension moyenne aux bornes sera donc de 2,5 V.
Dans le troisième cas, le rapport cyclique est de 20 % et la tension moyenne aux bornes est de 20 % de la tension de la batterie.
Nous avons utilisé PWM avec Arduino dans plusieurs de nos projets :
Vous pouvez en apprendre davantage sur le PWM en parcourant divers projets basés sur le PWM.
Matériel requis
- Arduino UNO
- Moteur à courant continu
- Transistors 2N2222
- Potentiomètre 100k ohm
- Condensateur 0,1uF
- Planche à pain
- Fils sautants
Schéma de circuit
Schéma de circuit pour Contrôle de la vitesse du moteur Arduino DC à l’aide de PWM est donné ci-dessous :

Code et explication
Le code complet pour Contrôle du moteur à courant continu Arduino L’utilisation du potentiomètre est donnée à la fin.
Dans le code ci-dessous, nous avons initialisé les variables c1 et c2 et attribué la broche analogique A0 à la sortie du potentiomètre et 12ème Épingle pour ‘pwm’.
int pwmPin = 12; int pot = A0; int c1 = 0; int c2 = 0;
Actuellement, dans le code ci-dessous, définissez broche A0 comme entrée et 12 (qui est la broche PWM) en sortie.
void setup() {
pinMode(pwmPin, OUTPUT); // declares pin 12 as output
pinMode(pot, INPUT); // declares pin A0 as input
}
Actuellement, dans void loop(), nous lisons la valeur analogique (de A0) en utilisant analogRead(pot) et la sauvegardons dans la variable c2. Ensuite, soustrayez la valeur c2 de 1024 et enregistrez le résultat dans c1. Ensuite, créez la broche PWM 12ème d’Arduino HIGH puis, après un délai de valeur c1, rendez cette broche LOW. Là encore, après un délai de valeur c2, la boucle continue.
La raison pour laquelle la valeur analogique est soustraite de 1024 est que CAN Arduino Uno est d’une résolution de 10 bits (donc les valeurs entières de 0 à 2 ^ 10 = 1024 valeurs). Cela signifie qu’il mappera les tensions d’entrée entre 0 et 5 volts en valeurs entières entre 0 et 1024. Donc, si nous multiplions l’entrée anlogValue par (5/1024), alors nous obtenons la valeur numérique de la tension d’entrée. Apprenez ici comment utiliser l’entrée ADC dans Arduino.
void loop()
{
c2= analogRead(pot);
c1= 1024-c2;
digitalWrite(pwmPin, HIGH); // sets pin 12 HIGH
delayMicroseconds(c1); // waits for c1 uS (high time)
digitalWrite(pwmPin, LOW); // sets pin 12 LOW
delayMicroseconds(c2); // waits for c2 uS (low time)
}
Contrôle de la vitesse d’un moteur à courant continu à l’aide d’Arduino

Dans ce circuit, pour contrôler la vitesse du moteur à courant continu, nous utilisons un potentiomètre de 100 K ohms pour modifier le rapport cyclique du signal PWM. Le potentiomètre 100K ohm est connecté à la broche d’entrée analogique A0 de l’Arduino UNO et le moteur DC est connecté au 12ème broche de l’Arduino (qui est la broche PWM). Le fonctionnement du programme Arduino est très simple, car il lit la tension de la broche analogique A0. La tension sur la broche analogique varie à l’aide du potentiomètre. Après avoir effectué certains calculs nécessaires, le cycle de service est ajusté en fonction.
Par exemple, si nous transmettons la valeur 256 à l’entrée analogique, alors le temps HAUT sera de 768 ms (1024-256) et le temps BAS sera de 256 ms. Par conséquent, cela signifie simplement que le rapport cyclique est de 75 %. Nos yeux ne peuvent pas voir une telle oscillation à haute fréquence et il semble que le moteur soit allumé en permanence à 75 % de sa vitesse. C’est ainsi que nous pouvons performer Contrôle de la vitesse du moteur à l’aide d’Arduino.
Retrouvez l’histoire de Raspberry Pi dans cette vidéo :

-
Contrôleur de Vitesse de Moteur PWM DC 6-60V 12V 24V 36V 48V 30A
-
Aideepen PWM Contrôleur de Vitesse de Moteur CC 6-60 V 12 V 24 V 36 V 48 V 30 A Régulateur de Vitesse Réglable en Continu avec Bouton Rotatif
