Come utilizzare il driver del motore BTS7960 con Arduino

How to Use the BTS7960 Motor Driver with Arduino

Il BTS7960 è un potente modulo del driver del motore H-ponte H in grado di gestire la corrente e la tensione elevate, rendendolo ideale per la guida di grandi motori DC. Fornisce controllo PWM, protezione da sovracorrente e un'efficace dissipazione del calore, rendendolo perfetto per la robotica, le auto RC e altre applicazioni motorie ad alta potenza. Questo tutorial ti guiderà attraverso l'interfacciamento del BTS7960 con un Arduino.

Cosa avrai bisogno

  1. Modulo del driver del motore BTS7960
  2. Arduino Board (ad es. Uno, Mega, Nano)
  3. Motore DC
  4. Alimentazione esterna per il motore (abbinamento della tensione del motore)
  5. Fili jumper
  6. Un computer con l'IDE Arduino installato

Passaggio 1: Comprensione dei pin BTS7960

Il modulo BTS7960 ha i seguenti pin chiave:

Spillo Funzione
VCC Alimentazione logica (5V)
GND Terra
R_en Abilita del motore destro (alto attivo)
L_en Abilita del motore sinistro (alto attivo)
R_pwm Ingresso PWM del motore destro
L_pwm Ingresso PWM del motore sinistro
Motor_a Terminale del motore a
Motor_b Terminale del motore b
VM Alimentazione del motore (ingresso di tensione)
GND Terra

Passaggio 2: cablaggio BTS7960 ad Arduino

Di seguito è riportata la guida al cablaggio per la connessione del BTS7960 a un Arduino Uno:

Pin BTS7960 Arduino Pin
VCC 5v
GND GND
R_en Pin 4
L_en Pin 5
R_pwm Pin 6
L_pwm Pin 7
Motor_a Terminale del motore a
Motor_b Terminale del motore b
VM Potenza del motore (+)
GND Potenza motorio (-)

Nota: Assicurarsi che l'alimentazione esterna corrisponda ai requisiti di tensione e corrente del motore.

Passaggio 3: caricare il codice

Ecco un codice di esempio per controllare la direzione e la velocità del motore:

#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);
}

Passaggio 4: testare l'installazione

  1. Collega il tuo Arduino al tuo computer tramite USB.
  2. Apri l'IDE Arduino e seleziona il corretto Asse E Porta da Utensili menu.
  3. Carica il codice facendo clic su Caricamento pulsante.
  4. Una volta caricato il codice, il motore si alternerà tra il movimento in avanti e inverso, con pause nel mezzo.

Risoluzione dei problemi

  • Motore non girando: Assicurarsi che l'alimentazione del motore sia collegato e corrisponda ai requisiti di tensione del motore.
  • Mozione irregolare: Controllare tutte le connessioni, in particolare i terminali del motore e i pin PWM.
  • Surriscaldamento: Se il driver del motore si surriscalda, assicurarsi una corretta dissipazione di calore e verificare che la corrente del motore non superi la valutazione del modulo.

Applicazioni di BTS7960

  1. Veicoli robotici
  2. Sistemi di nastro trasportatore
  3. Porte motorizzate
  4. Controllo motore ad alta potenza nelle configurazioni industriali

Conclusione

Hai interfacciato con successo il driver del motore BTS7960 con un Arduino e controllato un motore a CC. Questo driver versatile è perfetto per applicazioni ad alta potenza che richiedono un controllo preciso. Sperimenta diversi valori PWM per controllare la velocità del motore e costruire i tuoi progetti motorizzati!

Lascia un commento

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.