BTS7960 motor driver

Si queremos manejar motores grandes y potentes el L298N se nos queda corto. En este caso tenemos el BTS7960 que es capaz de manejar hasta 43A y disipar mejor el calor gracias a su gran disipador conectado a los puentes H. Este driver solo es para un motor y la velocidad y dirección mediante PWM en los dos terminales, e incluso podemos apagar el driver para evitar consumos en reposo y sobrecargas. Por el precio que tiene es una muy buena opción aunque el tamaño puede ser un inconveniente (50x50mm).
La conexión es algo diferente a cómo sería con otros drivers:
- VCC: pin de salida de 5V si queremos alimentar nuestra placa con el regulador interno.
- GND: lo conectamos al GND de la placa.
- R_IS y L_IS: son pines de salida para leer el consumo de cada terminal. No es necesario conectarlos.
- R_EN y L_EN: podemos conectarlos a 5V para tenerlos siempre encendidos o a un pin digital y así controlar cuándo encenderlos.
- RPWM y LPWM: los conectaremos a pines PWM porque tendremos que controlar la velocidad.
- M+: al terminal positivo del motor.
- M-: al terminal negativo.
- B+: positivo de la batería.
- B-: negativo de la batería y al GND de la placa (GND común).
Precauciones
- Si tenemos la placa alimentada por otra fuente NO debemos conectar su 5V al pin VCC del driver.
- Usar GND común.
Código para mover un motor a la mitad de velocidad:
Definimos pines PWM y uno para activar los puentes H:
#define pinEnables 2
#define pinLPWM 6
#define pinRPWM 9
Los declaramos como salida y los activamos:
pinMode(pinEnables, OUTPUT);
pinMode(pinLPWM, OUTPUT);
pinMode(pinRPWM, OUTPUT);
digitalWrite(pinEnables, HIGH);
Movemos el motor a la mitad de velocidad y de un sentido a otro cada segundo:
analogWrite(pinLPWM, 127);
analogWrite(pinRPWM, LOW);
delay(1000);
analogWrite(pinLPWM, LOW);
analogWrite(pinRPWM, 127);
delay(1000);
Notas
- No requiere de librerías aunque existen para este driver.
- Si manejamos motores grandes que requieren un gran consumo es aconsejable utilizar un ventilador para el disipador.
- El driver tiene un control de sobrecarga.