极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 39721|回复: 12

Arduino编码器小车左右转速同步的PID调节实验

[复制链接]
发表于 2013-6-6 17:48:51 | 显示全部楼层 |阅读模式
本帖最后由 宜昌城老张 于 2013-6-6 17:57 编辑


制作模型车的DIY爱好者会有这样的经验,你给小车左右两侧轮子的驱动电机同样的功率值,但两个轮子的转速可能是不一样,而且不同功率值下,两个轮子的转速差也不一样。当然如果两个轮子在行进过程中,分别遇到的阻力不一样时,两个轮子的转速也会发生偏差。这样的左右两轮转速不一致,就会反映在小车不能走直线上,这是让DIY爱好者头痛的事!
    如果驱动轮子的电机安装了编码器,情况会如何?编码器这样的传感器是可以测量转速和转角的。如果把左右电机中编码器反馈的转速送入Arduino单片控制器中,计算机就会知道小车不能走直线的真正原因,并实时计算出两轮的转速差,然后可以设立一个PID算法,让转速慢轮子的电机功率值加大,从而消除车轮的转速差。这就是最简单的PID控制理论应用到实践中的一次尝试吧。
    我们在大学学到了很多、甚至更高深的理论,但有机会实践这些理论的机会少之又少,其实制作DIY模型,就可以方便地去实践这些理论的。为这次的理论实践,我采用的模型是DFRobot公司出品的mini编码器小车。
如何才能直观地看到小车左右车轮电机转速和功率值的变化以及PID比例调节的效果,小车上的Arduino单片机控制器是做不到这点的,我采用的是上位机LabVIEW制作的前面板作为人机交互的界面,来实现对它们的监控。Arduino控制器作为下位机,接受上位机的小车左电机功率值,并把左右电机的转速和PID调节后右电机的功率值反馈到上位机去显示出来。上下位机的串口通信采用了XBee 1mW Zigbee100米传输无线数传模块套装,目的是使USB有线通信变为无线通信模式。

全文见博客文章:http://www.eefocus.com/zhang700309/blog/13-06/294572_38be0.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2013-6-6 18:36:42 | 显示全部楼层
楼主自己研制的???
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-6 19:01:32 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2013-6-7 06:22:35 | 显示全部楼层
学慧放弃 发表于 2013-6-6 18:36
楼主自己研制的???

这家伙是头教授!
回复 支持 反对

使用道具 举报

发表于 2013-6-8 20:34:36 | 显示全部楼层
bacon6581 发表于 2013-6-7 06:22
这家伙是头教授!

哈哈~······················
回复 支持 反对

使用道具 举报

发表于 2013-6-21 19:26:06 | 显示全部楼层
现有两个输入信号,A为每转一个信号,B是每转360个信号,我想实现以下功能:接收到A的信号后,对B进行计数到180,此时输出一个信号C,请大家指导一下,本人新手?能否用中断计数,或者其他周期查询B信号计数,谢谢大家.
回复 支持 反对

使用道具 举报

发表于 2013-7-26 15:02:45 | 显示全部楼层
请问楼主上面用的labview是哪个版本的?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-27 10:57:32 | 显示全部楼层
弯曲的时间 发表于 2013-7-26 15:02
请问楼主上面用的labview是哪个版本的?

2010,应该2012也不错,它有个金属控件主题。
回复 支持 反对

使用道具 举报

发表于 2014-2-28 20:04:33 | 显示全部楼层
Serial.print(rpm1_HIGH,BYTE);//向上位计算机上传左车轮电机当前转速的高、低字节
    Serial.print(rpm1_LOW,BYTE);
    Serial.print(rpm2_HIGH,BYTE);//向上位计算机上传右车轮电机当前转速的高、低字节
    Serial.print(rpm2_LOW,BYTE);
    Serial.print(val_right,BYTE);// 向上位计算机上传PID调节后的右轮电机PWM功率值   不再支持BYTE关键字街!!!
回复 支持 反对

使用道具 举报

发表于 2014-3-1 10:11:17 | 显示全部楼层
老张~这个转速你是怎么计算得到的?我的编码盘是输出方波信号,如何不中断实时计算转速?{:soso_e132:}
回复 支持 反对

使用道具 举报

发表于 2014-4-20 11:05:32 | 显示全部楼层
看起来还不错!!!!!!!
回复 支持 反对

使用道具 举报

发表于 2014-12-11 17:50:46 | 显示全部楼层
感謝分享    哈哈~······················
回复 支持 反对

使用道具 举报

发表于 2016-10-14 21:51:17 | 显示全部楼层
diao兵 发表于 2014-3-1 10:11
**** 作者被禁止或删除 内容自动屏蔽 ****

同问,怎么才能测量电机转速
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-15 07:33 , Processed in 0.047433 second(s), 29 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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