基于STM32的手持式导盲系统设计与实现

2020-01-26 05:49温俊霞
电脑知识与技术 2020年34期
关键词:电路设计盲人障碍物

温俊霞

摘要:针对越来越多的人受到失明或视力损伤困扰的问题,研究了一种基于超声波测距的手持式导盲系统。该系统采用STM32F103VET6单片机为控制核心,利用超声波和三轴加速度传感器实现对障碍物距离和角度测量,结合温度补偿提高测距精度,并采用多芯片驱动超声波发射探头的方式,增加波形的稳定性,提高精度。探测障碍物的位置信息通过语音报警或振动提示传递给导盲者。通过调试和实验数据测试,该手持式导盲装置定位准确、成本低廉、易于盲人操作和使用,对盲人方便出行和提高生活质量有着重要的社会现实意义。

关键词:STM32F103VET6单片机;超声波测距;加速度传感器;语音报警;成本低廉

中图分类号:TP311      文献标识码:A

文章编号:1009-3044(2020)34-0242-03

由于先天性眼病的遗传、白内障和后天眼疾,导致越来越多的人受到失明或者视力损伤等眼科疾病的困扰。失明和视力损伤问题是全球最严重的公共卫生和社会问题之一,而中国在全世界中是盲人最多的国家之一,在2020年我国失明和视力低下人群数量约达5000多万[1]。现阶段国内外所研究的导盲装置存在着体积大、价格昂贵、操作复杂等缺点[2-6],不能普遍适用于盲人群体。因此,设计出一款价格便宜、外形轻巧、使用便捷,同时能够准确探测周围障碍物位置信息并能将相关信息传达给盲人的智能手持式导盲装置,给他们的出行带来很大的方便。

1系统整体设计

本文研究系统主要完成障碍物距离和角度感知、语音和震动提示及相应设置等功能。本系统采用STM32F103VET6单片机为控制核心,由定时器的PWM功能产生40kHz波形,当遇到障碍物时发生反射,单片机读取超声波从发射到接收的时间差,并结合温度补偿的方式对超声波传播速度校正,根据时间差测距法测出发射点到目标障碍物之间的距离,并采用三轴加速度传感器检测盲人前上方或前下方障碍物与水平面之间的夹角,防止盲人被前方障碍物撞头或者被绊倒。通过语音和直流振动电机提示两种报警方式,将探测的障碍物位置信息传递给盲人。语音报警更直接提供信息,振动提示弥补了嘈杂环境中语音提示的不足。

2系统硬件电路设计

2.1 STM32电路设计

综合考虑性能要求和价格因素,本系统采用ST(意法半导体)公司的STM32F103VET6增强型单片机。该单片机使用ARM新一代架构的Cortex-M3内核,主频可达72MHz,在系统中保证了对超声波检测的高精度测量[7]。整个系统采用锂离子电池、电源适配器和5V的USB口供电,经过三端降压稳压的HT7333A电压转换芯片将输入电压轉换为3.3V电压为作为STM32的主供电电压。当设备VDD断电时,由外部的VBT2电源通过VBAT引脚为内部RTC实时时钟和备用寄存器供电。STM32单片机的高速外部时钟使用内部的RC振荡器和外部8MHz的外部时钟晶振产生。因此,该单片机能够满足设计需求。

2.2 传感器电路设计

2.2.1 温度传感器

DS18B20与单片机之间发送和接收信息仅需要一个单线接口就可以完成[8]。其工作有两种供电模式,一种是通过寄生电源工作,另一种是采用外部电源接入VCC引脚供电。第一种供电方式在数据拷贝和温度转换时,单总线必须在10μs内要有一个强上拉。因此,该系统实际中采用传统的设计方式较简单,且在温度转换时总线无须总保持高电平。

2.2.2超声波传感器

1)超声波发射电路设计

