智能车制作

标题: 为什么我的陀螺仪每天使用静态值都是不一样的呢 [打印本页]

作者: 迷糊虫    时间: 2012-4-4 15:03
标题: 为什么我的陀螺仪每天使用静态值都是不一样的呢
我用的是官方的方案,但是 每天我进行调试的时候 陀螺仪的角度值 都票啊,为什么啊。
运动的时候 0角度还发生变化啊,求助大神。
void jiaodujisuan(void) {
float fDeltaValue;
accjiaodu = 180/3.14*asin((acc*3300/660 - 1650)/800);//加速度计 角度计算函数,acc是采样值 经过20次均值滤波 1650是静态值
  gyrosudu = ((gyro - 488)*3300/660) * 0.99;  //gyro采样值 计算角速度,
g_fCarAngle = jiaodu;
xiuzheng = (accjiaodu - g_fCarAngle)/3;
jiaodu += (gyrosudu + xiuzheng) *0.005;//角速度积分
}

作者: 云端暮雪    时间: 2012-4-4 15:26
这个正常,陀螺仪的温漂引起的。
只需折中选取个差不多的值就可以了。
作者: lixianghua0428    时间: 2012-4-4 17:04
每天你在调车的时候温度都不一样
作者: 迷糊虫    时间: 2012-4-4 19:07
那我要怎么做才可以解决这个问题啊 ,而且我感觉 那个修正那条补偿感觉 不是特别明显啊 为什么啊 是不是 我理解的不对啊。
作者: wuqt    时间: 2012-4-5 13:18
确实啊,不知道谁有什么温度补偿的好方法?求老师出山。。。。。。
作者: 庄严    时间: 2012-4-5 14:53
弄个电位器,每次人工校零!!
作者: 屋村赵山河    时间: 2012-4-7 15:58
在g_fCarAngle 乘P之前加或减一个合适的折中值
作者: Goolloo    时间: 2012-4-7 16:45
看官方文档,硬件部分的后面,很多人忽略了硬件滤波的部分。。。。
作者: zelight    时间: 2012-4-7 18:39
卡尔曼滤波
作者: 我の小车    时间: 2012-4-13 21:57
屋村赵山河 发表于 2012-4-7 15:58
在g_fCarAngle 乘P之前加或减一个合适的折中值

这种方法很好吧???零偏值不变了吧??
作者: s614857575    时间: 2012-4-14 01:38

作者: guyonghua    时间: 2013-4-18 19:56
为什么我 车放在地上转动时,静态值会增大





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