智能车制作

标题: 直立换了数字陀螺仪加速度计之后 拟合角度滞后 [打印本页]

作者: 361369499    时间: 2016-3-27 11:34
标题: 直立换了数字陀螺仪加速度计之后 拟合角度滞后
因原来的模拟陀螺仪坏了,且原来那个陀螺仪温漂很大,因此想试试数字陀螺仪加速度计

换上之后,读取出来的角度的确很准,但总感觉拟合的角度有点滞后
最直观的感觉是原来调直立角度环时,只加P到一定值,车子可以较好的立起来(虽然会往一个方向跑)
接着P再加大,加到太大时,车子会开始震荡

但现在P加小了,车子立不起来,刚加大一点,直接开始震荡,少了中间的那个过程
只能强行把D加大来抵消震荡

虽然这样能立起来,但感觉很不爽,总感觉这样不够硬

附上虚拟示波器的图:
[attach]84534[/attach]
(黄色为拟合后的角度,红色为加速度计的值)

可以看到车子一动起来,拟合角度有明显滞后

一开始以为是不是数字的加速度计通过I2C读取太慢了,但在IAR里看了一下,读完加速度计的Z轴、
陀螺仪的X、Y轴,一共2ms,似乎还行

请教一下各位,这种问题要如何解决呢


补充内容 (2016-3-27 18:42):
在参考手册里发现,数字陀螺仪里的低通滤波会造成一定的延迟。而原来设定的值得时延是18.9ms……换了一个值,时延是0.98ms,基本没有滞后了。如果数字陀螺仪是MPU6050的可以考虑设置CONFIGURATION寄存器的DLPF

补充内容 (2016-3-27 18:50):
数字陀螺仪可以参考上面的设置,缺点是时延小则噪声会比较大,所以自己选一个合适的值。
如果是模拟陀螺仪的滞后,我自己用模拟陀螺仪的时候没这个问题,其他组有出现过,可以尝试调小时间补偿系数
作者: takethisway    时间: 2016-3-27 12:29
        顶
作者: 361369499    时间: 2016-3-27 12:42
解决了……具体看原帖的补充内容
作者: takethisway    时间: 2016-3-27 12:56
楼主 我融合波从早变到晚 都快被整哭了 坏了么?
作者: weiruofei    时间: 2016-3-27 15:56
takethisway 发表于 2016-3-27 12:56
楼主 我融合波从早变到晚 都快被整哭了 坏了么?

我的也是,晚上调好,白天就飞,温漂把我搞得都想砸车

作者: 361369499    时间: 2016-3-27 18:48
takethisway 发表于 2016-3-27 12:56
楼主 我融合波从早变到晚 都快被整哭了 坏了么?



拟合后的角度跟随得有点慢啊,陀螺仪系数再调调试试


你是模拟还是数字的陀螺仪?模拟陀螺仪温漂严重,我原来是通过每次上电的时候让车子静止
然后采集多次作为零偏值,你可以试试



作者: takethisway    时间: 2016-3-27 21:05
361369499 发表于 2016-3-27 18:48
拟合后的角度跟随得有点慢啊,陀螺仪系数再调调试试

全是模拟的 零偏值也是按你这样处理的 基本每调一次车就要重新调一次 我已经被玩坏了
作者: 361369499    时间: 2016-3-27 21:31
takethisway 发表于 2016-3-27 21:05
全是模拟的 零偏值也是按你这样处理的 基本每调一次车就要重新调一次 我已经被玩坏了

可以借别人的陀螺仪试试,其实未必是陀螺仪的问题
以前我也一直觉得我的陀螺仪温漂太大是不是坏了,后来才发现还是参数的问题

另外,你AD采样精度是多少位的,精度高一点效果会比较好

作者: 华航小虫    时间: 2016-3-27 22:11
温漂问题解决不了吧
作者: zhangxiaodong    时间: 2016-3-27 22:14
请问楼主怎么用IAR看读取数据用的时间呢?
作者: 斯特凡    时间: 2016-3-27 23:04
..................................................
作者: gulang007    时间: 2016-3-28 09:07
之前用的是数字的,后来发现太多的问题解决不了,又换成模拟的。请问楼主给点儿技术知道?
作者: gulang007    时间: 2016-3-28 09:14
请问楼主,我现在的难题是,加速度计和陀螺仪分开时都能正常工作,但是融合时,陀螺仪的角度值读不出来,因此后面一系列的东西都无法进行,求楼主指导,不甚感激
作者: 361369499    时间: 2016-3-28 10:00
gulang007 发表于 2016-3-28 09:14
请问楼主,我现在的难题是,加速度计和陀螺仪分开时都能正常工作,但是融合时,陀螺仪的角度值读不出来,因 ...

我没看太懂你说的

角度融合时不用读取陀螺仪了吧,直接通过之前读好的计算不行么

作者: 361369499    时间: 2016-3-28 10:03
zhangxiaodong 发表于 2016-3-27 22:14
请问楼主怎么用IAR看读取数据用的时间呢?

在线调试的时候看寄存器,一个C开头的。计算两个断点间寄存器的差值,然后除以主频即可





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2