新人 求助L3G4200D数据识别和积分方法,C程序
想知道读出来的数据,什么样的才是正确的,并且如何积分成角度。本人数学差 回复【楼主位】MrLCL-----------------------------------------------------------------------
常规,自己顶下。
从L3G4200D里面读出来的数据放在HH和LL中,他们的数据类型无关紧要。重要的是Value=(HH<<8)|LL;中的Value一定要是signed int形式的。然后判断Value的值是正还是负。如果是正。而且量程是250dps,就Value*0.00875。结果就是角速度。如果Value是负的,
Value=~Value+1;然后在和0.00875相乘。 继续等 回复【楼主位】MrLCL
-----------------------------------------------------------------------
不需要判断组合后的数据是正还是负。
因为虽然补码而言,转换成源码,如果是负的话,是取反加1,但实际上,那个加1不要也行。
读出来的原始数据,datashee上有。上面给出一个典型值,还有最大值和最小值。
也就是说,如果读出来的数据,静止时在最大最小值内,就是正确的。
你可以搜索我发过的帖子,作为参考。 回复【3楼】chenhuizai210
-----------------------------------------------------------------------
可能得需要用正负判断方向吧 回复【楼主位】MrLCL
-----------------------------------------------------------------------
继续等待 正负这个只是旋转方向吧,你要看手册,积分就是累加,输出的数据乘以时间间隔,积分以后的数据正负表示绕某个轴旋转的度数,这个换算成角度应该很简单吧,假如-90度就是正的270吧,大哥 回复【6楼】gouqingsong
-----------------------------------------------------------------------
恩,我试试吧 MrLCL 发表于 2012-1-17 19:55 static/image/common/back.gif
回复【楼主位】MrLCL
-----------------------------------------------------------------------
这个是为何??? gaolou1991 发表于 2012-9-8 20:20 static/image/common/back.gif
这个是为何???
习惯了,呵呵,
我也有不懂的,不知#define GYRO_SCALE ((70*PI)/(180.0f*1000000000.0f))是陀螺仪的什么换算 long578553882 发表于 2012-10-7 13:59 static/image/common/back.gif
我也有不懂的,不知#define GYRO_SCALE ((70*PI)/(180.0f*1000000000.0f))是陀螺仪的什么换算 ...
像是PID的,或者是积分
我现在用mpu6050了
那个数据比较稳定,就是没测量他的线性
好好学习了! 好好学习,好好领悟
页:
[1]