SKU: Model-V-v1.0 | Controlador de motor DC L293DD de doble puente H con puertos servo
El módulo OSOYOO Model V Motor Driver es una placa compacta de doble puente H construida alrededor del IC de cuatro semipuentes H L293DD. Controla dos motores DC de forma independiente — gestionando tanto la velocidad como la dirección — lo que lo hace ideal para robots con ruedas y proyectos de vehículos inteligentes.
Desde el punto de vista eléctrico es completamente compatible con el popular driver L298N: misma interfaz de control ENA / IN1–IN4 / ENB, misma tabla de verdad del puente H y un regulador de 5 V integrado. La mejora clave es que todas las conexiones de motor y alimentación utilizan conectores JST con llave de polaridad (K1–K4, CN1–CN2) que impiden físicamente los errores de inversión de polaridad.
Dos pines de señal servo dedicados (S, S) en el conector multiuso permiten conectar un soporte pan-tilt o servos de dirección sin hardware adicional. La placa es compatible con Arduino Uno / Nano / Mega, ESP32 y Raspberry Pi (mediante level-shifter).

Índice de contenidos
El Model V está diseñado para proyectos de robótica, vehículos inteligentes y educación en automatización:
| Aplicación | Descripción |
|---|---|
| Coche robot 2WD / 4WD | Control independiente de los motores izquierdo/derecho para avance, marcha atrás y giro. Combinar con un sensor ultrasónico para evitar obstáculos. |
| Robot seguidor de línea | Sensores IR detectan la pista; el PWM ajusta en tiempo real la velocidad de Motor A / Motor B para corregir la trayectoria. |
| Robot resolvedor de laberintos | Sensores de distancia a la pared combinados con control diferencial permiten la navegación autónoma en laberintos. |
| Coche teledirigido | Recibir comandos por Bluetooth (HC-05), Wi-Fi (ESP32) o mando IR y convertirlos en velocidad y dirección del motor. |
| Plataforma de ruedas Mecanum / Omni | Usar dos placas Model V para cuatro motores de rueda independientes y lograr movimiento holonómico (en todas las direcciones). |
| Cámara pan-tilt / brazo sensor | Mover los motores del chasis mientras se utilizan los puertos servo integrados para controlar simultáneamente un soporte de cámara o un brazo ultrasónico. |
| Cinta transportadora / sistema de clasificación DIY | Controlar dos cintas transportadoras o mecanismos de alimentación con velocidad y dirección independientes. |
| STEM / Robótica en el aula | La lógica compatible con L298N, las etiquetas de serigrafía claras y los conectores con llave reducen los errores de cableado — ideal para entornos educativos. |
analogWrite() a ENA / ENB para un control de velocidad variable y suave (0–100%).| Parámetro | Valor | Notas |
|---|---|---|
| IC controlador de motor | L293DD | Cuatro semipuentes H, SOIC-20 |
| Canales de motor | 2 (Motor A, Motor B) | Puente H independiente completo por canal |
| Puertos servo | 2 | Pines de señal en el conector multiuso |
| Tensión de entrada (VIN) | 7 V – 12 V CC | Rango recomendado para el regulador integrado |
| Tensión máxima del motor | 36 V (nominal L293DD) | Retirar el jumper Motor PWR; alimentar la lógica 5 V por separado si >12 V |
| Tensión de alimentación lógica | 5 V (integrado) / 3,3 V–5 V (ext.) | Regulador activo cuando el jumper está en ON |
| Corriente de salida (continua) | 600 mA por canal | Según la hoja de datos L293DD |
| Corriente de salida (pico) | 1,2 A por canal | Ráfagas cortas; garantizar ventilación adecuada |
| Interfaz de control | TTL (3,3 V / 5 V) | ENA, IN1, IN2, IN3, IN4, ENB |
| Frecuencia PWM máx. | 25 kHz | Límite de conmutación L293DD |
| Salida del regulador integrado | 5 V, ≤ 1 A | Para alimentación lógica y servo |
| Conectores de motor | 4 × JST 2 pines con llave (K1–K4) | Evita la conexión invertida |
| Conectores de entrada de alimentación | 2 × JST con llave (CN1, CN2) | VIN & GND polarizados |
| Protección | ESD (L293DD) + diodos de rueda libre D1–D8 | — |
| Temperatura de funcionamiento | 0 °C – 70 °C | — |
| Dimensiones del PCB | aprox. 64 × 56 mm | Ver Información mecánica |
| Peso | aprox. 20 g | Sin cables |
El diagrama y la tabla siguientes identifican los componentes principales de la placa Model V.

