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
--- /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
--- /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
--- /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
--- /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