Modifier un contrôleur de vitesse de moteur PWM DC 20A avec un Arduino

Modifier un contrôleur de vitesse de moteur PWM DC 20A avec un Arduino

Dans ce tutoriel, nous allons apprendre à modifier un contrôleur de vitesse de moteur PWM DC de 20A pour qu'il fonctionne sans problème avec un Arduino. Cette modification permet un contrôle précis de la vitesse d'un moteur en utilisant soit un potentiomètre, soit des commandes directes de l'Arduino. Le résultat est un système de contrôle de moteur plus polyvalent qui peut être intégré dans divers projets.

Contrôleur de vitesse de moteur PWM CC 20A : vue de face côté gauche
Controller de vitesse de moteur PWM DC 20A : vue avant côté gauche

Pour ce projet, nous allons connecter le contrôleur PWM à l'Arduino et utiliser du code pour gérer la vitesse du moteur en fonction de l'entrée de l'utilisateur. Cette configuration peut être avantageuse dans des applications nécessitant un contrôle de vitesse variable, comme la robotique ou les systèmes automatisés. Pour plus de clarté, vous pouvez vous référer à la vidéo accompagnant ce tutoriel (dans la vidéo à 00:00).

Matériel expliqué

Les principaux composants de ce projet comprennent la carte Arduino, le contrôleur de vitesse de moteur PWM DC 20A et un potentiomètre. L'Arduino sert de cerveau au système, envoyant des signaux PWM au contrôleur de moteur pour ajuster la vitesse du moteur. Le contrôleur de vitesse du moteur lui-même utilise un circuit intégré temporisateur 555 pour générer des signaux PWM, qui contrôlent la porte d'un MOSFET régulant l'alimentation du moteur.

Contrôleur de vitesse de moteur PWM DC 20A : Dimensions
Contrôleur de vitesse de moteur PWM CC 20A : Dimensions

Le potentiomètre agit comme un dispositif d'entrée, permettant aux utilisateurs de régler manuellement la vitesse souhaitée. En faisant tourner le potentiomètre, la résistance change, envoyant une tension correspondante à l'Arduino. L'Arduino lit cette tension et ajuste le signal PWM envoyé au contrôleur de moteur en conséquence.

Détails de la fiche technique

Fabricant Inconnu
Numéro de pièce Controleur de vitesse de moteur PWM CC 20A
Tension logique/IO 5 V
Tension d'alimentation 10-60 V
Courant de sortie (par canal) 20 A
Courant crête (par canal) 40 A
Directives sur la fréquence PWM Typiquement 1 kHz
Seuils de logique d'entrée 0,2 V (bas), 2,0 V (haut)
Chute de tension / RDS(on)/ saturation 0,1 V
Limites thermiques Jusqu'à 85 °C
Colis PCB standard
Remarques / variantes Différents modèles disponibles

  • Assurez un bon refroidissement pour les applications à fort courant.
  • Vérifiez le câblage pour la polarité correcte avant d'alimenter le système.
  • Utilisez des condensateurs de découplage sur les bornes d'alimentation.
  • Maintenez la fréquence PWM autour de 1 kHz pour un rendement optimal.
  • Soyez attentif aux limites de tension d'entrée (10-60 V).
Contrôleur de vitesse de moteur PWM CC 20A : Potentiomètre (résistance variable)
Contrôleur de vitesse de moteur PWM DC 20A : Potentiomètre (résistance variable)

Instructions de câblage

Pour câbler le contrôleur de vitesse de moteur PWM DC 20A à l'Arduino, commencez par connecter l'alimentation. La borne positive de l'alimentation doit être connectée à l'entrée V+ du contrôleur de moteur, tandis que la borne négative se connecte à la masse (GND) du contrôleur. Ensuite, connectez le moteur aux bornes de sortie du contrôleur, en veillant à la bonne polarité pour la rotation souhaitée.

