陳松+王文杰+汪偉偉
摘 要: 聲音導(dǎo)向系統(tǒng)在搜尋生命痕跡中具有重要的現(xiàn)實(shí)意義,可以通過(guò)聲強(qiáng)傳感器獲知待救人員的地址位置。目前聲音導(dǎo)向小車主要類型有:通過(guò)語(yǔ)音識(shí)別來(lái)控制小車,通過(guò)發(fā)射接收聲波信號(hào)的時(shí)間間隔判斷位置、控制小車。這些智能車硬件和軟件設(shè)計(jì)較為復(fù)雜。這里以AT89C51單片機(jī)為核心,以駐級(jí)話筒作為聲強(qiáng)傳感器,用L298N作為電機(jī)驅(qū)動(dòng)芯片,設(shè)計(jì)制作了一種聲音導(dǎo)引系統(tǒng),并使用軟件進(jìn)行仿真。單片機(jī)根據(jù)傳感器接收到的聲強(qiáng)信號(hào)判斷聲源位置,控制電機(jī)的運(yùn)轉(zhuǎn),使小車運(yùn)動(dòng)到目標(biāo)位置。使用Proteus 7.8軟件給出了仿真方案和仿真結(jié)果,可以實(shí)現(xiàn)追蹤聲源目標(biāo)的功能。該設(shè)計(jì)提出了新的方案,系統(tǒng)設(shè)計(jì)結(jié)構(gòu)簡(jiǎn)單可靠,性能良好。
關(guān)鍵詞: 聲音導(dǎo)引; 智能小車; AT89C51; Proteus
中圖分類號(hào): TN911?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2014)18?0101?04
Design and simulation of voise guidance car
CHEN Song1; WANG Wen?jie2; WANG Wei?wei2
(1. College of Mechanical and Electrical Engineering, Anhui Jianzhu University, Hefei 230601, China;
2. China No.15 Metallurgical Construction Group Co., Ltd. Wuhan 430075, China)
Abstract: Sound guidance system has important practical significance in search for life, which can get the address location of personnel waiting for rescue by means of sound intensity sensor. The sound guidance cars main types are as follows: the car which is controlled by voice recognition, and the car which determines the position and is controlled by the intervals of transceiving acoustic wave signals. The hardware design and software design of these two types smart cars are very complicated. In this paper, a sound guidance system with single chip processor as the core, a microphone as sound intensity sensor and L298N as a motor driver chip is designed. The car moves to the target location according to the sound intensity signal received by the sensor to determine the sound source position and control the motor running. The simulation verification was done. Simulation scheme and simulation result are given by software Proteus7.8, which can achieve the function of sound source tracking. A new scheme is put forward in this design. The system structure is simple, reliable, and its performance is perfect.
Keywords: sound guidance; smart car; AT89C51; Proteus
0 引 言
近年來(lái),國(guó)內(nèi)外地震、礦難、火災(zāi)等自然或非自然的災(zāi)害頻頻發(fā)生。聲音導(dǎo)引系統(tǒng)的研究在搜尋生命痕跡中具有重要的現(xiàn)實(shí)意義,救助者可以通過(guò)聲音傳感器獲知生命的地址位置,進(jìn)而利用各種定位技術(shù)尋找被困人員。目前聲音導(dǎo)向小車主要類型有兩種:一種是通過(guò)語(yǔ)音芯片識(shí)別人的命令來(lái)控制小車[1];另一種是在小車周圍放置多個(gè)聲波接收與發(fā)射裝置,通過(guò)小車發(fā)射接收聲波信號(hào)的時(shí)間間隔判斷位置,控制小車[2]。這些智能車的硬件與軟件設(shè)計(jì)較為復(fù)雜。
本文提出了全新的方案,對(duì)聲音導(dǎo)向小車進(jìn)行設(shè)計(jì),使得此聲音導(dǎo)向系統(tǒng)具有以下功能:判斷聲音的來(lái)源方向,可通過(guò)LCD顯示小車將要行駛的方向,對(duì)電動(dòng)機(jī)進(jìn)行控制使小車朝向聲源行駛。實(shí)現(xiàn)對(duì)聲源位置進(jìn)行探測(cè)、并對(duì)目標(biāo)進(jìn)行跟蹤的功能。最后通過(guò)proteus軟件仿真運(yùn)行。
通過(guò)運(yùn)用嵌入式設(shè)計(jì)仿真與開(kāi)發(fā)平臺(tái)Proteus,用戶可以將Keil,GNU以及IAR等編譯器編譯好的目標(biāo)代碼加載到芯片中。在Proteus軟件包含大量元件庫(kù),可以查看多種調(diào)試信息,在仿真中還可以觀察各元件的狀態(tài)。先通過(guò)Proteus仿真和驗(yàn)證,再移植到相應(yīng)的硬件電路,這種方式可以減小開(kāi)發(fā)費(fèi)用,縮短開(kāi)發(fā)周期,值得推廣[3]。
1 系統(tǒng)的總體方案設(shè)計(jì)
本系統(tǒng)設(shè)計(jì)的目的是應(yīng)用傳感器實(shí)現(xiàn)對(duì)聲音信號(hào)的檢測(cè),從而對(duì)目標(biāo)進(jìn)行定位,并控制電機(jī)運(yùn)行,使小車向著目標(biāo)前進(jìn)。
本系統(tǒng)的設(shè)計(jì)大致分為聲強(qiáng)檢測(cè)模塊、單片機(jī)、顯示模塊、電機(jī)等部分,總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
聲強(qiáng)檢測(cè)模塊:放置在小車左、右、后三個(gè)位置,接收指定通頻帶內(nèi)聲音信號(hào),并進(jìn)行比較。單片機(jī)控制模塊:控制器選用AT89C51單片機(jī),用于接收聲音檢測(cè)模塊送來(lái)的電信號(hào),對(duì)信號(hào)進(jìn)行分析,控制電機(jī)和顯示模塊。電機(jī)驅(qū)動(dòng)模塊:控制兩個(gè)電機(jī)的正轉(zhuǎn),反轉(zhuǎn),最終實(shí)現(xiàn)小車的左轉(zhuǎn),右轉(zhuǎn),前進(jìn),后退。LCD顯示模塊:顯示小車的行進(jìn)方向,便于觀察仿真結(jié)果。
2 硬件設(shè)計(jì)
2.1 單片機(jī)控制模塊設(shè)計(jì)
控制模塊以AT89C51為核心,AT89C51是一種低功耗高性能的8位單片機(jī),片內(nèi)帶有一個(gè)4 KB的FLASH在線可編擦除只讀存儲(chǔ)器,它采用了Atmel公司的高密度非易失性存儲(chǔ)器技術(shù)。
在眾多的51系列單片機(jī)中,選擇Atmel公司的AT89C51,因?yàn)樗粌H與MCU?51系列單片機(jī)指令與管腳完全兼容,而且它將通用CPU和在線可編程FLASH集成在一個(gè)芯片上。這種單片機(jī)對(duì)開(kāi)發(fā)設(shè)備的要求很低,開(kāi)發(fā)時(shí)間也大大縮短[4]。
設(shè)計(jì)中使用P0口作為L(zhǎng)CD液晶顯示信號(hào)口,P1.0, P1.1 和P1.2作為駐極體話筒傳感器的信號(hào)輸入口,使用P2.0~P2.3作為電動(dòng)機(jī)控制信號(hào)輸出口。
2.2 數(shù)據(jù)采集模塊設(shè)計(jì)
數(shù)據(jù)采集模塊以駐極體話筒為主要元件,駐極體薄膜上分布有自由電荷,在電容器的兩極板之間就有了感應(yīng)電荷。當(dāng)聲波引起駐極體薄膜振動(dòng)而產(chǎn)生位移時(shí),改變了電容器兩極板之間的距離,從而引起電容器的容量發(fā)生變化,引起電容器兩端電壓U的變化,從而輸出電信號(hào),實(shí)現(xiàn)聲電信號(hào)的轉(zhuǎn)換[5]。駐極體話筒體積小,結(jié)構(gòu)簡(jiǎn)單,電聲性能好,價(jià)格低廉,應(yīng)用非常廣泛。
整個(gè)數(shù)據(jù)采集模塊由三個(gè)駐極體話筒組成,如圖2所示。當(dāng)駐極體膜片遇到聲波振動(dòng)時(shí),引起電容兩端的電場(chǎng)發(fā)生變化,從而產(chǎn)生了隨聲波變化而變化的交變電壓。在設(shè)計(jì)仿真中由于Proteus沒(méi)有駐極話筒這個(gè)元件,所以使用滑動(dòng)變阻器來(lái)代替?;瑒?dòng)變阻器的不同阻值代替聲音的強(qiáng)弱。
用放大器組成的求和電路來(lái)求出這兩個(gè)變阻器電壓的平均值,然后再用平均值分別與兩個(gè)變阻器的電壓值比較,從而判斷出哪一方向的聲音強(qiáng)。用第三個(gè)滑動(dòng)變阻器表示小車尾部聲強(qiáng)傳感器接收的信號(hào),和平均值比較,來(lái)判斷小車前面和后面哪個(gè)方向聲音強(qiáng)。
圖2 聲強(qiáng)檢測(cè)模塊
2.3 LCD顯示模塊設(shè)計(jì)
選用LCD1602字符型液晶模塊,顯示小車運(yùn)行狀態(tài)。液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,包括數(shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,可以同時(shí)顯示32個(gè)字符。各引腳與單片機(jī)連接方式如圖3所示。RS管腳用于數(shù)據(jù)/命令選擇,R/W管腳用于讀/寫選擇。E管腳用于輸入使能命令。D0~D7為數(shù)字傳輸端口。
圖3 液晶顯示模塊
2.4 電機(jī)驅(qū)動(dòng)模塊設(shè)計(jì)
L298N是SGS公司的產(chǎn)品,內(nèi)部包含4通道邏輯驅(qū)動(dòng)電路??梢苑奖愕尿?qū)動(dòng)兩個(gè)直流電機(jī)或一個(gè)兩相步進(jìn)電機(jī)。
L298可驅(qū)動(dòng)兩個(gè)直流電動(dòng)機(jī),OUT1,OUT2之間,OUT3,OUT4之間可分別接電動(dòng)機(jī)。第5,7,10,12腳接輸入控制電平,控制電機(jī)的正反轉(zhuǎn)。EnA,EnB接控制使能端,控制電機(jī)的啟停。
裝置由AT89C51單片機(jī)通過(guò)P2口(P2.0,P2.1,P2.2, P2.3)輸出控制信號(hào),送到驅(qū)動(dòng)芯片L298N,控制電機(jī)轉(zhuǎn)動(dòng)。電動(dòng)機(jī)運(yùn)行狀態(tài)表如表所示。In1和In2為輸入信號(hào),EnA為使能信號(hào)。
電機(jī)驅(qū)動(dòng)L298和電動(dòng)機(jī)的連接電路圖[6]見(jiàn)圖4。
表1 電動(dòng)機(jī)狀態(tài)表
圖4 電機(jī)驅(qū)動(dòng)電路
3 軟件設(shè)計(jì)
本系統(tǒng)應(yīng)用軟件功能實(shí)現(xiàn)功能如下:接收聲音信號(hào),分析處理;通過(guò)液晶顯示電機(jī)工作狀態(tài);通過(guò)驅(qū)動(dòng)芯片控制電機(jī)的轉(zhuǎn)動(dòng)。
程序流程圖如圖5所示。
根據(jù)系統(tǒng)設(shè)計(jì)要求,結(jié)合上述硬件設(shè)計(jì),軟件設(shè)計(jì)可以分為以下幾個(gè)部分:主程序,LCD顯示程序,數(shù)據(jù)采集程序,電動(dòng)機(jī)驅(qū)動(dòng)程序等幾個(gè)部分。本設(shè)計(jì)使用軟件KeilC編寫程序。
對(duì)于LCD顯示子程序,首先要設(shè)置其驅(qū)動(dòng)程序,對(duì)顯示的起始行,列地址,讀取狀態(tài)字和數(shù)據(jù)讀/寫等指令進(jìn)行設(shè)置。
當(dāng)有信號(hào)輸入時(shí),單片機(jī)對(duì)信號(hào)識(shí)別判斷,對(duì)電動(dòng)機(jī)驅(qū)動(dòng)輸出相應(yīng)的控制信號(hào),實(shí)現(xiàn)小車左轉(zhuǎn),右轉(zhuǎn),直行,后退等操作。
圖5 程序流程圖
判斷P1.0,P1.1,P1.2的狀態(tài),如果為都為高電平,則液晶顯示器顯示直行,兩個(gè)電機(jī)同時(shí)正轉(zhuǎn);如果P1.2為低,則液晶顯示器顯示后退,兩個(gè)電機(jī)同時(shí)反轉(zhuǎn);如果P1.0,P1.2為高,P1.1為低,則液晶顯示器顯示左轉(zhuǎn),左邊電機(jī)正轉(zhuǎn),右邊電機(jī)停止;如果P1.0為低,P1.1、 P1.2為高,則液晶顯示器顯示右轉(zhuǎn),右邊電機(jī)正轉(zhuǎn),左邊電機(jī)停止。
4 聲音導(dǎo)向系統(tǒng)的軟件仿真
本設(shè)計(jì)用Proteus 7.8繪出仿真硬件電路圖,用KeilC編寫程序,生產(chǎn)Hex文件,輸入單片機(jī)電路,然后進(jìn)行仿真模擬。
由于仿真軟件中沒(méi)有駐極話筒,在仿真過(guò)程中通過(guò)滑動(dòng)變阻器來(lái)提供仿真所需的電壓信號(hào)。單擊仿真的開(kāi)始按鈕,將進(jìn)入仿真狀態(tài),如圖6所示。調(diào)整滑動(dòng)變阻器,即模仿聲音從不同方向傳來(lái)的情況,液晶顯示器就會(huì)顯示小車的運(yùn)動(dòng)情況。
5 總 結(jié)
本課題從一個(gè)全新的角度設(shè)計(jì)了一種聲音導(dǎo)向系統(tǒng),既不需要語(yǔ)音識(shí)別模塊,也不需要聲波發(fā)射模塊,系統(tǒng)簡(jiǎn)單可靠。
設(shè)計(jì)方案是通過(guò)比較車首和車尾共3個(gè)聲強(qiáng)探測(cè)器接收的聲強(qiáng)信號(hào),判斷小車和目標(biāo)的相對(duì)位置,確定小車的行進(jìn)方向。使用Proteus 7.8軟件給出了仿真方案和仿真結(jié)果,可以實(shí)現(xiàn)追蹤聲源目標(biāo)的功能。
本文已申請(qǐng)專利;姓名:陳松;名稱:一種聲強(qiáng)導(dǎo)向小車;專利號(hào):ZL201320438353.0,實(shí)用新型專利;授權(quán)公告日:2014年01月08日。
參考文獻(xiàn)
[1] 高明.基于聲音定位的自動(dòng)循跡小車的控制算法研究[J].電腦知識(shí)與技術(shù),2012(4):2329?2333.
[2] 李濟(jì)川.嵌入式語(yǔ)音識(shí)別及聲控小車設(shè)計(jì)[J].電子質(zhì)量,2003(11):11?12.
[3] 楊宏.基于Proteus與單片機(jī)的步進(jìn)電機(jī)控制設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2010,33(5):104?106.
[4] 葛笑寒,張倩.基于AT89C51單片機(jī)的智能節(jié)水控制[J].科技信息,2010(10):139?140.
[5] 趙洪.駐極體話筒的結(jié)構(gòu)、原理與正確使用[J].電子制作,2003,(11):47?49.
[6] 孫緒才.L298N在直流電機(jī)PWM調(diào)速系統(tǒng)中的應(yīng)用[J].濰坊學(xué)院學(xué)報(bào),2009(4):19?22.
本系統(tǒng)的設(shè)計(jì)大致分為聲強(qiáng)檢測(cè)模塊、單片機(jī)、顯示模塊、電機(jī)等部分,總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
聲強(qiáng)檢測(cè)模塊:放置在小車左、右、后三個(gè)位置,接收指定通頻帶內(nèi)聲音信號(hào),并進(jìn)行比較。單片機(jī)控制模塊:控制器選用AT89C51單片機(jī),用于接收聲音檢測(cè)模塊送來(lái)的電信號(hào),對(duì)信號(hào)進(jìn)行分析,控制電機(jī)和顯示模塊。電機(jī)驅(qū)動(dòng)模塊:控制兩個(gè)電機(jī)的正轉(zhuǎn),反轉(zhuǎn),最終實(shí)現(xiàn)小車的左轉(zhuǎn),右轉(zhuǎn),前進(jìn),后退。LCD顯示模塊:顯示小車的行進(jìn)方向,便于觀察仿真結(jié)果。
2 硬件設(shè)計(jì)
2.1 單片機(jī)控制模塊設(shè)計(jì)
控制模塊以AT89C51為核心,AT89C51是一種低功耗高性能的8位單片機(jī),片內(nèi)帶有一個(gè)4 KB的FLASH在線可編擦除只讀存儲(chǔ)器,它采用了Atmel公司的高密度非易失性存儲(chǔ)器技術(shù)。
在眾多的51系列單片機(jī)中,選擇Atmel公司的AT89C51,因?yàn)樗粌H與MCU?51系列單片機(jī)指令與管腳完全兼容,而且它將通用CPU和在線可編程FLASH集成在一個(gè)芯片上。這種單片機(jī)對(duì)開(kāi)發(fā)設(shè)備的要求很低,開(kāi)發(fā)時(shí)間也大大縮短[4]。
設(shè)計(jì)中使用P0口作為L(zhǎng)CD液晶顯示信號(hào)口,P1.0, P1.1 和P1.2作為駐極體話筒傳感器的信號(hào)輸入口,使用P2.0~P2.3作為電動(dòng)機(jī)控制信號(hào)輸出口。
2.2 數(shù)據(jù)采集模塊設(shè)計(jì)
數(shù)據(jù)采集模塊以駐極體話筒為主要元件,駐極體薄膜上分布有自由電荷,在電容器的兩極板之間就有了感應(yīng)電荷。當(dāng)聲波引起駐極體薄膜振動(dòng)而產(chǎn)生位移時(shí),改變了電容器兩極板之間的距離,從而引起電容器的容量發(fā)生變化,引起電容器兩端電壓U的變化,從而輸出電信號(hào),實(shí)現(xiàn)聲電信號(hào)的轉(zhuǎn)換[5]。駐極體話筒體積小,結(jié)構(gòu)簡(jiǎn)單,電聲性能好,價(jià)格低廉,應(yīng)用非常廣泛。
整個(gè)數(shù)據(jù)采集模塊由三個(gè)駐極體話筒組成,如圖2所示。當(dāng)駐極體膜片遇到聲波振動(dòng)時(shí),引起電容兩端的電場(chǎng)發(fā)生變化,從而產(chǎn)生了隨聲波變化而變化的交變電壓。在設(shè)計(jì)仿真中由于Proteus沒(méi)有駐極話筒這個(gè)元件,所以使用滑動(dòng)變阻器來(lái)代替?;瑒?dòng)變阻器的不同阻值代替聲音的強(qiáng)弱。
用放大器組成的求和電路來(lái)求出這兩個(gè)變阻器電壓的平均值,然后再用平均值分別與兩個(gè)變阻器的電壓值比較,從而判斷出哪一方向的聲音強(qiáng)。用第三個(gè)滑動(dòng)變阻器表示小車尾部聲強(qiáng)傳感器接收的信號(hào),和平均值比較,來(lái)判斷小車前面和后面哪個(gè)方向聲音強(qiáng)。
圖2 聲強(qiáng)檢測(cè)模塊
2.3 LCD顯示模塊設(shè)計(jì)
選用LCD1602字符型液晶模塊,顯示小車運(yùn)行狀態(tài)。液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,包括數(shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,可以同時(shí)顯示32個(gè)字符。各引腳與單片機(jī)連接方式如圖3所示。RS管腳用于數(shù)據(jù)/命令選擇,R/W管腳用于讀/寫選擇。E管腳用于輸入使能命令。D0~D7為數(shù)字傳輸端口。
圖3 液晶顯示模塊
2.4 電機(jī)驅(qū)動(dòng)模塊設(shè)計(jì)
L298N是SGS公司的產(chǎn)品,內(nèi)部包含4通道邏輯驅(qū)動(dòng)電路??梢苑奖愕尿?qū)動(dòng)兩個(gè)直流電機(jī)或一個(gè)兩相步進(jìn)電機(jī)。
L298可驅(qū)動(dòng)兩個(gè)直流電動(dòng)機(jī),OUT1,OUT2之間,OUT3,OUT4之間可分別接電動(dòng)機(jī)。第5,7,10,12腳接輸入控制電平,控制電機(jī)的正反轉(zhuǎn)。EnA,EnB接控制使能端,控制電機(jī)的啟停。
裝置由AT89C51單片機(jī)通過(guò)P2口(P2.0,P2.1,P2.2, P2.3)輸出控制信號(hào),送到驅(qū)動(dòng)芯片L298N,控制電機(jī)轉(zhuǎn)動(dòng)。電動(dòng)機(jī)運(yùn)行狀態(tài)表如表所示。In1和In2為輸入信號(hào),EnA為使能信號(hào)。
電機(jī)驅(qū)動(dòng)L298和電動(dòng)機(jī)的連接電路圖[6]見(jiàn)圖4。
表1 電動(dòng)機(jī)狀態(tài)表
圖4 電機(jī)驅(qū)動(dòng)電路
3 軟件設(shè)計(jì)
本系統(tǒng)應(yīng)用軟件功能實(shí)現(xiàn)功能如下:接收聲音信號(hào),分析處理;通過(guò)液晶顯示電機(jī)工作狀態(tài);通過(guò)驅(qū)動(dòng)芯片控制電機(jī)的轉(zhuǎn)動(dòng)。
程序流程圖如圖5所示。
根據(jù)系統(tǒng)設(shè)計(jì)要求,結(jié)合上述硬件設(shè)計(jì),軟件設(shè)計(jì)可以分為以下幾個(gè)部分:主程序,LCD顯示程序,數(shù)據(jù)采集程序,電動(dòng)機(jī)驅(qū)動(dòng)程序等幾個(gè)部分。本設(shè)計(jì)使用軟件KeilC編寫程序。
對(duì)于LCD顯示子程序,首先要設(shè)置其驅(qū)動(dòng)程序,對(duì)顯示的起始行,列地址,讀取狀態(tài)字和數(shù)據(jù)讀/寫等指令進(jìn)行設(shè)置。
當(dāng)有信號(hào)輸入時(shí),單片機(jī)對(duì)信號(hào)識(shí)別判斷,對(duì)電動(dòng)機(jī)驅(qū)動(dòng)輸出相應(yīng)的控制信號(hào),實(shí)現(xiàn)小車左轉(zhuǎn),右轉(zhuǎn),直行,后退等操作。
圖5 程序流程圖
判斷P1.0,P1.1,P1.2的狀態(tài),如果為都為高電平,則液晶顯示器顯示直行,兩個(gè)電機(jī)同時(shí)正轉(zhuǎn);如果P1.2為低,則液晶顯示器顯示后退,兩個(gè)電機(jī)同時(shí)反轉(zhuǎn);如果P1.0,P1.2為高,P1.1為低,則液晶顯示器顯示左轉(zhuǎn),左邊電機(jī)正轉(zhuǎn),右邊電機(jī)停止;如果P1.0為低,P1.1、 P1.2為高,則液晶顯示器顯示右轉(zhuǎn),右邊電機(jī)正轉(zhuǎn),左邊電機(jī)停止。
4 聲音導(dǎo)向系統(tǒng)的軟件仿真
本設(shè)計(jì)用Proteus 7.8繪出仿真硬件電路圖,用KeilC編寫程序,生產(chǎn)Hex文件,輸入單片機(jī)電路,然后進(jìn)行仿真模擬。
由于仿真軟件中沒(méi)有駐極話筒,在仿真過(guò)程中通過(guò)滑動(dòng)變阻器來(lái)提供仿真所需的電壓信號(hào)。單擊仿真的開(kāi)始按鈕,將進(jìn)入仿真狀態(tài),如圖6所示。調(diào)整滑動(dòng)變阻器,即模仿聲音從不同方向傳來(lái)的情況,液晶顯示器就會(huì)顯示小車的運(yùn)動(dòng)情況。
5 總 結(jié)
本課題從一個(gè)全新的角度設(shè)計(jì)了一種聲音導(dǎo)向系統(tǒng),既不需要語(yǔ)音識(shí)別模塊,也不需要聲波發(fā)射模塊,系統(tǒng)簡(jiǎn)單可靠。
設(shè)計(jì)方案是通過(guò)比較車首和車尾共3個(gè)聲強(qiáng)探測(cè)器接收的聲強(qiáng)信號(hào),判斷小車和目標(biāo)的相對(duì)位置,確定小車的行進(jìn)方向。使用Proteus 7.8軟件給出了仿真方案和仿真結(jié)果,可以實(shí)現(xiàn)追蹤聲源目標(biāo)的功能。
本文已申請(qǐng)專利;姓名:陳松;名稱:一種聲強(qiáng)導(dǎo)向小車;專利號(hào):ZL201320438353.0,實(shí)用新型專利;授權(quán)公告日:2014年01月08日。
參考文獻(xiàn)
[1] 高明.基于聲音定位的自動(dòng)循跡小車的控制算法研究[J].電腦知識(shí)與技術(shù),2012(4):2329?2333.
[2] 李濟(jì)川.嵌入式語(yǔ)音識(shí)別及聲控小車設(shè)計(jì)[J].電子質(zhì)量,2003(11):11?12.
[3] 楊宏.基于Proteus與單片機(jī)的步進(jìn)電機(jī)控制設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2010,33(5):104?106.
[4] 葛笑寒,張倩.基于AT89C51單片機(jī)的智能節(jié)水控制[J].科技信息,2010(10):139?140.
[5] 趙洪.駐極體話筒的結(jié)構(gòu)、原理與正確使用[J].電子制作,2003,(11):47?49.
[6] 孫緒才.L298N在直流電機(jī)PWM調(diào)速系統(tǒng)中的應(yīng)用[J].濰坊學(xué)院學(xué)報(bào),2009(4):19?22.
本系統(tǒng)的設(shè)計(jì)大致分為聲強(qiáng)檢測(cè)模塊、單片機(jī)、顯示模塊、電機(jī)等部分,總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
聲強(qiáng)檢測(cè)模塊:放置在小車左、右、后三個(gè)位置,接收指定通頻帶內(nèi)聲音信號(hào),并進(jìn)行比較。單片機(jī)控制模塊:控制器選用AT89C51單片機(jī),用于接收聲音檢測(cè)模塊送來(lái)的電信號(hào),對(duì)信號(hào)進(jìn)行分析,控制電機(jī)和顯示模塊。電機(jī)驅(qū)動(dòng)模塊:控制兩個(gè)電機(jī)的正轉(zhuǎn),反轉(zhuǎn),最終實(shí)現(xiàn)小車的左轉(zhuǎn),右轉(zhuǎn),前進(jìn),后退。LCD顯示模塊:顯示小車的行進(jìn)方向,便于觀察仿真結(jié)果。
2 硬件設(shè)計(jì)
2.1 單片機(jī)控制模塊設(shè)計(jì)
控制模塊以AT89C51為核心,AT89C51是一種低功耗高性能的8位單片機(jī),片內(nèi)帶有一個(gè)4 KB的FLASH在線可編擦除只讀存儲(chǔ)器,它采用了Atmel公司的高密度非易失性存儲(chǔ)器技術(shù)。
在眾多的51系列單片機(jī)中,選擇Atmel公司的AT89C51,因?yàn)樗粌H與MCU?51系列單片機(jī)指令與管腳完全兼容,而且它將通用CPU和在線可編程FLASH集成在一個(gè)芯片上。這種單片機(jī)對(duì)開(kāi)發(fā)設(shè)備的要求很低,開(kāi)發(fā)時(shí)間也大大縮短[4]。
設(shè)計(jì)中使用P0口作為L(zhǎng)CD液晶顯示信號(hào)口,P1.0, P1.1 和P1.2作為駐極體話筒傳感器的信號(hào)輸入口,使用P2.0~P2.3作為電動(dòng)機(jī)控制信號(hào)輸出口。
2.2 數(shù)據(jù)采集模塊設(shè)計(jì)
數(shù)據(jù)采集模塊以駐極體話筒為主要元件,駐極體薄膜上分布有自由電荷,在電容器的兩極板之間就有了感應(yīng)電荷。當(dāng)聲波引起駐極體薄膜振動(dòng)而產(chǎn)生位移時(shí),改變了電容器兩極板之間的距離,從而引起電容器的容量發(fā)生變化,引起電容器兩端電壓U的變化,從而輸出電信號(hào),實(shí)現(xiàn)聲電信號(hào)的轉(zhuǎn)換[5]。駐極體話筒體積小,結(jié)構(gòu)簡(jiǎn)單,電聲性能好,價(jià)格低廉,應(yīng)用非常廣泛。
整個(gè)數(shù)據(jù)采集模塊由三個(gè)駐極體話筒組成,如圖2所示。當(dāng)駐極體膜片遇到聲波振動(dòng)時(shí),引起電容兩端的電場(chǎng)發(fā)生變化,從而產(chǎn)生了隨聲波變化而變化的交變電壓。在設(shè)計(jì)仿真中由于Proteus沒(méi)有駐極話筒這個(gè)元件,所以使用滑動(dòng)變阻器來(lái)代替?;瑒?dòng)變阻器的不同阻值代替聲音的強(qiáng)弱。
用放大器組成的求和電路來(lái)求出這兩個(gè)變阻器電壓的平均值,然后再用平均值分別與兩個(gè)變阻器的電壓值比較,從而判斷出哪一方向的聲音強(qiáng)。用第三個(gè)滑動(dòng)變阻器表示小車尾部聲強(qiáng)傳感器接收的信號(hào),和平均值比較,來(lái)判斷小車前面和后面哪個(gè)方向聲音強(qiáng)。
圖2 聲強(qiáng)檢測(cè)模塊
2.3 LCD顯示模塊設(shè)計(jì)
選用LCD1602字符型液晶模塊,顯示小車運(yùn)行狀態(tài)。液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,包括數(shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,可以同時(shí)顯示32個(gè)字符。各引腳與單片機(jī)連接方式如圖3所示。RS管腳用于數(shù)據(jù)/命令選擇,R/W管腳用于讀/寫選擇。E管腳用于輸入使能命令。D0~D7為數(shù)字傳輸端口。
圖3 液晶顯示模塊
2.4 電機(jī)驅(qū)動(dòng)模塊設(shè)計(jì)
L298N是SGS公司的產(chǎn)品,內(nèi)部包含4通道邏輯驅(qū)動(dòng)電路??梢苑奖愕尿?qū)動(dòng)兩個(gè)直流電機(jī)或一個(gè)兩相步進(jìn)電機(jī)。
L298可驅(qū)動(dòng)兩個(gè)直流電動(dòng)機(jī),OUT1,OUT2之間,OUT3,OUT4之間可分別接電動(dòng)機(jī)。第5,7,10,12腳接輸入控制電平,控制電機(jī)的正反轉(zhuǎn)。EnA,EnB接控制使能端,控制電機(jī)的啟停。
裝置由AT89C51單片機(jī)通過(guò)P2口(P2.0,P2.1,P2.2, P2.3)輸出控制信號(hào),送到驅(qū)動(dòng)芯片L298N,控制電機(jī)轉(zhuǎn)動(dòng)。電動(dòng)機(jī)運(yùn)行狀態(tài)表如表所示。In1和In2為輸入信號(hào),EnA為使能信號(hào)。
電機(jī)驅(qū)動(dòng)L298和電動(dòng)機(jī)的連接電路圖[6]見(jiàn)圖4。
表1 電動(dòng)機(jī)狀態(tài)表
圖4 電機(jī)驅(qū)動(dòng)電路
3 軟件設(shè)計(jì)
本系統(tǒng)應(yīng)用軟件功能實(shí)現(xiàn)功能如下:接收聲音信號(hào),分析處理;通過(guò)液晶顯示電機(jī)工作狀態(tài);通過(guò)驅(qū)動(dòng)芯片控制電機(jī)的轉(zhuǎn)動(dòng)。
程序流程圖如圖5所示。
根據(jù)系統(tǒng)設(shè)計(jì)要求,結(jié)合上述硬件設(shè)計(jì),軟件設(shè)計(jì)可以分為以下幾個(gè)部分:主程序,LCD顯示程序,數(shù)據(jù)采集程序,電動(dòng)機(jī)驅(qū)動(dòng)程序等幾個(gè)部分。本設(shè)計(jì)使用軟件KeilC編寫程序。
對(duì)于LCD顯示子程序,首先要設(shè)置其驅(qū)動(dòng)程序,對(duì)顯示的起始行,列地址,讀取狀態(tài)字和數(shù)據(jù)讀/寫等指令進(jìn)行設(shè)置。
當(dāng)有信號(hào)輸入時(shí),單片機(jī)對(duì)信號(hào)識(shí)別判斷,對(duì)電動(dòng)機(jī)驅(qū)動(dòng)輸出相應(yīng)的控制信號(hào),實(shí)現(xiàn)小車左轉(zhuǎn),右轉(zhuǎn),直行,后退等操作。
圖5 程序流程圖
判斷P1.0,P1.1,P1.2的狀態(tài),如果為都為高電平,則液晶顯示器顯示直行,兩個(gè)電機(jī)同時(shí)正轉(zhuǎn);如果P1.2為低,則液晶顯示器顯示后退,兩個(gè)電機(jī)同時(shí)反轉(zhuǎn);如果P1.0,P1.2為高,P1.1為低,則液晶顯示器顯示左轉(zhuǎn),左邊電機(jī)正轉(zhuǎn),右邊電機(jī)停止;如果P1.0為低,P1.1、 P1.2為高,則液晶顯示器顯示右轉(zhuǎn),右邊電機(jī)正轉(zhuǎn),左邊電機(jī)停止。
4 聲音導(dǎo)向系統(tǒng)的軟件仿真
本設(shè)計(jì)用Proteus 7.8繪出仿真硬件電路圖,用KeilC編寫程序,生產(chǎn)Hex文件,輸入單片機(jī)電路,然后進(jìn)行仿真模擬。
由于仿真軟件中沒(méi)有駐極話筒,在仿真過(guò)程中通過(guò)滑動(dòng)變阻器來(lái)提供仿真所需的電壓信號(hào)。單擊仿真的開(kāi)始按鈕,將進(jìn)入仿真狀態(tài),如圖6所示。調(diào)整滑動(dòng)變阻器,即模仿聲音從不同方向傳來(lái)的情況,液晶顯示器就會(huì)顯示小車的運(yùn)動(dòng)情況。
5 總 結(jié)
本課題從一個(gè)全新的角度設(shè)計(jì)了一種聲音導(dǎo)向系統(tǒng),既不需要語(yǔ)音識(shí)別模塊,也不需要聲波發(fā)射模塊,系統(tǒng)簡(jiǎn)單可靠。
設(shè)計(jì)方案是通過(guò)比較車首和車尾共3個(gè)聲強(qiáng)探測(cè)器接收的聲強(qiáng)信號(hào),判斷小車和目標(biāo)的相對(duì)位置,確定小車的行進(jìn)方向。使用Proteus 7.8軟件給出了仿真方案和仿真結(jié)果,可以實(shí)現(xiàn)追蹤聲源目標(biāo)的功能。
本文已申請(qǐng)專利;姓名:陳松;名稱:一種聲強(qiáng)導(dǎo)向小車;專利號(hào):ZL201320438353.0,實(shí)用新型專利;授權(quán)公告日:2014年01月08日。
參考文獻(xiàn)
[1] 高明.基于聲音定位的自動(dòng)循跡小車的控制算法研究[J].電腦知識(shí)與技術(shù),2012(4):2329?2333.
[2] 李濟(jì)川.嵌入式語(yǔ)音識(shí)別及聲控小車設(shè)計(jì)[J].電子質(zhì)量,2003(11):11?12.
[3] 楊宏.基于Proteus與單片機(jī)的步進(jìn)電機(jī)控制設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2010,33(5):104?106.
[4] 葛笑寒,張倩.基于AT89C51單片機(jī)的智能節(jié)水控制[J].科技信息,2010(10):139?140.
[5] 趙洪.駐極體話筒的結(jié)構(gòu)、原理與正確使用[J].電子制作,2003,(11):47?49.
[6] 孫緒才.L298N在直流電機(jī)PWM調(diào)速系統(tǒng)中的應(yīng)用[J].濰坊學(xué)院學(xué)報(bào),2009(4):19?22.