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