社区导航

 

搜索
查看: 529|回复: 2

[原创] 【DFRobot电机驱动】+直流电机驱动arduino范例程序分析

[复制链接]

273

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-9-26 13:59 | 显示全部楼层 |阅读模式
本帖最后由 北方 于 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电源转接,如下图。其中,首先用发光二极管代替电机测试连接状态,测试成功后再换电机连接。

IMG20190927145752.jpg

IMG20190927150324.jpg

 

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

捕获.PNG

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

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

pJziLc.gif

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

-WY-B6.gif

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

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


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



回复

使用道具 举报

703

TA的帖子

3

TA的资源

纯净的硅(初级)

Rank: 4

发表于 2019-10-1 20:32 | 显示全部楼层

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



回复

使用道具 举报

273

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2019-10-8 08:54 | 显示全部楼层
hujj 发表于 2019-10-1 20:32 只能用Arduino吗?用GPIO该如何做呢?

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



回复

使用道具 举报

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

关闭

站长推荐上一条 1/4 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-4-3 06:05 , Processed in 0.141268 second(s), 19 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表