


摘 要:本文設計并制作一種智能避障小車。以凌陽單片機SPCE061A為核心控制部件,外圍電路包括直流電機、電機驅動芯片、超聲波傳感器等。該系統的智能控制軟件包括小車避障及路徑控制軟件和語音識別模塊。利用SPCE061A的語音模塊,根據麥克風采集的語音信號與事先訓練好的語音庫的特征語音進行對比,進行語音辨識并通過語音命令小車行進、轉向及倒車等操作,實現智能音控小車的運行狀態;利用紅外傳感器檢測路徑信息,實現小車的智能避障功能。
關鍵詞:語音識別 凌陽SPCE061A單片機 避障。
中圖分類號:TPl8 文獻標識碼:A 文章編號:1672-3791(2013)06(c)-0088-02
1 系統的總體設計方案和硬件設計
本設計主要有三個部分組成,分別是以凌陽SPCE061A精簡開發板為核心。車體電機驅動電路板和小車的車體框架為輔。人通過凌陽SPCE061A開發板上的MIC-IN輸入語音,然后經過事先編好的程序對其進行采樣、放大、核對。核對正確后將語音信號做出的指示傳達給車體電機電路板,從而控制電機的正反轉、和停三種狀態。在通過電機轉速的調節來實現小車的前進、倒退、停止、左轉、右轉功能。
1.1 系統的核心部件
本文設計基于SPCE061A單片機的控制主板,包括外圍接口、按鍵、麥克、液晶顯示器。SPCE061A是16位結構的微控制器,其內部集成了ICE、FLASH、SRAM、32位通用I/O端口、ADC、DAC輸出、定時器/計數器、WatchDog、中斷控制、CPU時鐘PLL、UART、SIO、低電壓監測/低電壓復位等模塊[1]。SPCE061A可以使外圍電路大大簡化,并且凌陽單片機本身具有語音功能,可以加入語音識別模塊,簡化了車體機構。對于接口主要在串聯和并聯輸入輸出口,其余的I/O全部用插針引出。
1.2 小車電機驅動設計
由于SPCE061A的I/O口的電壓較小,不能直接和電機相連,本文采用的是雙全橋步進電機專用驅動芯片L298N[2]。L289芯片有16個引腳,內包含4通道邏輯驅動電路,是一種二相和四相步進電機的專用驅動器,可同時驅動2個二相或1個四相步進電機,內含二個高電壓、大電流雙全橋式驅動器,接收標準TTL邏輯信號,可驅動36 V、2 A以下的步進電機,此芯片可直接由單片機的I/O端口來提供模擬時序信號,OUTl、OUT2和OUT3、OUT4之間分別接2個步進電機;IN1~IN4輸入控制電位來控制電機的正反轉;PWM脈寬調制[3]信號控制電機的轉速。驅動電路圖如圖1所示。
車體電機采用兩個步進電機,主要用于提供動力,另外還有一個可以360度轉向的車輪做支撐作用。該步進電機采用單極性直流電源供電,只要對步進電機的各相繞組按合適的時序通電,就能使步進電機步進轉動。在實際設計中要考慮到步進電機的散熱問題,本文采用散熱片等散熱措施進行散熱。
1.3 小車的聽覺避障
本文采用HC-SR04超聲波傳感器,利用其反饋信號調整小車的運行狀態。該傳感器只有2CM的盲區,工作范圍在2cm-450cm,采用的是非接觸式的測量方式,設計實現方便。該模塊采用I/O觸發測距,給至少10 us的高電平信號,模塊自動發送8個40 khz的方波,自動檢測是否有信號返回;若有信號返回,通過I/O輸出一高電平,高電平持續的時間就是超聲波從發射到返回的時間。測試距離=(高電平時間×聲速(340 m/s))/2。測量周期為60 ms超聲波時序圖如圖2所示。
2 系統軟件設計
系統軟件設計主要包括兩個方面,第一個方面就是語音識別系統,第二個方面就是智能避障。我們使用的軟件編程語言是C語言[3],而開發軟件使用的是u’nSP IDE。
2.1 語言識別系統
語音識別系統主要分為初始化、訓練、識別三個部分,基于凌陽SPCE061A本身就具有語音處理系統,在這里本文只是選擇了相應的模塊進行工作,其語音相應的壓縮編碼率為24 kb/s,采樣頻率為16 kHz[4]。程序設計流程圖如圖3所示。
所謂初始化就是在小車進入訓練之前的復位操作,把以前的語音數據全部清零,等待語音命令重置,每當執行一個動作的時候需要輸入兩條語音命令,第一條是操作允許命令(比如說是小車的名字),第二條是命令執行動作,這樣做是為了防止人們無意中的動作執行語音被錄取造成小車做出錯誤的行動。
訓練就是給小車的語音系統提供語音參照號模塊。當操作者連續錄入語音,其順序依次是名字—前進—后退—左轉—右轉—停止。當輸入完成后就會把該語音作為標準儲存在SPCE061A的Flash中。
識別就是用外界接收到的語音同我們事先輸入的語音標準做比較,若與標準相吻合則執行操作。當在識別環節當中,如果辨識結果是小車的名字,小車直接置待命狀態,然后等待動作命令。只有檢測到動作命語音時,小車才會根據相應的辨識結果執行動作。小車在執行完相應的命令之后結束待命狀態。等待下一次語音命令。
2.2 智能避障
智能避障就是小車在沒有人的操作之下達到避開障礙物的目的。流程圖如圖4所示。智能避障也就是芯片中的模糊避障處理,對超聲波采集到的信息進行模糊化處理,根據據前后方相四兩個傳感器的反饋值來判斷小車前方是否有障礙物,并根據判斷結果,由單片機將控制信號送給驅動芯片L298實施對轉向電機的正反轉控制,以實現小車對障礙物的躲避。避障采用開環控制,即傳感器檢測到一個障礙物后即進入相關處理子程序。如前方有障礙物這首先左轉,如在檢測到左方有障礙物則右轉,在右方也有障礙物的條件下停止前進。
3 結語
本文設計智能避障小車能夠實現語音控制和自動避障的功能。該車的控制核心采用凌陽SPCE061A單片機,編程中用C語可以有效的利用存儲空間。小車的核心控制板實現了信號采集、語音識別、電機驅動控制以及小車方向、動作指示等操作,而且還擴展多路開關型傳感器接口,可以自行安裝各類傳感器,力求進一步優化避障小車的各項功能。實驗測試該小車可以實現基本的語音控制及自動避障功能,但由于程序不夠優化,其穩定性還有待提高,今后在智能避障算法上深入研究,為小車緊急避障和智能駕駛提供技術支持。
參考文獻
[1]羅亞非.凌陽十六位單片機應用基礎[M].北京:北京航空航天大學出版社,2005.
[2]張爭爭,任永德,謝寶昌.基于DSP的無刷直流電動機控制系統[J].微特電機,2001,29(2).
[3]孫立志.PWM與數字化電動機控制技術應用[M].中國電力出版社,2008(1).
[4]李軍,申俊澤.超聲測距模塊HC-SR04的超聲波測距儀設計[J].單片機與嵌入式系統應用,2011,10:77-78.
[5]滕志軍.基于超聲波檢測的倒車雷達設計[J].今日電子,2006(9):15-17.
[6]譚浩強.C程序設計[M].北京大學出版社,1991(7).