UESTC404 / Quadcopter

🛫基于STM32F411外设固件库的四轴keil5工程
Other
12 stars 4 forks source link

添加HMC5883驱动 #4

Closed daisenryaku closed 6 years ago

daisenryaku commented 6 years ago

HMC5883介绍

三轴磁力计,也叫电子罗盘,数字指南针,能利用地磁场来定北极。

为什么要用HMC5883?

移植参考代码

HMC5883L.h HMC5883L.c

使用可能存在的坑

  1. 四轴磁力计HMC5883计算航偏角,当磁力计的X轴指南Z轴朝下时为标准方向!

  2. 地磁的干扰,要远离大电流的元件和线路,要校准。

  3. 磁力计的校准:具体步骤是全方位720度旋转(整体旋转就像一个球一样旋转)。在上位机内记录磁力计数据写入到Excel表格内,然后最大值加最小值除以2,然后在磁力计原始数据上减去这个值(x,y,z),这样就可以大致消除磁力计影响

PS

MPU9150已经把电子罗盘功能也整合在片上了,为什么要用MPU6050 + HMC5883?

daisenryaku commented 6 years ago

GY85使用 angle=atan2((double)y,(double)x)*(180/3.1416)+180

xxyyttxx commented 6 years ago

解算YAW!

xxyyttxx commented 6 years ago

screen shot 2018-01-03 at 3 32 19 pm screen shot 2018-01-03 at 3 44 08 pm 瞎搞了一个正交椭球拟合..视觉二分调整.. 然而烧录进去的时候,读数突变。。。

xxyyttxx commented 6 years ago

重新弄了一些数据,并重建了一个模型。 如图 screen shot 2018-01-03 at 6 46 13 pm screen shot 2018-01-03 at 6 46 08 pm 数据文档如下: Archive.zip