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.

/media/uploads/tbjazic/l298n_breakout_board.jpg

The schematics of the board is shown on the figure below. There are 3 jumpers placed on the board (CON5, ENA and ENB).

/media/uploads/tbjazic/l298n_breakout_schematics.png

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);
     }
 }

Files at this revision

API Documentation at this revision

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

HBridgeDCMotor.lib Show annotated file Show diff for this revision Revisions of this file
RateLimiter.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
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