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

    你可能感兴趣的文章
    Python:从 FTP 服务器下载文件
    查看>>
    python:从列表中创建元组列表
    查看>>
    Python:从嵌套列表中删除重复项
    查看>>
    Python:从间隔映射到值
    查看>>
    Python:使用 shell=False 的子进程调用不起作用
    查看>>
    Python:修改 PATH 环境变量的平台无关方式
    查看>>
    Python:假与 0
    查看>>
    Python:函数使用
    查看>>
    Python:函数进阶
    查看>>
    Python:在整数的二进制表示中查找最长的二进制间隙
    查看>>
    Python:如何从二进制转换为 base 64 并返回?
    查看>>
    Python:如何以非阻塞方式读取子进程的标准输出
    查看>>
    Python:如何使用 plotly 制作阴影区域或交替背景颜色?
    查看>>
    Python:如何根据日期时间获取值的计数
    查看>>
    python:如何检测串行 COM 上的设备名称/ID
    查看>>
    Python:如何模拟 datetime.utcnow()?
    查看>>
    Python:如果DataFrames之间的其他值匹配,则对DataFrame中的值求和
    查看>>
    Python:字典思维
    查看>>
    Python:将 HEX 字符串转换为字节
    查看>>
    Python:将列表与范围列表合并
    查看>>