您的位置:首页 > 产品设计 > UI/UE

arduino mega 2560 通过 L298N二路直流电机控制板实现小车简单运动

2016-06-12 16:20 633 查看
1 硬件

arduino mega r3 开发板



L298N二路直流电机驱动板






2 电路连接

HF_DJ2Z_01为一款光耦隔离型可调速电机驱动板,可完美的插接在arduino mega r3控制板上驱动2路电机,也可以将驱动板上标有IN1、IN2、IN3、IN4、ENA、ENB对应的引脚用杜邦线接出,连接到其他型号的arduino控制板上的输出引脚上使用。本驱动板可以使用光耦隔离达到更好的驱动效果,使用光耦时需要将拨码开关拨到带数字的一端,然后在5V电源接口接入5V电源。

IN1、IN2、IN3、IN4、ENA、ENB为输入引脚,OUT1、OUT2、OUT3、OUT4为输出引脚,接两路直流电机。IN1、IN2、ENA对应OUT1、OUT2连接的电机,IN3、IN4、ENB对应OUT3、OUT4对应的电机。

驱动板引脚
对应Arduino引脚
功能
IN1
7
电机1输入
IN2
8
电机1输入
ENA
9
电机1PWM
IN3
12
电机2输入
IN4
13
电机2输入
ENB
10
电机2PWM
5
2
电机1编码器中断
6
3
电机2编码器中断
1
 
电机1编码器4引脚
2
 
电机2编码器4引脚
组合后的照片



3、arduino软件开发环境搭建

第一步是安装arduino板子的开发软件arduino IDE

Arduino
IDE下载   http://www.arduino.cn/thread-5838-1-1.html

软件安装好后将arduino通过数据下载线与电脑的USB链接



注:

Arduino驱动安装方法 
 
http://www.arduino.cn/thread-1008-1-1.htmlArduino驱动安装失败的解决方法:
Arduino驱动问题一键修复工具beta   http://www.arduino.cn/thread-12349-1-1.html
安装驱动数据无效  http://www.arduino.cn/thread-7531-1-1.html
系统找不到指定文件   http://www.arduino.cn/thread-2485-1-1.html

第二步打开arduino IDE软件进行如下设置

点击窗口上的工具菜单,依次设置红色箭头所指内容,端口选择时会提示板子的接口,编辑器选择USBasp即可



到此开发环境搭建完毕!

4 编写代码实现小车电机运动(实例)

打开arduino IDE 文件 >>新建,弹出一个新项目编辑窗口,在窗口内进行代码编辑。



本例代码:

// Example by gaolvzhou

#define ENA 9

#define IN1 7

#define IN2 8

#define ENB 10

#define IN3 12

#define IN4 13

void setup() {

  pinMode(ENA, OUTPUT); //PWM

  pinMode(IN1, OUTPUT);

  pinMode(IN2, OUTPUT);

  pinMode(ENB, OUTPUT); //PWM

  pinMode(IN3, OUTPUT);

  pinMode(IN4, OUTPUT);

}

void loop() {

  // Speed

  analogWrite(ENA, 200);

  analogWrite(ENB, 200);

  // foreward 5 seconds

  digitalWrite(IN1, LOW);

  digitalWrite(IN2, HIGH);

  digitalWrite(IN3, HIGH);

  digitalWrite(IN4, LOW);

  delay(5000);

  //rollback 5 seconds

  digitalWrite(IN1, HIGH);

  digitalWrite(IN2, LOW);

  digitalWrite(IN3, LOW);

  digitalWrite(IN4, HIGH);

  delay(5000);

  // stop

  digitalWrite(IN1, LOW);

  digitalWrite(IN2, LOW);

  digitalWrite(IN3, LOW);

  digitalWrite(IN4, LOW);

  delay(5000);

  // Forward

  digitalWrite(IN1, LOW);

  digitalWrite(IN2, HIGH);

  digitalWrite(IN3, HIGH);

  digitalWrite(IN4, LOW);

  delay(5000);

  // Forward in high speed

  analogWrite(ENA, 255);

  analogWrite(ENB, 255);

  digitalWrite(IN1, LOW);

  digitalWrite(IN2, HIGH);

  digitalWrite(IN3, HIGH);

  digitalWrite(IN4, LOW);

  delay(5000);

}

               上面代码编写好后,在arduino链接在电脑上的状态下,通过arduino IDE软件将代码烧录到arduino板子上:    项目  >> 上传 (不同版本的IDE可能路径不同,但是一般都是上传按钮)



5  通电实现小车电机运动




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息