基于STM32的步行者航位推算装置设计

基于STM32的步行者航位推算装置设计,第1张

  基于便携性与实用性考虑,提出一种新的步行者航位推算装置设计。使用三维加速度计与电子罗盘集成芯片LSM303DLHC和陀螺仪集成芯片MPU3050对步行者的实时运动信息进行采集,采用具有ARMCortex-M3内核的STM32F103RBT6单片机收集传感器数据并对数据进行航位推算处理,将步行者航迹信息显示于TFTLCD上。实验证明,该装置具有较高的推算精度,能满足实际应用需求。

  1、系统组成与工作原理

该步行者航向推算装置主要由三维传感器模块、数据转换模块与处理模块组成,具体的组成框图如图1所示。三维传感器模块上分为三轴加速度计与电子罗盘集成芯片LSM303DLHC、陀螺仪集成芯片MPU3050,以及用于数据处理的单片机STM32F103RBT6。实际工作时,三轴传感器模块置于步行者腰间,三维加速度计用于采集前左上三个方向上的加速度,用于计算模块的俯仰角与倾斜角,以及步行者的步数统计与步幅估计;电子罗盘采集步行者实时航向角数据;陀螺仪测出单位时间内三轴角速度以校正计算出的俯仰角与倾斜角;单片机负责对传感器的原始数据进行转换处理,采用串口与数据处理模块进行通信。数据处理模块核心也采用了单片机STM32F103RBT6,在与三维传感器模块串口通信的同时,将航位推算所需的数据通过FAT32文件系统存于SD卡中。显示模块采用的是TFTLCDILI9320,当步行者需要查看当前的航位信息时,单片机可通过FAT32文件系统从SD卡中调出原始数据,进行航位推算处理,最终将步行者的航迹显示于TFTLCD上。

 基于STM32的步行者航位推算装置设计,基于STM32的步行者航位推算装置设计,第2张

  图1系统组成框图

  2、硬件设计   2.1、主控芯片及外围电路设计

  主从单片机都采用ST公司生产的具有ARMCortex-M3内核的工业级控制芯片STM32F103RBT6,它具有72MHz时钟主频,内部ROM存储容量为128KB,RAM存储容量为20KB。它具有8个定时计数器,3个SPI、2个I2C总线、3个UART、1个USB、1个CAN总线等通信端口,这些通信端口完全能满足本系统在设计过程中的需要。

  STM32F103RBT6芯片由3.3V电压供电,而外部电源为5V电池,因此采用降压芯片AMS1117-3.3,它能将输出电压降低并且稳定在3.3V,精度为1%。

  2.2、三维传感器模块设计

  LSM303DLHC芯片可在2.16~3.6V低电压下正常工作,其内置三轴加速度计,量程为±2g~±16g。电子罗盘量程可为±1.3~±8.1gauss,单片机通过SCL、SDA引脚与其进行I2C总线通信,编程寄存器CTRL_REG4内容可设置三轴加速度计量程,编程寄存器CRB_REG_M内容可设置电子罗盘量程,其外围电路如图2所示。

 基于STM32的步行者航位推算装置设计,基于STM32的步行者航位推算装置设计,第3张

  图2LSM303DLHC外围接口原理图

  MPU3050能在2.1~3.6V低电压下正常工作,其内置的陀螺仪可测出三轴方向上±250~±2000°/s的角位移,通过编程其寄存器DLPF_FS可以选择陀螺仪工作的量程,同时单片机通过I2C总线,可从X_OFFS_USRH/L、Y_OFFS_USRH/L、Z_OFFS_USRH/L这6个数据寄存器读出三轴原始数据,其外围电路如图3所示。

  基于STM32的步行者航位推算装置设计,基于STM32的步行者航位推算装置设计,第4张

  图3MPU3050外围接口原理图

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2629867.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-11
下一篇 2022-08-11

发表评论

登录后才能评论

评论列表(0条)

保存