2398|2

425

帖子

4

TA的资源

纯净的硅(初级)

楼主
 

【DFRobot电机驱动】+直流电机驱动arduino范例程序分析 [复制链接]

本帖最后由 北方 于 2019-9-27 15:49 编辑

1、官网提供了一个如下arduino范例

*!
* @file QuadMotorDriverShield.ino
* @brief QuadMotorDriverShield.ino  Motor control program
*
* Every 2 seconds to control motor positive inversion
* 
* @author linfeng(490289303@qq.com)
* @version  V1.0
* @date  2016-4-5
*/
const int E1 = 3; ///<Motor1 Speed
const int E2 = 11;///<Motor2 Speed
const int E3 = 5; ///<Motor3 Speed
const int E4 = 6; ///<Motor4 Speed

const int M1 = 4; ///<Motor1 Direction
const int M2 = 12;///<Motor2 Direction
const int M3 = 8; ///<Motor3 Direction
const int M4 = 7; ///<Motor4 Direction


void M1_advance(char Speed) ///<Motor1 Advance
{
 digitalWrite(M1,LOW);
 analogWrite(E1,Speed);
}
void M2_advance(char Speed) ///<Motor2 Advance
{
 digitalWrite(M2,HIGH);
 analogWrite(E2,Speed);
}
void M3_advance(char Speed) ///<Motor3 Advance
{
 digitalWrite(M3,LOW);
 analogWrite(E3,Speed);
}
void M4_advance(char Speed) ///<Motor4 Advance
{
 digitalWrite(M4,HIGH);
 analogWrite(E4,Speed);
}

void M1_back(char Speed) ///<Motor1 Back off
{
 digitalWrite(M1,HIGH);
 analogWrite(E1,Speed);
}
void M2_back(char Speed) ///<Motor2 Back off
{
 digitalWrite(M2,LOW);
 analogWrite(E2,Speed);
}
void M3_back(char Speed) ///<Motor3 Back off
{
 digitalWrite(M3,HIGH);
 analogWrite(E3,Speed);
}
void M4_back(char Speed) ///<Motor4 Back off
{
 digitalWrite(M4,LOW);
 analogWrite(E4,Speed);
}



void setup() {
  for(int i=3;i<9;i++)
    pinMode(i,OUTPUT);
  for(int i=11;i<13;i++)
    pinMode(i,OUTPUT);
}

void loop() {
M1_advance(100);
M2_advance(100);
M3_advance(100);
M4_advance(100);
delay(2000); ///<Delay 2S
M1_back(100);'g1、官网提供了一个如下arduino范例

 
*!
* @file QuuadMotorDriverShield.ino
* @brief QuadaMotorDriverShield.ino  Motor control pnrogram
*
* Every 2 seconds to control m
M2_back(100);
M3_back(100);
M4_back(100);
delay(2000); ///<Delay 2S
}

 

2、连接后测试结果

2.1 本次测试连接了M1,使用5V电源转接,如下图。其中,首先用发光二极管代替电机测试连接状态,测试成功后再换电机连接。

 

2.2 更改源代码,只留下和M1相关的代码,如下,

2.3 连接后显示视频结果如下。

使用发光二极管的测试结果

使用5V直流电机的效果如下。

这样的结果说明硬件运行良好,同时可以看到,使用这个扩展板,不需要再程序中使用扩展库,直接使用GPIO的模拟数字输出就可以。直接适用用于各种创客开发。

其中扩展板和主板之间电源接口是共用5V和GND地的。对于扩展板其实是2路供电,一路是控制电源,一路是驱动电机的电源,两者之间是不同用的。


此内容由EEWORLD论坛网友北方原创,如需转载或用于商业用途需征得作者同意并注明出处
 

此帖出自电机控制论坛

最新回复

只能用Arduino吗?用GPIO该如何做呢?   详情 回复 发表于 2019-10-1 20:32
点赞 关注
 
 

回复
举报

932

帖子

3

TA的资源

纯净的硅(中级)

沙发
 

只能用Arduino吗?用GPIO该如何做呢?

此帖出自电机控制论坛
 
 
 

回复

425

帖子

4

TA的资源

纯净的硅(初级)

板凳
 
hujj 发表于 2019-10-1 20:32 只能用Arduino吗?用GPIO该如何做呢?

参照芯片手册,只是用数字0/1控制方向,模拟输出控制转速。任何MCU都可以的。

此帖出自电机控制论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表