摘 要: 為幫助盲人群體更方便地導(dǎo)盲,設(shè)計了用單片機(jī)控制的紅外導(dǎo)盲系統(tǒng)。以ATmega8單片機(jī)為控制核心,選用基于PSD原理的紅外測距傳感器GP2Y0A02YK0F。單片機(jī)利用ADC端口實時采集測距傳感器的模擬輸出信號,并對采集到的數(shù)據(jù)進(jìn)行滑動平均濾波,以消除噪聲干擾。單片機(jī)將得到的距離值與門限值進(jìn)行比較,并控制語音播報電路發(fā)出距離提示信息。該系統(tǒng)能檢測前、左、右3個方向1.5 m內(nèi)的障礙物信息,抗干擾性強(qiáng),穩(wěn)定可靠。
關(guān)鍵詞: GP2Y0A02YK0F; 導(dǎo)盲; 紅外測距; ISD4004芯片
中圖分類號: TN215?34 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2013)13?0128?03
Design of ATmega8?based infrared guidance system for the blind
HUANG Jian?ping, LI Zhao?dai
(School of Optoelectronic and Communication Engineering, Xiamen University of Technology, Xiamen 361024, China)
Abstract: An infrared blind guidance system with single chip microcomputer was designed for helping blind people. The system uses ATmega8 as control core and chooses the ranging infrared sensor GP2Y0A02YK0F based on PSD principle. The singlechip samples the output analog signals from distance measuring sensors through ADC ports, and uses moving average filter to eliminate noise interference. The singlechip compares the distance value to the threshold value, and controls the voice broadcasting circuit to announce the distance reminding messages. The system detects the barriers from three directions including front, left and right within 1.5 meters, and it has strong anti?interference and stability.
Keywords: GP2Y0A02YK0F; guidance for the blind; infrared distance measurement; ISD4004 chip
0 引 言
盲人在行走引導(dǎo)方面有很大的困難,目前盲人的導(dǎo)盲主要是依靠手杖敲擊路面來判斷前方是否有可行的路線,這種方法效率不高,且有一定的局限性,無法告知盲人周圍障礙物的分布情況和距離[1]。本文對采用光電式的導(dǎo)盲方式進(jìn)行了探索研究,提出了一種單片機(jī)紅外避障導(dǎo)盲系統(tǒng)的簡便方案,通過單片機(jī)采集紅外測距傳感器的信號,判斷出使用者周圍障礙物的方位和距離,通過語音芯片發(fā)出報警提示信息。該系統(tǒng)具有設(shè)計簡便小巧,穩(wěn)定可靠等特點。
1 紅外距離傳感器的選擇
常見的紅外距離傳感器是運(yùn)用紅外發(fā)射管發(fā)射出一束紅外光,經(jīng)前方的物體反射后在發(fā)射管同一側(cè)用紅外接收管檢測反射光的強(qiáng)度,從而大致判斷出傳感器和障礙物的距離。但這種方法對距離的判斷誤差比較大,因為各種物體表面的反射率因材料的不同而各不相同,對反射接收到的光信號很難同一定標(biāo),且該方法容易受到環(huán)境光的影響。
Sharp公司的光電距離傳感器GP2Y0A02YK0F可以克服上述缺點。該傳感器的內(nèi)部結(jié)構(gòu)如圖1所示。它內(nèi)部集成了紅外調(diào)制光發(fā)射器、信號處理電路、位置敏感探測元件、輸出接口電路等模塊。輸出與測量距離成比例的模擬電平信號。檢測的距離范圍[2]為20~150 cm。
<\\192.168.0.25\$d\8月\8-2\補(bǔ)\補(bǔ)!現(xiàn)代電子技術(shù)201313\Image\23t1.tif>
圖1 GP2Y0A02YK0F紅外測距傳感器內(nèi)部結(jié)構(gòu)圖
該傳感器的距離測量是基于PSD(Position Sensitive Detector)原理,如圖2所示。一個紅外發(fā)射LED先將一束調(diào)制光照射到目標(biāo)物體表面,形成一個光點,從光點反射回來的光經(jīng)探測器的透鏡聚焦后投射到一個特殊的線性位置敏感探測元件上。反射光的入射角隨傳感器到目標(biāo)物體表面距離的不同而改變,因而投射到位置敏感探測元件上的位置也不同。在位置探測元件上投射的光點就與目標(biāo)物體的距離存在一一對應(yīng)的關(guān)系。通過檢測位置敏感探測元件上光點的位置,就可以得出傳感器與前方物體的距離[3]。由于光在發(fā)出時經(jīng)過調(diào)制,該傳感器對環(huán)境光有一定的抗干擾性,而且這種方法是探測反射光的反射角度而非反射光的強(qiáng)度,因而不會受目標(biāo)物體表面反射率的影響。
<\\192.168.0.25\$d\8月\8-2\補(bǔ)\補(bǔ)!現(xiàn)代電子技術(shù)201313\Image\23t2.tif>
圖2 紅外測距傳感器測距原理
2 系統(tǒng)硬件設(shè)計
2.1 系統(tǒng)整體設(shè)計
整個系統(tǒng)的硬件設(shè)計框圖如圖3所示。3組紅外測距傳感器分別用于檢測前、左、右三個方向上障礙物的距離情況,傳感器輸出的測距模擬信號送入單片機(jī)主控制器中進(jìn)行A/D采樣處理,采樣后的信號經(jīng)過軟件濾波后,若判斷距離障礙物較近,則單片機(jī)控制語音播放模塊和音頻放大電路發(fā)出距離提示信息。
<\\192.168.0.25\$d\8月\8-2\補(bǔ)\補(bǔ)!現(xiàn)代電子技術(shù)201313\Image\23t3.tif>
圖3 系統(tǒng)硬件框圖
2.2 ATmega8單片機(jī)介紹
系統(tǒng)主控制器選用高性能、低功耗的ATmega8單片機(jī)。ATmega8單片機(jī)是Atmel公司AVR系列的單片機(jī),采用先進(jìn)的RISC精簡指令集結(jié)構(gòu),絕大多數(shù)指令為單周期指令,芯片內(nèi)置8K的可編程FLASH存儲器,1 KB的片內(nèi)SRAM,8個通道的A/D采樣接口。工作電壓[4]為4.5~5.5 V。該款單片機(jī)強(qiáng)大的性能和小巧靈活的特點,使之適合本系統(tǒng)的設(shè)計要求。
2.3 測距傳感電路
測距傳感器與單片機(jī)的連接電路如圖4所示,3個測距傳感器GP2Y0A02YK0F的模擬輸出引腳分別與ATmega8單片機(jī)的3個ADC采樣端口PC0,PC1,PC2連接。這3個ADC采樣端口有10 b的采樣分辨率,A/D轉(zhuǎn)換時間為13~260 μs。
在實際使用中,由于單片機(jī)的數(shù)字輸出口還和語音播放電路連接,在輸出高速的高低電平時容易產(chǎn)生噪聲干擾,為避免干擾信號對電路其他部分產(chǎn)生影響,在單片機(jī)的[VCC]電源輸入端放置了100 nF的去耦電容,用以濾除噪聲干擾。ATmega8單片機(jī)還專門為A/D轉(zhuǎn)換電路提供了一個模擬電源輸入引腳AVCC,在電源信號連接到AVCC引腳之前,先通過一個電感[L1]和電容[C2]組成的LC濾波電路,用以吸收數(shù)字電路部分產(chǎn)生的噪聲干擾。單片機(jī)的A/D轉(zhuǎn)換參考端AREF選擇AVCC的電源為參考電平,通過內(nèi)部連線與AVCC相連,避免了外部干擾信號的影響,AREF引腳也通過一個100 nF的電容[C3]接地,保證了A/D轉(zhuǎn)換的準(zhǔn)確性。
<\\192.168.0.25\$d\8月\8-2\補(bǔ)\補(bǔ)!現(xiàn)代電子技術(shù)201313\Image\23t4.tif>
圖4 測距傳感電路
2.4 語言提示電路
系統(tǒng)的語音提示部分采用ISD4004芯片來播放提示語音。ISD4004是一款采用CMOS技術(shù)的語音錄放芯片,內(nèi)部集成有片上振蕩器、抗混疊濾波器、平滑濾波器、音頻放大器、自動靜噪功能和高密度多電平FLASH存儲陣列。芯片采用多電平直接模擬量存儲技術(shù),音頻采樣率最大可達(dá)8 kHz,具有播放的聲音清晰自然,功耗低等特點[5]。將事先錄制好各種提示和距離值播報語音,存儲在ISD4004的FLASH存儲陣列上,由ATmega8單片機(jī)控制播放,連線如圖5所示。ATmega8單片機(jī)通過SPI接口控制ISD4004的工作,ISD4004的模擬和數(shù)字電源輸入端都增加了去耦電容,濾除外部噪聲的干擾。
ISD4004播放的語音信息還需通過音頻功率放大電路進(jìn)行放大,如圖6所示。功率放大芯片選用LM386音頻集成功放,它的靜態(tài)功耗低,失真小,所需的外圍元件少,適用于手持設(shè)備[6]。輸入音頻信號通過一個用于調(diào)整音量的變阻器[R4]分壓后輸入LM386的輸入端,連接在芯片第1和第8引腳間的[R5]和[C7]用于設(shè)置功放的增益。放大后的音頻信號從第5引腳[Vout]端輸出,經(jīng)過一個220 μF的電容[C9]隔離直流信號后驅(qū)動喇叭發(fā)聲。
<\\192.168.0.25\$d\8月\8-2\補(bǔ)\補(bǔ)!現(xiàn)代電子技術(shù)201313\Image\23t5.tif>
圖5 ATmega8單片機(jī)控制ISD4004連線圖
<\\192.168.0.25\$d\8月\8-2\補(bǔ)\補(bǔ)!現(xiàn)代電子技術(shù)201313\Image\23t6.tif>
圖6 LM386音頻功率放大電路
3 系統(tǒng)軟件設(shè)計
ATmega8單片機(jī)控制整個電路系統(tǒng)的協(xié)同工作,其軟件流程圖如圖7所示。開機(jī)初始化后,ATmega8通過內(nèi)置的ADC轉(zhuǎn)換端口依次對3個方向的紅外測距傳感器模擬量輸出值進(jìn)行A/D采樣。為減小噪聲干擾和測量偶然誤差的影響,采用滑動平均算法,對一個傳感器每隔20 ms連續(xù)采樣8次,取8次采樣的平均值作為這一小段時間內(nèi)的距離測量值。將計算結(jié)果與門限閾值進(jìn)行比較,若判斷出哪個方向的傳感器與障礙物間的距離小于1.5 m,則單片機(jī)控制語音芯片發(fā)出報警信息,調(diào)用事先存儲在ISD4004上的語音信息,將方位信息和障礙物距離的值播報出來。
<\\192.168.0.25\$d\8月\8-2\補(bǔ)\補(bǔ)!現(xiàn)代電子技術(shù)201313\Image\23t7.tif>
圖7 單片機(jī)軟件流程圖
4 結(jié) 語
本系統(tǒng)利用ATmega8單片機(jī)采集3個紅外測距傳感器GP2Y0A02YK0F的測量輸出值,探測前、左、右三個方向上的障礙物情況,經(jīng)過滑動平均濾波后得到距離值,并在距離值小于門限閾值的時候發(fā)出語言提示信息。該系統(tǒng)的傳感器采用PSD測量原理,不受障礙物表面反射率和環(huán)境光的影響,抗干擾能力強(qiáng),測量準(zhǔn)確。可以有效地幫助盲人判斷路面上障礙物的情況,從而更安全地行走。
參考文獻(xiàn)
[1] 楊國建,石秀娟,潘鴻雁,等.基于SPCE061的智能盲人導(dǎo)航系統(tǒng)[J].工業(yè)控制計算機(jī),2010,23(3):93?94.
[2] SHARP. GP2Y0A02YK0F datasheet [EB/OL]. [2007?03?23]. http://www.sharpsme.com/download/gp2y0a02yk?epdf.
[3] MARTIN F G. 機(jī)器人探索:工程實踐指南[M].北京:電子工業(yè)出版社,2004.
[4] ATMEL. ATmega8 datasheet [EB/OL]. [2013?02?03]. http://www.atmel.com/Images/Atmel?2486?8?bit?AVR?microcontroller?ATmega8_L_datasheet.pdf.
[5] NUVOTON. ISD4004 datasheet [EB/OL]. [2008?10?31]. http://www.nuvoton.com/hq/enu/ProductAndSales/ProductLines/AudioApplicationIC/ISDVoiceIC/ISDChipCorder/Documents/ISD4004.pdf.
[6] Texas Instruments. LM386 datasheet [EB/OL]. [2004?05?03]. http://www.ti.com/lit/ds/symlink/lm386.pdf.