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); } }
Revision 0:92564f74c7d2, committed 2015-12-11
- Comitter:
- tbjazic
- Date:
- Fri Dec 11 13:17:35 2015 +0000
- Commit message:
- Simple test of a L298N breakout board with two DC motors and a FRDM-K64F microcontroller board.
Changed in this revision
diff -r 000000000000 -r 92564f74c7d2 HBridgeDCMotor.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/HBridgeDCMotor.lib Fri Dec 11 13:17:35 2015 +0000 @@ -0,0 +1,1 @@ +http://developer.mbed.org/teams/TVZ-Mechatronics-Team/code/HBridgeDCMotor/#1675a4c00925
diff -r 000000000000 -r 92564f74c7d2 RateLimiter.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/RateLimiter.lib Fri Dec 11 13:17:35 2015 +0000 @@ -0,0 +1,1 @@ +http://developer.mbed.org/teams/TVZ-Mechatronics-Team/code/RateLimiter/#d735360f91f9
diff -r 000000000000 -r 92564f74c7d2 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Fri Dec 11 13:17:35 2015 +0000 @@ -0,0 +1,19 @@ +#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); + } +} \ No newline at end of file
diff -r 000000000000 -r 92564f74c7d2 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Fri Dec 11 13:17:35 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/4fc01daae5a5 \ No newline at end of file