Descripción
Descripción del motor K30 (Mabuchi K30 Micro DC Motor)
- Tipo: motor DC a imanes permanentes (cepillado)
- Tensión de funcionamiento: 1,5 V – 6 V DC
- Dimensiones: diámetro aproximadamente 6 × 8 mm, longitud aproximadamente 20 mm (eBay UK)
- Velocidad a régimen completo: hasta aproximadamente 27 000 RPM a 6 V (eBay UK)
- Construcción: compacto, ideal para proyectos hobbystas pequeños o dispositivos portátiles donde se necesita velocidad pero no gran par
Guía de uso con Arduino
1. Alimentación y protección
- No conectes el motor directamente a los pines de Arduino, ya que estos proporcionan como máximo 20 mA, insuficiente para hacer girar el motor y peligroso para la placa. (docs.sunfounder.com)
- Utiliza un transistor MOSFET (por ejemplo, IRLZ44N) o un puente H (por ejemplo, L298N) para controlarlo. Añade siempre un diodo de protección (flyback) en paralelo al motor para evitar picos de tensión dañinos.
2. Esquema de conexión (con transistor N-channel)
[Arduino PIN digitale] → [Resistenza ~220 Ω] → Gate MOSFET
Drain MOSFET → motore → +5 V (o 6 V)
Source MOSFET → GND
Diodo flyback tra i terminali del motore (anodo su MOSFET side, catodo su alimentazione motore)
3. Ejemplo de programa (PWM)
const int motorPin = 9; // PWM-capable pin
void setup() {
pinMode(motorPin, OUTPUT);
}
void loop() {
// Aumenta gradualmente la velocità
for (int speed = 0; speed <= 255; speed += 5) {
analogWrite(motorPin, speed);
delay(20);
}
delay(500);
// Mantieni velocità
analogWrite(motorPin, 200);
delay(2000);
// Riduci gradualmente la velocità
for (int speed = 200; speed >= 0; speed -= 5) {
analogWrite(motorPin, speed);
delay(20);
}
delay(500);
}
analogWrite()modula la velocidad mediante PWM (de 0 a 255).- Puedes modificar pin, velocidad y tiempos para adaptar a tu proyecto.
4. Ejemplos de uso práctico
- Ventilador para mini-robot, agitadores, bombas miniaturizadas, o como base para un mini taladro.
- Con un sensor tachimétrico (óptico o magnético) y un interrupt Arduino puedes medir las revoluciones y realizar un control en retroalimentación (PID).
Resumen
| Elemento | Detalles |
|---|---|
| Tipo de motor | DC con escobillas y imanes permanentes, 1,5–6 V, compacto |
| Protección necesaria | MOSFET o puente H + diodo flyback |
| Control de velocidad | PWM en pin digital (ej. D9), analogWrite() |
| Aplicaciones típicas | Robots, modelismo, miniagitadores, sistemas de enfriamiento |
| Expansiones posibles | Tachimetria, control de velocidad con retroalimentación, sensores |
Excelente — aquí tienes ejemplos prácticos y completos para pilotar el motor DC K30 (1.5–6 V) usando L293D e L298N con Arduino. Incluyo conexiones, explicaciones sobre los pines importantes, código Arduino (velocidad + dirección + frenado) y consejos prácticos (alimentación, límites de corriente, protecciones). Pongo las fuentes principales a las afirmaciones técnicas más importantes.
1) Notas generales antes de empezar
- No conectes el motor directamente a los pines de Arduino. Usa siempre un driver o un transistor y una alimentación externa para el motor; Arduino no proporciona corriente suficiente.
- Verifica la corriente absorbida por tu motor (corriente de régimen y corriente de bloqueo) y elige el driver en consecuencia (L293D es para corrientes más pequeñas, L298N soporta corrientes más altas). (Utmel, How To Mechatronics)
2) L293D — características esenciales
- IC de 16 pines, contiene dos H-bridge (puede controlar 2 motores).
- Corriente continua por canal: ~600 mA (pico 1.2 A no repetitivo).
- Tiene diodos de protección (diodos de acoplamiento interno) integrados en la versión L293D (es decir, protege de las sobretensiones de retorno debidas a la inductancia del motor). (STMicroelectronics, Texas Instruments)
Conexión típica (1 motor) — esquema textual
- Pin 1 (1,2EN) → PWM de Arduino (ej. D9) o HIGH para habilitar continuamente.
- Pin 2 (IN1) → digital de Arduino (ej. D8)
- Pin 7 (IN2) → digital de Arduino (ej. D7)
- Pin 3 (OUT1) → terminal A del motor
- Pin 6 (OUT2) → terminal B del motor
- Pin 4,5,12,13 → GND (conectarlos al GND común)
- Pin 8 (Vcc2, alimentación del motor) → 1,5–36 V (usa alimentación externa adecuada para el K30, típicamente 3–6 V)
- Pin 16 (Vcc1, lógica) → +5 V (Arduino 5 V)
- Condensador de desacoplamiento cerca de los pines de alimentación (100 µF + 0,1 µF).
- Conecta la GND del alimentador del motor con la GND de Arduino.
Nota: la L293 (sin D) no no tiene diodos internos y requiere diodos externos; el modelo L293D sí. (Texas Instruments)
Código Arduino (L293D) — adelante / atrás + PWM
// L293D example - motor on pins IN1, IN2, enable via PWM
const int enPin = 9; // PWM pin to 1,2EN
const int in1 = 8;
const int in2 = 7;
void setup() {
pinMode(enPin, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
}
void loop() {
// Avanti a velocità crescente
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
for (int v = 0; v <= 255; v += 5) {
analogWrite(enPin, v);
delay(20);
}
delay(1000);
// Frenata (short brake): portare entrambi HIGH o entrambi LOW a seconda del driver
digitalWrite(in1, HIGH);
digitalWrite(in2, HIGH);
analogWrite(enPin, 0);
delay(400);
// Indietro
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
analogWrite(enPin, 200);
delay(1500);
// Stop (coast)
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
analogWrite(enPin, 0);
delay(1000);
}
- Usa elenable como pin PWM (más simple) o aplica PWM directamente a un input pero ten cuidado con la lógica del chip. (circuitdigest.com)
3) L298N — características esenciales
- Es un driver dual H-bridge discreto (más “estilo antiguo”), típico en módulos vendidos con disipador y regulador 5 V. Puede manejar corrientes mayores (típicamente hasta ~2 A por canal dentro de los límites térmicos).
- El chip L298N NO incluye diodos de clamp internos; los módulos comúnmente vendidos a menudo incluyen diodos de protección y un regulador 5 V en la placa (jumper para habilitar la salida 5 V si la tensión del motor ≤12 V). Comprueba siempre el módulo que tienes. (How To Mechatronics, Arduino Project Hub)
Conexión típica módulo L298N (1 motor)
- Vcc (Vcc del motor, a menudo etiquetado 12V) → alimentación externa del motor (para K30 usa 3–6 V si el módulo y el motor lo permiten).
- 5V (Vss / lógica) → si el módulo no proporciona alimentación, conecta al 5V del Arduino; en muchos módulos hay un jumper que habilita un regulador on-board y proporciona 5V cuando la Vcc del motor es 7–12V. Si proporcionas >12V al motor, retira el jumper (para no dañar el regulador). (How To Mechatronics, Arduino Project Hub)
- ENA (Enable A) → PWM del Arduino (ej. D9) para motor A
- IN1, IN2 → pines digitales del Arduino (dirección)
- OUT1, OUT2 → terminales del motor
- GND común → conecta GND de la alimentación del motor y GND del Arduino
Esquema textual rápido
Arduino D9 (PWM) -> ENA
Arduino D8 -> IN1
Arduino D7 -> IN2
OUT1 -> motore (+)
OUT2 -> motore (-)
Vcc_motore -> alimentatore esterno (3-12V as needed)
5V logic -> Arduino 5V (or module regulator)
Allgrounds common
Código Arduino (L298N)
// L298N example - speed + direction using ENA as PWM
const int enA = 9; // PWM
const int in1 = 8;
const int in2 = 7;
void setup() {
pinMode(enA, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
}
void loop() {
// Avanti a 70%
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
analogWrite(enA, 180); // 0..255
delay(2000);
// Stop (coast)
analogWrite(enA, 0);
delay(500);
// Indietro a 50%
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
analogWrite(enA, 128);
delay(2000);
// Brake breve (short brake)
digitalWrite(in1, HIGH);
digitalWrite(in2, HIGH);
analogWrite(enA, 0);
delay(400);
// Fine ciclo
analogWrite(enA, 0);
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
delay(1000);
}
- Si tu módulo L298N tiene el jumper para el regulador 5V, lee las instrucciones: con tensiones del motor >12V retira el jumper para no quemar el regulador. (How To Mechatronics)
4) Elección L293D vs L298N — ¿cuál usar para el K30?
- Si el motor K30 absorbe <600 mA: El L293D es simple y va bien (menos espacio, diodos internos).
- Si el motor puede absorber corrientes más altas (picos o stall >1A): prefieres L298N o drivers más modernos (ej. MOSFET driver o driver de puente H basado en MOSFET como TB6612FNG, DRV8833, o un solo MOSFET si no necesitas inversión). (Utmel, regentelectronics.com)
Sugerencia: para eficiencia y menor disipación usa drivers de MOSFET (TB6612, DRV8833 o puente H basado en MOSFET) en lugar del L298N que disipa mucho calor.
5) Buenas prácticas y troubleshooting rápido
- Siempre GND común entre Arduino y alimentador del motor.
- Condensadores (100 µF o más) cerca de los terminales de alimentación del driver para suprimir transitorios.
- Disipador de calor en L298N si usas corrientes elevadas.
- No superar la corriente nominal: usa fusible o limitador de corriente si es necesario.
- Mide con multímetro la corriente en régimen y en pico; si ves sobrecalentamiento o caída de tensión, pasa a un driver más robusto.
- Si el PWM no parece funcionar correctamente con L293D/L298N: prueba a poner el PWM en elenable y no en los entradas de dirección (práctica común y más estable). (circuitdigest.com, Arduino Forum)
6) Ejemplo avanzado — lectura RPM y control PID (concepto rápido)
- Agrega un sensor óptico o codificador magnético en el eje del motor (o una rueda con agujeros) y cuenta los pasos con un interrupt Arduino → obtén RPM.
- Aplica un simple PID para regular PWM y mantener la velocidad deseada bajo carga. Puedo proporcionarte el código completo para codificador + PID si quieres.
Fuentes útiles (lecturas rápidas)
- Datasheet L293D (ST / TI) — especifica diodos internos y corrientes. (STMicroelectronics, Texas Instruments)
- Tutorial L298N (HowToMechatronics, Arduino Project Hub) — explica los jumper 5V y las conexiones del módulo. (How To Mechatronics, Arduino Project Hub)
- Resúmenes y diferencias L293D vs L298N (corrientes y límites). (Utmel, regentelectronics.com)
Tutorial: Cómo usar el Motor K30
El Motor K30 eléctrico de imán permanente es ideal para proyectos que requieren movimiento. Útil para principiantes e intermedios, es perfecto para construir simples robots y automatizaciones.
Qué necesitas
- Motores K30
- Arduino o microcontrolador compatible
- Resistencia de 220 Ohm (para protección del microcontrolador)
- Cable de alimentación 1.5-6V
Pasos
- 1. Monta el motor en una base estable.
- 2. Conecta el cable de alimentación al motor (consulta el datasheet).
- 3. Conecta una resistencia de 220 Ohm entre el pin de alimentación del motor y GND del microcontrolador.
- 4. Conecta el pin de alimentación del motor al VCC del microcontrolador.
- 5. Conecta el pin GND del motor a GND del microcontrolador.
- 6. Carga el código fuente en el microcontrolador.
- 7. Verifica que el motor se mueva cuando envíes una señal.
- 8. Prueba el motor en ambas direcciones.
Miniproyecto
Construye un robot simple que se mueva hacia adelante y hacia atrás. En 30 minutos puedes tener un proyecto funcionando.
Errores comunes
- No utilices un microcontrolador no compatible.
- No conectes corrientes superiores a 6V.
- Omite la resistencia de protección.
- Ignora las indicaciones en el datasheet.
Accesorios recomendados
- Microcontrolador Arduino Uno
- Base de prueba para motor
- Sensores de proximidad
- Batería 3.7V
Preguntas frecuentes
¿Cómo conectarse al microcontrolador?
Conecta VCC del motor a VCC del microcontrolador y GND del motor a GND del microcontrolador.
¿Cuáles microcontroladores son compatibles?
Microcontroladores basados en 5V como Arduino Uno o Nano.
¿El motor funciona con baterías AA?
Verifica en el datasheet para la tensión de alimentación correcta.
¿El motor se bloquea?
Verifica la corriente y la señal de control. Puede ser necesario un señal PWM.










Valoraciones
No hay valoraciones aún.