MPU6050加速度传感器学习笔记之传感器

传感器基本概念

1. 传感器工作原理
在电子技术中, 传感器一般是指把物理量转化成电信号量的装置。敏感元件直接感受被测物理量,并输出与该物理量有确定关系的信号,经过转换元件将该物理量信号转换为电信号,变换电路对转换元件输出的电信号进行放大调制,最后输出容易检测的电信号量。
例如,温度传感器可把温度量转化成电压信号量输出,且温度值与电压值成比例关系,我们只要使用ADC测量出电压值,并根据转换关系即可求得实际温度值。而前文提到的陀螺仪、加速度及磁场传感器也是类似的,它们检测的角速度、加速度及磁场强度与电压值有确定的转换关系。

2. 传感器参数
传感器一般使用精度、分辨率及采样频率这些参数来进行比较,衡量它的性能:
其中误差与分辨率是比较容易混淆的概念,以使用尺子测量长度为例,误差就是指尺子准不准,使用它测量出10厘米,与计量机构标准的10厘米有多大区别,若区别在5毫米以内,我们则称这把尺子的误差为5毫米。而分辨率是指尺子的最小刻度值,假如尺子的最小刻度值为1厘米,我们称这把尺子的分辨率为1厘米,它只能用于测量厘米级的尺寸,对于毫米级的长度,这就无法用这把尺子进行测量了。如果把尺子加热拉长,尺子的误差会大于5毫米,但它的分辨率仍为1厘米,只是它测出的1厘米值与真实值之间差得更远了。
参数:
线性误差指传感器测量值与真实物理量值之间的拟合度误差。
分辨率:传感器可检测到的最小物理量的单位。
采样频率:在单位时间内的采样次数。

3. 物理量的表示方法
大部分传感器的输出都是与电压成比例关系的,电压值一般采用ADC来测量,而ADC一般有固定的位数,如8位ADC、 12位ADC等, ADC的位数会影响测量的分辨率及量程。
假设用一个2位的ADC来测量长度, 2位的ADC最多只能表示0、 1、 2、3这四个数,假如它的分辨率为20厘米,那么它最大的测量长度为60厘米,假如它的分辨率为10厘米,那么它的最大测量长度为30厘米,由此可知,对于特定位数的ADC,量程和分辨率不可兼得。
在实际应用中,常常直接用ADC每位表征的物理量值来表示分辨率,如每位代表20厘米,我们称它的分辨率为1LSB/20cm,它等效于5位表示1米:5LSB/m。其中的LSB(Least Significant Bit),意为最ADC的低有效位。使用采样得到的ADC数值,除以分辨率,即可求取得到物理量。例如使用分辨率为5LSB/m、线性误差为0.1m的传感器进行长度测量,其ADC采样得到数据值为“20”,可计算知道该传感器的测量值为4米,而该长度的真实值
介于3.9-4.1米之间。

MPU6050

简介
MPU6050模块, 它是一种六轴传感器模块,采用InvenSense公司的MPU6050作为主芯片,能同时检测三轴加速度、三轴陀螺仪(三轴角速度)的运动数据以及温度数据。
利用MPU6050芯片内部的DMP模块(Digital Motion Processor数字运动处理器),可对传感器数据进行滤波、融合处理,它直接通过I2C接口向主控器输出姿态解算后的姿态数据,降低主控器的运算量。其姿态解算频率最高可达200Hz,非常适合用于对姿态控制实时要求较高的领域。常见应用于手机、智能手环、四轴飞行器及计步器等的姿态检测。
最好与载体坐标系重合,满足应用需求。减少坐标系转换的麻烦。

参数特性
在这里插入图片描述
角速度做积分使用,采样频率较高,加速度不需要算路程,只用算倾角,不需要那么高。
温度传感器之测量芯片温度。

可以使用STM32控制器把这些数据读取出来然后进行姿态融合解算,以求出传感器
当前的姿态(即求出偏航角、横滚角、俯仰角)。而如果我们使用传感器内部的DMP单元进行解算,它可以直接对采样得到的加速度及角速度进行姿态解算,解算得到的结果再输出给STM32控制器,即STM32无需自己计算,可直接获取偏航角、横滚角及俯仰角,该DMP每秒可输出200次姿态数据。

已有模块引脚说明
在这里插入图片描述
SCL SDA进行通讯。
X-DA/X-CL:扩展连接磁场传感器等外部传感器,获取数据进行融合。很少用。
INT:作为数据输出的中断引脚。准备好数据之后,通过中断告诉STM32,从而获取数据。
老子要发专利了。

猜你喜欢

转载自blog.csdn.net/weixin_37676403/article/details/90606179