在探测前方障碍物距离时,单片机驱动定时器的PWM功能,输出40kHz的脉冲信号。为了增加超声波发射探头的驱动电压,该系统中采用MAX3232通过推挽方式增大驱动电压的峰峰值,以提高压电的转换效率。将单片机输出的PWM脉冲信号先经过一个非门,得到两路±12V互补信号,再作为超声波探头的驱动电压,增加了探头的功率,从而增加探测距离。该系统中采用两片相同的MAX3232芯片并联的方式驱动超声波发射探头,使波形更稳定,增加探测距离的精度。

2)超声波接收电路设计

CX20106A芯片由5V电压供电。其外围电路设计,如图1所示。超声波探头将接收到的超声波信号转化为电信号输入到CX20106A的1引脚,在输出引脚7发生一个由高电平到低电平的突变信号,触发定时器停止计时,读取出从发送到返回的时间差,从而测出障碍物的距离。芯片7引脚在电源端接一个上拉电阻,当没有信号输入时,该端为高电平,反之则产生一个下降突变,触发单片机中断。

2.2.3 ADXL345电路设计

ADXL345是一款超低功耗的3轴加速度传感器[9],能够检测到障碍物与盲人前上方或者前下方是否有障碍物,为其安全出行提供更好的保障。其芯片外围电路,如图2所示。7引脚始终被上拉至VDD I/O,是I2C模式使能,仅需要2线式连接。该芯片内部集成32级的FIFO缓冲器,降低了单片机负荷和整个系统的功耗,因此能够满足该导盲系统对前方障碍物角度测量的要求。

2.2.4 语音提示模块

本系统选用专用语音芯片VS1053B完成MP3格式语音文件的解码和播放,选用SPIFlash芯片进行语音文件存储功能。该系统在语音电路中设计了两种功放芯片NS8002和PAM8403外围电路,在实际测试中可根据测试结果选用效果好的功放。设计耳机模式和功放模式,由盲人自行选择播放方式。功放电路原理图,如图3所示。

输入耦合电容C53、C48决定低频响应,能够抑制噪声产生。但如果输入耦合电容较大,则反馈网络的延迟增大,将会出现POP噪音。因此,选用较小的耦合电容来减少该噪声。在确定输入耦合电容值的大小时,必须考虑BYPASS引脚的电容C62,其影响开关噪声的性能,因此根据芯片资料,取C62为1μF,且要求该电容尽量靠近芯片,C53、C48的值取0.39uF,即可满足系统的性能要求。

2.2.5 振动提示电路设计

该导盲系统中选用5V直流振动电机进行振动提示模块的电路设计。采用三极管集电极放大电路对其输出信号先进行放大后再驱动直流振动电机转动。直流振动电机的绕阻线圈在启动时会进行充电,相当于电感,在断电时线圈放电,就会产生反向电动势。在振动电机两端并接一个续流二极管和一个电容,与振动电机构成闭合回路,将电流快速放电,以防损坏周围其他器件。

2.3 供电电路设计

本系统设计了三种外部供电方式:9~15V直流电源适配器供电、5VUSB供电、锂离子电池供电。采用多种供电方式,方便系统使用和调试。系统内部电路需要两种电压供电:3.3V直流电压和5V直流电压。整个系统中只有超声波接收芯片CX20106A和振动电机电路采用5V供电,其他电路全部采用3.3V供电。因此选用三端降压稳压的HT7333A电压转换芯片将输入电压转换为3.3V电压。该芯片功耗低,输出的电压精度高,能够满足系统对电压的要求。在该部分稳压降压电路设计中,考虑到低功耗设计,采用三片相同的HT7333A芯片,分别将输入电压转换为VDD、VDD1、VDD2。

2.4 系统抗干扰设计

整个系统的抗干扰能力强弱决定着其工作性能的可靠性。电磁干扰会引起系统故障或者给信号的传输带来影响。通过硬件设计提高系统的抗干扰能力是一种行之有效的方式。因此,在电路设计时重点考虑控制干扰源、合理区分地线问题以及混合信号的合理设计三种抗干扰方式。抗干扰源设计中,多处采用在干扰源的两端并联电容的方式来减少du/dt的值,以降低输入端的波纹电流损耗和去噪;降低干扰源di/dt时,通过在其回路中串联磁珠或增加续流二极管的方式来实现。干扰传播抑制设计中,在单片机供电电源处加滤波电路,采用大小电容并联的方式降低干扰,晶振布局与单片机的接口端靠近,晶振外壳要接地并且固定。混合信号抗干扰设计中,采用多点接地和混合接地的方式。

