基于ATmega8單片機的紅外導盲系統(tǒng)設計
摘要:為幫助盲人群體更方便地導盲,設計了用單片機控制的紅外導盲系統(tǒng)。以ATmega8單片機為控制核心,選用基于PSD原理的紅外測距傳感器GP2Y0A02YK0F。單片機利用ADC端口實時采集測距傳感器的模擬輸出信號,并對采集到的數(shù)據(jù)進行滑動平均濾波,以消除噪聲干擾。單片機將得到的距離值與門限值進行比較,并控制語音播報電路發(fā)出距離提示信息。該系統(tǒng)能檢測前、左、右3個方向1. 5 m內的障礙物信息,抗干擾性強,穩(wěn)定可靠。
關鍵詞:GP2Y0A02YK0F;導盲;紅外測距;ISD4004芯片
0 引言
盲人在行走引導方面有很大的困難,目前盲人的導盲主要是依靠手杖敲擊路面來判斷前方是否有可行的路線,這種方法效率不高,且有一定的局限性,無法告知盲人周圍障礙物的分布情況和距離。本文對采用光電式的導盲方式進行了探索研究,提出了一種單片機紅外避障導盲系統(tǒng)的簡便方案,通過單片機采集紅外測距傳感器的信號,判斷出使用者周圍障礙物的方位和距離,通過語音芯片發(fā)出報警提示信息。該系統(tǒng)具有設計簡便小巧,穩(wěn)定可靠等特點。
1 紅外距離傳感器的選擇
常見的紅外距離傳感器是運用紅外發(fā)射管發(fā)射出一束紅外光,經(jīng)前方的物體反射后在發(fā)射管同一側用紅外接收管檢測反射光的強度,從而大致判斷出傳感器和障礙物的距離。但這種方法對距離的判斷誤差比較大,因為各種物體表面的反射率因材料的不同而各不相同,對反射接收到的光信號很難同一定標,且該方法容易受到環(huán)境光的影響。
Sharp公司的光電距離傳感器GP2Y0A02YK0F可以克服上述缺點。該傳感器的內部結構如圖1所示。它內部集成了紅外調制光發(fā)射器、信號處理電路、位置敏感探測元件、輸出接口電路等模塊。輸出與測量距離成比例的模擬電平信號。檢測的距離范圍為20~150 cm。
該傳感器的距離測量是基于PSD(Position Sensitive Detector)原理,如圖2所示。一個紅外發(fā)射LED先將一束調制光照射到目標物體表面,形成一個光點,從光點反射回來的光經(jīng)探測器的透鏡聚焦后投射到一個特殊的線性位置敏感探測元件上。反射光的入射角隨傳感器到目標物體表面距離的不同而改變,因而投射到位置敏感探測元件上的位置也不同。在位置探測元件上投射的光點就與目標物體的距離存在一一對應的關系。通過檢測位置敏感探測元件上光點的位置,就可以得出傳感器與前方物體的距離。由于光在發(fā)出時經(jīng)過調制,該傳感器對環(huán)境光有一定的抗干擾性,而且這種方法是探測反射光的反射角度而非反射光的強度,因而不會受目標物體表面反射率的影響。
2 系統(tǒng)硬件設計
2. 1 系統(tǒng)整體設計
整個系統(tǒng)的硬件設計框圖如圖3所示。3組紅外測距傳感器分別用于檢測前、左、右三個方向上障礙物的距離情況,傳感器輸出的測距模擬信號送入單片機主控制器中進行A/D采樣處理,采樣后的信號經(jīng)過軟件濾波后,若判斷距離障礙物較近,則單片機控制語音播放模塊和音頻放大電路發(fā)出距離提示信息。
2.2 ATmega8單片機介紹
系統(tǒng)主控制器選用高性能、低功耗的ATmega8單片機。ATmega8單片機是Atmel公司AVR系列的單片機,采用先進的RISC精簡指令集結構,絕大多數(shù)指令為單周期指令,芯片內置8K的可編程FLASH存儲器,1 KB的片內SRAM,8個通道的A/D采樣接口。工作電壓為4.5~5.5 V。該款單片機強大的性能和小巧靈活的特點,使之適合本系統(tǒng)的設計要求。
2.3 測距傳感電路
測距傳感器與單片機的連接電路如圖4所示,3個測距傳感器GP2Y0A02YK0F的模擬輸出引腳分別與ATmega8單片機的3個ADC采樣端口PC0,PC1,PC2連接。這3個ADC采樣端口有10 b的采樣分辨率,A/D轉換時間為13~260μs。
在實際使用中,由于單片機的數(shù)字輸出口還和語音播放電路連接,在輸出高速的高低電平時容易產(chǎn)生噪聲干擾,為避免干擾信號對電路其他部分產(chǎn)生影響,在單片機的VCC電源輸入端放置了100 nF的去耦電容,用以濾除噪聲干擾。ATmega8單片機還專門為A/D轉換電路提供了一個模擬電源輸入引腳AVCC,在電源信號連接到AVCC引腳之前,先通過一個電感L1和電容C2組成的LC濾波電路,用以吸收數(shù)字電路部分產(chǎn)生的噪聲干擾。單片機的A/D轉換參考端AREF選擇AVCC的電源為參考電平,通過內部連線與AVCC相連,避免了外部干擾信號的影響,AREF引腳也通過一個100 nF的電容C3接地,保證了A/D轉換的準確性。
2.4 語言提示電路
系統(tǒng)的語音提示部分采用ISD4004芯片來播放提示語音。ISD4004是一款采用CMOS技術的語音錄放芯片,內部集成有片上振蕩器、抗混疊濾波器、平滑濾波器、音頻放大器、自動靜噪功能和高密度多電平FLASH存儲陣列。芯片采用多電平直接模擬量存儲技術,音頻采樣率最大可達8 kHz,具有播放的聲音清晰自然,功耗低等特點。將事先錄制好各種提示和距離值播報語音,存儲在ISD4004的FLASH存儲陣列上,由ATme ga8單片機控制播放,連線如圖5所示。ATmega8單片機通過SPI接口控制ISD4004的工作,ISD4004的模擬和數(shù)字電源輸入端都增加了去耦電容,濾除外部噪聲的干擾。
ISD4004播放的語音信息還需通過音頻功率放大電路進行放大,如圖6所示。功率放大芯片選用LM386音頻集成功放,它的靜態(tài)功耗低,失真小,所需的外圍元件少,適用于手持設備。輸入音頻信號通過一個用于調整音量的變阻器R4分壓后輸入LM386的輸入端,連接在芯片第1和第8引腳間的R5和C7用于設置功放的增益。放大后的音頻信號從第5引腳Vout端輸出,經(jīng)過一個220μF的電容C9隔離直流信號后驅動喇叭發(fā)聲。
3 系統(tǒng)軟件設計
ATmega8單片機控制整個電路系統(tǒng)的協(xié)同工作,其軟件流程圖如圖7所示。開機初始化后,ATmega8通過內置的ADC轉換端口依次對3個方向的紅外測距傳感器模擬量輸出值進行A/D采樣。為減小噪聲干擾和測量偶然誤差的影響,采用滑動平均算法,對一個傳感器每隔20 ms連續(xù)采樣8次,取8次采樣的平均值作為這一小段時間內的距離測量值。將計算結果與門限閾值進行比較,若判斷出哪個方向的傳感器與障礙物間的距離小于1.5 m,則單片機控制語音芯片發(fā)出報警信息,調用事先存儲在ISD4004上的語音信息,將方位信息和障礙物距離的值播報出來。
4 結語
本系統(tǒng)利用ATmega8單片機采集3個紅外測距傳感器GP2Y0A02YK0F的測量輸出值,探測前、左、右三個方向上的障礙物情況,經(jīng)過滑動平均濾波后得到距離值,并在距離值小于門限閾值的時候發(fā)出語言提示信息。該系統(tǒng)的傳感器采用PSD測量原理,不受障礙物表面反射率和環(huán)境光的影響,抗干擾能力強,測量準確??梢杂行У貛椭と伺袛嗦访嫔险系K物的情況,從而更安全地行走。