Introduction: Arduino通过L298N驱动直流电机

1 目标

通过Arduino控制直流电机正反转(不能变速)。任何额定电压在4.8~35V范围内的电机均可使用。

2 所需要材料

硬件

1. Arduino UNO, 数量:1.

2. 电脑-Arduino USB连接线, 数量:1.

3. 杜邦线,数量:若干。

4. DC 9V电源适配器,数量:1.

5. Macbook,数量:1. (可用任意电脑)

6. L298N,数量:1.

7. 直流电机,数量:1.(额定电压在4.8~35V范围内)

8. 面包板,数量:1.

软件

1. Arduino IDE (电脑)。

2. ERxL298N库。(下载地址: https://github.com/JeffreyZksun/easyrobot/tree/ma...

L298N参数

· 逻辑部分输入电压:6~12V。(可公用Arduino的Vin)

· 驱动部分输入电压Vs:4.8~35V。(额定电压在此范围内的电机可使用此模块。电机最好单独供电,避免干扰。)

· 逻辑部分工作电流Iss:<36mA

· 驱动部分工作电流Io:<2A

· 最大耗散功率:25W(T=75℃)

· 控制信号输入电平:高电平:2.3V

· 工作温度:-25~+130℃

· 硬件接口:5.0mm间距接线柱

· 带固定扣,并可以通过排阵接入控制信号

· 驱动形式:双路大功率H桥驱动

· 尺寸:47x53mm

L298N购买链接:http://item.taobao.com/item.htm?spm=a1z09.2.9.11.fVbF4K&id=227289053&_u=4113ts22070

Step 1: 连接电路

按照如下方式连接电源,Arduino,L298N驱动板,电机。

Arduino L298N(Motor Driver)

4 E1

5 M1

GND GND

VIN(9V) VD

VIN(9V) VS

9V power Arduino

GND GND

9V Vin

L298N Motor

M1 DC Motor

注意1:为了简化电路,L298N的VD,VS共用一个电源。实际机器人产品中,VS需要单独供电以避免对逻辑电路的干扰。

注意2:由于电机需要消耗大量电流,运行中不要使用电脑USB供电,以免烧坏USB。

Step 2: 编写驱动代码并下载到Arduino

下载ERxL298N驱动库,将此文件夹保存到Arduino库文件目录。

将如下代码下载到Arduino。运行中,电机将循环做正转,停止,反转,停止的运动。

#include

#include

#include

#define E1 4

#define M1 5

ERxL298N motor(E1, M1);

int status = 0;

void setup() {

Serial.begin(9600);

Serial.println("initializing...");

}

void loop() {

int c = status % 4;

if(0 == c){

motor.forward();

Serial.println("forward");

}

else if(2 == c){

motor.backward();

Serial.println("backward");

}

else{

Serial.println("stop");

motor.stop();

}

status++;

delay(2000);

}