The L298N Dual H-Bridge Motor Driver Board is a great value and can be used with a variety of robot controllers. It features a powerful L298N motor driver module with a heavy duty heat sink. It is powerful enough to drive motors from 5-35V at up to 2A peak.
An onboard 5V regulator is provided that can be used to power other parts of your robot's circuitry such as an Arduino microcontroller.
Follow the steps below to configure the motor controller board to work as a typical robot motor driver for use with two DC motors.
All inputs are TTL compatible. Do not enable the onboard 5V regulator if you plan to supply more than 16V to your motors. Refer to the details below.
|1||Green||Motor A -||Output to Motor A (-)|
|2||Green||Motor A+||Output to Motor A (+)|
|3||Blue||VMS||Input 4-35V motor power supply (+)|
|5||Blue||5V||5V regulated power (+)|
|6||Green||Motor B -||Output to Motor B (-)|
|7||Green||Motor B+||Output to Motor B (+)|
Note that the 5V regulated power on pin 5 above is an output when the 5V_EN jumper is in place. Otherwise you must input 5V regulated power at pin 5 so that the circuit can operate properly. Do not enable the onboard 5V regulator if you are supplying more than 16V to motors on pin 3 or the regulator will burn out.
|1||ENA||Input to enable Motor A|
|2||IN1||Input to control Motor A|
|3||IN1||Input to control Motor A|
|4||ENA||Input to enable Motor B|
|5||IN1||Input to control Motor B|
|6||IN2||Input to control Motor B|
|5V_EN||Enable the onboard 5V regulator|
|U1||Enable Motor A input pin IN2 pull-up resistor (10K)|
|U2||Enable Motor A input pin IN2 pull-up resistor (10K)|
|U3||Enable Motor B input pin IN3 pull-up resistor (10K)|
|U4||Enable Motor B input pin IN4 pull-up resistor (10K)|
|CSA||Ties the Motor A current sense to ground|
|CSB||Ties the Motor B current sense to ground|
Note: The CSA and CSB current sense feature is disabled when the jumpers are present. To use the current sense feature, remove the jumpers and attach to the header pins. Leave the jumper connected when not using current sense.
The speed of the motors can be adjusted by connecting PWM outputs from your robot's microcontroller to the ENA and ENB input pins on the motor driver board. The ENA pin controls Motor A and the ENB pin controls Motor B. When these pins are HIGH, power is output to the motor. By using PWM, you are turning power on and off very quickly to adjust the speed of the motor. The longer the PWM duty cycle is, the faster the motor will turn. We recommend always using a PWM duty cycle of 90% or less.
The direction that the motors turn is controlled using the IN1, IN2, IN3 and IN4 input pins on the motor driver board. Connect these pins to digital outputs on your robots microcontroller. To make Motor A go forward, set IN1=HIGH and IN2=LOW. To make Motor A go backward set IN1=LOW and IN2=HIGH. The same method is used to control Motor B: set IN3=HIGH and IN4=LOW to o forward and set IN3=LOW and IN4=HIGH to go backwards. Note that "forward" and "backwards" refer to the direction of the motors themselves. If your robot does not move in the expected direction, reverse the motor polarity by swapping the green screw terminals for Motor A + and - and/or Motor B + and -.
To remove power from the motors, simply set ENA=LOW for Motor A and ENB=LOW for Motor B. This will result in the motors stopping slowly and naturally from friction. To perform a quick braking operation, set ENA=LOW, IN1=LOW and IN2=LOW for Motor A and ENB=LOW, IN3=LOW and IN4=LOW for Motor B. The motors will come to an instant stop. Here are some handy tables to show the various modes of operation.
Here are some handy tables to show the various modes of operation.
|0||N/A||N/A||Motor A is off|
|1||0||0||Motor A is stopped (brakes)|
|1||0||1||Motor A is on and turning backwards|
|1||1||0||Motor A is on and turning forwards|
|1||1||1||Motor A is stopped (brakes)|
|0||N/A||N/A||Motor B is off|
|1||0||0||Motor B is stopped (brakes)|
|1||0||1||Motor B is on and turning backwards|
|1||1||0||Motor B is on and turning forwards|
|1||1||1||Motor B is stopped (brakes)|