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