
传感器IMU是LSM6DSL型号,磁强计是LIS3MDL型号,使用motionfx库进行姿态解算,遇到航向角不准确的问题。 我查看地磁计的值是正常的,但是航向角不正常:例如传感器指向正北,地磁计X轴是40uT,Y轴是0uT,但是航向角是300度,稍微振动传感器改变加速度计的值和陀螺仪的值后航向角稳定为270度,我不理解为啥磁场输入正常但是航向角输出异常呢? 查阅资料得知改变倾角后,融合算法会通过加速度计和陀螺仪动态调整重力矢量的投影,强制地磁数据重新参与计算,覆盖错误的水平补偿,修正了航向角。这是motionfx库的bug还是我的配置哪里有问题? 配置如下:MFX_knobs_t的ATime和MTime和FrTime为默认值,LMode=1,modx=1,output_type=0和1都试过问题一致。acc_orientation和gyro_orientation和mag_orientation也尝试过不同的配置,问题仍然存在!地磁计和IMU都校准过了。 同时由于传感器的数据手册中没有明确给出XYZ正极的位置,因此我不知道orientation配置的是否正确,能否帮我确认下传感器芯片的极性?或者告诉我测试方法。 顺时针旋转传感器360度查看地磁计变化,北东南西,X轴是40uT、0、-40、0,Y轴是0、40、0、-40,Z轴始终是-20uT。这么看地磁计正常吗?地磁计已经校准了,北半球+地磁芯片丝印面朝天,Z轴-20uT是正常的吗?像IMU芯片丝印面朝天,加速度计Z轴是+1g。找不到问题头绪,已经卡一个星期了。请问图片里面硬件极性我标记的对吗? |
请问一下,F4硬件开发手册有最新版本吗?
stm32f407VGT6用freertos库一直进hardfault循环
stm32cubeide 中文乱码能解决吗
Boot0通过10k电阻接地,Boot1作为输入使用被配置成外部中断,现在存在的问题是可能会导致单片机加密无法运行,且无法解密,RDP显示为FF,这是怎么导致的?
STM32中比较适合做FOC控制的芯片
程序卡死在vPortFree函数中
stm32f4系列sdio 时钟如何获取
关于LSM6DSL FIFO 读数数据的错位问题
stm32f407这个STM32_RCC_PERIPHCLK_SDMMC 是哪里定义的
STM32 CUBEIDE 编译报error: expected identifier or '(' before '__asm'