基于STM32的短距离激光测距仪设计

2019-06-26 09:19许浩浩韩志胜罗国庆
仪器仪表用户 2019年7期
关键词:激光测距仪液晶显示激光测距

许浩浩,易 艺,韩志胜,罗国庆

(桂林电子科技大学 信息科技学院,广西 桂林 541004)

0 引言

激光因其具有方向性好、亮度高、单色性好等优点被应用于地形测量、房子装修、工程测量、人造卫星测距、机器人避障等领域[1,2]。随着机器人[3]、智能驾驶、物联网智能停车[4]等技术的发展,人们对激光测距的测距精度、测量时间和稳定性提出更高的要求。因受各种环境因素的影响,激光测距很难达到理想的测距状态[5]。因此,如何快速、准确、稳定地对目标距离实现测量,成为目前智能行业迫切需要解决的问题,也是科研工作者研究的课题[6,7]。

为了实现对目标距离的准确测量,本文基于相位法激光测距的原理,采用STM32作为控制器,设计和制作一台便携式短距离激光测距仪,该激光测试仪具有成本低、易操作、便于携带等特点。本文首先介绍激光测试仪的系统组成和原理,然后对系统的硬件电路和软件进行设计与制作,最后进行实验测试与分析。

1 系统的组成和原理

图1 系统总体设计框图Fig.1 System overall design block diagram

图2 微控制器最小系统电路框图Fig.2 Circuit block diagram of micro-controller minimum system

基于STM32的激光测距仪由STM32最小系统和与之相连接的液晶显示电路、键盘电路、激光测距模块、通信模块和电源模块组成,其系统组成框图如图1所示。

激光测距仪以STM32微控制器作为控制核心,根据用户从键盘设置的工作模式,给激光测距模块输送数据命令,控制激光测距模块工作,实现对目标距离的准确测量。液晶显示模块用来显示距离、面积和体积等测量参数。为了方便用户获取和处理测量参数,激光测距仪还设有USB转TTL串口通信模块,预留通信接口,该通信接口可以通过USB线与PC机相连接,安装有上位机软件的PC机,可以读取激光测距仪的数据,方便用户对测量数据进行处理。

2 系统硬件电路设计

2.1 微控制器最小系统电路

微控制器最小系统电路选用片内资源丰富的STM32F1-03C8T6芯片来进行设计,它的工作频率为72MHz,具有外围电路简单、功耗低、性价比高等优点,且片内拥有ADC。微控制器最小系统电路由STM32F103C8T6芯片、时钟电路、复位电路、BOOT电路和电源电路组成[8],其电路组成框图如图2所示。

2.2 电源模块电路

电源模块选用LM7805和LM1117-3.3稳压芯片来进行设计,其电路原理图如图3所示。

图3 电源模块电路原理图Fig.3 Circuit schematic diagram of power module

图4 液晶显示电路原理图Fig.4 Liquid crystal display circuit schematic diagram

图5 按键电路原理图Fig.5 Key circuit schematic

图3中,9V电池与J1接口相连接,9V直流电压经过LM7805稳压器进行电压转换后得到+5V电压,然后分别送给液晶显示电路和LM1117-3.3稳压器。从LM1117-3.3稳压器输出的3.3V电压送给STM32最小系统电路和激光测距模块供电。

2.3 液晶显示电路

液晶显示电路选用低功耗的OLED12864显示屏来实现,它采用SPI的通信协议与STM32微控器进行数据通信,其与STM32微控器的电路连接图如图4所示。

2.4 键盘电路

键盘电路选用7个独立按键S1~S7来实现,它们通过网络标号Key1~Key7分别与STM32微控制器的7个I/O口相连接,其电路原理图如图5所示。STM32微控制器的7个I/O口都配置为上拉电阻输入。

2.5 激光测距模块电路

图6 激光测距电路框图Fig.6 Laser ranging circuit block diagram

图7 系统主程序流程图Fig.7 System main program flow chart

激光测距模块主要由STM32F103微控制器、信号产生电路、激光发射电路、激光接收电路和信号混频电路组成[9],其电路原理框图如图6所示。

在图6中,STM32微控制器根据用户设置的工作模式控制信号产生电路、激光发射电路、激光接收电路和信号混频电路进行工作,然后将A/D采集的混频信号参数进行分析和处理,直至得到相应的距离测量值[10]。

3 系统软件设计

在Keil集成开发环境下,用C语言来对系统的各个子程序进行设计,主要包括系统主程序、液晶显示程序、按键程序、串口发送和接收程序等。系统的主程序流程图如图7所示。在图7中,系统先对液晶显示电路、按键电路、激光测距模块及其内部资源进行初始化,然后按系统默认的设置参数进行工作,当系统接收到用户的设置命令时,按用户命令控制激光测距模块进行工作,并将读取的测距数据进行分析、处理和存储,最后送液晶显示电路进行显示。

PC机的上位机软件采用NI公司推出的虚拟仪器开发平台LabVIEW开发,它是一种图形化编程语言,简单、易学。激光测距仪通过USB转串口通信模块与PC机相连接,PC机的上位机软件通过通信模块读取激光测距仪的数据,并以Excel的格式导出,方便用户进行处理。

表1 主要性能指标Table 1 Main performance index

表2 距离参数测量结果Table 2 Distance parameter measurement results

4 实验测试

采用100m卷尺、100cm直尺作为标准尺子,对研制的激光测试仪进行比对测试,得到激光测试仪的主要性能指标如表1所示,部分参数测量结果如表2所示。

实验测试结果表明:该激光测距仪可以在0.2s~2s内实现对距离的测量,距离测量范围为0.03m~80.00m,测量精度为±2mm,距离测量的最大相对误差为10.00%,且具有面积和体积的测量功能,能满足人们日常生活的测距需求。

5 结论

本文基于相位法激光测距的原理,以STM32微控制器作为主控芯片,将光电检测技术、DSS技术、PWM技术等知识相结合,辅以必要的外围电路,设计了一种短距离激光测距仪。本文详细介绍了激光测距仪的系统组成原理和软硬件实现的方法,并进行制作与实验。实验测试结果表明,该激光测距仪可以在0.2s~2s内实现对距离的测量,且具有测距范围宽、精度高、成本低、易操作、便于携带等特点,可应用于房子装修、房产测绘等行业。

猜你喜欢
激光测距仪液晶显示激光测距
基于高压架空线路激光测距的无人机锁定导线巡航研究
基于TRIZ理论液晶显示模块开发板的创新设计
基于回波强度的激光测距误差补偿算法研究
激光测距仪在起重机检验中的运用
基于ARM的雷达整车智能配电系统显控管理模块的设计与实现
利用激光测距仪对采空区快速地形测量方法
储丝柜分配行车精确寻柜技术改造
基于单片机的船舶避碰系统的设计
122×32 点阵液晶显示汉字原理实验
激光测厚技术专利申请分析