3系统软件设计

3.1 系统整体流程图

本系统的软件设计采用了模块化的设计方法。主程序主要有系统的初始化,环境温度检测程序、超声波测距程序、三轴加速度测倾斜角度程序、语音报警程序、振动报警程序和延迟程序。该系统执行软件基本流程:首先初始化系统时钟和外围控制模块,然后由温度传感器DS18B20实时采集环境温度,并依据声速—温度关系表查找出当前温度下的声速值,做好计算前方障碍物距离的准备;启动定时器同时由STM32的PWM功能产生3个周期的40kHz脉冲方波信号,从I/O口输出经两级并联换能放大器后由超声波发射探头发出,遇到前方障礙物时超声波返回,当超声波接收芯片CX20106A接收到回波并由单片机处理得到前方障碍物的距离,由三轴加速度传感器ADXL345测量出前方障碍物的倾斜角度;最后依据导盲者通过按键对导盲系统报警提示功能的选择,进行语音或者振动提示将前方障碍物的位置信息提供给导盲者,方便其安全行走。系统总流程图,如图4所示。

4 实验数据采集

为测得该系统超声波测距的量程、精度和盲区。选择同一障碍物放置在离该装置不同距离处,分别连续测量5组数据,求平均值作为最终测量值。其中实际距离是利用精度为1cm的米尺测量所得。实验测量数据,如表1所示。该导盲系统的超声波测距最大有效距离为7.6m,精度约为5cm。当障碍物距离大于最大量程时,由于回波信号很微弱,系统基本检测不到任何信号。对于该系统的实测数据,能够满足设计的要求,以保证盲人安全行走的。

5 结束语

本设计从盲人经济状况、使用便捷和准确探测障碍物位置信息的角度出发,利用超声波回波定位原理和三轴加速度传感器测倾斜角原理,实现了一款基于STM32的手持式导盲系统。根据实验采集数据,该系统能够独立工作,定位准确,成本低廉,易于盲人操作和使用。

参考文献:

[1] 中国盲人协会http://www.zgmx.org.cn/before/NewsDefault-54755.html

[2] 何婧,聂晻,罗兰,等.听觉引导助盲系统[J].生物医学工程学杂志,2010,27(2):467-470.

[3] 谌小猛,刘春玲.计算机虚拟技术提高盲人空间表征之探析[J].中国特殊教育,2012(9):39-44.

[4] 刘国传.智能化盲人超声拐杖的研制[J].医疗装备,2007(3).

[5] Wilson J,WalkerBN,Lindsay J,et al.SWAN:system for wearable audio navigation[C]//2007 11th IEEE International Symposium on Wearable Computers.11-13 Oct.2007,Boston,MA,USA.IEEE,2007:91-98.

[6] Mori H,Kotani S,Saneyoshi K,etal.The matching fund project for practical use of robotic travel aid for the visually impaired[J].Advanced Robotics,2004,18(5):453-472.

[7] 张谦琳.超声波检测原理和方法[M].北京:中国科技大学出版社,1993:78-86.

[8] 宋文绪,杨帆.传感器与检测技术[M].北京:高等教育出版社,2004.

[9] 袁西.三轴数字加速度计ADXL345及其在便捷惯导中的应用[J].电子设计工程,2010(3):138-139.

【通联编辑:梁书】

猜你喜欢
电路设计盲人障碍物
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
Altium Designer在电路设计中的应用
负反馈放大电路设计
自首的盲人
基于UC3843的60W升压电路设计
基于UC3842应用电路设计
土钉墙在近障碍物的地下车行通道工程中的应用