Comment utiliser le conducteur de moteur BTS7960 avec Arduino

How to Use the BTS7960 Motor Driver with Arduino

Le BTS7960 est un puissant module de pilote de moteur H-pont H qui peut gérer un courant et une tension élevés, ce qui le rend idéal pour conduire de grands moteurs CC. Il fournit un contrôle PWM, une protection de surintensité et une dissipation de chaleur efficace, ce qui le rend parfait pour la robotique, les voitures RC et d'autres applications de moteur haute puissance. Ce tutoriel vous guidera à travers l'interfaçage du BTS7960 avec un Arduino.

Ce dont vous aurez besoin

  1. Module de conducteur de moteur BTS7960
  2. Board Arduino (par exemple, Uno, Mega, Nano)
  3. Moteur CC
  4. Alimentation externe pour le moteur (correspondant à la tension du moteur)
  5. Fils de cavalier
  6. Un ordinateur avec l'ide Arduino installé

Étape 1: Comprendre les broches BTS7960

Le module BTS7960 a les épingles clés suivantes:

Épingle Fonction
VCC Alimentation logique (5V)
GND Sol
R_en Activation du moteur droit (actif élevé)
L_en Activer le moteur gauche (haut actif)
R_pwm Entrée PWM du moteur droit
L_pwm Entrée PWM du moteur gauche
MOTOR_A Terminal moteur A
Motor_B Terminal moteur B
Machines virtuelles Alimentation du moteur (entrée de tension)
GND Sol

Étape 2: Câblage du BTS7960 à Arduino

Vous trouverez ci-dessous le guide de câblage pour la connexion du BTS7960 à un Arduino Uno:

PIN BTS7960 Épingle arduino
VCC 5V
GND GND
R_en PIN 4
L_en PIN 5
R_pwm PIN 6
L_pwm PIN 7
MOTOR_A Terminal moteur A
Motor_B Terminal moteur B
Machines virtuelles Puissance du moteur (+)
GND Puissance du moteur (-)

Note: Assurez-vous que votre alimentation externe correspond à la tension et aux exigences de courant de votre moteur.

Étape 3: Téléchargez le code

Voici un exemple de code pour contrôler la direction et la vitesse du moteur:

#define R_EN 4
#define L_EN 5
#define R_PWM 6
#define L_PWM 7

void setup() {
  pinMode(R_EN, OUTPUT);
  pinMode(L_EN, OUTPUT);
  pinMode(R_PWM, OUTPUT);
  pinMode(L_PWM, OUTPUT);

  Serial.begin(9600);
  Serial.println("BTS7960 Motor Driver Test");
}

void loop() {
  // Forward motion
  digitalWrite(R_EN, HIGH);
  digitalWrite(L_EN, LOW);
  analogWrite(R_PWM, 150); // Set speed (0-255)
  analogWrite(L_PWM, 0);
  delay(2000);

  // Stop
  digitalWrite(R_EN, LOW);
  digitalWrite(L_EN, LOW);
  analogWrite(R_PWM, 0);
  analogWrite(L_PWM, 0);
  delay(1000);

  // Reverse motion
  digitalWrite(R_EN, LOW);
  digitalWrite(L_EN, HIGH);
  analogWrite(R_PWM, 0);
  analogWrite(L_PWM, 150); // Set speed (0-255)
  delay(2000);

  // Stop
  digitalWrite(R_EN, LOW);
  digitalWrite(L_EN, LOW);
  analogWrite(R_PWM, 0);
  analogWrite(L_PWM, 0);
  delay(1000);
}

Étape 4: Testez la configuration

  1. Connectez votre Arduino à votre ordinateur via USB.
  2. Ouvrez l'ide Arduino et sélectionnez le bon Conseil et Port de Outils menu.
  3. Téléchargez le code en cliquant sur le Télécharger bouton.
  4. Une fois le code téléchargé, le moteur alternera entre le mouvement vers l'avant et le mouvement inversé, avec des pauses entre les deux.

Dépannage

  • Moteur pas en rotation: Assurez-vous que votre alimentation du moteur est connectée et correspond aux exigences de tension du moteur.
  • Mouvement erratique: Vérifiez toutes les connexions, en particulier les bornes du moteur et les broches PWM.
  • Surchauffe: Si le conducteur du moteur surchauffe, assurez-vous une dissipation de chaleur appropriée et vérifiez que le courant du moteur ne dépasse pas la note du module.

Applications de BTS7960

  1. Véhicules robotiques
  2. Systèmes de tapis roulant
  3. Portes motorisés
  4. Contrôle des moteurs de haute puissance dans les configurations industrielles

Conclusion

Vous avez réussi à interfacer le pilote de moteur BTS7960 avec un Arduino et à contrôler un moteur CC. Ce conducteur polyvalent est parfait pour les applications de haute puissance nécessitant un contrôle précis. Expérimentez avec différentes valeurs PWM pour contrôler la vitesse du moteur et construire vos propres projets motorisés!

Laissez un commentaire

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.