Este motor TT de 12V y 300 revoluciones por minuto (rpm) es ideal para proyectos de robótica y automatización que requieren control preciso de movimiento. La inclusión de un codificador Hall permite monitorear la velocidad y la posición del motor en tiempo real, facilitando la implementación de sistemas de control de retroalimentación. La caja de engranajes integrada ofrece una relación de reducción de 1:48, aumentando el torque y permitiendo movimientos más controlados. El diseño de doble eje proporciona flexibilidad en la instalación, permitiendo la conexión de ruedas, poleas u otros mecanismos en ambos extremos del motor. Este motor es compatible con plataformas de desarrollo como Arduino y Raspberry Pi, lo que lo hace adecuado para una amplia gama de aplicaciones educativas y de prototipado.
Características técnicas:
- Voltaje nominal: 12V DC
- Velocidad sin carga: 300 rpm
- Relación de engranajes: 1:48
- Material: Eje y engranajes de Technil (Plástico de ingeniería)
- Torque de arranque: 0.8 kg·cm a 6V
- Corriente sin carga: 150 mA ±10%
- Dimensiones del cuerpo: 70 x 22 x 18 mm
- Longitud de cables: 200 mm
- Peso: 30.6 g
Aplicaciones más frecuentes:
- Robótica educativa: Construcción de vehículos autónomos y robots móviles.
- Proyectos de automatización: Sistemas que requieren control preciso de movimiento.
- Prototipos de ingeniería: Desarrollo de mecanismos que necesitan monitoreo de posición y velocidad.
- Dispositivos interactivos: Gadgets que responden al movimiento o requieren desplazamiento controlado.



Conexiones:
Pin | Descripción |
---|---|
G | Suministro de energía negativo del sensor Hall |
H1 | Señal de salida Hall H1, onda cuadrada |
H2 | Señal de salida Hall H2, onda cuadrada |
V | Suministro de energía positivo del sensor Hall |
M+ | Suministro de energía positivo del motor |
M- | Suministro de energía negativo del motor |
Observaciones:
- El voltaje entre V y G se determina de acuerdo con el voltaje de alimentación del microcontrolador (MCU) utilizado, generalmente se usa 3.3V o 5V.
- La frecuencia de la onda cuadrada de salida en H1 y H2 está relacionada con la velocidad del motor y con el logaritmo de la hoja magnética utilizada.
- El voltaje entre M+ y M- se determina de acuerdo con el voltaje del motor utilizado.
Cómo usar este motor?
Uso del Motor TT 12V 300rpm con Codificador Hall en Arduino UNO R3
Introducción
En este tutorial aprenderás a conectar y controlar un Motor TT 12V 300rpm con codificador Hall usando un Arduino UNO R3 y un driver L298N. Se leerán los pulsos del encoder Hall para medir la velocidad en RPM.
Materiales Necesarios
- Motor TT 12V 300rpm con codificador Hall
- Arduino UNO R3
- Driver de motor L298N
- Fuente de alimentación de 12V
- Protoboard y cables jumper
Paso 1: Entendiendo el Pinout del Codificador Hall
Basado en el esquema del codificador, los pines tienen la siguiente función:
Pin | Descripción | Conectar a |
---|---|---|
G | GND (Tierra) | GND de Arduino |
H1 | Salida A del encoder | Pin 2 de Arduino (Interrupción) |
H2 | Salida B del encoder | Pin 3 de Arduino |
V | VCC (Alimentación del sensor) | 5V de Arduino |
M+ | Alimentación del motor (positivo) | OUT1 del L298N |
M- | Alimentación del motor (negativo) | OUT2 del L298N |
📌 Nota:
- H1 y H2 se utilizan para medir la velocidad y dirección del motor mediante el codificador Hall.
- M+ y M- son los terminales del motor, conectados al driver L298N.
- El motor funciona con 12V nominal, por lo que debe alimentarse con una fuente de 12V.
Paso 2: Conexión del Motor, Encoder y Arduino
Componente | Pin | Conectar a |
---|
Motor TT | M+ | OUT1 (L298N) |
Motor TT | M- | OUT2 (L298N) |
Driver L298N | IN1 | Pin 9 (Arduino) |
Driver L298N | IN2 | Pin 10 (Arduino) |
Driver L298N | ENA | Pin 5 (Arduino) – PWM para velocidad |
Driver L298N | GND | GND de Arduino |
Driver L298N | VCC | 12V de la fuente |
Encoder Hall | G (GND) | GND de Arduino |
Encoder Hall | V (5V) | 5V de Arduino |
Encoder Hall | H1 (Salida A) | Pin 2 de Arduino (Interrupción) |
Encoder Hall | H2 (Salida B) | Pin 3 de Arduino |
Paso 3: Código para Control del Motor y Lectura del Encoder
El siguiente código permite controlar la velocidad del motor y leer la cantidad de pulsos del encoder para calcular las RPM.
#define ENA 5 // Pin PWM para velocidad
#define IN1 9 // Dirección motor
#define IN2 10 // Dirección motor
#define encoderA 2 // Encoder Hall salida A (H1)
#define encoderB 3 // Encoder Hall salida B (H2)
volatile int contador = 0;
float rpm = 0;
void contarPulsos() {
contador++;
}
void setup() {
pinMode(ENA, OUTPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(encoderA, INPUT_PULLUP);
pinMode(encoderB, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(encoderA), contarPulsos, RISING);
Serial.begin(9600);
}
void loop() {
// Activar motor en una dirección
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
analogWrite(ENA, 150); // Velocidad (0-255)
// Medición de RPM
delay(1000);
rpm = (contador / 20.0) * 60.0; // Ajustar 20 según resolución del encoder
Serial.print(«RPM: «);
Serial.println(rpm);
contador = 0;
}
Paso 4: Explicación del Código
- Configuración de pines:
- Se configuran pines para el L298N y el encoder Hall.
- Interrupción para contar pulsos:
- Cada pulso del pin 2 (H1) incrementa el contador.
- Cálculo de RPM:
- Se multiplica por 60 para obtener las revoluciones por minuto.
- Control de velocidad:
- Se usa
analogWrite(ENA, 150);
para ajustar la velocidad (0-255).
- Se usa
Paso 5: Pruebas y Ajustes
- Sube el código a Arduino UNO.
- Abre el Monitor Serie (9600 baudios) y observa las RPM.
- Modifica
analogWrite(ENA, valor);
para cambiar la velocidad. - Cambia
digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW);
para invertir la dirección del motor.
Conclusión
Con este tutorial, has aprendido a conectar y controlar un Motor TT 12V con codificador Hall con Arduino UNO R3. Ahora puedes usar este sistema para robots móviles, plataformas automatizadas y proyectos de control de movimiento precisos. 🚀