Simple test of a L298N breakout board with two DC motors and FRDM-K64F microcontroller board.
Dependencies: HBridgeDCMotor RateLimiter mbed
This is a cheap L298N breakout board, easily available on ebay or other stores for 2-3 USD.
The schematics of the board is shown on the figure below. There are 3 jumpers placed on the board (CON5
, ENA
and ENB
).
For low voltage DC motors remove a jumper CON5
and connect the supply from battery (5-6 V) to both terminals: +5V and +12V. For supplies larger than 7 V, connect it only to +12V, with the CON5
jumper placed on the board. Study the L298 datasheet for more details.
The following video shows the result of running the program:
Another example is shown in the next video. We now have the supply voltage of 12 V and the jumper CON5
placed. The code is modified a little:
#include "mbed.h" #include "HBridgeDCMotor.h" HBridgeDCMotor motor(p23, p24); int main() { float sampleTime = 10e-3, switchingFrequency = 25e3, rampTime = 5; motor.configure(sampleTime, switchingFrequency, rampTime, rampTime); while(true) { motor.setDutyCycle(1); wait(15); motor.setDutyCycle(-1); wait(15); } }
main.cpp
- Committer:
- tbjazic
- Date:
- 2015-12-11
- Revision:
- 0:92564f74c7d2
File content as of revision 0:92564f74c7d2:
#include "mbed.h" #include "HBridgeDCMotor.h" HBridgeDCMotor m1(PTC10, PTC11); HBridgeDCMotor m2(D6, D7); int main() { float sampleTime = 50e-3, switchingFrequency = 25e3, rampTime = 3; m1.configure(sampleTime, switchingFrequency, rampTime, rampTime); m2.configure(sampleTime, switchingFrequency, rampTime, rampTime); while(true) { m1.setDutyCycle(1); m2.setDutyCycle(1); wait(10); m1.setDutyCycle(-1); m2.setDutyCycle(-1); wait(10); } }