智能聲控小車畢業(yè)論文
《智能聲控小車畢業(yè)論文》由會員分享,可在線閱讀,更多相關《智能聲控小車畢業(yè)論文(34頁珍藏版)》請在裝配圖網上搜索。
1、 畢業(yè)設計(論文) 題 目 智能聲控小車 英文題目 The intelligent voice control dolly 學生姓名 學 號 指導教師 專 業(yè) 電子科學與技術 二零11年11
2、月 摘 要 語音處理技術是一門新興的技術,它不僅包括語音的錄制和播放,還涉及語音的壓縮編碼和解碼,語音識別等各種處理技術。以往做這方面的設計,一般有兩個途徑:一種方案是單片機擴展設計,另一種就是借助于專門的語音處理芯片。采用凌陽公司的SPCE061A16位單片機作為語音控制小車的檢測和控制核心,配合SPCE061A的語音特色,利用系統(tǒng)的語音播放和語音識別資源,通過控制I/O接口電路傳輸控制信息,從而控制全橋驅動電路最終實現多功能語音控制小車的基本功能。利用編程進行語音的“訓練”和“識別”。設計出具有如下功能的語音聲控小車:能夠根據錄制的語音命令來控制小車的啟動、停止、返回、
3、拐彎。 關鍵詞:SPCE061A,語音識別,全橋驅動,小車 Abstract Speech processing technology is a new technology, it includes not only the voice recording and playback, and in the speech compression encoding and decoding, speech recognition and all kinds of processing te
4、chnology. Before the design, generally there are two ways: a single chip design scheme is extended, and the other is by special speech processing chip.Based on the voice characteristics of MCU Sunplus SPCE061A,the small car of muhifunction voice—controlled was designed.The car system is composed of
5、voice recognition and voice broadcast,and its transmission and controlling information is controlled by I/O interface circuit.In order to control full bridge drive circuit at last the basic functions of muhifunctional voice-controlled small car are realized.We use programming for voice "training" a
6、nd "recognition". It has the following features: According to recorded the voice command to control the car to start, stop, return, and turn. Key words: SPCE061A,Speech Recognition,Full-bridge driver,Trolley 目 錄 第一章 緒論………………………………………………… 1 1.1 引言…………
7、…………………………………………… 1 1.2 目前的發(fā)展概況…………………………………………… 1 1.3 智能聲控的應用研究……………………………………… 1 1.4 課題的提出背景與實際意義…………………………………1 第二章 系統(tǒng)方案………………………………………………3 2.1 總體方案選擇……………………………………………… 3 2.2 系統(tǒng)硬件方案……………………………………………… 4 2.3 系統(tǒng)軟件方案……………………………………………… 5 第三章 系統(tǒng)硬件設計………………………………………… 6 3.1 車體介紹………………………
8、………………………… 6 3.1.1 小車的行走原理…………………………………………7 3.2 控制板原理……………………………………………… 9 3.2.1全橋驅動原里………………………………………………9 3.2.2 動力電機驅動……………………………………………11 3.2.3 方向電機控制電路…………………………………………12 3.3 芯片特性簡介……………………………………………… 14 3.3.1 SPCE061A特性簡介…………………………………………14 3.3.2 開發(fā)板61板
9、簡介……………………………………………15 3.4 電源模塊…………………………………………………… 15 第四章 系統(tǒng)軟件設計……………………………………………16 4.1 系統(tǒng)的主程序流程……………………………………………16 4.1.1 初始化部分……………………………………………… 16 4.1.2 訓練部分………………………………………………… 17 4.1.3 識別部分………………………………………………… 17 4.1.4 重訓操作………………………………………………… 17 4.2 主函數模塊程序
10、…………………………………………… 17 4.3 語音識別的原理……………………………………………… 18 4.4 語音訓練識別程序…………………………………………… 18 4.5 語音動作子程序……………………………………………… 19 4.6 中斷子程序…………………………………………………… 22 結論……………………………………………………………… 24 致謝……………………………………………………………… 25 參考文獻………………………………………………………… 26 附錄……………………………………………………………… 27
11、 緒 論 1.1 引言 隨著電子業(yè)的發(fā)展, 自動化已不再是一個新鮮的話題,無人駕駛的小汽車也必將進入實用階段,未來駕駛汽車,不再是只能依靠手動、語音等方式也有可能成為未來汽車的輔助駕駛途徑之一。單片機作為計算機技術的一個重要分支、嵌人式系統(tǒng)的核心,廣泛用于工業(yè)控制、智能儀器、家用電器、智能產品等領域。當前電子設計系統(tǒng)已進入了片上系統(tǒng)時代,單片機的功能也越來越強,使其真正成為系統(tǒng)單片機。本系統(tǒng)模擬將來的智能小車,采用SPCE061A單片機作為檢測和控制核心,該單片機是一個16位結構的微
12、控制器, 基于nSPTM 內核,具有DSP運算功能,內置1O位A/D及D/A 轉換器,豐富的軟硬件支持,而SPCE061A 單片機集成度高, 擴展方便,可靠性好。 SPCE061A 內嵌 32K 字的 FLASH 程序存儲器以及 2K 的SRAM。同時該 SOC 芯片具有 ADC 和 DAC 功能,其 MIC_ADC 通道帶有AGC自動增益環(huán)節(jié),能夠很輕松的將語音信號采集到芯片內部,兩路 10 位的電流輸出型DAC,只要外接一個功放就可以完成聲音的播放。以上介紹的這些硬件資源使得該SPCE061A 能夠單芯片實現語音處理功能。 借助于 SPCE061A 的語音特色實現了對小車前
13、進、后退、左轉、右轉、停車等語音控制功能。 1.2 目前的發(fā)展概況 聲控技術其實就是利用語音識別技術來達到控制或者操作的一種技術,而語音識別技術這近五年來已經有很大的進步,最新的語音識別技術可以辨識90%以上的人類說出的字。聲控技術雖然是一項比較先進的技術,但不可否認的是,聲控技術在無限傳輸時的合成的質量不是很好,它尚需進一步提高,因為無線環(huán)境中的背景噪音太大了,當然還有其他方面的因素影響著聲控功能的發(fā)揮。 然而隨著微電子技術、計算機技術、及傳感器技術的迅速發(fā)展,現今聲控技術應用廣泛,這種嶄露頭角的聲控技術,給嚴重傷殘人的生活帶來了極大的方便。傷殘病人用聲音就可以打開門窗、窗
14、簾、電視機、電燈等 1.3 智能聲控的應用研究 可以讓駕駛員對汽車發(fā)出語音指令,控制車內的收音機、電話和車內溫度。聲控技術將成為接入網絡和其他各種自動服務的關鍵?!半S著汽車電子技術的飛速發(fā)展,汽車智能化技術正在逐步得到應用。汽車智能化技術使汽車的操縱越來越簡單,動力性和經濟性越來越高,行駛安全性越來越好,這是未來汽車發(fā)展的趨勢。目前正逐步應用于汽車的智能控制技術。 1.4 課題的提出背景與實際意義 科技的進步需要技術不斷的提升,一塊大而復雜的模擬電路花費了工程師們巨大的精力,繁多的元器件增加制作的成本,而現在只需要一塊幾厘米的長方單片機通過寫入簡單的程序就可以使以前的電路
15、簡單很多。單片機技術的出現,不管在開發(fā)或是工作上都為我們帶來了意想不到的驚喜。1916年第一臺電子計算機誕生至今,只有60年得時間,依靠微電子技術和半導體技術的進步,從電子管到晶體管到集成電路在到大規(guī)模集成電路,現在一塊芯片上完全可以集成幾百萬甚至上千萬之晶體管,使得計算機體積更小,功能更強,特別是近20年時間里,技術及技術獲得飛速的發(fā)展。計算機在工農業(yè),科研教育國防和航空航天領域獲得了廣泛的應用,技術及技術已經是一個國家現代科技水平的重要標志。 機器人的應用越來越廣泛,幾乎滲透到所有領域。機器人的發(fā)展體現了一個國家技術水平的高低,現代機器人從其誕生到現在,己經發(fā)展到了第三代。第一代機器人是
16、示教再現型機器人。它們裝有記憶存儲器,由人將作業(yè)的各種操作要求示范給機器人,使之記住操作的程序和要領。當它接到再現命令時,則自主地再現示教的動作。第二代機器人是裝有小型計算機和簡單傳感器的離線編程的工業(yè)機器人。它能感知外界信息和進行“思維”,比第一代機器人更靈活、更能適應環(huán)境變化的需要。第三代是智能機器人。智能機器人是“具有感知、思維和動作的機器”。它裝有多種傳感器,能識別作業(yè)環(huán)境,能自主決策,具有人類大腦的部分功能,且動作靈活,是人工智能技術發(fā)展到高級階段的產物。 智能小車,也就是輪式機器人,具有廣泛的用途,尤其適合那些人類無法工作的環(huán)境中工作,無人生產線,倉庫,服務機器人,航空航天等領域
17、。作為20世紀自動化領域的重大成就,機器人已經和人類社會的生產、生活密不可分。應此為了使智能小車工作在最佳狀態(tài),進一步研究及完善其速度和方向的控制是非常有必要的。其次學習智能小車的制作也是對大學4年學習的一個很好的檢測,對今后的學習和工作具有很大的幫助。 第二章 系統(tǒng)方案 2.1 總體方案選擇 方案一: 采用MCS-51系列單片機實現,由于有語音識別和語音播放功能,所以需要擴展語音識別模塊和語音播放模塊,這樣必然造成端口的資源緊張,所以還必須加入接口擴展芯片。該實現方案結構如圖 2-1所示。 圖 2-1 采用MCS-51系列
18、單片機實現語音控制小車 方案二: 采用SPCE061A實現語音控制小車方案,由于SPCE061A內部具有語音識別和語音播放功能,所以只需要擴展基本的MIC和語音功放即可,該方案結構如圖 2-2所示。 圖 2-2 基于SPCE061A的語音控制小車實現方案 比較以上兩個方案,方案二結構簡單,易于操作,故選擇方案二。 2.2 系統(tǒng)硬件方案 系統(tǒng)的結構框圖如圖 2-3示。 圖 2-3 系統(tǒng)結構框圖 系統(tǒng)組成主要包括以下兩部分:SPCE061A精簡開發(fā)板、語音小車控制電路板。 圖中的語音輸入部分 MIC_ IN、按鍵輸入 KEY、聲音
19、輸出部分的功率放大環(huán)節(jié)等已經做到了精簡開發(fā)板——61 板上,為我們使用提供了很大的方便。在電機的驅動方面,采用全橋驅動技術,利用四個 I/O端口分為兩組分別實現兩個電機的正轉、反轉和停三態(tài)運行。 2.3 系統(tǒng)軟件方案 小車運動控制子程序就是控制前后電動機的正轉和反轉,程序識別出使用者說出何種語音命令后,根據I/0口輸出和小車運動姿態(tài)的狀態(tài)的對應關系,對相應的I/0 口置位或清零,輸出到電機驅動電路,控制電機運轉, 小車作相應的動作。 第三章 系統(tǒng)硬件設計 3.1 車體介紹 語音控制小車為四輪結構,
20、如圖 3-1 所示。其中前面兩個車輪由前輪電機控制,在連桿和支點作用下控制前輪左右擺動,來調節(jié)小車的前進方向。在自然狀態(tài)下,前輪在彈簧作用下保持中間位置。后面兩個車輪由后輪電機驅動,為整個小車提供動力。所以又稱前面的輪子為方向輪,后面的兩個輪子為驅動輪,如圖 3-2 所示。 圖 3-1 車體側視圖 圖 3-2車體側視圖 3.2 小車的行走原理 前進:由小車的結構分析,在自然狀態(tài)下,前輪在彈簧作用下保持中間狀態(tài),這時只要后輪電機正轉小車就會前進。如圖 3-3所示; 倒車:倒車動作和前進動作剛好相反,前輪電機仍然保持中間狀態(tài),后輪電機反轉,小車就會向后運動,如圖 3-4所示
21、; 左轉:前輪電機逆時針旋轉(規(guī)定為正轉),后輪電機正轉,這時小車就會在前后輪共同作用下朝左側前進,如圖 3-5 所示; 右轉:前輪電機反轉,后輪電機正轉,這時小車就是會在前后輪共同作用下朝右側前進,如圖 3-6所示。 圖 3-3 小車前進原理圖 圖 3-4 小車倒車示意圖 圖 3-5 小車左轉示意圖 圖 3-6 小車右轉示意圖 3.3 控制板原理 控制板主要包括:接口電路、電源電路和兩路電機的驅動電路。 接口電路:接口電路負責將 61 板的 I/O 接口信號傳送給控制電路板,I/O 信號主要為控制電機需要的IOB8~IOB11這四路信號, 同時
22、為了方便后續(xù)的開發(fā)和完善, 預留了 IOB12~IOB15 以及 IOA8~IOA15 接口,可以在這些接口上添加一些傳感器。 3.3.1 全橋驅動原理 全橋驅動又稱 H橋驅動,下面介紹一下 H橋的工作原理: H橋一共有四個臂,分別為 B1~B4,每個臂由一個開關控制,示例中為三極管 Q1~Q4。 如果讓 Q1、Q2 導通 Q3、Q4 關斷,如圖 3-7所示,此時電流將會流經 Q1、負載、Q2 組成的回路,電機正轉。 圖 3-7 B1、B2 工作時的 H 橋電路簡圖 圖 3-8 B3、B4 工作時的 H 橋電路簡圖 如果讓 Q1、Q2 關斷 Q3、
23、Q4 導通,如圖 3-8 所示,此時電流將會流經 Q3、負載、Q4 組成的回路,電機反轉。 如果讓 Q1、Q2 關斷 Q3、Q4 也關斷,負載 Load 兩端懸空,如圖 3-9 所示,此時電機停轉。這樣就實現了電機的正轉、如果讓 Q1、Q2 導通 Q3、Q4 也導通,那么電流將會流經 Q1、Q4 組成的回路以及 Q2和 Q3 組成的回路,如圖 3-10 所示,這時橋臂上會出現很大的短路電流。在實際應用時注意避免出現橋臂短路的情況,這會給電路帶來很大的危害,嚴重的會燒毀電路。 圖 3-9 B1~B4 全部停止工作時的 H 橋簡圖 圖 3-10 B1~B4 全部工作時的 H
24、 橋簡圖反轉、停止三態(tài)控制。 3.3.2 動力電機驅動 動力驅動由后輪驅動實現,負責小車的直線方向運動,包括前進和后退,后輪驅動電路是一個全橋驅動電路,如圖 3-11 所示:Q1、Q2、Q3、Q4 四個三極管組成四個橋臂,Q1 和 Q4 組成一組,Q2 和Q3 組成一組,Q5 控制 Q2、Q3 的導通與關斷,Q6 控制 Q1 和 Q4 的導通與關斷,而 Q5、Q6 由 IOB9 和 IOB8控制,這樣就可以通過 IOB8 和 IOB9 控制四個橋臂的導通與關斷控制后輪電機的運行狀態(tài),使之正轉反轉或者停轉,進而控制小車的前進和后退。 圖 3-11 后輪電機驅動電路 當 IO
25、B8 為高電平、IOB9 為低電平時 Q1 和 Q4 導通,Q2 和 Q3 截止,后輪電機正轉,小車前進;反之當 IOB8 為低電平、IOB9 為高電平時 Q1 和 Q4 截止,Q2 和 Q3 導通,后輪電機反轉,小車倒退;而當IOB8、IOB9 同為低電平時 Q1、Q2、Q3 和 Q4 都截止,后輪電機停轉,小車停止運動。 注意:IOB8 和 IOB9 不能同時置高電平,這樣會造成后輪驅動全橋短路現象。 3.3.3 方向電機控制電路 方向控制由前輪驅動實現,包括左轉和右轉,前輪驅動電路也是一個全橋驅動電路, Q7、Q8、Q9、Q10 四個三極管組成四個橋臂,Q7 和 Q10
26、組成一組,Q8 和 Q9 組成一組,Q11 控制 Q8、Q9 的導通與關斷,Q12 控制 Q7 和 Q10 的導通與關斷,而 Q11、Q12 由 IOB10 和IOB11 控制,這樣就可以通過 IOB10 和 IOB11 控制前輪電機的正轉和反轉,進而控制小車的左轉和右轉。 當 IOB10 為高電平、IOB11 為低電平時 Q8 和 Q9導通,Q7 和 Q10 截止,前輪電機正轉,小車前輪朝左偏轉;反之當 IOB10為低電平、IOB11 為高電平時 Q8 和 Q9 截止,Q7和 Q10 導通,前輪電機反轉,小車前輪朝右偏轉;而當 IOB10、IOB11 同為低電平時 Q8 和 Q9截止,Q7
27、 和Q10 也截止,前輪電機停轉,在彈簧作用下前輪被拉回到中間位置,保持直向。 注意:IOB10、IOB11 不能同時為高電平,這樣會造成前輪驅動全橋的橋臂短路。 結合以上對前輪和后輪的狀態(tài)分析,得到小車的運行狀態(tài)與輸入的對照表,如下 表3.1 基本的輸入與小車運動狀態(tài)對照表 IOB11 IOB10 IOB9 IOB8 后電機 前電機 小車 0 0 0 0 停轉 停轉 停 0 0 0 1 正轉 停轉 前進 0 0 1 0 反轉 停轉 倒退 0 1 0 1
28、 正轉 正轉 左前轉 1 0 0 1 正轉 反轉 右前轉 另外還有一些不常用的運行狀態(tài),比如右后轉、左后轉等,結合以上對前輪和后輪的狀態(tài)分析,其端口對照如表3.2所示: 表3.2 輸入與小車的運動狀態(tài)對照表 IOB11 IOB10 IOB9 IOB8 后電機 前電機 小車 0 1 1 0 正轉 正轉 右后轉 1 0 1 0 正轉 反轉 左后轉 注意:為了小車的安全請不要出現以下兩種組合情況: 表3.3 禁止的輸入狀態(tài)列表 ? IOB11 IOB10 IOB9
29、 IOB8 后電機 前電機 小車 * * 1 1 停轉 * 停 1 1 * * * 停轉 停 3.4 芯片特性簡介 3.4.1 SPCE061A特性簡介 SPCE061A 是凌陽科技研發(fā)生產的性價比很高的一款十六位單片機,使用它可以非常方便靈活的實現語音的錄放,該芯片擁有 8 路 10 位精度的 ADC,其中一路為音頻轉換通道,并且內置有自動增益電路。這為實現語音錄入提供了方便的硬件條件。兩路 10 位精度的 DAC,只需要外接功放(SPY0030A)即可完成語音的播放。另外凌陽十六位單片機具有一套易學易
30、用的指令系統(tǒng)和集成開發(fā)環(huán)境,在此環(huán)境中,它支持標準 C語言編程,也支持 C 語言與匯編語言的互相調用。另外還提供了語音錄放的庫函數,只要了解庫函數的使用,就可以很容易的完成語音的錄放、識別等功能,這些都為軟件開發(fā)提供了方便的條件。 SPCE061A特性: 16位μ’nSP微處理器; 工作電壓:內核工作電壓VDD為 3.0V~3.6V(CPU),I/O口工作電壓VDDH為VDD~5.5V(I/O); CPU時鐘:0.32MHz~49.152MHz; 內置2K 字 SRAM; 內置32K 閃存 ROM; 可編程音頻處理;
31、 晶體振蕩器; 系統(tǒng)處于備用狀態(tài)下(時鐘處于停止狀態(tài)),耗電小于 2μA@3.6V; 2 個 16 位可編程定時器/計數器(可自動預置初始計數值); 2 個 10 位 DAC(數-模轉換)輸出通道; 32 位通用可編程輸入/輸出端口; 14 個中斷源可來自定時器 A / B,時基,2 個外部時鐘源輸入,鍵喚醒; 具備觸鍵喚醒的功能; 使用音頻編碼 SACM_S240 方式(2.4K 位/秒),能容納 210 秒的語音數據; 鎖相環(huán) PLL 振蕩器提供系統(tǒng)時鐘信號; 32768H
32、z 實時時鐘; 7 通道 10 位電壓模-數轉換器(ADC)和單通道聲音模-數轉換器; 聲音模-數轉換器輸入通道內置麥克風放大器和自動增益控制(AGC)功能; 具備串行設備接口; 低電壓復位(LVR)功和低電壓監(jiān)測(LVD)功能; 內置在線仿真板(IC E,In-C ircuitEm ulator)接口。 3.4.2 開發(fā)板61板簡介 “61 板”是SPCE061A EMU BOARD的簡稱,是以凌陽 16 位單片機 SPCE061A為核心的精簡開發(fā)-仿真-實驗板,大小相當于一張撲克牌。 “61板”除了具備單片機最小系統(tǒng)電路外,
33、還包括有電源電路、復位電路、ICE 電路、音頻電路(含 MIC 輸入部分和 DAC 音頻輸出部分)等, “61 板”可以采用電池供電。圖 3-12 所示為該精簡開發(fā)板的實物圖。 圖 3-12 61 板實物圖 3.5 電源模塊 整個小車有 4 個電源信號:電池電源,控制板工作電源,61板工作電源,61 板的 I/O輸出電源。系統(tǒng)供電由電池提供,控制板直接采用電池供電(VCC),然后經二極管 D1 后產生 61 板電源(VCC_61),通過 61 板的 Vio 跳線產生 61 板的端口電源(V1)。 二極管 D1 作用: 1、 降壓,4 節(jié)電池提供
34、的電壓 VCC 最大可達到 6V,D1 可有效地降壓。 2、 保護,D1 可以防止電源接反燒壞 61 板。 第四章 系統(tǒng)軟件設計 4.1 系統(tǒng)的主程序流程 圖 4-1 4.1.1 初始化部分 初始化操作將 IOB8~IOB11 設置為輸出端,用以控制電機。必要時還要有對應的輸入端設置和 PWM 端口設置等。 4.1.2 訓練部分 訓練部分完成的工作就是建立語音模型。程序一開始判斷小車是否被訓練過,如果沒有訓練過則要求對其進行訓練,并且會在訓練成功之后將訓
35、練的模型存儲到 Flash,在以后使用時不需要重新訓練;如果已經訓練過會把存儲在 Flash 中的模型調出來裝載到辨識器中。 4.1.3 識別部分 在識別環(huán)節(jié)當中,如果辨識結果是名字,停止當前的動作并進入待命狀態(tài),然后等待動作命令。如果辨識結果為動作指令小車會語音告知相應動作并執(zhí)行該動作,在運動過程中可以通過呼叫小車SPCE061A在語音控制小車中的應用的名字使小車停下來。 4.1.4 重訓操作 考慮到有重新訓練的需求,設置了重新訓練的按鍵(61 板的 KEY3),循環(huán)掃描該按鍵,一旦檢測到此鍵按下,則將擦除訓練標志位(0xe000 單元),并等待復位。復位后,程
36、序重新執(zhí)行,當檢測到訓練標志位為 0xffff 時會要求重新對其進行訓練。 4.2 主函數模塊程序 //============================================================ // 語法格式: int main(void); // 實現功能: 主函數 //============================================================ int main(void) { unsigned int BS_Flag; //Train標志位 *P_IOA_Dir=0xff00;
37、 //初始化IOA,IOA0~7下拉輸入 *P_IOA_Attrib=0xff00; *P_IOA_Data=0x0000; *P_IOB_Dir=0x0f00; //初始化IOB,IOB8~11同向輸出 *P_IOB_Attrib=0x0f00; *P_IOB_Data=0x0000; BSR_DeleteSDGroup(0); //初始化存儲器RAM BS_Flag=*(unsigned int *)0xe000; //讀存儲單元0xe000 if(BS_Flag==0xffff) //沒有經過訓練(
38、0xe000內容為0xffff) { TrainSD(); //訓練 StoreSD(); //存儲訓練結果(語音模型) } else //經過訓練(0xe000內容為0x0055) { LoadSD(); //語音模型載入識別器 } PlaySnd(S_START,3); //開始識別提示 BSR_InitRecognizer(BSR_MIC); //初始化識別器 while(1) { BSR(); if((*P_IOA_Data)&
39、0x0004) //是否重新訓練 { F_FlashErase(0xe000); while(1); } } } 4.3 語音識別的原理 語音識別主要分為“訓練”和“識別”兩個階段。在訓練階段,單片機對采集到的語音樣本進行分析處理,從中提取出語音特征信息,建立一個特征模型;在識別階段,單片機對采集到的語音樣本也進行類似的分析處理,提取出語音的特征信息,然后將這個特征信息模型與已有的特征模型進行對比,如果二者達到了一定的匹配度,則輸入的語音被識別。 4.4 語音訓練識別程序 訓練采用應答式訓練,每條指令的訓練次數為兩次,在語音提示下進
40、行,并且能進行容錯處理,整個的訓練過程共有5次這樣的訓練,依次為名稱一前進一后退一左拐一右拐,以“前進”為例說明。 步驟一:小車提示語音“前進”;告訴小車“前進”;步驟二:小車提示語音“請再說一遍” (重復訓練提示音);再次告訴小車“前進”。如果訓練成功,小車會自動進入下一條指令的訓練,并會提示下一條指令對應的動作;如果沒有訓練成功,小車會提示“說什么暗語呀” 或者“沒有聽到任何聲音”等信息,這樣的話就要重復剛才所說的4個步驟,直到成功為止。在小車訓練完畢之后,就進入識別“準備就緒”狀態(tài),向小車“喊話”,程序就識別“喊話”的命令,將對使用者輸入的語音命令進行記錄并與存儲的語音模型進行比較匹配
41、,以確定是輸入的何種命令。 下面是訓練部分的子程序模塊: //============================================================ // 語法格式: void TrainSD(); // 實現功能: 訓練函數 //============================================================ void TrainSD() { while(TrainWord(NAME_ID,S_NAME) != 0) ; //訓練名稱 while(TrainWord(COMMAND_GO
42、_ID,S_ACT1) != 0) ; //訓練第1個動作 while(TrainWord(COMMAND_BACK_ID,S_ACT2) != 0) ; //訓練第2個動作 while(TrainWord(COMMAND_LEFT_ID,S_ACT3) != 0) ; //訓練第3個動作 while(TrainWord(COMMAND_RIGHT_ID,S_ACT4) != 0) ; //訓練第4個動作 } 4.5 語音動作子程序 動作子程序包括:前進、倒車、左拐、右拐、停車子程序; 前進:由小車的結構原理和驅動電路分析知:只要 IOB8 為高電平,IOB9
43、,IOB10,IOB11 全部為低電平即可實現小車的前進。前進子程序包括語音提示、置端口數據、啟動定時器操作,該部分程序如下: //============================================================ // 語法格式: void GoAhead(); // 實現功能: 前進子函數 //============================================================ void GoAhead() //前進 { PlaySnd(
44、S_ACT1,3); //提示 *P_IOB_Data=0x0100; //前進 *P_INT_Mask |= 0x0004; //以下為中斷定時操作 __asm("int fiq,irq"); uiTimecont = 0; } 倒車:由小車的結構原理分析和驅動電路分析知:只要 IOB9 為高電平,IOB8,IOB10,IOB11 全部為低電平即可實現小車的倒退。倒退子程序包括語音提示、置端口數據、啟動定時器操作,程序如下: //====================================================
45、======== // 語法格式: void BackUp(); // 實現功能: 后退子函數 //============================================================ void BackUp() //倒退 { PlaySnd(S_DCZY,3); //提示 *P_IOB_Data=0x0200; //倒退 *P_INT_Mask |= 0x0004; //以下為中斷定時操作 __asm("int fiq,irq"); uiT
46、imecont = 0; } 左轉:由小車的結構原理分析和驅動電路分析知:小車左轉需要兩個條件:1.前輪左偏 2.后輪前進,這時對應的 I/O狀態(tài)為:IOB8、IOB10為高電平,IOB9、IOB11為低電平。左轉子程序包括語音提示、置端口數據、啟動定時器操作,該部分程序如下: //============================================================ // 語法格式: void TurnLeft(); // 實現功能: 左轉子函數 //============================================
47、================ void TurnLeft() //左轉 { PlaySnd(S_GJG,3); *P_IOB_Data=0x0900; //右轉 Delay(); //延時 *P_IOB_Data=0x0500; //左轉 *P_INT_Mask |= 0x0004; //以下為中斷定時操作 __asm("int fiq,irq"); uiTimecont = 0; } 注:在左轉之前首先讓前輪右偏,然后再讓前輪朝左偏,這樣前輪的擺動范圍
48、更大,慣性更大,擺幅也最大,能更好實現轉彎。 右轉:由小車的結構原理分析和驅動電路分析知:小車右轉需要兩個條件:1.前輪右偏 2.后輪前進,這時對應的 I/O狀態(tài)為:IOB8、IOB11為高電平,IOB9、IOB10為低電平。右轉子程序包括語音提示、置端口數據、啟動定時器操作,該部分程序如下: //============================================================ // 語法格式: void TurnRight(); // 實現功能: 右轉子函數 //=====================================
49、======================= void TurnRight() //右轉 { PlaySnd(S_GJG,3); //語音提示 *P_IOB_Data=0x0500; //左轉 Delay(); //延時 *P_IOB_Data=0x0900; //右轉 *P_INT_Mask |= 0x0004; //以下為中斷定時操作 __asm("int fiq,irq"); uiTimecont = 0; } 注:在右轉之前首先
50、讓前輪左偏,然后再讓前輪朝右偏,這樣前輪的擺動范圍更大,慣性更大,擺幅也最大,能更好實現轉彎。 停車:由小車的結構原理分析和驅動電路分析知:小車停車只需要將兩個驅動電機都停了即可程序如下: //============================================================ // 語法格式: void Stop(); // 實現功能: 停車子函數 //============================================================ void Stop()
51、 //停車 { *P_IOB_Data=0x0000; //停車 PlaySnd(S_RDY,3); //語音提示 } 4.6 中斷子程序 雖然已經有了前進、后退以及停車(通過直接呼叫小車的名字使其停車)等語音控制指令,但是考慮環(huán)境的干擾因素,小車運行時的噪音影響和有效距離的限制,小車運行后可能接收不到語音指令而一直運行。為了防止出現這種情況,加入了時間控在啟動小車運行的同時啟動定時器,定時器時間到停止小車的運行,該定時器借助于2Hz時基中斷完成,圖所示為該程序的流程圖??梢栽诔绦蛑行薷膗iTimeset參數來控制運行時間,
52、當uiTimeset=2時,運行時間為1s,以此類推。 圖4-2中斷流程圖 //============================================================ // 語法格式: void IRQ5(void); // 實現功能: 中斷服務子函數 //============================================================ void IRQ5(void)__attribute__((ISR)); //運動定時控制 void IRQ5(vo
53、id) { if(uiTimecont++ == uiTimeset) { *P_IOB_Data = 0x0000; } *P_INT_Clear = 0x0004; } 結 論 本系統(tǒng)采用凌陽SPCE061A16位單片機實現。內部集成了2K字的RAM,32K字的Flash加上用凌陽SPCE061A16位單片機實現不需要外擴程序存儲器和RAM,也不用外接語音芯片,即可實現語音辨識和一系列職能動作。由于采用了高性能的MCU,省掉了大量的外圍器件,如外擴RAM,ROM存儲器等,使硬件結構
54、大大簡化,提高了系統(tǒng)的可靠性。其軟件編程采用C和匯編混合編程來實現,集兩種語言的優(yōu)點于一體,極大限度地簡化了編程過程,豐富了編程思想,給我們設計帶來了極大的方便。如果采用別的單片機則一般要2個單片機才能實現所有功能,硬件電路也更加復雜。若要實現語音播報功能和語音辨識,即使多用幾個其他類型的單片機也不可能實現,而凌陽單片機提供了很好的語音播放和錄制機制以及簡單的API接口編程。利用凌陽單片機技術來實現語音控制功能將會廣泛地運用在通信等領域。 本設計模擬未來小車,成功地實現了語音控制功能,操作比較簡單,訓練和識別成功的幾率也比較高,語音命令識別率9O 以上,是一個典型的語音識別控制應用方案。該語
55、音控制小車以其精巧、便攜的特點,也可作為汽車玩具,可產品化。 致 謝 四年的大學生活即將成為過去,在此,我首先要衷心地感謝我們東華理工大學的所有老師,感謝他們對我這四年的教導,不管是在學業(yè)上或是在生活上,我都受益匪淺,感謝母校為我提供了良好的學習環(huán)境;感謝陳堅老師對我畢業(yè)論文的指導,之前曾多次就畢業(yè)論文中所遇到的問題與陳堅老師進行探討,陳老師總能抽出他寶貴的時間對我所遇到的問題一一給予解答,在論文的寫作過程中,也得到了許多同學的寶貴建議,感謝所有關心幫助我的良師益。 對在我大學期間在
56、學習和生活上給予我無私幫助的各位老師和同學,在此向你們致以我由衷的謝意! 參考文獻 [1] 陳繼榮. 智能電子創(chuàng)新制作——機器人制造入門.科學出版社 2009年4月 [2] 雷思孝 ,李伯成,雷向麗. 凌陽16位單片機原理及應用. 西安電子科技大學出版社.2004年1月 [3] [美] David Cook 畢樹生 李大寨 高志慧 譯. 機器人制作提高篇[M] 北京:北京航空航天大學出版社.2005 [4] 威海明,揚興瑤. 實用電子電路500例. 化學工業(yè)出版社
57、. 43-56 [5] 余祖俊. 微機監(jiān)測與控制應用系統(tǒng)設計. 北方交通大學出版社 2001年12月 [6] 童詩白,花成英. 模擬電子技術基礎[M]. 高等教育出版社 [7] 彈浩強. C語言程序設計. 清華大學出版社 [8] 朱兆優(yōu),陳堅,王海濤. 單片機原理與應用. 電子工業(yè)出版社 [9] 姜志玲.簡易智能電動車的設計[J].華東交通大學學報,2005,22(5):24-28. [10] 張飛舟,沈程智,范躍祖.利用單片機實現智能控制[J].電子技術應用,1998,17(9):21.23. [11] 肖毅,肖明.單片機抗干擾技術及應用[J].電子產品世界,20
58、02,9(2):13-16. [12] 羅亞非.凌陽16位單片機應用基礎[M].北京:北京航空航天大學出版社,2005:9—10. [13] 顏利彪,范蟠果.基于單片機的簡易智能電動車[J].電子技術,2004,41(4):25-28. [14] 馬麗靜.基于單片機控制的語音識別系統(tǒng)的軟件開發(fā)[J].電腦開發(fā)與應用,2003,18(5):37—38. [15] 李晶皎.嵌入式語音技術及凌陽16位單片機應用[M].北京:北京航空航天大學出版社,2003:6-8. [16] Chiang, H.-H. The Human-in-the-Loop Design Approach t
59、o the Longitudinal Automation System for an Intelligent Vehicle[J]. IEEE transactions on systems, man, and cybernetics. Part A, Systems and humans [17] Bener, A., Mohammed, G., and Khaled, N. (2008). The impact of four-wheel drive on risky driver behaviours and road traffic accidents. Transportation Research Part F, 11, pp. 324–333. 附 錄 控制板原理圖 覆銅的PCB板 28
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。