基于ATmega8单片机的红外导盲系统设计
盲人在行走引导方面有很大的困难,目前盲人的导盲主要是依靠手杖敲击路面来判断前方是否有可行的路线,这种方法效率不高,且有一定的局限性,无法告知盲人周围障碍物的分布情况和距离。本文对采用光电式的导盲方式进行了探索研究,提出了一种单片机红外避障导盲系统的简便方案,通过单片机采集红外测距传感器的信号,判断出使用者周围障碍物的方位和距离,通过语音芯片发出报警提示信息。该系统具有设计简便小巧,稳定可靠等特点。
1 红外距离传感器的选择
常见的红外距离传感器是运用红外发射管发射出一束红外光,经前方的物体反射后在发射管同一侧用红外接收管检测反射光的强度,从而大致判断出传感器和障碍物的距离。但这种方法对距离的判断误差比较大,因为各种物体表面的反射率因材料的不同而各不相同,对反射接收到的光信号很难同一定标,且该方法容易受到环境光的影响。
Sharp公司的光电距离传感器GP2Y0A02YK0F可以克服上述缺点。该传感器的内部结构如图1所示。它内部集成了红外调制光发射器、信号处理电路、位置敏感探测元件、输出接口电路等模块。输出与测量距离成比例的模拟电平信号。检测的距离范围为20~150 cm。
该传感器的距离测量是基于PSD(Position Sensitive Detector)原理,如图2所示。一个红外发射LED先将一束调制光照射到目标物体表面,形成一个光点,从光点反射回来的光经探测器的透镜聚焦后投射到一个特殊的线性位置敏感探测元件上。反射光的入射角随传感器到目标物体表面距离的不同而改变,因而投射到位置敏感探测元件上的位置也不同。在位置探测元件上投射的光点就与目标物体的距离存在一一对应的关系。通过检测位置敏感探测元件上光点的位置,就可以得出传感器与前方物体的距离。由于光在发出时经过调制,该传感器对环境光有一定的抗干扰性,而且这种方法是探测反射光的反射角度而非反射光的强度,因而不会受目标物体表面反射率的影响。
2 系统硬件设计
2. 1 系统整体设计
整个系统的硬件设计框图如图3所示。3组红外测距传感器分别用于检测前、左、右三个方向上障碍物的距离情况,传感器输出的测距模拟信号送入单片机主控制器中进行A/D采样处理,采样后的信号经过软件滤波后,若判断距离障碍物较近,则单片机控制语音播放模块和音频放大电路发出距离提示信息。
2.2 ATmega8单片机介绍
系统主控制器选用高性能、低功耗的ATmega8单片机。ATmega8单片机是Atmel公司AVR系列的单片机,采用先进的RISC精简指令集结构,绝大多数指令为单周期指令,芯片内置8K的可编程FLASH存储器,1 KB的片内SRAM,8个通道的A/D采样接口。工作电压为4.5~5.5 V。该款单片机强大的性能和小巧灵活的特点,使之适合本系统的设计要求。
2.3 测距传感电路
测距传感器与单片机的连接电路如图4所示,3个测距传感器GP2Y0A02YK0F的模拟输出引脚分别与ATmega8单片机的3个ADC采样端口PC0,PC1,PC2连接。这3个ADC采样端口有10 b的采样分辨率,A/D转换时间为13~260μs。
在实际使用中,由于单片机的数字输出口还和语音播放电路连接,在输出高速的高低电平时容易产生噪声干扰,为避免干扰信号对电路其他部分产生影响,在单片机的VCC电源输入端放置了100 nF的去耦电容,用以滤除噪声干扰。ATmega8单片机还专门为A/D转换电路提供了一个模拟电源输入引脚AVCC,在电源信号连接到AVCC引脚之前,先通过一个电感L1和电容C2组成的LC滤波电路,用以吸收数字电路部分产生的噪声干扰。单片机的A/D转换参考端AREF选择AVCC的电源为参考电平,通过内部连线与AVCC相连,避免了外部干扰信号的影响,AREF引脚也通过一个100 nF的电容C3接地,保证了A/D转换的准确性。
2.4 语言提示电路
系统的语音提示部分采用ISD4004芯片来播放提示语音。ISD4004是一款采用CMOS技术的语音录放芯片,内部集成有片上振荡器、抗混叠滤波器、平滑滤波器、音频放大器、自动静噪功能和高密度多电平FLASH存储阵列。芯片采用多电平直接模拟量存储技术,音频采样率最大可达8 kHz,具有播放的声音清晰自然,功耗低等特点。将事先录制好各种提示和距离值播报语音,存储在ISD4004的FLASH存储阵列上,由ATme ga8单片机控制播放,连线如图5所示。ATmega8单片机通过SPI接口控制ISD4004的工作,ISD4004的模拟和数字电源输入端都增加了去耦电容,滤除外部噪声的干扰。
ISD4004播放的语音信息还需通过音频功率放大电路进行放大,如图6所示。功率放大芯片选用LM386音频集成功放,它的静态功耗低,失真小,所需的外围元件少,适用于手持设备。输入音频信号通过一个用于调整音量的变阻器R4分压后输入LM386的输入端,连接在芯片第1和第8引脚间的R5和C7用于设置功放的增益。放大后的音频信号从第5引脚Vout端输出,经过一个220μF的电容C9隔离直流信号后驱动喇叭发声。
3 系统软件设计
ATmega8单片机控制整个电路系统的协同工作,其软件流程图如图7所示。开机初始化后,ATmega8通过内置的ADC转换端口依次对3个方向的红外测距传感器模拟量输出值进行A/D采样。为减小噪声干扰和测量偶然误差的影响,采用滑动平均算法,对一个传感器每隔20 ms连续采样8次,取8次采样的平均值作为这一小段时间内的距离测量值。将计算结果与门限阈值进行比较,若判断出哪个方向的传感器与障碍物间的距离小于1.5 m,则单片机控制语音芯片发出报警信息,调用事先存储在ISD4004上的语音信息,将方位信息和障碍物距离的值播报出来。
ATmega8 红外导盲系统 红外测距 ISD4004芯片 相关文章:
- 科技帮我们远离灾难:灾难检测飞行器(03-18)
- Atmega8型号细分区别(12-01)
- 研究arduino支持Atmega8作为主控制芯片(11-30)
- ATMEGA8超声波测距程序(11-30)
- ATmega8---SPI总线控制(11-27)
- ATmega8和ATmega162内部资源(11-27)