主题 | 内容 | 教学目的/扩展视频 |
---|---|---|
加速度传感器 | 电路连接。手册分析。驱动程序,读出数据。 | 能读出3轴数据。 |
师从洋桃电子,杜洋老师
MPU6050 是全球首款整合 3轴MEMS陀螺仪 和 3轴MEMS加速度计 的6轴运动处理传感器。其核心亮点包括:
MPU6050芯片封装极小(4×4×0.9mm),直接焊接难度高,因此通常使用模块化设计。模块集成了:
以STM32F1系列为例,典型接线如下:
MPU6050模块引脚 | STM32引脚 | 功能说明 |
---|---|---|
VCC | 3.3V/5V | 电源正极 |
GND | GND | 电源地 |
SCL | PB6 | I2C时钟线 |
SDA | PB7 | I2C数据线 |
INT | 任意GPIO | 中断信号(可选) |
MPU6050采用右手坐标系,轴向定义如下:
g
(重力加速度)。°/s
。MPU6050的I2C地址在数据手册中标注为 0x68(7位地址),但在STM32硬件I2C驱动中需使用 0xD0(8位写地址)。原因如下:
0x68
(二进制1101000
)。0xD0
(二进制11010000
)。0x68
,接VCC时地址为0x69
。#define MPU6050_ADDR 0xD0 // 8位写地址
参数 | 陀螺仪 | 加速度计 |
---|---|---|
量程范围 | ±250°/s ~ ±2000°/s | ±2g ~ ±16g |
ADC分辨率 | 16位 | 16位 |
输出数据速率 | 最高8kHz | 最高1kHz |
功耗 | 5mA(工作) / 5μA(待机) | 500μA(工作) |
通过DMP可直接获取姿态数据,无需手动融合传感器数据:
// 示例:读取四元数
int16_t q[4];
MPU6050_Read(MPU6050_QUATERNION_REG, (uint8_t*)q, 8);
支持多种中断触发条件(数据就绪、自由落体检测等),配置寄存器即可启用:
// 启用数据就绪中断
MPU6050_Write(MPU6050_INT_ENABLE_REG, 0x01);
[1] 洋桃电子B站课程-STM32入门100步
[2] STM32官方文档手册
[3] STM32F103固件函数库用户手册(中文)
[4] MPU6050(加速度传感器)数据手册
[5] MPU6050原始数据显示程序
[6] MPU6050原理与驱动.pptx
下期预告:下一期将探讨MPU6050驱动程序分析,欢迎持续关注!
点击查阅往期【STM32专栏】文章
版权声明:本文采用[CC BY-NC-SA 4.0]协议,转载请注明来源
实测开发版:洋桃1号开发版(基于STM32F103C8T6)
更新日志:
- v1.0 初始版本(2025-03-30)