gc56198 发表于 2011-12-24 08:51:46

请指教: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度左右,而其他的两个轴输出的角度也才几度

gc56198 发表于 2011-12-24 09:26:17

前面看到zht9961020也遇到过这个问题,不知道解决了没。。。

gc56198 发表于 2011-12-24 10:12:41

顶一顶,没开高通,低通110Hz,ODR = 800Hz

majianjia 发表于 2011-12-24 10:56:55

你用浮点算试试。

gc56198 发表于 2011-12-24 11:01:27

回复【3楼】majianjia 阿嘉^_^
-----------------------------------------------------------------------

你是说把除以100改为乘以0.01?
还是这个式子里面所有的变量都变成浮点型?
这些变量现在的单位是mdps,毫度,如果变成浮点,那单位就要先变成dps,度了
我先试试把除以100改为乘以0.01

gc56198 发表于 2011-12-24 11:05:08

回复【3楼】majianjia 阿嘉^_^
-----------------------------------------------------------------------

除以100改为乘以0.01没有用
原因会不会是积分周期太长导致的误差呢?
谢谢

bigallium 发表于 2011-12-24 12:51:50

陀螺手册给的灵敏度都是典型值,真实值是多少还要标定的吧

gc56198 发表于 2011-12-24 14:23:59

回复【6楼】bigallium 10班陈大葱22号
-----------------------------------------------------------------------

但是不至于偏这么大吧,连ENC-03都不如了。。。而且前面好像没看到别人怎么说这个问题,最多修正5%的灵敏度。。。
谢谢你

Name_006 发表于 2011-12-24 14:55:03

不是说 陀螺仪出来的数据不能直接用吗我的积分出来转90度 显示88度左右好像还有什么“磁滞”的现象~~~
建议先看一下数据处理过程 就像 majianjia   说的那样整个过程都用浮点算 不能省略小数点后边的

gc56198 发表于 2011-12-24 15:36:12

回复【8楼】Name_006
-----------------------------------------------------------------------

对于L3G4200来说,如果零点矫正了一下,在短时间之内还是可以直接看他的积分结果的,后面肯定不会直接用这个

所谓的“磁滞”可能是因为+-灵敏度有略微不同导致的

谢谢

gc56198 发表于 2011-12-24 15:44:13

回复【3楼】majianjia 阿嘉^_^
-----------------------------------------------------------------------

回复【8楼】Name_006
-----------------------------------------------------------------------

已经将所有的运算改为浮点运算,还是不行。。。。

gc56198 发表于 2011-12-24 16:10:28

奇怪,换了一个板子,似乎正常了,同样的程序。。。
继续测试

gc56198 发表于 2011-12-24 16:13:13

换一块板子,比这个似乎好一点,但是没好太多,大概相差10度,转90,出来80度左右。。。。
晕,这究竟是什么原因。。。。

nirvanasyl 发表于 2011-12-24 16:17:45

MARK

hsjqsb 发表于 2011-12-24 16:29:51

期待高手解答

baozibaozi 发表于 2011-12-30 07:43:21

给出的条件太少,光凭一段程序,高手怎么解答。我不是高手

kdaiee 发表于 2011-12-30 19:46:22

陀螺最好加个加速度传感器一起用,可以相互校正.
但LZ的数据像是没算好的,应该不会差这么多.另外还要考虑初始飘移的处理.

yue435 发表于 2012-1-31 20:06:58

顶!!~~~我也在学习怎么用这个。。。。

dzc314159th 发表于 2012-2-2 11:29:53

能否看看源代码,求教

chenhuizai210 发表于 2012-2-5 19:43:33

有没有用FIFO?估计是数据丢失了。

linuxhoho 发表于 2012-2-6 23:49:41

1、GYRO信号的校准:GYRO信号具体灵敏度对飞控来说影响不大,L3G4200的温漂、零偏也相当不错,因为在飞控中基本上都是尝试把角速度的积分控制到0左右,有+就有-灵敏度最终会被抵消。但是对于姿态预测上影响就比较显了,姿态预测算法中角速度会一直积下去,各种误差会被积累起来。所以GYRO的校准就显得很重要了,很多资料中校准的办法是通过万向平台来实现,当然我没有这个东西。
2、对于L3G4200这个GYRO,datasheet里写的量程250dps时,灵敏度为8.75mdps/LSB,这样算下来,量程和灵敏度相差15%(datasheet里面这两参数为typical,典型值,不作任何保证,也就是说假如我买到一个GYRO标定出来的量程只有100dps,也不能算次品,消费电子产品坑爹啊。)
3、你的旋转平面不是垂直于转轴的。看似转了90度,其实没有。把片子上贴上个水准液泡,放到自行车轮子上,放倒自行车,把轮子自转平面校平,这样转再校准,多转上几圈就能得到比较准确的灵敏度。
4、看起来你是用的欧拉法来表示的转动,而且是各个轴相互独立的,这样是不行的,用四元素或者矩阵吧。

caopeng32 发表于 2012-2-7 13:13:38

提高采样率试试呢?

tree888 发表于 2012-2-9 14:01:17

关注下,现在怎么样了?

wwjdwy 发表于 2012-2-10 15:05:39

同样关注,姿态角我最近在看大家说什么算法

sundongaaa 发表于 2012-2-17 19:59:07

新手在学习陀螺仪,能把程序贴上来不?

fuluoce1 发表于 2013-4-7 16:53:48

我也遇到这个问题了 当积分的时间是100ms的时候我转了90度但是读出来的只有30多度,积分的中断时间是10ms的时候 转90度读出来的只有10度左右怎么回事啊啊?
难道真的是L3g4200读取速率不过快?

huang_1688 发表于 2014-2-19 14:55:26

我也要搞这个东西了,看了些资料,据说是陀螺仪要加加速度校正角度,另外3轴都有变化,说明旋转的中心轴不准。
页: [1]
查看完整版本: 请指教:L3G4200陀螺仪,角速度积分之后的角度不太对,转了90度,出来才70度左右