博客
关于我
嵌入式课程 之 陀螺仪传感器实验
阅读量: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/

    你可能感兴趣的文章
    Nginx配置文件nginx.conf中文详解(总结)
    查看>>
    Nginx配置负载均衡到后台网关集群
    查看>>
    ngrok | 内网穿透,支持 HTTPS、国内访问、静态域名
    查看>>
    NHibernate学习[1]
    查看>>
    NHibernate异常:No persister for的解决办法
    查看>>
    NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
    查看>>
    NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
    查看>>
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
    查看>>
    NIFI1.23.2_最新版_性能优化通用_技巧积累_使用NIFI表达式过滤表_随时更新---大数据之Nifi工作笔记0063
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_无分页功能_02_转换数据_分割数据_提取JSON数据_替换拼接SQL_添加分页---大数据之Nifi工作笔记0037
    查看>>
    NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
    查看>>
    nifi使用过程-常见问题-以及入门总结---大数据之Nifi工作笔记0012
    查看>>
    NIFI分页获取Mysql数据_导入到Hbase中_并可通过phoenix客户端查询_含金量很高的一篇_搞了好久_实际操作05---大数据之Nifi工作笔记0045
    查看>>
    NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
    查看>>
    Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
    查看>>
    NIFI大数据进阶_FlowFile拓扑_对FlowFile内容和属性的修改删除添加_介绍和描述_以及实际操作---大数据之Nifi工作笔记0023
    查看>>