Control de motor de alta potencia BTS7960 con Arduino

Autor: Oscar Gonzalez

Control de motor de alta potencia BTS7960 con Arduino

Tiempo de lectura: 5 minutos

Aprende a controlar motores de alta potencia de hasta 43 Amperios con Arduino y BTS7960

Control de motor de alta potencia BTS7960 con Arduino

  • 1

0 Principiante

Código de ejemplo

Cómo programar BTS7960 con Arduino

El código que vamos a ver ahora es muy sencillo ya que el controlador es muy fácil de manejar. Existen por supuesto librerías para controlar el BTS7960 con Arduino, pero como podrás ver, con una decenas de líneas podremos hacerlo perfectamente. Si aún así lo prefieres, tienes ésta librería BTS7960 para Arduino en Github.

El código de ejemplo inicializa los pines en la función Setup() y luego en el bucle principal Loop() se activa primero la rotación del motor en un sentido. Se espera 1 segundo y se activa el motor en sentido inverso.

Para el propósito de éste tutorial he fijado una variable con valor fijo para la velocidad. Le puedes cambar al que prefieras con un valor de entre 0 y 254.

Acerca de la velocidad mínima

Aunque el valor de velocidad comience en 0, todos los motores tienen cierta inercia en el arranque. Vamos, que les cuesta más comenzar el giro que girar de forma sostenida. Por eso es normal que tu motor no comience a girar hasta que la velocidad mínima tenga un valor determinado, por ejemplo 30 o 40 (depende del motor).

// Control de motor con BTS7960
// Oscar Gonzalez - BricoGeek.com

int L_EN = 8;
int R_EN = 8;
int L_PWM = 6;
int R_PWM = 5;

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

 // Activa la salida
 digitalWrite(R_EN, HIGH);
 digitalWrite(L_EN, HIGH);
}

void loop() {

   int velocidad = 128; // Valor entre 0 y 254

   // Giro derecha
   analogWrite(R_PWM, velocidad);
   analogWrite(L_PWM, 0);

   delay(1000); // Esperamos 1 segundo

   // Giro izquierda
   analogWrite(R_PWM, 0);
   analogWrite(L_PWM, velocidad);   
 
   delay(1000); // Esperamos 1 segundo
}

Conclusiones

Ahora que ya tienes un mejor conocimiento sobre cómo controlar un motor de corriente continua con Arduino y el BTS7960, puedes comenzar a experimentar. ¡Esto no deja de ser un tutorial básico, pero el BTS7960 tiene funciones interesantes como el control de error a las que seguro le sacarás provecho!