专注电子技术学习与研究
当前位置:单片机教程网 >> Arduino >> 浏览文章

Arduino电机驱动模块(293D)使用

作者:huqin   来源:本站原创   点击数:  更新时间:2014年04月02日   【字体:

  前段时间从淘宝上掏到了一块可控制4个电机的293D驱动板,今天终于有空可以搬出来测试了。

Arduino电机扩展板可使Arduino成为简易机器人和机电一体化很好的平台。

2路5V的简易舵机连接,最多4路双向直流电机连接,2个步进电机连接。
4个H-桥 L293D芯片提供0.6A每桥(1.2A峰值)带过热保护,电压从4.5V至36V可选。
Arduino 复位按钮移到了顶层。

它们带有一个3线母头插座连接到+5V,地和信号输入。

电机驱动板只需提供16bit PWM 输出线至23线连接头所以操作及其简单,它们需要消耗大量的电流因此不能使用9v叠层电池来供电。
好消息是使用板载的PWM非常精准和在后台运行控制。
你可以使Arduino自带的Servo库。

使用伺服电机非常简单,请参考官方的Arduino文档关于如何使用它们以及IDE中的伺服器例子代码。

 

  直流电机被使用在各种类型的机器人项目。这款电机驱动板可以驱动四路直流双向电机。意味着他们可以正转或者反转。速度同样可以以0.5%的增量变化使用内嵌的高质量的PWM。这意味着电机调速非常平滑和稳定!

(注意H-桥芯片的驱动负荷并不是真正超过0.6A 或者峰值超过1.2A 所以只适用于微型电机。查阅数据手册来确定电机是否适用。)


  连接电机只需将焊接电机引线连然后接到板子上的电机连接端子M1, M2, M3,orM4。然后按照下面的步骤来创建你的程序:

1.确定你导入了<AFMotor.h>


2.使用AF_DCMotor(motor#, frequency)创建 AF_DCMotor 对象, 来设置电机H桥和制动。构造器带有两个参数。第一个motor#是要链接的电机端口,1, 2, 3or4,第二个frequency是电机转速控制量.


电机1和2你可以选择MOTOR12_64KHZ,MOTOR12_8KHZ,MOTOR12_2KHZ,orMOTOR12_1KHZ。一个高速例如 64KHz 将听得见声音但是一个低速例如1KHz将使用更少的能耗。电机 3 和 4 只能运行在1KHz 并且会忽略任何的设置。


3.然后你可以通过setSpeed(speed)设置电机的速度,speed  范围从0(停止)到255(全速)。你可以设置任何你想要的速度。


4.为了运行电机,调用run(direction)direction为FORWARD,BACKWARD或者RELEASE。当然,Arduino 实际不知道电机是正转还是反转,所以如果你想改变正反转的方法,只需简单的交换电机的接线。

#include <AFMotor.h>

AF_DCMotor motor(2, MOTOR12_64KHZ);// 创建电机#2号,速度是64KHz pwm

void setup() {
Serial.begin(9600);// set up Serial library at 9600 bps
Serial.println("Motor test!");

motor.setSpeed(200);// 设置速度,从200/255之间任意
}

void loop() {
Serial.print("tick");

motor.run(FORWARD);// 电机前进

delay(1000);

Serial.print("tock");
motor.run(BACKWARD);// 电机后退
delay(1000);

Serial.print("tack");
motor.run(RELEASE);// 停止
delay(1000);
}

 

关闭窗口

相关文章