Informe Técnico: Control de Motores
DC con Arduino
1. Marco Teórico
1.1 Fundamentos de Motores DC
Principio de Funcionamiento:
Los motores DC convierten energía eléctrica en movimiento rotacional mediante fuerzas
electromagnéticas. Cuando la corriente circula por las bobinas del rotor, interactúa con el
campo magnético del estator, generando torque.
Parámetros Clave:
- Voltaje de operación: 3-12V (ideal para Arduino).
- Consumo de corriente: 100mA-2A (requiere drivers externos).
1.2 Tipos de Motores
Tipo Ventajas Desventajas
Motor DC Control simple de Mantenimiento de
velocidad/dirección escobillas
Paso a Paso Posicionamiento preciso Bajo torque a alta velocidad
Servomotor Alta precisión en ángulos Costo elevado
2. Circuito Básico con Puente H
2.1 Materiales
Arduino Uno
Motor DC (6-12V)
Módulo Puente H L298N
Batería 9V + clip
Protoboard + cables
Diodo 1N4007 (protección contra EMI)
2.2 Conexiones
[Link]
Motor → L298N: Terminales a OUT1 y OUT2.
L298N → Arduino:
IN1 → Pin 8 (digital)
IN2 → Pin 9 (digital)
ENA → Pin 10 (PWM)
Alimentación:
Batería 9V → L298N (Vin)
GND compartido entre Arduino, L298N y batería.
3. Control PWM de Velocidad
3.1 Código Arduino
const int IN1 = 8;
const int IN2 = 9;
const int ENA = 10; // Pin PWM
void setup() {
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(ENA, OUTPUT);
}
void loop() {
// Giro horario (75% velocidad)
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
analogWrite(ENA, 192); // 192/255 ≈ 75%
delay(3000);
// Giro antihorario (25% velocidad)
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
analogWrite(ENA, 64); // 64/255 ≈ 25%
delay(3000);
// Frenado activo
digitalWrite(IN1, HIGH);
digitalWrite(IN2, HIGH);
delay(1000);
}
3.2 Explicación del PWM
analogWrite(pin, valor): Genera una señal cuadrada modulada.
Ciclo de trabajo = valor/255 (ej: 192 → 75%).
Frecuencia base: 490 Hz en pines PWM de Arduino Uno.