第一范文网 - 专业文章范例文档资料分享平台

MPU6050数据分析与滤波(4)

来源:用户分享 时间:2021-06-03 本文由冰浅丹青 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

MPU6050数据分析与滤波

connection failed");

30. }

31.

32. void loop() {

33. accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy,

&gz); //读取6050数据

34.

35.

36.

37. if (i>20) { GYRO = GYRO/20; float Angle_Z = (az-C_Z)*R_Z;//加速度计 角度

计算 (读取值-偏移量)*比例 单位:°

38. Angle_G = -(GYRO-C_Gyro)*R_Gyro;//陀螺仪采样

(采样值-偏移量)*比例 单位:°/s

39. Angle_AG = Angle_AG +

(((Angle_Z-Angle_AG)*1/T_Z)+Angle_G)*0.005;//滤波

40. Angle_GG = Angle_GG + Angle_G*0.005;//陀螺

仪对X轴积分 得出角度。

41.

42.

43.

44.

45.

46.

47.

48.

49.

50.

51.

代码loop段中,我使用了一个if循环,采集20次陀螺仪读数,进行平均。这样似乎影响了数据采集,但是在波形中灵敏度似乎不受影响。

知道办法笨了点,希望有高手给出简化方法。

滤波中用到的0.005是参考中给出的。本来准备用系统时间积分的,但是看滤出的波有模有 Serial.print(Angle_Z); Serial.print(","); Serial.print(Angle_GG); Serial.print(","); Serial.print(Angle_AG); Serial.print("\n"); i=0; } GYRO = GYRO + gx; i++; }

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新工程科技MPU6050数据分析与滤波(4)全文阅读和word下载服务。

MPU6050数据分析与滤波(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1211835.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top