博客
关于我
嵌入式课程 之 陀螺仪传感器实验
阅读量:406 次
发布时间:2019-03-05

本文共 1165 字,大约阅读时间需要 3 分钟。

陀螺仪与MPU6050实验报告

【实验目标】熟悉陀螺仪工作原理,了解不同种类陀螺仪之间的差异;熟悉MPU6050的输出形式,熟悉MPU6050的通信方法;掌握STM32F10xx系列微控制器上陀螺仪的接口配置与数据采集过程。

【实验原理】陀螺仪(gyroscope)是角运动检测装置。传统陀螺仪通过检测高速回转体的动量矩,感知其相对于惯性参考系的角运动,输出角速度信息。机械式陀螺仪因制造工艺复杂、精度低、体积大而逐渐被MEMS(微机电)陀螺仪取代。MEMS陀螺仪采用微型机电结构,具有高精度、小体积、低功耗等优点。

MPU6050是一款集成6轴运动传感器,包含3轴MEMS陀螺仪、3轴加速度计和可扩展的DMP(数字运动处理器)。其I2C接口支持最高达400kHz的通信速度,可与其他传感器连接。MPU6050的I2C地址由AD0引脚确定,默认为0xD0,AD0接地时设备地址为0x68。

硬件连接图显示MPU6050与主控板的接口配置。软件流程图展示了从MPU6050读取数据到显示屏的整个过程。

【实验环境】硬件设备:双轮自平衡机器人,配备MPU6050模块。软件环境:Keil 5 IDE

【实验步骤】第一步:配置工程环境工程模板包含USER、HARDWARE、SYSTEM、CORE、FWLib文件夹。HARDWARE文件夹下新建mpu6050.c文件,与之对应的MPU6050.h文件包含寄存器地址和宏定义。

第二步:编写寄存器读取函数完成以下函数开发:

  • 时钟源配置函数MPU6050_setClockSource
  • 陀螺仪量程设置函数MPU6050_setFullScaleGyroRange
  • 加速度计量程设置函数MPU6050_setFullScaleAccelRange
  • 睡眠唤醒函数MPU6050_setSleepEnabled
  • 主从机设置函数MPU6050_setI2CMasterModeEnabled
  • I2C跳过功能设置函数MPU6050_setI2CBypassEnabled
  • 第三步:编写主程序在main.c中:

  • 包含必要的头文件
  • 定义显示函数和全局变量
  • 调用初始化函数和延时函数
  • 实现主循环,读取陀螺仪数据并显示
  • 第四步:编译并下载通过Keil编译环境完成程序编译和下载,确保仿真器与小车连接正确。

    【实验现象】OLED显示屏显示陀螺仪读数,手动操作车身可观察数值变化。

    【思考题】

  • 若AD0引脚接高电平,MPU6050的7位设备地址是(B)A:0x68B:0x69C:0xD0D:0xD1

  • 同一条IIC总线上最多挂在几个MPU6050设备(B)A:1B:2C:127D:128

  • 简答题:机械陀螺仪的工作原理是基于离心力。当陀螺仪快速旋转时,其旋转轴方向不变。利用这种特性,机械陀螺仪可以用于保持方向。

    转载地址:http://xuzzz.baihongyu.com/

    你可能感兴趣的文章
    mysql中的四大运算符种类汇总20多项,用了三天三夜来整理的,还不赶快收藏
    查看>>
    mysql中的字段如何选择合适的数据类型呢?
    查看>>
    MySQL中的字符集陷阱:为何避免使用UTF-8
    查看>>
    mysql中的数据导入与导出
    查看>>
    MySQL中的时间函数
    查看>>
    mysql中的约束
    查看>>
    MySQL中的表是什么?
    查看>>
    mysql中穿件函数时候delimiter的用法
    查看>>
    Mysql中索引的分类、增删改查与存储引擎对应关系
    查看>>
    Mysql中索引的最左前缀原则图文剖析(全)
    查看>>
    MySql中给视图添加注释怎么添加_默认不支持_可以这样取巧---MySql工作笔记002
    查看>>
    Mysql中获取所有表名以及表名带时间字符串使用BetweenAnd筛选区间范围
    查看>>
    Mysql中视图的使用以及常见运算符的使用示例和优先级
    查看>>
    Mysql中触发器的使用示例
    查看>>
    Mysql中设置只允许指定ip能连接访问(可视化工具的方式)
    查看>>
    mysql中还有窗口函数?这是什么东西?
    查看>>
    mysql中间件
    查看>>
    MYSQL中频繁的乱码问题终极解决
    查看>>
    MySQL为Null会导致5个问题,个个致命!
    查看>>
    MySQL为什么不建议使用delete删除数据?
    查看>>