宜昌城老张 发表于 2013-6-6 17:48:51

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

本帖最后由 宜昌城老张 于 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。

学慧放弃 发表于 2013-6-6 18:36:42

楼主自己研制的???

宜昌城老张 发表于 2013-6-6 19:01:32

我的新浪Qing博客:http://qing.blog.sina.com.cn/yichangzhang

bacon6581 发表于 2013-6-7 06:22:35

学慧放弃 发表于 2013-6-6 18:36 static/image/common/back.gif
楼主自己研制的???

这家伙是头教授!

xxx 发表于 2013-6-8 20:34:36

bacon6581 发表于 2013-6-7 06:22 static/image/common/back.gif
这家伙是头教授!

哈哈~······················

bigas2 发表于 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 static/image/common/back.gif
请问楼主上面用的labview是哪个版本的?

2010,应该2012也不错,它有个金属控件主题。

for 发表于 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关键字街!!!

diao兵 发表于 2014-3-1 10:11:17

老张~这个转速你是怎么计算得到的?我的编码盘是输出方波信号,如何不中断实时计算转速?{:soso_e132:}

机智的小学生 发表于 2014-4-20 11:05:32

看起来还不错!!!!!!!

shihlin 发表于 2014-12-11 17:50:46

感謝分享    哈哈~······················

qianqifeng 发表于 2016-10-14 21:51:17

diao兵 发表于 2014-3-1 10:11
**** 作者被禁止或删除 内容自动屏蔽 ****

同问,怎么才能测量电机转速
页: [1]
查看完整版本: Arduino编码器小车左右转速同步的PID调节实验