¡Tu carrito está actualmente vacío!
Controladora de motor TB6600: Uso sin Librería

📌Madrid 🇪🇸 España | Notas sobre trabajo de uso genérico de controladora de motor/stepper + Fabricación de PCB

Características del TB6600
- Rango de Voltaje de Entrada: 9V a 42V DC.
- Corriente de Salida: Hasta 4.5A (ajustable).
- Control de Microstepping: Soporta múltiples configuraciones de microstepping como 1, 1/2, 1/4, 1/8, 1/16, 1/32 pasos.
- Protección: Protección contra sobrecalentamiento, sobrecorriente y cortocircuito.
- Compatibilidad: Compatible con la mayoría de microcontroladores y sistemas CNC.
Conexiones del TB6600
El controlador TB6600 tiene varias terminales que necesitan ser correctamente conectadas para funcionar con tu motor paso a paso y microcontrolador:
- Entrada de Alimentación (Power Input):
- VCC: Conectar a la fuente de alimentación positiva (9V-42V).
- GND: Conectar al negativo de la fuente de alimentación.
- Conexiones del Motor:
- A+, A-: Conectar a una bobina del motor.
- B+, B-: Conectar a la otra bobina del motor.
- Señales de Control:
- EN (Enable): Activa/desactiva el controlador. Conectar al pin de habilitación del microcontrolador.
- DIR (Direction): Controla la dirección de rotación del motor. Conectar al pin de dirección del microcontrolador.
- PUL (Pulse/Step): Recibe las señales de pulso para el movimiento del motor. Conectar al pin de paso/pulso del microcontrolador.
Configuración de Microstepping y Corriente
El TB6600 permite ajustar el microstepping y la corriente de salida mediante interruptores DIP:
- Microstepping: Se ajusta mediante una serie de interruptores DIP (generalmente 3) que configuran la resolución de los pasos.
- Corriente de Salida: Otros interruptores DIP (generalmente 3) ajustan la corriente máxima que el controlador suministra al motor.
Ejemplo de Configuración
Esquema básico de conexión y un ejemplo de código:
Conexiones Básicas
- Microcontrolador:
- PUL (Pulso/Step): Pin GPIO 17
- DIR (Dirección): Pin GPIO 16
- EN (Enable): Pin GPIO 5
- Motor Paso a Paso:
- Bobina A: Conectar a
A+
yA-
. - Bobina B: Conectar a
B+
yB-
.
- Bobina A: Conectar a
- Fuente de Alimentación:
- Conectar el positivo y negativo a
VCC
yGND
del TB6600.
- Conectar el positivo y negativo a
Código de Ejemplo
Este es un ejemplo de cómo controlar un motor paso a paso utilizando el TB6600 y un ESP32.
// Pines de conexión
const int pulPin = 17; // Pin de pulso
const int dirPin = 16; // Pin de dirección
const int enPin = 5; // Pin de habilitación
void setup() {
// Configurar los pines como salida
pinMode(pulPin, OUTPUT);
pinMode(dirPin, OUTPUT);
pinMode(enPin, OUTPUT);
// Habilitar el controlador (LOW para habilitar)
digitalWrite(enPin, LOW);
}
void loop() {
// Establecer la dirección del motor
digitalWrite(dirPin, HIGH); // Cambiar a LOW para la dirección opuesta
// Generar pulsos para mover el motor
for (int i = 0; i < 200; i++) {
digitalWrite(pulPin, HIGH);
delayMicroseconds(500); // Ajusta la velocidad con este delay
digitalWrite(pulPin, LOW);
delayMicroseconds(500);
}
delay(1000); // Pausa antes de cambiar de dirección
// Cambiar la dirección del motor
digitalWrite(dirPin, LOW);
// Generar pulsos para mover el motor en la dirección opuesta
for (int i = 0; i < 200; i++) {
digitalWrite(pulPin, HIGH);
delayMicroseconds(500);
digitalWrite(pulPin, LOW);
delayMicroseconds(500);
}
delay(1000); // Pausa antes de repetir el ciclo
}
Peculiaridades del TB6600 con ESP32/ESP8266
1. Niveles de Voltaje
- ESP32: Opera a 3.3V, lo que significa que la lógica de control del ESP32 usa niveles de voltaje de 3.3V para los pines de entrada/salida.
- TB6600: Aunque generalmente está diseñado para aceptar niveles lógicos de 5V, el TB6600 es lo suficientemente tolerante como para trabajar con los niveles lógicos de 3.3V del ESP32 en la mayoría de los casos. Sin embargo, si experimentas problemas de señal, considera usar un convertidor de nivel lógico para garantizar la compatibilidad.
2. Corriente de Salida y Calentamiento
- Corriente Máxima: El TB6600 puede manejar hasta 4.5A, lo cual es excelente para motores de alta potencia, pero ten en cuenta que esto puede llevar a un calentamiento significativo.
- Disipación de Calor: Asegúrate de montar el TB6600 en un disipador de calor adecuado o en un entorno bien ventilado para evitar el sobrecalentamiento.
3. Microstepping
- Configuración de Microstepping: El TB6600 permite ajustar el microstepping para lograr un movimiento más suave del motor. Esto es especialmente útil en aplicaciones donde la precisión es crítica. Los interruptores DIP en el TB6600 se utilizan para configurar el microstepping.MicrosteppingSW1SW2SW31ONONON1/2OFFONON1/4ONOFFON1/8OFFOFFON1/16ONONOFF1/32OFFONOFF
- Impacto en la Velocidad: Mayor microstepping reduce la velocidad máxima del motor, pero mejora la suavidad del movimiento y la precisión.
4. Ruido y Vibración
- Ruido: El uso de microstepping puede ayudar a reducir el ruido y la vibración, lo que es importante en aplicaciones que requieren un funcionamiento silencioso.
- Vibración: Asegúrate de que el motor esté montado firmemente y de que las conexiones de los cables estén aseguradas para minimizar la vibración.
5. Pulsos de Control (PWM)
- Frecuencia del Pulso: El TB6600 requiere pulsos de control adecuados para funcionar correctamente. La frecuencia de los pulsos afectará la velocidad del motor. Puedes usar la función
delayMicroseconds()
para ajustar la duración del pulso y controlar la velocidad. - Consistencia del Pulso: Asegúrate de que los pulsos sean consistentes, ya que las inconsistencias pueden causar movimientos erráticos del motor.
6. Protección y Seguridad
- Protección Contra Sobrecalentamiento y Sobrecorriente: El TB6600 tiene protección integrada, pero es importante verificar la configuración de corriente y asegurarse de que el motor no esté sobrecargado.
- Desconexión Segura: Siempre apaga la fuente de alimentación antes de desconectar o cambiar cualquier cable para evitar daños al controlador o al motor.
Consejos para Optimizar el Uso del TB6600 con ESP32
1. Uso de Convertidores de Nivel Lógico
Si experimentas problemas de señal debido a los niveles de voltaje, considera usar un convertidor de nivel lógico para ajustar la lógica de 3.3V del ESP32 a 5V compatible con el TB6600. Esto asegura una transmisión de señal más confiable.
2. Alimentación del Motor
Utiliza una fuente de alimentación adecuada que pueda proporcionar suficiente corriente para el motor y el controlador. Asegúrate de que la fuente de alimentación sea capaz de manejar el pico de corriente necesario para el motor bajo carga.
3. Pruebas de Configuración de Corriente
Ajusta la corriente de salida utilizando los interruptores DIP en el TB6600 para coincidir con las especificaciones del motor. Aquí tienes una tabla de ejemplo para ajustar la corriente:
Corriente (A) | SW4 | SW5 | SW6 |
---|---|---|---|
1.0 | ON | ON | ON |
2.0 | OFF | ON | ON |
3.0 | ON | OFF | ON |
4.5 | OFF | OFF | ON |
Etiquetas:
Deja una respuesta