Arduino 如何执行MPU6050加速计温度校准?
我正在用MPU6050加速计做一个项目。首先,我只计算一次MPU的偏移量 稍后,一旦获得偏移,我将它们复制到第二个草图的配置中,并始终使用相同的值执行它Arduino 如何执行MPU6050加速计温度校准?,arduino,accelerometer,offset,calibration,mpu6050,Arduino,Accelerometer,Offset,Calibration,Mpu6050,我正在用MPU6050加速计做一个项目。首先,我只计算一次MPU的偏移量 稍后,一旦获得偏移,我将它们复制到第二个草图的配置中,并始终使用相同的值执行它 //Placa casa MPU6050 viejo //-1172 -873 1351 76 -758 27 加速度陀螺设置加速度偏移(-1172); 加速度陀螺设置加速度偏移(-873); 加速度陀螺仪设置加速度偏移(1351); 加速度陀螺仪设置陀螺仪偏移量(76); 加速度陀螺仪设置陀螺偏移(-773); 加速度陀螺仪设置偏差
//Placa casa MPU6050 viejo
//-1172 -873 1351 76 -758 27
加速度陀螺设置加速度偏移(-1172);
加速度陀螺设置加速度偏移(-873);
加速度陀螺仪设置加速度偏移(1351);
加速度陀螺仪设置陀螺仪偏移量(76);
加速度陀螺仪设置陀螺偏移(-773);
加速度陀螺仪设置偏差(33);
我遇到的问题是,在多次执行第二个草图之后,原始读数会显示一个新的偏移量
我读到这个问题可能是由传感器的温度引起的,有必要用温度来补偿读数。但我找不到这样的例子。我想问一下,是否有人知道问题可能是什么,以及我如何解决问题。在编写一行温度调节代码之前,绝对的第一步是查阅数据表,了解您使用的确切零件。具有温度相关漂移的设备通常在数据表中显示,并且需要进行补偿。我现在正在查看6050数据表,例如加速度计模块,它列出了在-40C到85C的线性范围内每摄氏度+/-0.02%的校正。陀螺仪模块列出了不同的校正系数。这对于多传感器模块来说并不少见
如果您认为温度漂移是问题的根源,则需要根据数据表中的这些值进行调整 我看到了两种处理MPU6050温度漂移的方法:
setup()
,这样您就可以在每次设备启动时获得有效的偏移参数,无论设备的温度是多少。该方法用于多旋翼飞行控制器的IMU标定,通常基于MPU60x0李>
现在,有了一个表
[T]->[offset]
,您可以调整原始草图以监控MPU6050的T,一旦它发生变化,将相应的偏移分配给MPU6050 谢谢,但我不明白根据这些温度范围必须执行哪些步骤来校正加速计值。你知道这方面的例子吗?你的测量值的差异是否超过了温度所能解释的范围?如果是这样,您可能至少还有一个其他错误源。这是我参考数据表的一个主要原因,以评估误差是否可以用温度漂移来解释。