Resumen de Tipos de Motores Eléctricos y su Control con Arduino
Resumen de Tipos de Motores Eléctricos y su Control con Arduino
Los motores eléctricos son dispositivos que convierten energía eléctrica en mecánica. A continuación, se presentan los tipos más comunes y cómo controlarlos con Arduino.
1. Motores de Corriente Continua (DC)
Descripción:
-
Funcionan con corriente continua (DC).
-
Tienen dos terminales: positivo y negativo.
-
Velocidad controlada por voltaje, dirección por polaridad.
Control con Arduino:
-
Se usa un driver Puente H (como L298N o L293D) para cambiar dirección y velocidad mediante PWM.

Ejemplo de Código:
int ENA = 6; // PWM para velocidad int IN1 = 7; // Control dirección int IN2 = 8; void setup() { pinMode(ENA, OUTPUT); pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); } void loop() { // Giro en un sentido (velocidad media) digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); analogWrite(ENA, 150); // PWM (0-255) delay(2000); // Cambio de dirección digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH); delay(2000); }
2. Motores Paso a Paso (Stepper)
Descripción:
-
Mueven en pasos angulares precisos.
-
Ideales para posicionamiento exacto (impresoras 3D, CNC).
-
Tipos: Unipolares (4 o 5 cables) y Bipolares (4 cables).

Control con Arduino:
-
Se usa un driver como ULN2003 (unipolar) o A4988 (bipolar).
Ejemplo con Librería Stepper.h:
#include <Stepper.h> const int pasosPorVuelta = 200; // Depende del motor Stepper motor(pasosPorVuelta, 8, 9, 10, 11); void setup() { motor.setSpeed(60); // RPM } void loop() { motor.step(200); // Gira 200 pasos (1 vuelta) delay(1000); motor.step(-200); // Gira en sentido contrario delay(1000); }
3. Servomotores

Descripción:
-
Motores con retroalimentación para posicionamiento angular preciso (0° a 180°).
-
Usados en robótica y automatización.
Control con Arduino:
-
Se usa PWM y la librería
Servo.h.
Ejemplo:
#include <Servo.h> Servo miServo; void setup() { miServo.attach(9); // Pin PWM } void loop() { miServo.write(0); // Posición 0° delay(1000); miServo.write(90); // Posición 90° delay(1000); miServo.write(180); // Posición 180° delay(1000); }
4. Motores Brushless (BLDC)

Descripción:
-
Motores sin escobillas, eficientes y de alta velocidad (drones, ventiladores).
-
Requieren controlador ESC (Electronic Speed Controller).
Control con Arduino:
-
Se usa señal PWM y un ESC programado.
Ejemplo:
#include <Servo.h> Servo ESC; void setup() { ESC.attach(9); ESC.writeMicroseconds(1000); // Señal de armado delay(3000); } void loop() { ESC.writeMicroseconds(1500); // Velocidad media delay(2000); }
Conclusión
| Motor | Driver/Control | Precisión | Aplicación |
|---|---|---|---|
| DC | Puente H (L298N) | Baja | Juguetes, ventiladores |
| Paso a Paso | A4988/ULN2003 | Alta | CNC, impresoras 3D |
| Servo | Señal PWM | Media-Alta | Robótica, brazos |
| Brushless | ESC | Alta | Drones, motores rápidos |
Arduino permite controlar estos motores con librerías y circuitos simples, adaptándose a proyectos de electrónica y robótica.
