基于STM32的小型轻质多功能定位器设计
2024-07-10程振辉
程振辉
摘要:当今社会,定位技术已经广泛应用于各个领域,便携、轻廉、精准且功能多样的小型定位器备受大众的青睐。文章提出一种基于STM32的小型轻质多功能定位器的设计。该设计以STM32单片机作为主控,通过主控驱动ATGM336H和SHT25,获取GNSS信号和温湿度信号后,将参数再送入主控内进行解析和处理,并将实时时间、实时位置和温湿度等参数信息显示在4针的OLED屏幕上。
关键词:小型轻质;定位器;单片机;ATGM336H-5N;SHT25;便携低耗
中图分类号:TP368.2 文献标志码:A
0 引言
近年来,随着微纳技术的突破,小型轻质的定位电子产品得以实现更为精细的设计和制造。这类产品不仅体积小巧、重量轻,具备较高的定位精度和稳定性,功能多样,满足了现代人们对定位器的多样化需求[1]。然而,尽管小型轻质多功能的定位电子产品在技术和应用上取得了显著进展,但仍然存在一些挑战和问题。例如,如何在保证定位精度的同时,进一步降低设计的功耗和成本;如何在增加其他模块和功能的同时,保证设计的小型和轻质等。
本文旨在深入探讨一款小型轻质多功能的定位电子器的技术原理和设计方法。本文提出了利用STM32F103C8T6为CPU对ATGM336H板卡和SHT25传感器获取的全球导航卫星系统(Global Navigation Satellite System,GNSS)信号和温湿度信号进行解析和处理[1]。ATGM336H基于电磁感应和牛顿第二定律测量立体坐标中的加速度变化,计算出运动过程中的速度、加速度、朝向和方位,并将其转化为电信号输出。该设计采用加权融合技术对来自不同卫星的信号或不同传感器的数据进行融合,结合卡尔曼滤波算法[2]对传感器测量误差进行实时校正,从而提高定位精度和稳定性。SHT25对温度的测量采用热电偶的方法,当两端的温度不同时,回路中就会出现热电动势,经过电路的转换将这个电压的变化送到单片机。薄膜吸水或失水会改变2个电极间的介电常数,进而引起电容器容量的变化。外部测量电路可将电容器的容量变化进行捕捉、转化处理,最终送入单片机。
1 系统总体设计方案
该系统主要由主控模块、温湿度检测模块、定位通信模块、存储模块、显示模块以及按键接口等构成。STM32F103C8T6为主控,负责整个系统的控制和相关数据的解析。该系统通过主控芯片STM32驱动ATGM336H-5N定位模块和SHT25温湿度模块,获取数据后再由主控芯片进行解析处理,经由按键接口电路模块选择模式并将温湿度、实时时间、位置信息显示在4针的OLED屏上,以实现人机交互。系统整体结构如图1所示。
2 系统模块化设计
2.1 STM32主控模块
STM32的工作电压(VDD)为2.0~3.6 V,由内置的电压调节器提供所需的1.8 V电源。基于小型轻重的考虑,供电的电池体积应尽可能小,这也带来了续航能力不足的问题,而STM32的3种低功耗模式正好弥补了电池体积小带来的续航不足的问题。STM32与SHT25进行通信时会用到GPIO端口的模拟输入通信;STM32与定位模块进行通信时会用到输入浮空和推挽式输出模式,而按键电路会用到输入上拉与下拉或输入浮空模式。
2.2 SHT25空气温湿度模块
SHT25 是一款高精度、低功耗、低成本的数字温湿度传感器,内部集成了放大器、A/D转换器、OTP内存和数字处理单元,采用IIC接口[3],供电电压典型值为3.3 V,工作电流典型值不超过1 μA,具有极低的功耗。SHT25电路设计如图2所示。电路设计时,将SHT25的引脚VDD通过一个20 Ω的电阻连接到电压3.3 V,用于芯片供电;单片机的引脚PC8、PC9分别和SHT25的引脚SCL、SDA相连,以模拟IIC总线方式读写芯片数据[4]。
2.3 ATGM336H-5N模块的原理及其电路连接
ATGM336H-5N模块的工作电压为2.7~3.6 V,支持包括北斗卫星导航系统(Beidou Navigation Satellite System,BDS)在内的GNSS[5]。ATGM336H-5N是一种三轴立体加速计,由2个测量计输出的体重向量(Weight Vector)和北向量(North Vector)确定模块的方位与朝向,经内部的自我校准(卡尔曼滤波算法)和内部解算(加权融合技术)将重置后最准确的测量结果转化为电信号输出[6]。
ATGM336H-5N模块与STM32通过串口进行通信,因此,可将定位模块ATGM336H的串口TXD(Transmit Data)、RXD(Receive Data)引脚与STM32单片机的对应串口引脚(本设计中选择的是PA9、PA10)连接,TXD要选择复用推挽式输出,RXD选择输入浮空模式。
2.4 按键接口电路与显示模块
STM32单片机GPIO引脚自带上拉、下拉输入,因此,硬件电路部分不需要加额外的电阻实现上拉下拉。本设计选用了高电平检测独立按键,当按键开关按下时开关导通,单片机I/O口检测到高电平输入即完成按键检测(需要对按键进行消抖)。本设计的显示功能由4针的OLED屏幕通过各像素点的亮灭组成字符来实现显示功能,采用IIC通信的接口方式,由SSD1306驱动。
3 软件设计
3.1 SHT25温湿度模块程序设计
该设计通过SHT25采集空气温湿度信息,支持2种工作模式:在保持主模式,SHT25可以通过下拉 SCL引脚迫使CPU进入等待状态,此时SHT25对温湿度进行测试,CPU可以通过发送指令读取传感器中的温湿度信息;在保持非主模式下,主控模块需要发送“10000001”指令启动SHT25,如果SHT25测量完成,传感器就会回答主控模块的轮流询问,主控便可读取传感器测量信息,如果SHT25测量未完成,则不应答ACK位,CPU必须重新发送启动指令。
3.2 ATGM336H定位模块程序设计
ATGM336H可以利用串口发送定位信息给主控芯片,在设计时,可以先用定位模块连接USB转TTL线(上位机)[5],定位成功即可接收到数据帧。ATGM336H一次会返回许多条信息,只需要关注数据帧中的“GNRMC”这条信息即可。ATGM336H和SHT25模块主程序流程如图3所示。
4 结语
便携性、高效性、精准性且多功能的小型轻质电子产品应用领域比较广泛,主要有车载定位与导航, 手机、平板电脑、手持设备和可穿戴的户外运动设备等。本文设计了一款基于STM32的小型轻质多功能的定位器,数次实验测试表明,该定位器能够准确获取地理位置并显示在屏幕上,且能够实时显示位置时间和环境的温湿度,精度和时延都在主流的范围之内。本设计在保证便携性、高效性、精准性和多功能的同时,又具备低功耗和低成本的特性。在后续的开发中,笔者将考虑通过物联网通信,通过物联网平台和其他设备进行通信,例如,可以将定位上传至手机上的地图App或者微信小程序进行互联。
参考文献
[1]刘斌,肖紫恩,骆亚波,等.一种大尺度区域GNSS坐标序列自适应时空滤波方法[J].大地测量与地球动力学,2024(3):1-6.
[2]方贤宝,林勇,苏羿安,等.基于TOF和自适应抗差卡尔曼滤波的UWB室内定位算法[J].传感器与微系统,2024(3):134-138.
[3]孙辉,沈兆坤,刘明强,等.高精度模拟式温湿度传感器设计[J].机电技术,2024(1):74-78.
[4]王春宇,张斌,韩旭,等.基于STM32的大口径望远镜温湿度监测系统[J].电子测量技术,2020(16):28-31.
[5]舒秀兰,郑旭彬,李泽森,等.ATGM336H+ESP01S的室内定位系统设计[J].电子世界,2021(2):184-185.
[6]王建政,林克宾.基于STM32的惯性姿态模拟系统[J].电子元器件与信息技术,2018(5):5-11.
(编辑 王雪芬)
Design of small lightweight multi-function positioner based on STM32
CHENG Zhenhui
(School of Information, North China University of Technology, Beijing 100000, China)
Abstract: In todays society, positioning technology has been widely used in various fields, portable, lightweight, accurate and versatile small locators are favored by the public. This paper proposes a design of small lightweight multi-functional positioner based on STM32. The design uses STM32 single chip microcomputer as the main control, drives ATGM336H and SHT25 through the main control, obtains GNSS signal and temperature and humidity signal, and then sends parameters into the main control for analysis and processing. The real-time time, real-time position and temperature and humidity parameters are displayed on the 4-pin OLED screen.
Key words: small and light; positioner; single-chip computer; ATGM336H-5N; SHT25; portable and low consumption