商品信息
商品货号:
005396商品品牌:
晒邦商品重量:
1.23克
串口6轴加速度计/陀螺仪MPU6050模块,卡尔曼滤波,角度输出
产品描述:
四轴飞行型器,自平衡小车最佳传感器方案,有的童鞋说,没有磁场传感器,没有气压传感器,能做四轴飞行器吗?偏航轴不是会随时间漂移吗?我要告诉您的是,磁场和气压就是鸡肋,欲知详情请看描述末尾的相关分析。
最新更新软件,支持51/AVR/Arduino/STM8/STM32等各种单片机。
模块内部自带电压稳定电路,可以兼容3.3V/5V的嵌入式系统,连接方便。
模块保留了MPU6050的I2C接口,以满足高级用户希望访问底层测量数据的需求。
采用先进的数字滤波技术,能有效降低测量噪声,提高测量精度。
模块内部集成了姿态解算器,配合动态卡尔曼滤波算法,能够在动态环境下准确输出模块的当前姿态,姿态测量精度0.01度,稳定性极高,性能甚至优于某些专业的倾角仪!
采用邮票孔镀金工艺,品质保证,可嵌入用户的PCB板中。
体积不足一枚1毛硬币大小,模块厚度2mm,邮票孔设计可以方面地将模块嵌入到用户的电路板中。
资料下载地址:
http://pan.baidu.com/s/1tIqp1
(复制到地址栏后打开)
上位机无法运行的用户请下载安装.net framework4.0:
http://www.microsoft.com/zh-cn/download/details.aspx?id=17718
模块参数:
1、电压:3V~6V
2、电流:<10mA
3、体积:15.24mm X 15.24mm X 2mm
4、焊盘间距:上下100mil(2.54mm),左右600mil(15.24mm)
5、测量维度:加速度:3维,角速度:3维,姿态角:3维
6、量程:加速度:±2g,角速度:±250°/s。
7、分辨率:加速度:6.1e-5g,角速度:7.6e-3°/s。
8、稳定性:加速度:0.001g,角速度0.02°/s。
9、姿态测量稳定度:0.01°。
10、数据输出频率100Hz(波特率115200)/20Hz(波特率9600)。
11、数据接口:串口(TTL电平),I2C(直接连MPU6050,无姿态输出)
10、波特率115200kps/9600kps。
11、提供单片机解析示例代码。
完善的上位机程序:
加速度测量曲线(静止):
角速度测量曲线(静止)
卡尔曼滤波后的角度输出(静止):
(注:滚转角曲线为蓝色,位于图像最上端纵坐标为0.2的位置)
利用上位机记录测量数据:
通信协议:
电平:3.3V/5V TTL电平。
波特率:115200/9600,停止位1,校验位0。
上位机至模块
指令内容 |
功能 |
备注 |
0x52 |
角度初始化 |
使Z轴角度归零 |
0x61 |
使用串口,禁用I2C |
掉电保存,建议使用上位机修改 |
0x62 |
禁用串口,使用I2C接口 |
掉电保存,建议使用上位机修改 |
0x63 |
波特率115200,帧率100Hz |
掉电保存,建议使用上位机修改 |
0x64 |
波特率9600,帧率20Hz |
掉电保存,建议使用上位机修改 |
说明:
1.模块上电以后需先保持静止,模块内部的 MCU会在模块静止的时候进行自动校准(消除陀螺零漂),校准以后 Z轴的角度会重新初始化为0,Z轴角度输出为0 时,可视为自动校准完成的信号。
2.出厂默认设置使用串口,波特率115200,帧率100Hz。配置可通过上位机软件配置,因为所有配置都是掉电保存的,所以只需配置一次就行。
模块至上位机:
模块发送至上位机每帧数据分为3个数据包,分别为加速度包,角速度包和角度包,3个数据包顺序输出。波特率115200时每隔10ms输出1帧数据,波特率9600时每隔50ms输出一帧数据。
加速度输出:
数据编号 |
数据内容 |
含义 |
0 |
0x55 |
包头 |
1 |
0x51 |
标识这个包是加速度包 |
2 |
AxL |
X轴加速度低字节 |
3 |
AxH |
X轴加速度高字节 |
4 |
AyL |
y轴加速度低字节 |
5 |
AyH |
y轴加速度高字节 |
6 |
AzL |
z轴加速度低字节 |
7 |
AzH |
z轴加速度高字节 |
8 |
TL |
温度低字节 |
9 |
TH |
温度高字节 |
10 |
Sum |
校验和 |
角速度输出:
数据编号 |
数据内容 |
含义 |
0 |
0x55 |
包头 |
1 |
0x52 |
标识这个包是角速度包 |
2 |
wxL |
X轴角速度低字节 |
3 |
wxH |
X轴加速度高字节 |
4 |
wyL |
y轴加速度低字节 |
5 |
wyH |
y轴加速度高字节 |
6 |
wzL |
z轴加速度低字节 |
7 |
wzH |
z轴加速度高字节 |
8 |
TL |
温度低字节 |
9 |
TH |
温度高字节 |
10 |
Sum |
校验和 |
角度输出:
数据编号 |
数据内容 |
含义 |
0 |
0x55 |
包头 |
1 |
0x53 |
标识这个包是角度包 |
2 |
RollL |
X轴角度低字节 |
3 |
RollH |
X轴角度高字节 |
4 |
PitchL |
y轴角度低字节 |
5 |
PitchH |
y轴角度高字节 |
6 |
YawL |
z轴角度低字节 |
7 |
YawH |
z轴角度高字节 |
8 |
TL |
温度低字节 |
9 |
TH |
温度高字节 |
10 |
Sum |
校验和 |
连接方法:
USB串口模块连接6050模块的方法是:USB串口模块的+5V,TXD,RXD,GND接6050模块的VCC,RX,TX,GND。注意TXD和RXD的交叉。
和计算机的接口需要使用TTL电平的串口,建议搭配使用本店的两款USB转串口模块之一,以免其他品牌的串口模块兼容性问题导致6050模块无法正常输出数据,耽误您宝贵的时间:
(1)多功能USB转串口模块:
(2)USB转TTL模块
连MCU单片机
MCU连单片机并输出调试信息。
通常情况下,MCU的串口资源比较紧张,有的单片机只有一个串口,而且调试的时候需要通过串口输出调试信息,这时可以将MCU的TX引脚连接到USB转串口模块的RX上,6050模块的TX接到MCU的RX引脚上,这样MCU既可以收到6050模块的数据,又可以输出调试信息了。只是MCU无法输出串口指令给6050模块了,不过模块的配置都是可以掉电保存的,而且校准可以再上电后第三秒钟自动执行,通常情况下不用发送任何指令即可工作。
用上位机监视模块与单片机的通信。
如果需要在MCU接受6050模块的输出数据的同时,用上位机监视当前的数据,可以将USB转串口模块的RX接到模块的TX引脚上,并共地即可。
精美大图:
正面:
反面:
华丽的45度图:
批量生产,机焊工艺:
四轴飞行器、自平衡车相关知识:
我们知道,磁场是非常容易发生干扰的。所谓电磁效应,即电场会产生磁场,而磁场又会产生电场。我们我们单纯用地磁传感器来控制四轴飞行器的平衡,那么一个电器产生的磁力感应有可能被误认为是飞行器的姿势发生了改变,从而引起微处理器改变电机的平衡转速,从而导致四轴飞行器失去平衡。大家知道飞行器中最容易产生磁场的就是电机,也就是说,电机不通电能够测出地磁场,一通电,磁场传感器就傻了。如果您做的不是静态模型,那我还是建议您不要考虑磁场了,为自己省点银子。
对于加速度传感器,我们知道运动中的物体会产生包括重力加速度在内的各种各样的加速度。当四轴飞行器起飞的一霎那,由于电机转速本身的重量和转速误差,我们无法感知飞行器本身的受力情况,从而无法通过加速度来判别物体的姿势。要获得准确的物体角度和姿势,加速度传感器就需要在静止或者匀速的情况下进行测量,而飞行器起飞的瞬间,物体是运动的,所以你无法用它来平衡四轴飞行器。
角速度传感器是理想的平衡控制传感器,它能感知物体的运行变化。四轴飞行器的微处理器通过读取这些数据进行分析,并根据运动变化进行反馈控制,即可以使得物体保持平衡。四轴飞行器在起飞瞬间,飞行器在四个电机的作用力下,开始运动,由于不同电机的驱动力差异,飞行器姿势会发生改变,微处理器获得这些改变后,微调各个电机的转速,从而使得飞行器达到平衡。
那么只有角速度传感器的四轴飞行器可以飞吗? 理论上是可行的,但是正像我们前面提到那样,角速度传感器无法绝对定位自己的位置和姿势。 它只是感知物体的姿势改变,然后通过微控制器来阻止这种改变,从而获得平衡。简单来说,四轴飞行器起飞瞬间,如果它的位置是斜的,那么它平衡后,位置也是斜的,因为它无法知道自己的初始状态。所以只有角速度传感器的四轴飞行器无法水平飞行,无法感应飞行姿势,也无法修正飞行姿势。
至于气压传感器,那就单纯是测量飞行器高度,可用于导航,但精度不高。有没有,对四轴飞行器影响不大。
所以你需要的是一个能够在运动情况下还能正确传感角度的模块,同时还需要角速度和加速度的输出。我们的模块正好适用您的需求。
对于自平衡车,磁场的部分和四轴飞行器的原理一样,几乎没啥大用,小车能够平衡的关键还是俯仰轴和滚转轴的角度,偏航轴是不需要稳定的,因为人的控制都是要让小车转向的,除非你希望你的小车永远都盯着一个方向。
气压传感器就更没必要了,难到你还要你的小车飞上蓝天?
实物拍摄: