大学生预热赛讨论之—平衡小车

[复制链接]
1297|9
手机看帖
扫描二维码
随时随地手机跟帖
山东电子小菜鸟|  楼主 | 2017-10-11 20:47 | 显示全部楼层 |阅读模式

相关帖子

caijie001| | 2017-10-11 20:54 | 显示全部楼层
献上21ic视频

一天攻克平衡小车视频:http://open.21ic.com/open/lesson/462

使用特权

评论回复
caijie001| | 2017-10-12 11:52 | 显示全部楼层
这个就比较有意思了,需要陀螺仪得出小车的倾向,通过算法处理,使小车保持平衡,这个比较难一点不过还是很多人能做出来的,只要能站起来,其他都不是什么问题了

使用特权

评论回复
gujiamao12345| | 2017-10-13 11:31 | 显示全部楼层
学习下视频

使用特权

评论回复
山东电子小菜鸟|  楼主 | 2017-10-13 23:07 | 显示全部楼层
本帖最后由 山东电子小菜鸟 于 2017-10-15 13:44 编辑

1、关于加速度计的转换系数
要制作自平衡车,角度和角速度的计算就很重要。


关于加速度计和陀螺仪的使用就不多说了,他们一个用来测加速度计,一个用来测角速度。


把从加速度计读出来的数据转换成角度,要乘以一个比例系数。在转换成角度角度的过程中,


可以完全不用三角函数(因为车的倾角其实不会超过正负10度,后面会提到),


直接把(最大值-最小值)/90(/2如果有正负的话)作为比例系数就可以了(这样可以和真实角度比较)。


其实理论上这个比例系数是什么都可以,因为后面陀螺仪转换系数是根据加速度计的转换比例系数跳出来的,


所以加速度计的比例系数无论是什么值都没有影响。

              




使用特权

评论回复
山东电子小菜鸟|  楼主 | 2017-10-15 13:35 | 显示全部楼层
本帖最后由 山东电子小菜鸟 于 2017-10-15 13:44 编辑

2、关于陀螺仪转换系数
陀螺仪的转换系数需要根据滤波的波形来调陀螺仪的转换系数不用去算,


只需要通过看波形去调就可以了,直到不超调也不滞后就可以了,

3、关于滤波


角度滤波有很多方案,我所知道的是互补滤波、卡尔曼滤波,


我的感想是什么滤波都不重要,重要的是参数要调好。






使用特权

评论回复
山东电子小菜鸟|  楼主 | 2017-10-15 13:35 | 显示全部楼层
本帖最后由 山东电子小菜鸟 于 2017-10-15 13:46 编辑



互补滤波:

这是很简单也很实用的方法,把高通滤波系数a和时间常数T(涛,不知道怎么打出来)
及采样周期dt用一个公式建立了联系,而我的经验是,我们不要用这个公式去计算。
高通滤波系数取0.98(不能比0.98再小了,会不平滑)
采样周期根据你程序的需要是多少就多少(5ms的效果会比10ms好很多,越小越好),
滤波可以通过调陀螺仪的转换系数达到很好的效果。也就是说,用互补滤波的关键调
试参数是陀螺仪转换系数,把加速度计转换系数、高通滤波系数和采样周期定好之后,
只需要调试陀螺仪转换系数就可以达到满意的效果了
PS:互补滤波的效果一定不差,我看过网上用互补滤波和单纯的P控制达到很好的效果的。
卡尔曼滤波:

一直没用过,也不会用,主要是没弄懂。我不喜欢用一知半解的东西,
因为出现问题的时候排查不出来或者不知道怎么解决问题。
网上也有很多卡尔曼滤波的程序,因为一直看不懂,就连试也没试。如果会用的话,
效果应该是好的,但我不会用。如果有谁用兴趣的话还请多多指教,互相交流一下。






使用特权

评论回复
山东电子小菜鸟|  楼主 | 2017-10-15 13:35 | 显示全部楼层
本帖最后由 山东电子小菜鸟 于 2017-10-15 13:46 编辑

4、关于控制
     当然有再好的角度和角速度控制不好的话也是站不好的。控制就用一般的PID控制,

PWM=P*角度+D*角速度,这里没用积分控制,效果已经很好了。
,例如电机最大输出是1的话,P取0.1、0.2、0.3都是没问题的(官网的方案好像是取的0.3),
如果点击最大输出是5000的话,那么P取500、1000、1500都是可以的,
(当然前提是加速度计转换系数转换出来的角度值和真实值相当,否则另当别论)。
所以车模的角度应该不会超过正负十度,因为当P=0.3的时候,车模有三度多的偏差
时电机就满电压输出了。我之前就是一直用一个很小的P去调,原来所有的问题就在于
把P调大就可以了。
  至于D的话,大概在P的七十分之一或八十分之一之间都是可以有很好的效果的。
这个关系就和加速度转换系数没有关系了。比如官网中P=0.3则D=0.3*1/75=0.004,
在我这里P=1000,则D=1000*1/75=13.3,效果都是很好的。



使用特权

评论回复
山东电子小菜鸟|  楼主 | 2017-10-18 21:05 | 显示全部楼层
顶起来

使用特权

评论回复
lvyunhua| | 2017-10-31 15:40 | 显示全部楼层

顶起来

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

140

主题

3082

帖子

23

粉丝