基于STM32的盲人导航系统设计
2019-02-02朱鑫黄艳高飞跃徐玉琴陈云梅
朱鑫 黄艳 高飞跃 徐玉琴 陈云梅
摘要:针对盲人数量庞大,本文设计了盲人导航系统。该系统以STM32单片机为核心控制器,结合超声波测距、图像采集及处理、GPS导航和双向语音播报四个模块,可以达到探测障碍物,识别特定物体,导航去特定地点以及对特定语句的录入、传递、播报等功能。
关键词:STM32;图像采集;超声波测距;GPS导航;语音播报;导盲系统
中图分类号:TP391.4 文献标识码:A 文章编号:1007-9416(2019)11-0122-02
0 引言
盲人群体是社会中需要关心的弱势群体, 全世界每5秒钟就有一个人失明,90%的盲人在发展中国家。根据调查显示,中国是世界上盲人数量最多的国家之一,平均每年会有40万人失明,盲人问题已经是我国严重的社会问题之一。出行一直是盲人较为关心的问题,市面上现有的导盲设施大多功能单一、操作困难、价格昂贵,经常为盲人带来使用上的不便,为此设计了一款功能多样的导盲系统,帮助解决广大盲人群体的出行问题,缓解社会压力、提高社会服务。
1 系统组成及原理分析
系统总体框图如图1所示,该导航系统以STM32 微处理器为控制核心。系统由以下模块,组成:主控制器;超声波探测模块实现障碍物的探测;语音播报模块实现语音提示和语音控制;图像识别模块识别红绿灯;GPS模块实现导航;电源模块[1]。
2 系统硬件设计
系统硬件设计包括控制器选用、超声波模块设计、图像识别模块设计、GPS导航模块设计、电源电路。
2.1 控制器设计
本导盲系统选用STM32F103RCT6作为控制核心器件,该控制器是一种嵌入式-微控制器,也是32位的基于ARM核心的微处理器,集成了ARM32位CortexTM-M3 内核。该芯片低电压性能强、耗能低、性价比高、稳定性好、程序都是模块化,接口相对简单些 。在该系统设计中主要用来进行数据处理及控制[2]。
2.2 超声波模块设计
该模块由超声波发射电路、超声波接收电路以及报警提示电路组成。在此模块中,单片机STM32控制超声波发射电路发射出特定频率的方波,经障碍物反射由超声波接收电路接收信号并将信号处理,经过计算得出前方障碍物距测距点的距离,当距离小于安全距离,报警提示开始工作[3]。
(1)超声波发射电路。单片机利用压电式超声波换能器的压电晶片共振产生超声波,实时检测前方和左右两侧是否有障碍物,同时单片机开始计时,实现超声波的发射。采用的超声波传感器是一种固有频率为40KHz,开放型的HC-SR04超声波传感器,该传感器采用IO口TRIG触发测距。(2)超声波接收电路。超声波接收电路将接收到的反射波转化成为电信号,然后将其放大到一定幅值,同时抑制噪声和干扰以利用后续单元进行进一步的处理,接收回路为谐振回路,能够将微弱的回波信号检出,送到信号放大电路放大。当超声波接收电路中的共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号。对接收到的信号进行滤波和放大,处理成电路可以接收的电平信号。(3)报警提示。超声波接收电路接收到的回波信号经过滤波电路和放大电路进行处理后,通过单片机的IO接口对处理结果进行检测。当接收传感器的全部信号后,系统通过特定的算法可以得到障碍物的最近距离,同时驱动蜂鸣器进行工作,该系统可以通过单片机控制蜂鸣器发出不同频率的声音,以提醒盲人最近的障碍物方位及其距离。
2.3 双向语音播报模块
双向语音播报模块选用科大讯飞的XF-S4240中文语音合成板卡与高效开关型低频功率放大器LM4665MM,通过麦克风阵列获取用户命令,省去D类放大器特有的LC滤波器直接接扬声器作为输出将信息传递给用户。使用麦克风将用户指令通过语音文字转换器发送到主控制器,由主控制器分析指令,然后含文本信息的指令通过SPI接口发送到语音合成板卡,再由语音合成板卡将文本信息转换为语音信息,最后送往低频功率放大电路[4]。
2.4 图像识别模块
图像识别模块由摄像头,舵机、数据存储器、图像数据处理器组成,本模块首先通过主控制器STM32驱动OV7670摄像机采集图像数据,通过数据存储器存储图像数据,图像数据处理器进行图像数据处理。同时电源电路还可以为整个采集模块各个部分提供工作电压,主控器STM32可以通过PWM控制舵机的旋转摄像头,拍摄不同的角度[5]。
摄像头选用OV7670,其图像传感器阵列为640×480,VGA图像可以达到30帧/秒。该导盲系统中0V7670设计为一个独立模块,其中留出一组接口与STM32控制器相連,STM32控制器通过该接口进行读取数据,接口电路如图2所示。
该系统设计了两个舵机,一个用于水平方向的转动,一个用于垂直方向的转动。首先利用STM32控制器的定时器使舵机控制信号工作在PWM模式,产生周期为20ms、脉宽时间变化范围为0.5ms~2.5ms的PWM信号,控制舵机运动到固定的角度。
数据存储模块采用数据存储芯片AT25DF021来实现,该储存模块为带有SPI接口的FLASH型数据存储器,最大操作频率为66MHz,容量为2MB。由于该数据存储器使用串行接口按照顺序访问其内部的数据。因此可以使硬件布局简化,减小引脚数目以及封装尺寸,最大限度地减少开关噪声,从而提高系统的可靠性。图像数据处理包括RGB转换为灰度色、中值滤波、阈值分割、提取骨架四个部分。
2.5 电源电路
为了给采集系统各部分提供工作电压,本系统设计了电源电路。由于考虑到降低采集系统功耗,系统所有芯片选用了低电压工作芯片,电源电路采用电压为+3.3V可充电锂电池SPX1117-3.3进行供电,电源电路如图3所示。
2.6 GPS导航模块
GPS导航模块选用GPS25-LVS接收模块,该模块定位速度快,工作稳定,耐电压冲击,具有很好的抗干扰性,是目前应用最广泛的GPS接收处理板。该模块主要由天线、变频器、信号通道、数字信号处理、储存器、串口通信接口和电源组成。由它接收来自天线的信号,经调制后,实现对GPS卫星信号的跟踪、锁定、测量,从而计算导航数据信息。由于GPS25-LVS数据输出格式是标准的串行RS232电平,与STM32单片机逻辑电平不同,因此采用MAX232芯片实现电平转换,使得RS232电平与TTL电平连接[6]。
3 系统软件设计
本系统软件以STM32为信息处理核控制核心,采用进行模块化设计,系统主程序主要由系统初始化、障碍物判定、双向语音播报、图像识别、GPS定位等子程序构成。系统初始化主要完成对STM32端口、图像识别模块、GPS定位模块和语音播报模块等进行初始化,使它们处于待机工作状态[7]。
4 结语
总之,该导盲系统以STM32单片机为控制主板,实现高性能、低成本、低功耗的嵌入式应用设计,搭载了传统的超声波导盲模块和语音播报模块,同时又使用了图像识别模块和GPS导航模块。帮助盲人实现道路障碍的规避,路口红绿灯的识别,固定路线的导航以及语音控制导盲系统,保护了盲人的出行安全,方便盲人独立出行,有利于盲人活动和生活。
参考文献
[1] 李筱雅,高寒,张璐璐,等.基于单片机的超声波导盲系统[J].2016(7):123-124.
[2] 贾丹平,王巖,王阳,等.多功能盲人智能拐杖的设计[J].电子设计工程,2016,24(14):136-138+142.
[3] 罗凤,徐观亚,汪衡,等.基于STM 32的盲人避障仪设计[J].2016(01):72.
[4] 王虎升,李金环,袁宪锋,等.基于STM32的嵌入式语音播报系统的设计[J].北京联合大学学报(自然科学版),2011(03):11-15.
[5] 郝雯,沈金,鑫梅成.基于STM32单片机的存储式数据采集系统设计[J].2013(17):80-82.
[6] 曾胜艳,王善伟.基于stm32的无线图像采集器[J].福建电脑,2018(11):110-111.
[7] 方仁杰,朱维兵.基于GPS定位与超声波导盲拐杖的设计[J].计算机测量与控制,2011(05):1154-1157.