Advertisement

MPU6050姿态传感器

阅读量:

1.六轴姿态传感器:

组成:三轴加速度(x,y,z)+ 三轴陀螺仪(x,y,z)

三轴加速度(Acceleromerter):测量x,y,z三个方向上的加速度的值

三轴陀螺仪(Gyroscop):测量绕x,y,z三个轴旋转的旋转速度的值(角速度)

三轴加速度+三周陀螺仪 = 欧拉角(滚转角roll-z,俯仰角pitch-x,偏航角yaw-y)。

都以正方向为指向,顺势针为正,逆时针为负

则-z的意思是绕着z轴旋转的角度。

方向的定义由芯片定义

2.说明

(1)加速度具有静态稳定性,不具有动态稳定性。

主要是因为三轴加速度传感器只有在物体静止状态下进行受力分析时,才能获得准确的运动方向;当处于运动状态时进行测量,则可能导致不同的测量结果。

当人在车上时①汽车停在山上;②汽车处于平面上并做匀速直线运动;因此,在两种情况下分析结果都能得出结论表明人在斜上方移动。

此时就需要引出补全测量功能的传感器——角速度传感器

(2)角速度传感器具有动态稳定性,不具有静态稳定性

传感器测得角速度,然后通过积分得到角度。

对于快速运动的物体而言,其姿态变化可通过积分计算得出。相反地,在物体静止的情况下,尽管理论上可以认为其处于静止状态(即速度为零),但实际上很难实现完全静止状态。因此,在持续的积分过程中这些微小的振动会不断积累并放大),从而导致一定的误差积累。

(3)芯片内部的工作是自动完成的,其中由AD转换器换算电压和所测数值

其采样深度为16位,带符号量程为-32768至+32767(含端值),不带符号量程为0至+65535(含端值)。各轴均具有正负值,在采样后数值范围仍维持在-32768至+32768之间。

②因为ADC的量化不同范围的AD得到对应加速度/角速度 的数值

因此,在满量程范围内数值越小的情况下进行测量时(即满量程值较小),测量精度会更高;相反地,在选择较大的满量程时(即设置更大的输入信号范围),测量数据的有效范围也会相应增大

加速度的满量程为±2,±4,±8,±16(g)

陀螺仪的满量程为±250°/s,±500°/s,±1000°/s,±2000°/s

③MPU6050支持可配置的数字低通滤波器、可配置的时钟源、可配置的采样频率。

其中低通滤波器可以筛掉高频信号,使得到的数据更加平滑;

而设置为采样频率——>将其确定为采样速率——>该MPU运行时钟(其中ADC及其同类工作均基于此设定)。

(4)自测:

通过自测功能可以判断芯片是否能够正确执行计算任务。当自测所得的数值超过厂商设定的允许范围时,则表明该芯片在运算过程中出现了异常。

流程:在失能自测状态下获取寄存器中的数值x₁——>在使能自测过程中获取寄存器中的数值x₂——>对两组数值进行比较;如果两组数值之间的差异超过预设阈值,则表明该芯片存在故障。

3.MPU6050作从机时的地址:

(1)AD0接高/低的情况不同

①当AD0引脚接地时,从机地址是0110 1000(0x68)

②当AD0引脚接高电平时,从机地址是0110 1001(0x69 或者 (0x68 | 0x01))

(2)I2C通信的情况:7bit地址+1bit读写(1写0读)

①当AD0接地时

若读,则Senbyte(0x68<<0)或者Senbyte(0xD0)

若写,则Senbyte( (0x68<<1) | 1) 或者 Senbyte( (0xD1)

②当AD0接高时

若读,则Senbyte( (0x69<<1)) 或者 Senbyte(0xD2)

若写,则Senbyte( (0x69<<1) | 1) 或者 Senbyte(0xD3)

4.引脚说明

VCC、GND:电源线(3.3v,但内部由3.3v稳压器,所以也可以接5v)

SCL、SDA:用于与Stm32通信的I2C接口,SDA是数据线、SCL是时钟线

在I2C总线架构下,XDA和XCL引脚担当主控芯片的角色,而SDA/SCL引脚则被用作与其他设备进行通信的通道。这些引脚主要用于扩展气压传感器以测量高度以及磁场传感器以测量磁场(如指南针)。当Stm32通过连接至XDA和XCL引脚来实现与MPU6050的数据传输时,此时Mux芯片可作为选择器,将来自主控芯片的数据线接通到SDA和SCL端子,从而使得微控制器能够同时管理MPU6050及其相关外设的功能。

ADO:从机地址的最低位

INT:中断输出引脚。可以通过配置MPU6050内部器件的工作来产生中断。

5.工作流程:

(1)流程:

各轴传感器的数据——>ADC——>信号调节——>数据寄存器

该流程由MPU6050自动执行完毕;仅需借助I2C通信就能快速获取数据即可轻松获得转换结果

(2)刷新:

刷新频率决定数据刷新速度

(3)数据寄存器:

各轴拥有独立的寄存器,所以各轴的数据互相占用或覆盖。

姿态解算算法:(不了解,先放点东西)

该微控制器集成数字运动处理器(DMP),可与官方提供的DMP库配合实现姿态解算。(?看不懂)

[MZS7891 official library]: This repository provides a resource file, known as the MZS7891 official library. This library is an officially supplied motion control library, which must be utilized to enable the MZS7891's DMP (Digital Motion Processor) engine. This library is compatible with the MSP430 platform and offers essential code and resources to developers for integrating and leveraging the DMP functionality within their projects - GitCode

不知道什么算法、什么功能的代码:

毕业设计

毕业设计

毕业项目

毕业项目

卡尔曼滤波算法解释?:

卡尔曼滤波器

卡尔曼滤波器

全部评论 (0)

还没有任何评论哟~