語(yǔ)音控制的智能小車(chē)設(shè)計(jì)
1 智能小車(chē)總體結(jié)構(gòu)框圖
智能小車(chē)主要由轉(zhuǎn)向機(jī)構(gòu)、驅(qū)動(dòng)機(jī)構(gòu)、轉(zhuǎn)向控制模塊、驅(qū)動(dòng)控制模塊、遙控模塊和語(yǔ)音控制模塊六大部分組成,如圖1所示。
2 機(jī)械本體結(jié)構(gòu)及工作原理
小車(chē)為輪式結(jié)構(gòu),如圖2所示。機(jī)械部分分為轉(zhuǎn)向機(jī)構(gòu)(圖中橢圓內(nèi)的部分)和驅(qū)動(dòng)機(jī)構(gòu)(圖中橢圓外部分)。轉(zhuǎn)向機(jī)構(gòu)主要由轉(zhuǎn)向電機(jī)、轉(zhuǎn)向架和兩個(gè)前輪組成。驅(qū)動(dòng)機(jī)構(gòu)采用玩具小車(chē)常用的雙電機(jī)驅(qū)動(dòng)方案,包括兩個(gè)減速電機(jī)和兩個(gè)后輪。轉(zhuǎn)向機(jī)構(gòu)工作原理為:轉(zhuǎn)向時(shí)由控制者向小車(chē)發(fā)出轉(zhuǎn)向信號(hào),轉(zhuǎn)向電機(jī)根據(jù)轉(zhuǎn)向信號(hào)正向或反向旋轉(zhuǎn)一定角度,電機(jī)通過(guò)齒輪、齒條系統(tǒng)帶動(dòng)轉(zhuǎn)向架擺動(dòng)一定角度,最終帶動(dòng)與轉(zhuǎn)向架固定在一起的前輪偏擺一定角度。小車(chē)在轉(zhuǎn)向時(shí)由于內(nèi)、外側(cè)的車(chē)輪的轉(zhuǎn)彎半徑不同,所以?xún)?nèi)外側(cè)車(chē)輪的轉(zhuǎn)速也不相同。前輪為從動(dòng)輪,會(huì)根據(jù)轉(zhuǎn)彎角度的大小自動(dòng)調(diào)節(jié)內(nèi)、外側(cè)車(chē)輪的轉(zhuǎn)速;而后輪為主動(dòng)輪,其轉(zhuǎn)速分別由兩個(gè)電機(jī)獨(dú)立驅(qū)動(dòng),不會(huì)根據(jù)轉(zhuǎn)彎半徑自動(dòng)調(diào)節(jié)轉(zhuǎn)速。因此小車(chē)轉(zhuǎn)彎時(shí),控制系統(tǒng)在控制轉(zhuǎn)向電機(jī)的同時(shí)還需要根據(jù)轉(zhuǎn)向角度的大小向兩個(gè)驅(qū)動(dòng)電機(jī)發(fā)出控制信號(hào),調(diào)節(jié)兩個(gè)驅(qū)動(dòng)電機(jī)的轉(zhuǎn)速使之產(chǎn)生特定的轉(zhuǎn)速比,從而使轉(zhuǎn)彎順利進(jìn)行。在這里,轉(zhuǎn)彎的角度、轉(zhuǎn)速比與小車(chē)的尺寸及轉(zhuǎn)彎半徑有關(guān)。
3 控制系統(tǒng)
控制系統(tǒng)包括兩大部分,一部分位于遙控器內(nèi),用于識(shí)別控制者的命令并將響應(yīng)的控制信號(hào)發(fā)送出去;一部分位于小車(chē)上,用于接收遙控器發(fā)出的控制信號(hào),并根據(jù)控制信號(hào)控制轉(zhuǎn)向機(jī)構(gòu)和驅(qū)動(dòng)機(jī)構(gòu),使小車(chē)實(shí)現(xiàn)預(yù)期的動(dòng)作。
3.1 遙控器
遙控器主要由語(yǔ)音識(shí)別模塊和無(wú)線(xiàn)發(fā)送模塊(編碼芯片、射頻發(fā)送模塊)組成,如圖3所示。遙控器的工作原理為:控制者通過(guò)麥克風(fēng)發(fā)出控制命令,該命令經(jīng)過(guò)語(yǔ)音識(shí)別模塊識(shí)別后,根據(jù)控制信號(hào)的類(lèi)型產(chǎn)生一個(gè)8位的控制碼,語(yǔ)音識(shí)別模塊通過(guò)其P1端口將控制碼輸出至無(wú)線(xiàn)發(fā)送模塊,然后語(yǔ)音識(shí)別模塊發(fā)出控制信號(hào),控制無(wú)線(xiàn)發(fā)送模塊將該控制碼以無(wú)線(xiàn)電波形式發(fā)送出去,車(chē)載控制部分接收到后便控制小車(chē)產(chǎn)生預(yù)期的動(dòng)作。
3.1.1 語(yǔ)音控制模塊
語(yǔ)音控制模塊主要由Sensory公司的集成語(yǔ)音識(shí)別芯片RSC-364組成。該芯片是專(zhuān)門(mén)為語(yǔ)音控制家電產(chǎn)品而設(shè)計(jì)的,外圍輔助器件少,采用典型應(yīng)用電路時(shí)只需要一個(gè)麥克風(fēng)、一個(gè)晶體振蕩器、一個(gè)小場(chǎng)聲器和幾個(gè)電阻、電容即可。該芯片內(nèi)部集成了語(yǔ)音識(shí)別、語(yǔ)音合成、語(yǔ)音身份識(shí)別、錄音回放功能。芯片內(nèi)部采用的是神經(jīng)網(wǎng)絡(luò)的語(yǔ)音識(shí)別算法,和說(shuō)話(huà)者無(wú)關(guān)的語(yǔ)音識(shí)別準(zhǔn)確率可以達(dá)到97%,和說(shuō)話(huà)者相關(guān)的語(yǔ)音識(shí)別準(zhǔn)確率可以達(dá)到99%。該芯片的功能框圖如圖4所示。該芯片內(nèi)部集成了一個(gè)八位的可編程微處理器,對(duì)外有16個(gè)可編程控制的I/O口,16位地址總線(xiàn)和8位數(shù)據(jù)總線(xiàn)及相應(yīng)的控制信號(hào),可方便地?cái)U(kuò)展外部ROM以及與外部器件通訊。本文中對(duì)RSC-364的資源使用情況為:其P1口用于傳輸與控制命令相應(yīng)的控制碼,P0.7口用于啟動(dòng)無(wú)線(xiàn)發(fā)送模塊發(fā)送數(shù)據(jù)。
3.1.2 無(wú)線(xiàn)發(fā)送模塊
為了提高無(wú)線(xiàn)收發(fā)的可靠性,本文采用集成的射頻發(fā)送模塊F05C和編碼芯片PT2262組成無(wú)線(xiàn)編碼發(fā)送模塊。PT2262外圍電路簡(jiǎn)單,只需外接一個(gè)電阻調(diào)節(jié)載波頻率。PT2262的電源電壓范圍廣,4~15V均能正常工作。PT2262可以對(duì)12位二進(jìn)制信號(hào)進(jìn)行編碼輸出,足以滿(mǎn)足本文的要求。PT2262的控制也極為簡(jiǎn)單,在PT2262的TE端為0時(shí),PT2262自動(dòng)將地址引腳和數(shù)據(jù)引腳A0~A11的數(shù)據(jù)編譯成適合RF電路發(fā)射的串行編碼波形,然后通過(guò)DOUT端口串行輸出。應(yīng)用時(shí)只需將PT2262的DOUT端口連接到RF電路的數(shù)據(jù)輸入端即可將數(shù)據(jù)通過(guò)無(wú)線(xiàn)電波發(fā)送出去。本文中RF電路選用集成的射頻發(fā)送模塊F05C。F05C采用聲表諧振器穩(wěn)頻,SMT樹(shù)脂封裝,頻率一致性較好,免調(diào)試。F05C具有較寬的工作電壓范圍及低功耗特性,當(dāng)發(fā)射電壓為3V時(shí),發(fā)射電流約為2mA,發(fā)射功率較??;12V為最佳工作電壓,具有較好的發(fā)射效果,發(fā)射電流約為5~8mA;當(dāng)發(fā)射電壓大于l2V時(shí)直流功耗增大,有效發(fā)射功率不再明顯提高。F05系列采用AM方式調(diào)制以降低功耗[1]。因?yàn)楸疚臒o(wú)線(xiàn)發(fā)送的命令的種類(lèi)較少,所以不需要全部使用PT2262的12個(gè)數(shù)據(jù)引腳,鑒于RSC-363內(nèi)核和AT89C51均為八位機(jī),為了數(shù)據(jù)傳輸方便,只使用PT2262的低八位數(shù)據(jù)引腳傳輸數(shù)據(jù),其余的四個(gè)數(shù)據(jù)引腳直接接地,其上數(shù)據(jù)沒(méi)有意義。
3.2 車(chē)載控制部分
車(chē)載控制部分主要由無(wú)線(xiàn)接收模塊(射頻接收模塊、解碼芯片)、車(chē)載處理器和電機(jī)控制模塊(圖中略)組成,如圖5所示。其功能就是接收遙控器發(fā)出的無(wú)線(xiàn)電信號(hào)并解碼,送入車(chē)載處理器,經(jīng)過(guò)計(jì)算產(chǎn)生相應(yīng)的控制信號(hào),控制三個(gè)電機(jī)工作,使小車(chē)產(chǎn)生預(yù)期的動(dòng)作。
3.2.1 無(wú)線(xiàn)接收模塊
無(wú)線(xiàn)接收模塊由射頻接收模塊J05C和解碼芯片PT2272組成。J05C是F05C的配對(duì)功能模塊。J05C采用超外差電路結(jié)構(gòu)和溫度補(bǔ)償電路,具有較高的接收靈敏度及穩(wěn)定性,芯片內(nèi)含低噪聲射頻放大器、混頻器、本地振蕩器、中頻放大器、濾波器及限幅比較器,輸出為數(shù)據(jù)電平信號(hào)。其功能是自動(dòng)接收無(wú)線(xiàn)電波并對(duì)電波進(jìn)行處理,輸出適合解碼芯片解碼或單片機(jī)解碼的波形。PT2272是PT2262的配對(duì)芯片,其外圍電氣特性和PT2262相同。工作時(shí),PT2272自動(dòng)對(duì)從DIN端口輸入的編碼波形進(jìn)行解碼,解碼成功則將地址和數(shù)據(jù)輸出到對(duì)應(yīng)的地址引腳和數(shù)據(jù)引腳,同時(shí)將EN端口置為高電平,數(shù)據(jù)在各個(gè)引腳上的排列順序和PT2262完全相同。和無(wú)線(xiàn)發(fā)送模塊相對(duì)應(yīng),這里也只使用其低八位數(shù)據(jù)引腳傳輸八位有效數(shù)據(jù)。
3.2.2 車(chē)載處理器
車(chē)載處理器采用常用的MCS-51系列單片機(jī)AT89C51。AT89C51是8位單片機(jī),其片內(nèi)集成有4K的程序存儲(chǔ)器,能夠滿(mǎn)足一般的應(yīng)用。單片機(jī)有8位外部數(shù)據(jù)總線(xiàn)和16位外部尋址地址線(xiàn),支持外擴(kuò)程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。片內(nèi)集成兩個(gè)16位的定時(shí)/計(jì)數(shù)器,兩個(gè)外部中斷口,32位雙向I/O口[2]。在本文的應(yīng)用中,單片機(jī)采用中斷工作方式。P2口和無(wú)線(xiàn)接收模塊的解碼芯片的數(shù)據(jù)端口的低8位相連,用于接收解碼的數(shù)據(jù)。解碼芯片的EN端口和單片機(jī)的外部中斷口INT0相連,解碼芯片解碼成功時(shí)會(huì)自動(dòng)通過(guò)EN端口向單片機(jī)申請(qǐng)中斷,單片機(jī)進(jìn)入中斷處理程序,接收解碼后數(shù)據(jù)。因?yàn)镋N端口是高電平有效,而INT0是低電平有效,所以EN需要通過(guò)一個(gè)反向器和INT0連接。單片機(jī)的P1口用來(lái)輸出PWM波,控制轉(zhuǎn)向電機(jī)和兩個(gè)驅(qū)動(dòng)電機(jī)。每個(gè)電機(jī)需要兩個(gè)端口進(jìn)行驅(qū)動(dòng),分別用于電機(jī)的正反向選擇。P1口每位的具體定義為:P1.0和P1.1用來(lái)控制轉(zhuǎn)向電機(jī)的正轉(zhuǎn)和反轉(zhuǎn);P1.2和P1.3用來(lái)控制左后輪驅(qū)動(dòng)電機(jī)的正轉(zhuǎn)和反轉(zhuǎn);P1.4和P1.5用來(lái)控制右后輪驅(qū)動(dòng)電機(jī)的正轉(zhuǎn)和反轉(zhuǎn)。
3.2.3 電機(jī)控制模塊
電機(jī)的驅(qū)動(dòng)采用雙向PWM脈寬調(diào)制方式控制。采用這種控制方式可以方便地實(shí)現(xiàn)電機(jī)的正反轉(zhuǎn)和轉(zhuǎn)速變化[3]。電機(jī)驅(qū)動(dòng)電路如圖6所示。其工組原理為當(dāng)P1.0端口為高電平、P1.1端口為低電平時(shí),三極管Q5導(dǎo)通,Q5導(dǎo)通又導(dǎo)致Q3和Q2導(dǎo)通,則電流從電源通過(guò)Q2、直流電機(jī)和Q3構(gòu)成回路;當(dāng)P1.0端口為低電平、P1.1端口為高電平時(shí),三極管Q6導(dǎo)通,Q6導(dǎo)通又導(dǎo)致Q4和Q1導(dǎo)通,則電流從電源通過(guò)Q1、直流電機(jī)和Q4構(gòu)成回路,且電流方向和前面相反,即電機(jī)轉(zhuǎn)向發(fā)生變化。通過(guò)控制P1.0口和P1.1口電平的高低和高電平導(dǎo)通的時(shí)間,就可以控制電機(jī)的正、反轉(zhuǎn)和轉(zhuǎn)速。
4 實(shí)驗(yàn)結(jié)果
本文設(shè)計(jì)的小車(chē)的長(zhǎng)度為210mm,寬度為100mm,前后輪距為150mm,小車(chē)的最大轉(zhuǎn)彎角度為45度。小車(chē)可以識(shí)別的總的命令條數(shù)為16條。左轉(zhuǎn)和右轉(zhuǎn)各4條,對(duì)應(yīng)的轉(zhuǎn)向角度分別為5度、15度、25度、45度;停止1條;前進(jìn)5條,對(duì)應(yīng)于五級(jí)不同的前進(jìn)速度;后退兩條,對(duì)應(yīng)兩級(jí)不同的后退速度。小車(chē)的各級(jí)轉(zhuǎn)彎角度對(duì)應(yīng)的轉(zhuǎn)彎半徑及兩個(gè)電機(jī)的轉(zhuǎn)速比的關(guān)系如表1所示。
該小車(chē)各部分采用模塊化設(shè)計(jì),各個(gè)模塊之間獨(dú)立性強(qiáng)??刂撇糠植捎每删幊涛⑻幚砥鳎梢栽诓辉黾酉到y(tǒng)硬件的情況下方便地對(duì)系統(tǒng)進(jìn)行二次開(kāi)發(fā)。本文對(duì)一輛小車(chē)進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,語(yǔ)音識(shí)別系統(tǒng)在低噪聲環(huán)境中識(shí)別率很高,在噪聲水平較高的場(chǎng)合,識(shí)別率有所下降。小車(chē)反應(yīng)靈敏。