使用PX4 v1.13.2代码,淘宝购买的MPU-9250传感器
MPU-9250
芯片架构图
实物图
手册:
寄存器
https://invensense.tdk.com/wp-content/uploads/2015/02/RM-MPU-9250A-00-v1.6.pdf
https://invensense.tdk.com/wp-content/uploads/2015/02/PS-MPU-9250A-01-v1.1.pdf
官网
https://invensense.tdk.com/products/motion-tracking/9-axis/mpu-9250/
如果使用i2c接口,则使用以下4个管脚:
VCC
GND
SCL
SDA
如果使用SPI接口,则使用:
VCC
AD0(SDO)
SCL(SCLK)
SDA(SDI)
NCS(Chip Select)
GND
Pixhawk4接线
i2c接口定义,直接对应接好就行,使用GH1.25端子
SPI接口定义
SCK→SCL(SCLK)
MISO→AD0(SDO)
MOSI→SDA(SDI)
CS1→NCS(Chip Select)
PX4代码修改、编译
src/drivers/imu/invensense/mpu9250/InvenSense_MPU9250_registers.hpp
这两个地方修改
0x68是因为买到的mpu9250大多数AD0接地,默认地址就是0x68
WHOAMI无法理解为什么,手册也写得0x71,但是pixhawk4读出来就是0x70
make px4_fmu-v5_default boardconfig
#对应pixhawk4,如果其他板子自行修改
Enter
然后编译下载
在地面站里运行命令:
mpu9250_i2c -X start #I2C
或者
mpu9250 -S start #SPI