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