基于STM32的电子罗盘设计
扫描二维码
随时随地手机看文章
引 言
GPS在导航定位、测速方面具有广泛的应用,但在高楼密集的城区和偏远地带,GPS信号受到阻挡,信号精度降低, 因而GPS设备不能很好的将信号回馈到卫星[1]。针对这一问题,可以采用电子罗盘和 GPS组成导航定向,电子罗盘可以对 GPS进行有效的补偿[2]。同时,随着科技的发展,电子罗盘也可以安装在汽车或者轮船上,当驶入到信号较差的地方时,数字电子罗盘可以起到很大的作用。
本文以 HMC5883三轴数字罗盘传感器为基础, 以STM32F103RET6单片机为微处理器,设计了一款数字电子罗盘。它功耗低,体积小,便于携带,而且精度高,在 GPS信号差的地方,可以起到一定的导航作用。
1 系统框图
磁阻传感器HMC5883 测量地球磁场矢量信息,加速度传感器MPU6050 采集重力加速度分量,然后经过AD 转换器模拟量转换为数字量,采用STM32F103RET6 单片机来完成传感器数据采集,并进行传感器数据处理和误差校正,最终得到位置信息并通过LCD 显示结果。系统框图如图1 所示。
2 硬件电路设计
2.1 电源升压电路
电源是电子罗盘系统正常工作的基础,电源的好坏直接影响电路工作的稳定性,STM32F103RET6 单片机的工作电压 都是 3.3 V,而电子罗盘系统使用1.2 V 锂电池供电。本系统采 用 NCP1400ASN30T1G 升压芯片,把 1.2 V 电压提升到 3.3 V, 供给系统各部分作为电源。电源电路如图 2 所示。
2.2 HMC5883 磁阻传感器电路设计
HMC5883 磁阻传感器接口电路如图 3 所示。图 3 中HMC5883 为数字接口双轴磁阻传感器,该传感器内置ASIC 放大器,12 位 A/D 转换器,I2C 总线输出[3]。R 、R为上拉电阻, DRDY 为数据准备好中断控制口,接控制器中断输入口。电容C1、C2 加上传感器片上 ASIC 电路中的H- 电桥驱动电路可以产生电流脉冲,使片上的置位 / 复位电流带产生磁场给传感器去磁和极性翻转[4]。
2.3 加速度传感器接口电路
图 4 所示的加速度传感器采用MPU6050,该加速度传感器采用三轴陀螺仪技术,具有体积小、重量轻、结构简单、可靠性好等诸多优势 [5]。该加速度传感器模块以 MPU6050 为核心芯片,其对陀螺仪和加速度计使用了三个 16位的ADC 模数转换,将采集到的模拟量转化为单片机可使用的数字量 [6]。模块引出 8个引脚,除了 VCC和 GND之外,其余 6个引脚与单片机 I/0口进行连接。其中,SCL为I2C时钟引脚,SDA 为I2C数据引脚。
2.4 单片机最小系统电路图
主控电路采用 STM32F103RET6 单片机,其最小系统原 理图如图 5 所示。图中所示的 STM32F103RET6 单片机具有 较强的抗干扰能力,适合本系统设计 [7]。晶振为 8 MHz 的无 源晶振经单片机倍频后作为 72 MHz 的系统时钟,单片机为低 电平复位,但当复位引脚为低电平后,单片机不会马上复位, 还需要持续一段时间,故电容 C13 作为缓冲,从而维持一段时 间的低电平 [8]。BOOT0 为启动模式选择引脚,当为低电平时 为用户闪存启动模式,当为高电平时为系统内存启动模式,本 电路默认设置为闪存启动模式,当需要设置为系统内存启动 模式时可通过按键 Dow1 控制。
2.5 信号调理电路和 AD 转换模块
信号调理电路由AD7705 芯片控制,AD7705 串行接口可配置为三线接口[9]。增益值、信号极性及更新速率的选择可用串行输入口由软件来配置。该器件还包括自校准和系统校准选项,以消除器件本身或系统的增益和偏移误差,且耗电极低 [10]。
3 系统软件设计
该系统采用模块化编写,便于调试,程序开始后,先读取预置数,系统各模块再初始化,选择是否为测量模式,如果是,然后读取各项数据 ;如果不是,则需要校准,校准时先读取磁场数据,然后计算偏移量,判断是否存在偏移量, 如果有,则需要存入单片机中;若没有,则直接进入系统初始化。系统具体流程如图 6 所示。
4 结 语
电子罗盘系统 采用数字磁阻传感 器、双轴加速度传 感器,处理器采用 STM32F103RET6 单片机,具有电路 结构简单、集成度 高、抗干扰能力强 等优点。正常工作 时耗电非常低,同 时硬件成本低、功 耗小,适合用于便 携导航,也可用于 其他需要测量倾角 和方位角的场合。