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