Comment utiliser PWM pour contrôler la direction d’un moteur à courant continu ?
Nov 10, 2025
Salut! Si vous aimez l'électronique ou la robotique, vous vous êtes probablement demandé comment utiliser la modulation de largeur d'impulsion (PWM) pour contrôler la direction d'un moteur à courant continu. Eh bien, vous êtes au bon endroit ! En tant que fournisseur PWM, j'ai une tonne d'expérience dans ce domaine et je suis ravi de la partager avec vous.
Qu’est-ce que le PWM ?
Tout d’abord, parlons de ce qu’est le PWM. PWM est une technique utilisée pour contrôler la puissance fournie à un appareil électrique en allumant et éteignant rapidement l'alimentation. Le rapport entre la durée de mise sous tension et la durée totale du cycle est appelé cycle de service. En modifiant le cycle de service, vous pouvez contrôler la puissance moyenne fournie à l'appareil.
Par exemple, si vous disposez d'un signal PWM de 100 Hz avec un rapport cyclique de 50 %, l'alimentation sera allumée pendant 5 ms et éteinte pendant 5 ms dans chaque cycle de 10 ms. Si vous augmentez le cycle de service à 70 %, l'alimentation sera allumée pendant 7 ms et éteinte pendant 3 ms à chaque cycle. De cette façon, vous pouvez contrôler la vitesse et la direction d’un moteur à courant continu.
Contrôler la direction d'un moteur à courant continu avec PWM
Pour contrôler la direction d'un moteur à courant continu à l'aide de PWM, vous aurez besoin de quelques éléments :
- Un moteur à courant continu
- Un circuit en pont en H
- Un microcontrôleur capable de générer des signaux PWM
Le circuit du pont en H
Le pont en H est un circuit qui permet de contrôler la direction d'un moteur à courant continu en inversant la polarité de la tension appliquée au moteur. Il se compose de quatre interrupteurs (généralement des transistors) disposés en forme de « H ». En activant différentes combinaisons de commutateurs, vous pouvez faire tourner le moteur dans les deux sens.
Voici un schéma simple d'un circuit en pont en H :
[Insérez ici un schéma de circuit simple en pont en H]
Lorsque les interrupteurs S1 et S4 sont fermés, le courant circule dans le moteur dans un sens, le faisant tourner dans le sens des aiguilles d'une montre. Lorsque les interrupteurs S2 et S3 sont fermés, le courant circule dans le moteur dans le sens opposé, le faisant tourner dans le sens inverse des aiguilles d'une montre.
Génération de signaux PWM
Pour contrôler la vitesse du moteur, vous devrez générer des signaux PWM. La plupart des microcontrôleurs disposent de modules PWM intégrés qui peuvent être utilisés pour générer ces signaux. Vous pouvez ajuster le rapport cyclique du signal PWM pour contrôler la puissance moyenne délivrée au moteur, et donc sa vitesse.
Voici un exemple de la façon de générer un signal PWM à l'aide d'un Arduino :
// Définit la broche connectée au moteur const int motorPin = 9; void setup() { // Définit la broche du moteur comme sortie pinMode(motorPin, OUTPUT); } void loop() { // Définit le rapport cyclique sur 50 % analogWrite(motorPin, 127); retard (1000); // Définit le rapport cyclique sur 70 % analogWrite(motorPin, 180); retard (1000); // Définit le rapport cyclique sur 30 % analogWrite(motorPin, 76); retard (1000); }
Dans cet exemple, leanalogWrite()La fonction est utilisée pour définir le cycle de service du signal PWM. La valeur transmise à la fonction peut aller de 0 (cycle de service 0 %) à 255 (cycle de service 100 %).
Contrôler la direction avec PWM
Pour contrôler la direction du moteur à l'aide de PWM, vous devrez utiliser le circuit en pont en H en combinaison avec les signaux PWM. Vous pouvez utiliser deux signaux PWM pour contrôler les deux côtés du pont en H. En ajustant les cycles de service de ces signaux, vous pouvez contrôler la vitesse et la direction du moteur.
Voici un exemple de la façon de contrôler la direction d'un moteur à courant continu à l'aide d'un Arduino et d'un pont en H :
// Définit les broches connectées au pont en H const int motorPin1 = 9; const int moteurPin2 = 10 ; void setup() { // Définit les broches du moteur comme sorties pinMode(motorPin1, OUTPUT); pinMode (moteurPin2, SORTIE); } void loop() { // Faites tourner le moteur dans le sens des aiguilles d'une montre à une vitesse de 50 % analogWrite(motorPin1, 127); analogWrite (moteurPin2, 0); retard(2000); // Faites tourner le moteur dans le sens inverse des aiguilles d'une montre à une vitesse de 70 % analogWrite(motorPin1, 0); analogWrite (moteurPin2, 180); retard(2000); // Arrête le moteur analogWrite(motorPin1, 0); analogWrite (moteurPin2, 0); retard(2000); }
Dans cet exemple, leanalogWrite()La fonction est utilisée pour définir les cycles de service des deux signaux PWM. QuandmoteurPin1a un cycle de service non nul etmoteurPin2a un rapport cyclique nul, le moteur tourne dans le sens des aiguilles d'une montre. QuandmoteurPin2a un cycle de service non nul etmoteurPin1a un rapport cyclique nul, le moteur tourne dans le sens inverse des aiguilles d'une montre.
Nos produits PWM
En tant que fournisseur PWM, nous proposons une gamme de produits PWM de haute qualité, parfaits pour contrôler les moteurs à courant continu. NotreContrôleur de charge solaire 30A PWMest un excellent choix pour les applications qui nécessitent une capacité de courant élevée. Il dispose d'un module PWM intégré qui peut être utilisé pour contrôler le courant de charge d'une batterie.
Si vous avez besoin d'une capacité de courant inférieure, notreContrôleur de charge solaire 20A PWMetContrôleur de charge solaire 10A PWMsont également d’excellentes options. Ils sont compacts, efficaces et faciles à utiliser.
Conclusion
Contrôler la direction d'un moteur à courant continu à l'aide de PWM est une technique puissante et polyvalente qui peut être utilisée dans un large éventail d'applications. En utilisant un circuit en pont en H et en générant des signaux PWM, vous pouvez contrôler la vitesse et la direction du moteur avec précision.
Si vous êtes intéressé par nos produits PWM ou si vous avez des questions sur l'utilisation du PWM pour contrôler les moteurs à courant continu, n'hésitez pas à nous contacter pour plus d'informations et pour discuter de vos besoins spécifiques. Nous sommes là pour vous aider à trouver la meilleure solution pour votre projet.
Références
- "Bases de la modulation de largeur d'impulsion (PWM)" - Tutoriels électroniques
- "Circuit de commande de moteur à pont en H" - Tout sur les circuits
- "Référence Arduino - analogWrite()" - Documentation Arduino
