6347|11

280

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

【解密03】基于51单片机的无线遥控坦克DIY 之 电机控制电路 [复制链接]

       继续解密……
       上一回我们已经大致了解了“H桥”芯片L9110的使用方法了,这一回我们将解释如何使用这个芯片来控制小马达的旋转,参考上一回芯片手册上给出的应用电路,我们可以清楚的知道只要将芯片的OA和OB引脚与马达的两个引脚相连就完成了马达与芯片的连接,如图3-1所示:

       马达与芯片连接好以后,坦克控制系统的主角就要登场了,她就是微控制器(MCU),在我们的坦克系统中马达的启动、停止、旋转方向以及旋转速度都是由微控制器进行精确控制的,可见她的地位是非常重要的。
       说道微控制器我们也叫他单片机,常见的单片机有很多51、AVR、Arduino、ARM等等,我们这个坦克所使用的单片机是51兼容的单片机,具体型号是STC89C52,这款单片机的程序空间以及她的数据空间完全能够满足我们DIY遥控坦克的需要,而且使用起来也比较方便,图3-2是一个STC89C52单片机:

       单片机的IO引脚是其与外界通信的重要手段,我们正是利用单片机的IO与L9110进行通信的,下面看我们是怎样将两者进行连接的,如图3-3所示:

       将单片机的P10和P11分别和L9110的IB和IA相连,这里需要提醒那些想使用这个电路DIY的朋友,需要注意图中那两个虚框专业上称为上拉电阻的家伙,有的时候单片机引脚的驱动能力有限需要使用这种方法提高她的驱动能力,这个要视情况而定,并不是所有情况下都需要这个电阻的,可能有人会问到如果需要的话选什么阻值呢,根据我们的经验选择10K欧姆电阻式可以正常工作的。
       有了上面这个电路我们就可以完成一组电机的控制了,这里我们需要三个电机那么如法炮制,只要再次分配4个IO口连接另外2块L9110就可以了,如图3-4所示:

       另外这里还涉及到单片机的工作问题,比如电源怎么接、地线怎么接、还有复位电路等等,这里都没有描述,由于这些内容讲起来比较占用篇幅,如果有想使用这个电路进行DIY但又不太熟悉单片机的朋友可以联系“@ZiShi”,我们可以提供更细致的资料。
       电机控制原理基本介绍完了,看起来并不复杂,后面该介绍数据接收部分的电路了。
       今天就到这里,下回继续……

最新回复

测试下正反转,功能实现 [attach]214999[/attach] void GpioIni(void) {                 GPIO_Init(GPIOD, GPIO_PIN_2, GPIO_MODE_OUT_PP_HIGH_FAST);                 GPIO_Init(GPIOD, GPIO_PIN_3, GPIO_MODE_OUT_PP_HIGH_FAST);                 //                 GPIO_WriteHigh(GPIOD, GPIO_PIN_2);                 GPIO_WriteLow(GPIOD, GPIO_PIN_3); } /********************************************************************************/ void main(void) {         u8 ucT01=0;   /* Initialize I/Os in Output Mode */   GpioIni();   while (1)   {     /* Toggles LEDs */     GPIO_WriteReverse(GPIOD, GPIO_PIN_2);                 GPIO_WriteReverse(GPIOD, GPIO_PIN_3);                 for(ucT01=0;ucT01  详情 回复 发表于 2015-9-21 18:35
点赞 关注
 

回复
举报

4

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
为什么没人顶?

点评

嘿嘿,感谢支持:)  详情 回复 发表于 2013-3-22 19:38
 
 

回复

280

帖子

0

TA的资源

纯净的硅(中级)

板凳
 

回复 沙发 sinolover 的帖子

嘿嘿,感谢支持
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

4
 
谢谢,楼主,我正要DIY一个坦克呢,楼主讲解的很好

点评

坦克制作如何啦,快快分享喽  详情 回复 发表于 2014-9-23 22:08
 
 
 

回复

280

帖子

0

TA的资源

纯净的硅(中级)

5
 
草原狼2121 发表于 2013-11-15 15:48
谢谢,楼主,我正要DIY一个坦克呢,楼主讲解的很好

坦克制作如何啦,快快分享喽
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(初级)

6
 
不能不收藏,比博客上的全啊
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

7
 
能把完整的资料发到我的邮箱吗?谢谢啦!
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

8
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

9
 
讲解很详细!简单易懂

点评

嘿嘿,多谢支持喽  详情 回复 发表于 2015-9-1 23:41
 
 
 

回复

280

帖子

0

TA的资源

纯净的硅(中级)

10
 
hsp55 发表于 2015-8-4 19:26
讲解很详细!简单易懂

嘿嘿,多谢支持喽
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(中级)

11
 
测试下正反转,功能实现

void GpioIni(void)
{
                GPIO_Init(GPIOD, GPIO_PIN_2, GPIO_MODE_OUT_PP_HIGH_FAST);
                GPIO_Init(GPIOD, GPIO_PIN_3, GPIO_MODE_OUT_PP_HIGH_FAST);
                //
                GPIO_WriteHigh(GPIOD, GPIO_PIN_2);
                GPIO_WriteLow(GPIOD, GPIO_PIN_3);
}
/********************************************************************************/
void main(void)
{
        u8 ucT01=0;
  /* Initialize I/Os in Output Mode */
  GpioIni();
  while (1)
  {
    /* Toggles LEDs */
    GPIO_WriteReverse(GPIOD, GPIO_PIN_2);
                GPIO_WriteReverse(GPIOD, GPIO_PIN_3);
                for(ucT01=0;ucT01<5;ucT01++)
                {
                        Delay(0xFFFF);
                }
  }

}

 
 
 

回复

280

帖子

0

TA的资源

纯净的硅(中级)

12
 
swisor 发表于 2015-9-21 18:35
测试下正反转,功能实现

void GpioIni(void)
{
                GPIO_Init(GPIOD, GPIO_PIN_2, GPIO_MODE_OUT_PP_HIG ...

 
 
 

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

随便看看
查找数据手册?

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
快速回复 返回顶部 返回列表