motor-driver-mosfet-dat - motor-driver-dat - motor-driver-design-dat - motor-driver-dead-time-protection-dat - ELRS-TX-setup-motor-dual-dat
motor-driver-dat - motor-driver-design-dat - logic-level-shifter-dat - PWM-dat - ESP32-S3-dat - ESP32-dat
motor-dat - motor-driver-DC-dat - motor-driver-rc-dat - motor-driver-dat
driver-hardware-dat - motor-driver-dat - fan-driver-dat - LED-driver-dat
tech
motor-driver-dead-time-protection-dat - ELRS-TX-setup-motor-dual-dat
PWM-chopper-type-motor-driver - FOC-dat - CC-CCW-control-dat
AC-mains-dat - motor-dat drive - IGBT-dat
PWM-dat - mosfet-dat - relay-dat control
control method - PWM-motor-control-dat - wifi-motor-control-dat
motor-servo-dat - motor-stepper-dat - motor-driver-stepper-dat
driver
functions
Board
arduino-dat based - arduino-shields-dat - DAS1043-dat
high voltage control - SDR1109-dat
easy to use - TB6612-dat - SDR1059-dat - SDR1087-dat - MPC1114-dat
low voltage and high efficient - DRV8833-dat
relay-dat control ==
mosfet-dat and PWM-dat control == SDR1073-dat
control included board - SDR1117-dat - SDR1064-dat
motor-brushless-dat - motor-three-phase-BLDC-dat - SDR1106-dat - FOC-dat
MC10_10A-dat - demo video == https://t.me/electrodragon3/456
chips
ti-motor-dat - DRV8825-dat - DRV8837-dat - DRV8313-dat - DRV8833-dat - DRV8837-dat - DRV8870-dat - DRV8876-dat - DRV8711-dat - DRV8874-dat - DRV8803-dat - DRV8834-dat - DRV8872-dat - DRV8220-dat - DRV8848-dat - DRV8800-dat - DRV8841-dat - DRV8812-dat - DRV8801-dat - DRV8860-dat - DRV8836-dat - DRV8821-dat
DRV8835-dat - DRV8880-dat - DRV8840-dat - DRV8844-dat - DRV8231-dat
DRV8301-dat - ESC-dat - FOC-dat - motor-brushless-dat - motor-driver-BLDC-dat - DRV11873-dat
toshiba-dat - TB6612-dat - TB6600-dat - board - SDR1059-dat - THB6128-dat - TB67S109-dat - motor-stepper-dat - TB6560-dat - TB6608-dat - TB6552-dat
allegro-dat - A4988-dat - A4954-dat - A4950-dat - A3967-dat
TMC2225-dat - TMC2208-dat - TMC2209-dat - ATDC5833-dat - TMC5160-dat
ULN2003-dat - L9110-dat - LV8729-dat - LV8731-dat - UWM-dat - SS8870-dat - SS6216-dat - L6201-dat - SS6951-dat
AT8236-dat - TC118S-dat - EMC2301-dat - AT8549-dat - AT8833-dat - ATD5984-dat - AT8548-dat - AT8870-dat - AT8222-dat - AT8833-dat - AT8837-dat - ATD5833-dat
chip SOP8
- fuman-dat - TC214B-dat == L9110-dat
单通道直流马达驱动器
and more
design rules
- add proper pull-up or pull-down resistors to the input pins of the motor driver ICs to ensure stable operation and prevent floating inputs. - resistor-dat
- both IN1 and IN2 pull up or down in the same time to prevent the motor driver from entering an undefined state.
Chip function lists
- overcurrent / thermal shutdown protection / microstepping / precise motor control
advanced control
Comparison
TB6612FNG vs. L298N
| Feature | TB6612FNG | L298N |
|---|---|---|
| Motor Voltage Range | 2.5V – 13.5V | 5V – 46V |
| Logic Voltage Range | 2.7V – 5.5V | 5V – 7V |
| Continuous Current / ch | ~1.2A | 2A |
| Peak Current / ch | 3.2A (short bursts) | 3A (non-repetitive) |
| Efficiency | High (CMOS) | Low (Bipolar) |
| Voltage Drop | ~0.2V | ~1.8V – 3V |
| Heat Output | Low | High |
| PWM Frequency Support | Up to 100 kHz | <25 kHz |
| Size | Small, modern | Large, bulky |
| Cost | Moderate | Low |
more options
| Chip/Module | Voltage Range | Continuous Current | PWM Freq. | pros | Features & Notes |
|---|---|---|---|---|---|
| TB6612FNG | 2.5V – 13.5V | 1.2A/ch (3.2A peak) | Up to 100kHz | easy to use | Efficient CMOS, low heat, great for small robots |
| DRV8833 | 2.7V – 10.8V | 1.5A/ch (2A peak) | Up to 250kHz | low volts, high efficiencies | Compact, efficient, built-in protection, ideal for small DC motors |
| DRV8871 | 6.5V – 45V | 3.6A (6A peak) | ~100kHz | Single-channel, robust, good for mid-power motors | |
| DRV8876 | 4.5V – 37V | 3.5A (5A peak) | ~100kHz | Smart current regulation, overtemp/short protection | |
| MC33926 | 5V – 28V | 3A (5A peak) | Up to 20kHz | Automotive-grade, robust with fault reporting | |
| VNH5019 | 5.5V – 24V | 12A (30A peak) | ~20kHz | High-power, onboard protection, great for large motors | |
| BTN7960B | 5.5V – 27V | 43A (55A peak) | ~25kHz | High-current half-bridge, excellent for industrial/heavy-duty applications |
Relay-Based H-Bridge
you can control a high current DC motor using relays to switch it ON/OFF and to control clockwise (CW) and counter-clockwise (CCW) rotation by reversing the polarity with an H-Bridge made from relays.
How It Works: Relay-Based H-Bridge
A DC motor reverses direction by reversing the polarity of the voltage applied to its terminals. An H-Bridge uses 4 relays to achieve this.
Relay-Based H-Bridge Configuration (4-Relay Method)
Components
- 4 relays (DPST or SPST) rated for motor voltage and stall current
- Flyback diodes across relay coils
- Flyback diodes across motor terminals (recommended)
- Control logic (manual switches or microcontroller)
Operation Modes
| Relay 1 | Relay 2 | Relay 3 | Relay 4 | Motor Direction |
|---|---|---|---|---|
| ON | OFF | ON | OFF | Clockwise |
| OFF | ON | OFF | ON | Counter-Clockwise |
| OFF | OFF | OFF | OFF | Motor OFF |
Important: Never activate relays that create a short circuit (e.g., Relay 1 and Relay 2 ON simultaneously). Use interlock logic.
Important Considerations
- Relay Ratings: Must handle the motor's voltage and stall current (stall current can be 5–10× running current).
- Flyback Diodes: Required across relay coils and motor terminals to protect from voltage spikes.
- Logic Interlock: Ensure relays cannot be activated in conflicting states.
- Switching Delay: Turn OFF all relays briefly before changing direction to avoid shorts and damage.
High Current DC Motors (CW/CCW + ON/OFF)
🔋 1. Solid-State H-Bridge Using Power MOSFETs or IGBTs
✅ Best for:
- High current (10A–100A+)
- Fast and frequent switching (PWM)
- Compact, efficient control
📦 Components:
- 4 N-channel power MOSFETs (e.g., IRF1404, IRF3205)
- Gate driver ICs (e.g., IR2104, HIP4081)
- Microcontroller (Arduino, STM32, etc.)
- Heat sinks or cooling fans
- Protection: flyback diodes, current sensors
🟢 Pros:
- Very fast switching (PWM possible)
- Silent, no moving parts
- Low power loss
- Scalable
🔴 Cons:
- More complex (requires driver circuitry)
- Thermal design required
🧱 2. Prebuilt H-Bridge Driver Modules (MOSFET or IGBT-based)
✅ Best for:
- Medium to high current (15A–75A)
- Fast setup and integration
Examples:
- BTS7960 (43A/channel) - BTS7960-dat
- VNH2SP30 (30A motor driver) - VNH2SP30-dat - sdr1070-dat
- Sabertooth motor drivers (robust, configurable)
- IGBT driver modules (for large motors)
🟢 Pros:
- Built-in protections (thermal, overcurrent)
- Logic-level control (PWM + direction)
- Compact and reliable
🔴 Cons:
- May be more expensive
- Power limits based on model
🔌 3. High-Power DC Contactor + Polarity Reversing Circuit
✅ Best for:
- Very high current motors (100A+)
- Infrequent switching (e.g., industrial/vehicle systems)
Setup:
- 2 contactors for direction (polarity reversal)
- 1 contactor for ON/OFF
- Optional soft-start or precharge circuit
🟢 Pros:
- Very robust and durable
- Handles surge current well
- Galvanic isolation
🔴 Cons:
- Bulky and expensive
- Mechanical wear
- Slower switching
🏆 Summary Table
| Use Case | Recommended Method |
|---|---|
| Compact, efficient motor control | MOSFET H-Bridge with gate drivers |
| Easy integration, plug-and-play | BTS7960 or Sabertooth driver module |
| Extreme current (100A+), rugged use | DC contactor with polarity control |
| PWM speed control + direction | Solid-state H-Bridge |
| Low-speed control, basic CW/CCW | Relay-based H-Bridge (least recommended) |
⚠️ Tips and Safety
- ✅ Use flyback diodes (or body diodes in MOSFETs).
- ✅ Include gate resistors and dead-time logic to avoid shoot-through.
- ✅ Add current sensing (e.g., Hall sensors) for protection.
- ✅ Ensure good thermal design (heatsinks, fans, or active cooling).
more driving chips
✅ Quick Comparison Table
| Chip/Module | Current | Voltage | Type | Notes |
|---|---|---|---|---|
| BTS7960-dat | 43A peak | ~24V | Half-Bridge | Needs 2 for full H-Bridge |
| VNH2SP30-dat | 14A/30A peak | 5.5–16V | Full H-Bridge | Compact, good protection |
| MC33932-dat | 5A/8A peak | 5–28V | Dual H-Bridge | Diagnostics and protection |
| DRV84x2-dat | 6–12A | Up to 50V | Dual H-Bridge | High-efficiency PWM |
| L298N-dat | 2A | Up to 46V | Dual H-Bridge | NOT for high current |
| Sabertooth | Up to 120A | 6–30V | Dual H-Bridge | Best for industrial/robotics |
| Cytron MD30C | 30A | 5–30V | Single H-Bridge | Reliable and simple |
| IBT-2 | 43A | 6–27V | Full H-Bridge | BTS7960 module variant |
| AMC8832 | 15A+ | Up to 50V | Full H-Bridge | Advanced high-efficiency |
power rail for servo
If you find your ESP32 keeps restarting when the servos move, try these fixes:
Separate the Power Rails: Use the 18650 to power the servos directly (if they can handle the raw 3.7V–4.2V range, which most SG90s can, though they'll be slightly slower) and use the boost converter only for the ESP32.
Add a Large Capacitor: Place a large electrolytic capacitor (e.g., 1000µF or higher) across the 5V and GND rails near the servos. This acts as a "buffer" to handle the initial current spike when the motors start.
Other Tech
common wiring
you can absolutely connect L_EN (Left Enable) and R_EN (Right Enable) together and tie them directly to 5V.
This is a very common trick to save microcontroller pins, reducing the required pins from 4 down to 2. Here is exactly how it changes things and what you need to keep in mind:
How it Works
The BTS7960-dat driver chip requires the Enable pins to be HIGH (5V) for the internal H-bridge MOSFETs to operate.
By tying them permanently to 5V, the motor driver is always enabled and ready to receive control signals.
You then only need 2 PWM pins from your microcontroller connected to L_PWM and R_PWM to control the speed and direction.
build
mosfet driver
SMS4045K - 4OP04 -
