(stm32)mpu6050-爱代码爱编程
6轴:3轴速度、3轴角速度。
9轴:3轴速度、3轴角速度、3轴磁场强度
10轴:3轴速度、3轴角速度、3轴磁场强度和1个气压强度
姿态角(欧拉角):俯仰角 Pitch、滚转角 Roll、偏航角 Yaw
想要获得稳定的欧拉角,单凭任何一个传感器的数据都做不到,需要多个传感器的数据进行数据融合,把几种传感器的数据都结合起来,综合多个传感器数据,取长补短
常见的数据融合算法:互补滤波、卡尔曼滤波。
加速度计具有静态稳定性,不具有动态稳定性
陀螺仪计具有动态稳定性,不具有静态稳定性
从机地址有两种表示方式:
1、7位二进制地址直接用16进制表示,通信发送从机地址时左移一位或上读写位。
2、7位二进制地址+读写位 组成一个字节,然后再用16进制表示,这样就把地址+读写位融入了从机地址。
1、芯片自测功能:使能自测后,芯片内部会模拟施加一个外力到传感器上,这个外力会导致传感器数据比平时大一些。自测方式:先使能自测,读取寄存器数据,再失能自测,读取寄存器数据,两个数据相减得到的数值 叫自测相应,自测相应在芯片手册内有范围标注,在范围内则芯片正常工作,不在范围内则代表芯片异常。
2、传感器可以看做可变电阻,通过分压,输出模拟电压,通过ADC模数转换,转换完成放在数据寄存器内,读取寄存器可以得到传感器的值,转换都是全自动进行。类似于AD连续转换+DMA转运。每个ADC输出对应16位寄存器。
电荷泵需要外接一个电容。电荷泵属于升压电路。陀螺仪内部需要高电压支持,所以设计了一个电荷泵进行升压。升压过程是自动的。
这些是控制寄存器和通信接口部分
姿态解算,这部分较难,算法比较复杂,如果配合官方的DMP库,解算起来比较容易。
上面是芯片作为从机和STM32通信的的I2C通信接口
下方是芯片扩展接口,用于与芯片扩展的设备进行通讯。
接口旁路选择器:一个开关,拨到上面的话扩展的I2C引脚和作为从机通信的I2C引脚就接到一起了,STM32可以控制所有设备。拨到下面扩展的I2C引脚接的设备就由芯片控制。两条I2C总线独立分开。
此芯片默认上电睡眠模式,操作寄存器需要先解除睡眠模式。