请指教:L3G4200陀螺仪,角速度积分之后的角度不太对,转了90度,出来才70度左右
RT积分10mS进行一次,
L3G4200_AngleXYZ = L3G4200_AngleXYZ + DataXYZ/100;
按上面这个式子进行积分,L3G4200_AngleXYZ是输出角度,DataXYZ是将几次读取到得角速度求平均,两个变量类型是32位有符号整形,单位是mdps/LSB,
除以100是因为积分时间是10mS,本来应该乘以0.01,但是觉得浮点运算比较耗时,所以换成除以100了
问题就是,我沿一个轴的方向旋转了90度之后,这个轴的角度输出并不是90度,而是70度左右,而其他的两个轴输出的角度也才几度 前面看到zht9961020也遇到过这个问题,不知道解决了没。。。 顶一顶,没开高通,低通110Hz,ODR = 800Hz 你用浮点算试试。 回复【3楼】majianjia 阿嘉^_^
-----------------------------------------------------------------------
你是说把除以100改为乘以0.01?
还是这个式子里面所有的变量都变成浮点型?
这些变量现在的单位是mdps,毫度,如果变成浮点,那单位就要先变成dps,度了
我先试试把除以100改为乘以0.01 回复【3楼】majianjia 阿嘉^_^
-----------------------------------------------------------------------
除以100改为乘以0.01没有用
原因会不会是积分周期太长导致的误差呢?
谢谢 陀螺手册给的灵敏度都是典型值,真实值是多少还要标定的吧 回复【6楼】bigallium 10班陈大葱22号
-----------------------------------------------------------------------
但是不至于偏这么大吧,连ENC-03都不如了。。。而且前面好像没看到别人怎么说这个问题,最多修正5%的灵敏度。。。
谢谢你 不是说 陀螺仪出来的数据不能直接用吗我的积分出来转90度 显示88度左右好像还有什么“磁滞”的现象~~~
建议先看一下数据处理过程 就像 majianjia 说的那样整个过程都用浮点算 不能省略小数点后边的 回复【8楼】Name_006
-----------------------------------------------------------------------
对于L3G4200来说,如果零点矫正了一下,在短时间之内还是可以直接看他的积分结果的,后面肯定不会直接用这个
所谓的“磁滞”可能是因为+-灵敏度有略微不同导致的
谢谢 回复【3楼】majianjia 阿嘉^_^
-----------------------------------------------------------------------
回复【8楼】Name_006
-----------------------------------------------------------------------
已经将所有的运算改为浮点运算,还是不行。。。。 奇怪,换了一个板子,似乎正常了,同样的程序。。。
继续测试 换一块板子,比这个似乎好一点,但是没好太多,大概相差10度,转90,出来80度左右。。。。
晕,这究竟是什么原因。。。。 MARK 期待高手解答 给出的条件太少,光凭一段程序,高手怎么解答。我不是高手 陀螺最好加个加速度传感器一起用,可以相互校正.
但LZ的数据像是没算好的,应该不会差这么多.另外还要考虑初始飘移的处理. 顶!!~~~我也在学习怎么用这个。。。。 能否看看源代码,求教 有没有用FIFO?估计是数据丢失了。 1、GYRO信号的校准:GYRO信号具体灵敏度对飞控来说影响不大,L3G4200的温漂、零偏也相当不错,因为在飞控中基本上都是尝试把角速度的积分控制到0左右,有+就有-灵敏度最终会被抵消。但是对于姿态预测上影响就比较显了,姿态预测算法中角速度会一直积下去,各种误差会被积累起来。所以GYRO的校准就显得很重要了,很多资料中校准的办法是通过万向平台来实现,当然我没有这个东西。
2、对于L3G4200这个GYRO,datasheet里写的量程250dps时,灵敏度为8.75mdps/LSB,这样算下来,量程和灵敏度相差15%(datasheet里面这两参数为typical,典型值,不作任何保证,也就是说假如我买到一个GYRO标定出来的量程只有100dps,也不能算次品,消费电子产品坑爹啊。)
3、你的旋转平面不是垂直于转轴的。看似转了90度,其实没有。把片子上贴上个水准液泡,放到自行车轮子上,放倒自行车,把轮子自转平面校平,这样转再校准,多转上几圈就能得到比较准确的灵敏度。
4、看起来你是用的欧拉法来表示的转动,而且是各个轴相互独立的,这样是不行的,用四元素或者矩阵吧。 提高采样率试试呢? 关注下,现在怎么样了? 同样关注,姿态角我最近在看大家说什么算法 新手在学习陀螺仪,能把程序贴上来不? 我也遇到这个问题了 当积分的时间是100ms的时候我转了90度但是读出来的只有30多度,积分的中断时间是10ms的时候 转90度读出来的只有10度左右怎么回事啊啊?
难道真的是L3g4200读取速率不过快? 我也要搞这个东西了,看了些资料,据说是陀螺仪要加加速度校正角度,另外3轴都有变化,说明旋转的中心轴不准。
页:
[1]