Fig. 1 — Vista superior del PCB OSOYOO Model V (referencia de componentes)
| Referencia | Componente | Descripción |
|---|---|---|
| U2 | IC driver de motor L293DD | Chip driver principal. Cuatro semipuentes H que forman dos puentes H completos para Motor A y Motor B. 600 mA continuos / 1,2 A de pico por canal; protección ESD integrada. |
| U1 | Regulador de tensión de 5 V | Regulador lineal D-PAK que convierte la alimentación de motor de 7–12 V en 5 V estables para la lógica integrada, el pin 5V del conector y la alimentación servo. Activo solo cuando el jumper Motor PWR está instalado. |
| K1, K2 | Conectores de salida Motor A | Lado izquierdo — dos conectores JST con llave correspondientes a OUT1 y OUT2. Los dos cables de Motor A se conectan a K1 y K2. La carcasa con llave evita la inserción incorrecta. |
| K3, K4 | Conectores de salida Motor B | Lado derecho — dos conectores JST con llave correspondientes a OUT3 y OUT4. Los dos cables de Motor B se conectan a K3 y K4. |
| CN1, CN2 | Conectores de entrada de alimentación | Conectores JST con llave para la alimentación del motor (VIN 7–12 V y GND). Dos conectores para un cableado flexible — conectar la alimentación a cualquiera de los dos. |
| Jumper Motor PWR | Jumper de habilitación del regulador | Jumper ON (predeterminado): el regulador integrado alimenta el rail de 5 V desde VIN. Jumper OFF: regulador deshabilitado; suministrar 5 V externamente mediante el pin 5V del conector. |
| Conector de control (6P) | Pines de control del MCU | Conector pasante en la esquina inferior derecha con las señales ENA, IN1, IN2, IN3, IN4, ENB del microcontrolador. |
| Conector multiuso (7P) | Conector de alimentación + servo | Conector pasante en la esquina inferior izquierda con paso de VIN (×2), GND (×2), salida de 5 V regulados y dos pines de señal servo (S, S). |
| D1–D8 | Diodos de protección de rueda libre | Ocho diodos Schottky SMD que suprimen los picos de tensión inductivos cuando se interrumpe la corriente del motor — protección adicional además de las diodos internas del L293DD. |
| LED | LED indicador de alimentación | Se enciende cuando la placa está alimentada. Si el LED está apagado, verificar la alimentación y las conexiones CN1/CN2. |
Ubicado en el borde inferior derecho. Conectar estos pines a los pines GPIO digitales (y compatibles con PWM) del microcontrolador.
| Pin | Dirección | Tipo | Descripción |
|---|---|---|---|
| ENA | Entrada | Digital / PWM | Habilitación Motor A. HIGH = habilitado, LOW = parada en rueda libre. Usar analogWrite(0–255) para control de velocidad. |
| IN1 | Entrada | Digital | Bit de dirección Motor A 1. HIGH con IN2=LOW → adelante. |
| IN2 | Entrada | Digital | Bit de dirección Motor A 2. HIGH con IN1=LOW → atrás. |
| IN3 | Entrada | Digital | Bit de dirección Motor B 1. HIGH con IN4=LOW → adelante. |
| IN4 | Entrada | Digital | Bit de dirección Motor B 2. HIGH con IN3=LOW → atrás. |
| ENB | Entrada | Digital / PWM | Habilitación Motor B. Mismo comportamiento que ENA. |
| ENx | INx1 | INx2 | Estado del motor |
|---|---|---|---|
| HIGH | HIGH | LOW | Adelante (sentido horario) |
| HIGH | LOW | HIGH | Atrás (sentido antihorario) |
| HIGH | HIGH | HIGH | Freno (parada rápida) |
| HIGH | LOW | LOW | Rueda libre |
| LOW | × | × | Motor deshabilitado (Hi-Z) |
| PWM | HIGH | LOW | Adelante + velocidad variable |
| PWM | LOW | HIGH | Atrás + velocidad variable |
ENx = ENA para Motor A (IN1/IN2); ENB para Motor B (IN3/IN4). “×” = indiferente.
| Pin | Dirección | Descripción |
|---|---|---|
| VIN (×2) | Entr. / Sal. | Paso de la tensión de alimentación del motor (7–12 V). Usar para alimentar dispositivos externos o como entrada de alimentación alternativa. |
| GND (×2) | — | Masa común. Debe conectarse al GND del microcontrolador. |
| 5V | Salida | 5 V regulados por U1. Alimenta el microcontrolador o los sensores. Disponible solo cuando el jumper Motor PWR está en ON y VIN es 7–12 V. |
| S (×2) | Entrada | Pines de señal servo — conectar a un GPIO compatible con PWM del microcontrolador. La alimentación del servo proviene de los pines 5V y GND de este mismo conector. |
Este tutorial controla un coche robot de 2 o 4 ruedas con el Model V y un Arduino Uno. Las mismas asignaciones de pines y el mismo sketch funcionan también con Arduino Nano, Mega y ESP32.
Conectar el Model V al Arduino Uno como se muestra a continuación. El archivo Fritzing (OSOYOO Model V.fzz) incluido en el producto proporciona una vista gráfica del cableado.
| Pin / Conector Model V | Pin Arduino Uno | Notas |
|---|---|---|
| ENA (Conector de control) | Pin 5 (PWM ~) | Control de velocidad Motor A |
| IN1 (Conector de control) | Pin 6 | Bit de dirección Motor A 1 |
| IN2 (Conector de control) | Pin 7 | Bit de dirección Motor A 2 |
| IN3 (Conector de control) | Pin 8 | Bit de dirección Motor B 1 |
| IN4 (Conector de control) | Pin 9 | Bit de dirección Motor B 2 |
| ENB (Conector de control) | Pin 10 (PWM ~) | Control de velocidad Motor B |
| GND (Conector multiuso) | GND | Imprescindible — masa común |
| 5V (Conector multiuso) | 5V (opcional) | Conectar solo cuando el jumper Motor PWR está en ON y se desea que la placa alimente el Arduino. No conectar si el Arduino se alimenta por separado. |
| CN1 o CN2 | — | Alimentación DC externa 7–12 V (+ a VIN, − a GND) |
| K1 & K2 | — | Motor A: cables del motor izquierdo a K1 y K2 |
| K3 & K4 | — | Motor B: cables del motor derecho a K3 y K4 |
myServo.attach(pin) con el pin de Arduino conectado a S.El sketch siguiente recorre adelante, atrás, giro izquierda, giro derecha y parada. Copiarlo en el IDE de Arduino, seleccionar la placa y cargarlo.
/*
* OSOYOO Model V Motor Driver — Robot Car Demo
* Compatible: Arduino Uno / Nano / Mega / ESP32
*
* Wiring (Arduino Uno):
* ENA → Pin 5 (PWM) ENB → Pin 10 (PWM)
* IN1 → Pin 6 IN3 → Pin 8
* IN2 → Pin 7 IN4 → Pin 9
* GND → Arduino GND (essential!)
* VIN → External 7-12 V DC supply
* K1+K2 → Left motor(s)
* K3+K4 → Right motor(s)
*/
// ── Pin definitions ───────────────────────────────────────────────
#define ENA 5 // Motor A enable (PWM speed)
#define IN1 6 // Motor A direction bit 1
#define IN2 7 // Motor A direction bit 2
#define IN3 8 // Motor B direction bit 1
#define IN4 9 // Motor B direction bit 2
#define ENB 10 // Motor B enable (PWM speed)
#define FULL_SPEED 220 // 0-255 drive speed
#define TURN_SPEED 180 // slightly lower for turns
// ── Low-level motor primitives ────────────────────────────────────
void motorA(int spd, bool fwd) {
analogWrite(ENA, spd);
digitalWrite(IN1, fwd ? HIGH : LOW);
digitalWrite(IN2, fwd ? LOW : HIGH);
}
void motorB(int spd, bool fwd) {
analogWrite(ENB, spd);
digitalWrite(IN3, fwd ? HIGH : LOW);
digitalWrite(IN4, fwd ? LOW : HIGH);
}
// ── Car movement functions ────────────────────────────────────────
void carForward (int s) { motorA(s,true); motorB(s,true); }
void carBackward(int s) { motorA(s,false); motorB(s,false); }
void carLeft (int s) { motorA(s,false); motorB(s,true); }
void carRight (int s) { motorA(s,true); motorB(s,false); }
void carStop() {
analogWrite(ENA, 0); analogWrite(ENB, 0);
digitalWrite(IN1,LOW); digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW); digitalWrite(IN4,LOW);
}
// ── Setup ─────────────────────────────────────────────────────────
void setup() {
pinMode(ENA,OUTPUT); pinMode(IN1,OUTPUT); pinMode(IN2,OUTPUT);
pinMode(ENB,OUTPUT); pinMode(IN3,OUTPUT); pinMode(IN4,OUTPUT);
carStop();
Serial.begin(9600);
Serial.println("OSOYOO Model V — Robot Car Demo");
}
// ── Demo loop ─────────────────────────────────────────────────────
void loop() {
carForward(FULL_SPEED); delay(2000); // forward 2 s
carStop(); delay(400);
carBackward(FULL_SPEED); delay(2000); // backward 2 s
carStop(); delay(400);
carLeft(TURN_SPEED); delay(700); // spin left ~90°
carStop(); delay(400);
carRight(TURN_SPEED); delay(700); // spin right ~90°
carStop(); delay(1500); // pause, then repeat
}
analogWrite() acepta 0–255. Los valores por debajo de ~80 pueden no proporcionar suficiente par para arrancar un motor con carga — aumentar FULL_SPEED si es necesario.analogWrite() directamente. Para un control PWM más fino usar ledcAttach() / ledcWrite() a 1–10 kHz, resolución de 8 bits.#include <Servo.h>, llamar a myServo.attach(pin) en el pin conectado a S y controlar con myServo.write(angle) — completamente independiente de los canales del motor.
Fig. 2 — Plano 2D del PCB
| Dimensión | Valor |
|---|---|
| Longitud del PCB | aprox. 64 mm |
| Anchura del PCB | aprox. 56 mm |
| Grosor del PCB | 1,6 mm (FR4 estándar) |
| Agujeros de montaje | 4 × Ø 3,2 mm, uno en cada esquina |
| Paso entre agujeros (L) | aprox. 57 mm |
| Paso entre agujeros (A) | aprox. 49 mm |
| Componente más alto | aprox. 12 mm (carcasa conector JST) |
| Peso (PCB desnudo) | aprox. 20 g |
| Color del PCB | Morado, acabado ENIG |
| Separador recomendado | M3 × 8 mm (latón o nylon) |
| Documento | Archivo | Descripción |
|---|---|---|
| Esquema eléctrico | SCH_OSOYOO Model V Motor Module v1.0_1-P1_2026-05-14.png | Esquema completo de la placa Model V (EasyEDA). |
| Plano 2D del PCB | PCB-2D_OSOYOO Model V Motor Module v1.0_2026-05-14.png | Disposición del PCB vista desde arriba con designadores de referencia de componentes. |
| Diagrama Fritzing | OSOYOO Model V.fzz | Abrir en Fritzing para ver / editar el diagrama de cableado en breadboard. |
| Foto del producto | Motor V实物图.jpg | Fotografía de alta resolución del producto. |
| Hoja de datos L293DD | — | Disponible en el sitio web de Texas Instruments / STMicroelectronics. |
| OSOYOO Model X (L298N) | Introducción | Comparación de referencia: driver basado en L298N con la misma interfaz de control. |

Fig. 3 — Esquema eléctrico OSOYOO Model V (EasyEDA)
analogWrite() en Arduino (490–980 Hz) está muy por debajo de este límite. No superar los 25 kHz ya que aumenta las pérdidas de conmutación y el calor.OSOYOO Model V DC Motor Driver Module — Documentación del producto v1.0 | © OSOYOO |
www.osoyoo.com
DownLoad Url osoyoo.com