Pour le signal PWM, identifiez la broche de sortie PWM sur le contrôleur, que nous allons connecter à la broche PWM désignée sur l'Arduino (dans ce cas, la broche5). De plus, connectez la masse de l'Arduino à la masse du contrôleur de moteur pour garantir une référence commune. Enfin, si vous utilisez un potentiomètre, connectez une extrémité au pin 5V de l'Arduino, la broche du milieu à une broche analogique (commeA0), et le dernier broche à la terre.

Exemples de code et guide étape par étape

Le code commence par définir la broche de sortie PWM et la broche de contrôle pour le potentiomètre.setup()la fonction initialise la broche PWM en tant que sortie et démarre la communication série pour le débogage.

#define pwmPin 5
#define controlPin A0

void setup() {
  pinMode(pwmPin, OUTPUT);
  Serial.begin(9600);
}

Dans leloop()fonction, nous lisons la valeur du potentiomètre et la redimensionnons à une plage PWM adaptée au contrôleur de moteur. Cette valeur est ensuite écrite sur la broche PWM, qui contrôle la vitesse du moteur.

void loop() {
  int potValue = analogRead(controlPin);
  int pwm = map(potValue, 0, 1023, 0, 255);
  analogWrite(pwmPin, pwm);
  Serial.print("PWM:");
  Serial.println(pwm);
  delay(500);
}

Enfin, des fonctions sont définies pour convertir la valeur PWM en pourcentage, ce qui permet une meilleure compréhension de la vitesse du moteur en fonction des saisies de l'utilisateur. Le code complet se charge sous l'article (dans la vidéo à 00:00).

Démonstration / À quoi s'attendre

Une fois que tout est câblé et que le code est téléchargé, vous pouvez vous attendre à ce que le moteur réagisse à la position du potentiomètre. En faisant tourner le potentiomètre, vous augmenterez ou diminuerez la vitesse du moteur en fonction du signal PWM envoyé par l'Arduino. Assurez-vous que l'alimentation est dans la plage de tension requise et que le moteur peut supporter la tension appliquée.

Les pièges courants incluent un câblage incorrect, ce qui pourrait entraîner une rotation de moteur inversée ou un échec de démarrage. Vérifiez toujours les connexions et assurez-vous que les masses de l'Arduino et du contrôleur de moteur sont reliées ensemble (dans la vidéo à 04:30).

Horodatages vidéo

  • 00:00 Début
  • 00:40 Introduction
  • 04:07 Préparation du câblage (modification)
  • 06:55 Explication du câblage
  • 08:40 Code expliqué
  • 13:15 Démonstration

Images

Contrôleur de vitesse de moteur PWM CC 20A : principal
Contrôleur de vitesse de moteur PWM CC 20A : principal
Contrôleur de vitesse de moteur PWM DC 20A : vue de dessus
Contrôleur de vitesse de moteur PWM DC 20A : vue de dessus
Contrôleur de vitesse de moteur PWM DC 20A : Dimensions
Contrôleur de vitesse de moteur PWM DC 20A : Dimensions
Contrôleur de vitesse de moteur PWM CC 20A : Potentiomètre (résistance variable)
Contrôleur de vitesse de moteur PWM CC 20A : Potentiomètre (résistance variable)
Contrôleur de vitesse de moteur PWM DC 20A : Vue de façades
Contrôleur de vitesse de moteur PWM DC 20A : Vue de façades
Contrôleur de vitesse de moteur PWM DC 20A : Vue de face côté droit
Contrôleur de vitesse de moteur PWM DC 20A : Vue de face côté droit
Contrôleur de vitesse de moteur PWM DC 20A : vue de face côté gauche
Contrôleur de vitesse de moteur PWM DC 20A : vue de face côté gauche
Contrôleur de vitesse de moteur PWM CC 20A : vue PCB inférieure
Contrôleur de vitesse de moteur PWM CC 20A : vue PCB inférieure
Contrôleur de vitesse de moteur PWM CC 20A : ligne positive commune
Contrôleur de vitesse de moteur PWM CC 20A : ligne positive commune
222-Hack: Control a 20A DC Motor with an Arduino using 20A DC 10-60V PWM
Langue: C++
Copié !

Fichiers📁

Aucun fichier disponible.