米媛園,李光宗,喬丹妮
(西華大學(xué)機(jī)械工程學(xué)院,四川 成都 610039)
智能小車(chē)是當(dāng)代汽車(chē)的模型縮減,技術(shù)水平發(fā)展良好,融合了各種跨學(xué)科的工科知識(shí)。當(dāng)今的智能小車(chē)大多能夠完成自動(dòng)循跡、避除障礙物、尋光等功能,有著向聲控系統(tǒng)發(fā)展的趨勢(shì)。設(shè)計(jì)的智能小車(chē)不僅可以完成傳統(tǒng)的自動(dòng)尋跡和避障功能,還采用LD3320語(yǔ)音識(shí)別芯片對(duì)智能小車(chē)進(jìn)行語(yǔ)音控制,使其具有更好的交互性和適用性。
系統(tǒng)結(jié)構(gòu)組成如圖1所示,它分為小車(chē)和遙控器兩部分,分別用單片機(jī)STC12C5A60S2和STC11L08XE作為微控制器,小車(chē)主要由紅外尋光模塊、四路巡跡模塊、電機(jī)驅(qū)動(dòng)動(dòng)力模塊和無(wú)線傳輸通信模塊組成,遙控器通過(guò)芯片LD3320來(lái)識(shí)別處理語(yǔ)音命令,通過(guò)NRF24L01與小車(chē)進(jìn)行無(wú)線通信,控制小車(chē)運(yùn)動(dòng)。
圖1 系統(tǒng)結(jié)構(gòu)組成
本次設(shè)計(jì)采用STC12C5A60S2單片機(jī)作為控制芯片。其功能和性能與STC89C52幾乎完全相同,但速度較STC89C52更快,功耗也顯著地比STC89C52低,同時(shí),此次運(yùn)用的STC12C5A60S2還具備超高抗干擾能力的特點(diǎn),還有具備雙串口等一系列功能。系統(tǒng)采用STC12C5A60S2單片機(jī)為主芯片,配合CH340TUSB轉(zhuǎn)串口芯片、復(fù)位按鈕和蜂鳴器組成最小系統(tǒng)。小車(chē)的最小系統(tǒng)電路如圖2所示。
圖2 小車(chē)最小系統(tǒng)電路原理圖
本設(shè)計(jì)在電機(jī)驅(qū)動(dòng)模塊中采用了4個(gè)直流減速電機(jī),其采用的是TB6612FNG驅(qū)動(dòng)芯片。TB6612FNG驅(qū)動(dòng)芯片可以實(shí)現(xiàn)雙驅(qū)動(dòng),即可以同時(shí)驅(qū)動(dòng)兩個(gè)電機(jī)。相較于傳統(tǒng)的L298N芯片,TB6612FNG芯片在體積方面大幅度減小,在效率上卻有明顯的提升,同時(shí),該芯片在額定范圍內(nèi)還有基本不發(fā)熱的特點(diǎn),運(yùn)用起來(lái)十分方便。依照電機(jī)驅(qū)動(dòng)邏輯功能表,更改驅(qū)動(dòng)芯片AIN1、AIN2、BIN1、BIN2、PWMA、PWMB的電平高與低,就可以控制電機(jī)的正反轉(zhuǎn)、停止,進(jìn)而可以方便控制小車(chē)前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、停止。芯片通過(guò)控制PWMA、PWMB在0~255之間控制小車(chē)的速度。
紅外傳感器指具有一對(duì)紅外發(fā)射與接收管的傳感器,傳感器的發(fā)射管先發(fā)射出一定頻率的紅外線,如果檢測(cè)方向出現(xiàn)障礙物,紅外線就被直接反射回來(lái),此時(shí),接收管接收反射回來(lái)的紅外線。在這個(gè)不大的范圍中,如果沒(méi)有了障礙物,那么發(fā)射管發(fā)射出去的這個(gè)光線就會(huì)因傳播的距離逐漸遠(yuǎn)去,能量衰退,最終逐漸減弱,直至消失。本小車(chē)采用了兩個(gè)紅外傳感器,分別連接在STC12C5A60S2單片機(jī)的P1.6、P1.4引腳上。使用者經(jīng)電位器設(shè)置閾值,當(dāng)正前方發(fā)現(xiàn)障礙物時(shí),OUT引腳置為低電平,如若沒(méi)有,則置為高電平。
該設(shè)計(jì)的循跡模塊也運(yùn)用到了紅外傳感器,下面是巡跡模塊的基本原理:本設(shè)計(jì)采用巡黑線行駛的方式,當(dāng)紅外線發(fā)射到黑線上時(shí),由于光的反射原理,其被黑線吸收掉,當(dāng)紅外線發(fā)射到其他的顏色的材料上時(shí),便會(huì)又反射到紅外的接受管上。據(jù)這一特點(diǎn),便可以寫(xiě)代碼完成小車(chē)巡線功能。該模塊共計(jì)使用四個(gè)紅外傳感器,分別連接在STC12C5A60S2單片機(jī)的P1.1~P1.3口上。當(dāng)中間兩路檢測(cè)任意一個(gè)出黑線時(shí),小車(chē)就會(huì)自動(dòng)糾正,如果最外面檢測(cè)到黑線,則小車(chē)以更大速度糾正到正確黑線上面。
本次設(shè)計(jì)的語(yǔ)音模塊運(yùn)用到了LD3320芯片,該芯片是一個(gè)基于非特定語(yǔ)音識(shí)別技術(shù)的語(yǔ)音鑒別芯片。芯片上高精度的集成了A/D和D/A接口,因此無(wú)需外接其他的Flash或者RAM,便可以實(shí)現(xiàn)語(yǔ)音識(shí)別功能。語(yǔ)音識(shí)別芯片LD3320與遙控器上STC11L08XE單片機(jī)的接收輸出數(shù)據(jù)管腳連接,負(fù)責(zé)語(yǔ)音識(shí)別結(jié)果數(shù)據(jù)的傳輸,并通過(guò)無(wú)線傳輸模塊NRF24L01將信號(hào)傳輸?shù)叫≤?chē),控制小車(chē)的相應(yīng)動(dòng)作。
本設(shè)計(jì)通信模塊用到了NRF24L01,其引腳的基本情況如下:CE是使能發(fā)射或接收端;CSN、SCK、MOSI和MISO是SPI引腳端,通過(guò)這些引腳配置24L01的狀態(tài),可將其設(shè)置為發(fā)射、接收、空閑和掉電模式;IRQ是中斷端;VDD是電源的輸入端口;VSS為電源接地端口;XC1和XC2是晶振振蕩器的引腳;VDD_PA為功率放大器供電端,輸出為1.8 V;ANT1和ANT2為無(wú)線接口;IREF為參考電流輸入端;模塊在使用時(shí)CE腳不可一直置高,因?yàn)?4L01內(nèi)部發(fā)送數(shù)據(jù)時(shí)鎖相環(huán)開(kāi)環(huán)控制容易造成載波震蕩,最長(zhǎng)可以置高4 ms,然后必須置低才能保證傳輸可靠。電源不能超過(guò)3.3 V。
通信的時(shí)侯,每當(dāng)NRF24L01接收到有效的語(yǔ)音數(shù)據(jù),該模塊就能通過(guò)IRQ引腳傳輸數(shù)據(jù),之后,單片機(jī)便可將接收到的數(shù)據(jù)從NRF24L0l自帶的RX寄存器中讀出。
本設(shè)計(jì)中,運(yùn)用了本科學(xué)過(guò)的Keil4來(lái)完成軟件開(kāi)發(fā),并采用了C語(yǔ)言編寫(xiě)程序,用的是STC-ISP調(diào)試功能。
單片機(jī)中斷初始化設(shè)置程序如下:為將定時(shí)器0和定時(shí)器1都設(shè)置為工作模式,工作方式為方式1,再把外部中斷0和1都設(shè)置成邊沿觸發(fā)方式,之后,再開(kāi)啟定時(shí)器和外部中斷允許。當(dāng)兩側(cè)均未檢測(cè)到障礙物時(shí),小車(chē)均速前進(jìn),兩側(cè)均檢測(cè)到障礙物時(shí),小車(chē)按照固定程序右轉(zhuǎn)。當(dāng)左側(cè)檢測(cè)到障礙物時(shí)小車(chē)右轉(zhuǎn),反之小車(chē)左轉(zhuǎn)。
系統(tǒng)工作時(shí),小車(chē)啟動(dòng)時(shí)先執(zhí)行初始化程序,然后LD3320芯片讀取外部傳送的語(yǔ)音信息。當(dāng)用戶給出讓小車(chē)前進(jìn)或停止等語(yǔ)音信號(hào)后,語(yǔ)音模塊識(shí)別語(yǔ)音信號(hào);當(dāng)識(shí)別成功后由LD3320內(nèi)部進(jìn)行一系列的轉(zhuǎn)換,轉(zhuǎn)換過(guò)后的數(shù)字信號(hào)由NRF24L01傳輸給小車(chē)的單片機(jī),小車(chē)根據(jù)接收到的指令調(diào)用不同的子程序,執(zhí)行相應(yīng)的動(dòng)作。系統(tǒng)工作的流程如圖3所示。
圖3 語(yǔ)音控制小車(chē)流程圖
該多功能語(yǔ)音智能小車(chē)可以流暢實(shí)現(xiàn)先后左右行駛,巡跡、避障以及語(yǔ)音控制等一系列功能,測(cè)試效果良好。同時(shí)在測(cè)試過(guò)程中能夠看出,相較于噪聲水平高的環(huán)境,語(yǔ)音識(shí)別系統(tǒng)在低噪聲環(huán)境中識(shí)別率更高,小車(chē)的控制系統(tǒng)僅僅采用語(yǔ)音識(shí)別,可能還達(dá)不到很好的控制效果,如果能夠再加上鍵盤(pán)甚至APP控制,將會(huì)大大提升控制效果,使得小車(chē)更加智能,在之后的研究過(guò)程中,可以嘗試加入,使得本設(shè)計(jì)更加適用于各種環(huán)境和人群。