加载中…
正文 字体大小:

Arduino控制直流电机

(2009-03-04 20:40:40)
标签:

arduino

直流电机

双h桥

驱动板

pwm调速

分类: Arduino

    从机器人基地淘宝店铺邮寄的Arduino 双H桥直流电机驱动板今天终于到了Arduino控制直流电机

Arduino控制直流电机   

    蓝色的板子,金色的印字,做工真的很精美,物有所值,吼吼~刚拿到的驱动板就来编写一个小程序测试一下吧,当务之急就是要了解一下这款驱动板接口说明和参数指南,这里我就“盗用”一下机器人基地的功能图解,敬请见谅啦!

Arduino控制直流电机

    可以看到板子左、右下角分别有两个直流电机控制信号输入接口,我这里准备了一个从玩具小车上拆下来的电机,我就选择左边的接口,将直流电机接入绿色端子,左下角的信号输入接口三个插针分别是EA、I1、I2,EA是区别于右边的EB,是用来接入PWM接口给电机调速的,I1、I2分别接入数字接口就OK了,是用来控制电机转向的。我就将EA接入Arduino的pin11PWM接口,I1、I2分别接8、9数字接口,至于逻辑供电部分,我就直接接入Arduino板子上的5V输出接口了,这里也可以不接线,因为这款驱动板子是可以板内取电的,如需要板外取电需将控制板内取电的跳线帽取下(这里我只是为了给网友们演示外部取电的使用方法,我并没有取下板内取电的跳线帽,如图接线实际上仍是板内取电。这里希望没有造成误导),端子左边的VMS接口是驱动部分取电,我接入四节5号电池,按下图连接好电路。

Arduino控制直流电机

Arduino控制直流电机

Arduino控制直流电机

Arduino控制直流电机

    连接好电路就剩编程的工作了,我就让电机先顺时针转两秒,再逆时针转两秒,再让电机停止转动,这样循环进行。

程序如下:


int pinI1=8;//定义I1接口
int pinI2=9;//定义I2接口
int speedpin=11;//定义EA(PWM调速)接口
void setup()
{
  pinMode(pinI1,OUTPUT);//定义该接口为输出接口
  pinMode(pinI2,OUTPUT);
  pinMode(speedpin,OUTPUT);
}
void loop()

  analogWrite(speedpin,100);//输入模拟值进行设定速度
  delay(2000);
  digitalWrite(pinI1,LOW);//使直流电机顺时针转
  digitalWrite(pinI2,HIGH);
  analogWrite(speedpin,100);
  delay(2000);
  digitalWrite(pinI1,HIGH);//使直流电机逆时针转
  digitalWrite(pinI2,LOW);
  analogWrite(speedpin,100);
  delay(2000);
  digitalWrite(pinI1,HIGH);//使直流电机停止

  digitalWrite(pinI2,HIGH);

  delay(2000);

}

    有一点值得注意,一般情况电机的速度与电机以及其负载都有关系,所以速度要根据实际情况调节。

 

 

0

阅读 收藏 转载 喜欢 打印举报
已投稿到:
前一篇:Arduino PWM
  

新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有