語(yǔ)音遙控小汽車控制系統(tǒng)設(shè)計(jì)
《語(yǔ)音遙控小汽車控制系統(tǒng)設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《語(yǔ)音遙控小汽車控制系統(tǒng)設(shè)計(jì)(52頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 大連理工大學(xué)城市學(xué)院 本科生畢業(yè)設(shè)計(jì)(論文) 學(xué)院(系): 電子與自動(dòng)化學(xué)院 專 業(yè): 電子信息工程 學(xué) 生: 楊 勇 指導(dǎo)教師: 馬 彧 完成日期: 2009年5月11日 大連理工大學(xué)城市學(xué)院本科生畢業(yè)設(shè)計(jì)(論文)題目名稱 語(yǔ)音遙控小汽車控制系統(tǒng)設(shè)計(jì) 總計(jì) 畢業(yè)設(shè)計(jì)(論文) 44頁(yè)
2、 表 格 3 表 插 圖 18幅 摘 要 語(yǔ)音信號(hào)處理是許多信息領(lǐng)域應(yīng)用的的核心技術(shù)之一,是目前發(fā)展最為迅速的的信息科學(xué)研究領(lǐng)域中的一個(gè)。本文將語(yǔ)音技術(shù)與單片機(jī)結(jié)合起來(lái),設(shè)計(jì)了小汽車語(yǔ)音控制系統(tǒng),通過(guò)語(yǔ)音指令對(duì)小汽車的行駛狀態(tài)進(jìn)行控制,實(shí)現(xiàn)小汽車的前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)及停車。本設(shè)計(jì)主要利用AT89C52單片機(jī)作為核心器件實(shí)現(xiàn)對(duì)電動(dòng)小汽車行駛過(guò)程進(jìn)行控制,采用語(yǔ)音識(shí)別芯片AP7003,實(shí)現(xiàn)對(duì)特定人的語(yǔ)音識(shí)別,并通過(guò)I/O口將識(shí)別信息傳遞給單片機(jī),實(shí)現(xiàn)對(duì)小汽車行駛狀態(tài)的控制;利用紅外傳感器探測(cè)小汽車行駛路線中的障礙物,并將探測(cè)信息傳遞給單片機(jī),實(shí)現(xiàn)小汽車的自
3、動(dòng)避障;用光電開(kāi)關(guān)檢測(cè)履帶轉(zhuǎn)過(guò)的次數(shù),實(shí)現(xiàn)對(duì)小汽車行駛里程的檢測(cè),并用數(shù)碼管顯示小汽車的行駛里程。 關(guān)鍵詞:語(yǔ)音識(shí)別;單片機(jī);紅外傳感器;光電開(kāi)關(guān) Abstract Voice signal processing is a nuclear technology which is used in many information fields. It is one of the fastest developed technologies. This paper designs a voice control system of autocar though integrating o
4、f MCU and voice signal processing. It is available to control autocar’s situation, such as moveforward, moveback, turnleft, turnright and stop by voice command. AT89C52 is used in this paper as the core device to control the motion process of the car. Voice recognition chip AP7003 allows the voice r
5、ecognitin of special person, then send the information of I/O port back to MCU which control the car’s situation by this information. By infrared sensor detecting obstacles in the way of the car, the car can avoid obstacles automatically by the control of MCU based on the information of inspection.
6、The milegae of the car is recorded by photoelectric switches, which count numbers of the wheels passed, and is displayed by 7-seg LED. Keywords: voice recognition; Micro Control Unit(MCU); infrared sensor; photoelectric switches 目 錄 第1章 緒 論 1 1.1 課題背景 1 1.2 課題任務(wù)及要求 2 1.3 課題內(nèi)容及安排 2 第
7、2章 語(yǔ)音遙控小汽車的總體方案論證 3 2.1 語(yǔ)音遙控小汽車硬件方案論證 3 2.2 語(yǔ)音遙控小汽車硬件方案選擇 5 第3章 語(yǔ)音遙控小汽車的硬件設(shè)計(jì) 6 3.1 硬件設(shè)計(jì)的整體思路 6 3.2 單片機(jī)的選擇 7 3.3 復(fù)位電路的設(shè)計(jì) 9 3.4 語(yǔ)音識(shí)別電路硬件設(shè)計(jì) 10 3.5 電機(jī)驅(qū)動(dòng)電路硬件設(shè)計(jì) 12 3.6 顯示電路硬件設(shè)計(jì) 14 3.7 檢測(cè)電路硬件設(shè)計(jì) 16 3.7.1 障礙物檢測(cè)電路設(shè)計(jì) 16 3.7.2 行駛里程檢測(cè)電路設(shè)計(jì) 18 第4章 語(yǔ)音控制小汽車的軟件設(shè)計(jì) 21 4.1 上電初始化子程序設(shè)計(jì) 21 4.2 避障子程序設(shè)計(jì) 22 4.
8、3 聲控子程序 22 4.4 主程序設(shè)計(jì) 23 第5章 語(yǔ)音控制小汽車的整體調(diào)試 26 5.1 調(diào)試分析 26 5.2 故障調(diào)試及解決方式 27 5.3 聯(lián)調(diào)結(jié)果 27 結(jié) 論 29 社會(huì)經(jīng)濟(jì)效益分析 30 參考文獻(xiàn) 31 致 謝 33 附錄Ⅰ 語(yǔ)音控制小汽車的硬件原理圖 34 附錄Ⅱ 程序清單 35 附錄Ⅲ 元器件清單 44 語(yǔ)音遙控小汽車控制系統(tǒng)設(shè)計(jì) 第1章 緒 論 1.1 課題背景 語(yǔ)音信號(hào)處理是目前發(fā)展最為迅速的信息科學(xué)研究領(lǐng)域中的一個(gè),其研究涉及一系列前沿課題,且處于迅速發(fā)展之中。其研究成果具有重要
9、的學(xué)術(shù)及應(yīng)用價(jià)值。 語(yǔ)音處理技術(shù)在結(jié)合單片機(jī)應(yīng)用的過(guò)程中不斷得到深入。單片機(jī)不但以其高可靠性、高性價(jià)比,在工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、智能化儀器儀表、現(xiàn)代通信設(shè)備、嵌入式系統(tǒng),以及測(cè)控領(lǐng)域等方面得到了廣泛的應(yīng)用,更由于16位單片機(jī)的出現(xiàn),處理能力得到提高,具備DSP功能,可以采用單片機(jī)技術(shù)直接對(duì)語(yǔ)音信號(hào)進(jìn)行處理和應(yīng)用,使單片機(jī)作為微控制器具備了更多更強(qiáng)的功能。 從技術(shù)角度講,語(yǔ)音信號(hào)處理是信息高速公路、多媒體技術(shù)、辦公自動(dòng)化、現(xiàn)代通信及智能系統(tǒng)等新興領(lǐng)域應(yīng)用的核心技術(shù)之一。用數(shù)字化的方法進(jìn)行語(yǔ)音的傳送、存儲(chǔ)、識(shí)別、合成、增強(qiáng)等是整個(gè)數(shù)字化通信網(wǎng)中最重要、最基本的組成部分之一。同時(shí),自然語(yǔ)言
10、作為一種理想的人機(jī)通信方式,可為計(jì)算機(jī)、自動(dòng)化系統(tǒng)等建立良好的人機(jī)交互環(huán)境,提高社會(huì)的信息化和自動(dòng)化程度。目前,語(yǔ)言技術(shù)處于蓬勃發(fā)展時(shí)期,有大量產(chǎn)品投放市場(chǎng),并且不斷有新產(chǎn)品被開(kāi)發(fā)研制,具有廣闊的市場(chǎng)需要和應(yīng)用前景。而語(yǔ)音控制小汽車作為現(xiàn)代汽車研究領(lǐng)域的模型,正在迅速地發(fā)展,并已應(yīng)用于玩具、小型機(jī)器人等領(lǐng)域,對(duì)于現(xiàn)代汽車行業(yè)的研究和發(fā)展有著重要的意義。 語(yǔ)音信號(hào)處理是許多信息領(lǐng)域應(yīng)用的的核心技術(shù)之一,是目前發(fā)展最為迅速的的信息科學(xué)研究領(lǐng)域中的一個(gè)。語(yǔ)音處理是目前極為活躍和熱門的研究領(lǐng)域,其研究涉及一系列前沿科研課題,并處于迅速發(fā)展之中,其研究成果具有重要的學(xué)術(shù)和應(yīng)用價(jià)值。結(jié)合單片機(jī)的進(jìn)一步使
11、用,更將廣泛地應(yīng)用于現(xiàn)代工業(yè)檢測(cè)、控制等實(shí)用技術(shù)中。 1.2 課題任務(wù)及要求 本畢業(yè)設(shè)計(jì)主要利用AT89C52單片機(jī)作為核心器件實(shí)現(xiàn)對(duì)電動(dòng)小汽車行駛過(guò)程進(jìn)行控制,采用語(yǔ)音識(shí)別技術(shù),通過(guò)語(yǔ)音命令對(duì)小汽車行駛狀態(tài)進(jìn)行控制,如前進(jìn)、后退、左轉(zhuǎn)和右轉(zhuǎn)。并配合相應(yīng)的傳感器實(shí)現(xiàn)小汽車的自動(dòng)避障,當(dāng)小汽車檢測(cè)到四周都有障礙物時(shí),能夠?qū)崿F(xiàn)自動(dòng)停車。其中,主要研究?jī)?nèi)容為:語(yǔ)音識(shí)別技術(shù)、單片機(jī)驅(qū)動(dòng)電機(jī)、紅外傳感器的應(yīng)用、數(shù)碼管的顯示等。設(shè)計(jì)結(jié)果應(yīng)符合以下指標(biāo): (1) 通過(guò)簡(jiǎn)單的I/O口操作實(shí)現(xiàn)小汽車的前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn); (2) 在行走過(guò)程中可以改變小車的運(yùn)動(dòng)狀態(tài),實(shí)現(xiàn)小汽車的自動(dòng)避障; (3)
12、在超出一定范圍時(shí)能夠自動(dòng)停車。 1.3 課題內(nèi)容及安排 本設(shè)計(jì)需要設(shè)計(jì)一個(gè)語(yǔ)音小汽車控制系統(tǒng),主要分為:語(yǔ)音識(shí)別模塊,檢測(cè)模塊,顯示模塊和驅(qū)動(dòng)模塊,本文主要完成以上模塊的硬件設(shè)計(jì)和聯(lián)合調(diào)試,本文安排如下: 第一章:緒論,概述論文寫作背景。 第二章:本設(shè)計(jì)的總體方案論證,包括方案比較和方案選擇。 第三章:本設(shè)計(jì)的硬件設(shè)計(jì),包括各個(gè)模塊的原理圖。 第四章:本設(shè)計(jì)的軟件設(shè)計(jì),包括程序流程圖和編程思想。 第五章:系統(tǒng)聯(lián)合調(diào)試,包括出現(xiàn)的問(wèn)題和解決方案以及調(diào)試結(jié)果。 第2章 語(yǔ)音遙控小汽車的總體方案論證 2.1 語(yǔ)音遙控小汽車硬件方案論證 本設(shè)計(jì)首先需要確定小汽車的類型,其
13、次要確定所需傳感器的類型和數(shù)量,題目要求小汽車能自動(dòng)避障并用數(shù)碼管顯示小汽車的行駛里程。因此需要四個(gè)傳感器探測(cè)小汽車周圍的障礙物和另外一個(gè)傳感器檢測(cè)小汽車的行駛里程,共需要五個(gè)傳感器。有如下兩種方案可供選擇: 方案一: 語(yǔ)音控制小車采用四輪結(jié)構(gòu),其中前面兩個(gè)車輪由前輪電機(jī)控制,在連桿和支點(diǎn)作用下控制前輪左右擺動(dòng),來(lái)調(diào)節(jié)小車的前進(jìn)方向。在自然狀態(tài)下,前輪在彈簧作用下保持中間位置。后面兩個(gè)車輪由后輪電機(jī)驅(qū)動(dòng),為整個(gè)小車提供動(dòng)力。所以又稱前面的輪子為方向輪,后面的兩個(gè)輪子為驅(qū)動(dòng)輪,結(jié)構(gòu)圖如圖2.1所示。 圖2.1 輪式小汽車結(jié)構(gòu)示意圖 小汽車的行駛原理如下: 前進(jìn):由小車的結(jié)構(gòu)分析,在
14、自然狀態(tài)下,前輪在彈簧作用下保持中間狀態(tài),這是只要后輪電機(jī)正轉(zhuǎn)小車就會(huì)前進(jìn)。 后退:倒車動(dòng)作和前進(jìn)動(dòng)作剛好相反,前輪電機(jī)仍然保持中間狀態(tài),后輪電機(jī)反轉(zhuǎn),小車就會(huì)向后運(yùn)動(dòng)。 左轉(zhuǎn):前輪電機(jī)逆時(shí)針旋轉(zhuǎn)(規(guī)定為正轉(zhuǎn)),后輪電機(jī)正轉(zhuǎn),這時(shí)小車就會(huì)在前后輪共同作用下朝左側(cè)前進(jìn)。 右轉(zhuǎn):前輪電機(jī)反轉(zhuǎn),后輪電機(jī)正轉(zhuǎn),這時(shí)小車就是會(huì)在前后輪共同作用下朝右側(cè)前進(jìn)。 傳感器的選擇及安放:本設(shè)計(jì)要求小汽車能自動(dòng)避障并用數(shù)碼管顯示小汽車的行駛里程。因此需要用傳感器探測(cè)小汽車周圍的障礙物,可以選用反射式紅外傳感器,顯示里程時(shí)需要檢測(cè)車輪轉(zhuǎn)過(guò)的次數(shù),小汽車后輪空間太小,無(wú)法安裝傳感器,只能安裝在小車前輪,由于車輪
15、結(jié)構(gòu)的原因,反射式傳感器無(wú)法滿足要求,可選用霍爾傳感器,這就需要在車輪上固定一塊磁性物質(zhì),增加了設(shè)計(jì)的復(fù)雜度,降低了系統(tǒng)的可靠性。 方案二: 語(yǔ)音控制小汽車采用履帶式,履帶式小汽車左右兩側(cè)各有一個(gè)電機(jī),分別控制兩個(gè)履帶的轉(zhuǎn)動(dòng),結(jié)構(gòu)圖如圖2.2所示。 圖2.2 履帶式小汽車結(jié)構(gòu)示意圖 履帶式小汽車的行走原理如下: 前進(jìn):由履帶式小車的結(jié)構(gòu)可知,只要小汽車兩側(cè)的電機(jī)同時(shí)正轉(zhuǎn),即可使小汽車前進(jìn)。 后退:小汽車兩側(cè)的電機(jī)同時(shí)反轉(zhuǎn),即可使小汽車后退。 左轉(zhuǎn):由履帶式小汽車的結(jié)構(gòu)特點(diǎn)可知,只要使小汽車的左側(cè)電機(jī)停轉(zhuǎn),同時(shí)使小汽車右側(cè)電機(jī)正轉(zhuǎn)即可使小汽車左轉(zhuǎn)。 右轉(zhuǎn):使小汽車的右側(cè)電機(jī)停轉(zhuǎn),
16、同時(shí)使小汽車的左側(cè)電機(jī)正轉(zhuǎn),即可實(shí)現(xiàn)小汽車的右轉(zhuǎn)。 停車:同時(shí)使小汽車兩側(cè)的電機(jī)停轉(zhuǎn),即可實(shí)現(xiàn)小汽車的停車。 傳感器的安放:由于履帶式小汽車車體結(jié)構(gòu)比較大,有充足的空間安放傳感器,紅外傳感器的安放如圖2.2所示,前方放置三個(gè),分別位于小車的左、中、右三個(gè)位置,小車的后方放置一個(gè)。由于履帶式小汽車的轉(zhuǎn)臺(tái)與履帶之間有一定的空隙,可以把反射式光電開(kāi)關(guān)直接安放在轉(zhuǎn)臺(tái)下方,并且對(duì)準(zhǔn)小車的履帶,通過(guò)檢測(cè)履帶轉(zhuǎn)過(guò)的次數(shù)來(lái)記錄小車的行駛里程。 2.2 語(yǔ)音遙控小汽車硬件方案選擇 方案一的優(yōu)缺點(diǎn):輪式小汽車反應(yīng)速度快,比較靈活,同時(shí)車輪與地面摩擦力小,消耗的功率較少;但輪式小汽車的行進(jìn)速度較高,不容易控
17、制,轉(zhuǎn)彎角度較小,實(shí)現(xiàn)避障比較困難;并且在轉(zhuǎn)彎時(shí)轉(zhuǎn)向電機(jī)發(fā)生堵轉(zhuǎn),對(duì)電源造成較大的影響,有可能使單片機(jī)不能正常工作,同時(shí),輪式小汽車的體積很小,這給傳感器和電路板的安裝帶來(lái)一定的困難。 方案二的優(yōu)缺點(diǎn):履帶式小汽車行駛速度較慢,比較笨重,但它容易控制,同時(shí)在需要轉(zhuǎn)彎時(shí)只需將相應(yīng)的電機(jī)停轉(zhuǎn)即可,不會(huì)發(fā)生電機(jī)堵轉(zhuǎn)的情況并且可以實(shí)現(xiàn)任意角度轉(zhuǎn)彎,同時(shí)履帶式小汽車體積較大,有足夠的空間安裝傳感器;由于小汽車的轉(zhuǎn)臺(tái)上方空間很大,可以把焊接的電路板直接放置在小汽車轉(zhuǎn)臺(tái)的上面,即保證了電路板不受損壞,同時(shí)又方便對(duì)電路板的檢查和排錯(cuò)。但小汽車的履帶與地面之間的摩擦力比較大,所消耗的功率也很大。 經(jīng)過(guò)方案一
18、和方案二的比較,方案二的可行性更大,因此,本設(shè)計(jì)采用履帶式小汽車。 第3章 語(yǔ)音遙控小汽車的硬件設(shè)計(jì) 3.1 硬件設(shè)計(jì)的整體思路 小汽車控制系統(tǒng)的硬件設(shè)計(jì)采用模塊化思想,把整個(gè)硬件系統(tǒng)分為語(yǔ)音識(shí)別模塊、驅(qū)動(dòng)模塊、檢測(cè)模塊、顯示模塊。在設(shè)計(jì)過(guò)程中,先焊接主模塊(顯示模塊),焊接好之后,加入測(cè)試程序,如果數(shù)碼管顯示正常,則顯示模塊焊接無(wú)誤。在此基礎(chǔ)上,再往系統(tǒng)板上添加其它模塊,每添加一個(gè)模塊,測(cè)試系統(tǒng)是否能正常工作,如果不能正常工作,就說(shuō)明添加的模塊有問(wèn)題。采用這樣的方法,一旦發(fā)現(xiàn)問(wèn)題,就能及時(shí)找出問(wèn)題模塊,便于排錯(cuò),節(jié)省了大量時(shí)間,大大的提高了效率。系統(tǒng)總體框圖如圖3.1所示:
19、圖3.1 語(yǔ)音控制小汽車總體框圖 由語(yǔ)音識(shí)別模塊對(duì)特定人語(yǔ)音進(jìn)行識(shí)別,識(shí)別成功之后,向單片機(jī)發(fā)出控制指令,單片機(jī)接到指令之后,把電機(jī)驅(qū)動(dòng)模塊相應(yīng)端口置位或復(fù)位,實(shí)現(xiàn)對(duì)小汽車行駛狀態(tài)的控制。由檢測(cè)模塊對(duì)小汽車周圍的障礙物進(jìn)行檢測(cè),當(dāng)檢測(cè)到有障礙物時(shí),傳感器引發(fā)單片機(jī)的外部中斷,中斷服務(wù)子程序?qū)鞲衅鞯男畔⑦M(jìn)行采集,單片機(jī)根據(jù)傳感器的不同狀態(tài)對(duì)電機(jī)驅(qū)動(dòng)模塊發(fā)出不同的控制指令,實(shí)現(xiàn)小汽車的自動(dòng)避障。另外一個(gè)紅外傳感器對(duì)小汽車履帶轉(zhuǎn)過(guò)的次數(shù)計(jì)數(shù),單片機(jī)把計(jì)數(shù)值送入顯示模塊,由LED顯示小汽車的行駛里程。 3.2 單片機(jī)的選擇 單片機(jī)自從問(wèn)世以來(lái)就一直是工業(yè)檢測(cè)、控制應(yīng)用的主角。市場(chǎng)上常用的單片機(jī)
20、有Intel公司的MCS-51系列,日本松下公司的MN6800系列等。其中,MCS-51由于單片機(jī)應(yīng)用系統(tǒng)具有體積小,可靠性高,功能強(qiáng),價(jià)格低等特點(diǎn),很容易作為產(chǎn)品進(jìn)行生產(chǎn)而更受青睞。 89C52是一種低功耗高性能的具有8K字節(jié)可電氣燒錄及可擦除的程序ROM的八位CMOS單片機(jī)。該器件是用高密度、非易丟失存儲(chǔ)技術(shù)制造并且與國(guó)際工業(yè)標(biāo)準(zhǔn)89C51單片機(jī)指令系統(tǒng)和引腳完全兼容。 綜上所述,從使用方便與簡(jiǎn)化電路以及其性價(jià)比等角度來(lái)考慮,89C52比較合適的。本系統(tǒng)采用的CPU為89C52的單片機(jī),89C52本身帶有8K的內(nèi)存儲(chǔ)器,可以在編程器上實(shí)現(xiàn)閃爍式的電擦寫達(dá)幾萬(wàn)次以上,比以往慣用的8031
21、CPU外加EPROM為核心的單片機(jī)系統(tǒng)在硬件上具有更加簡(jiǎn)單、方便等優(yōu)點(diǎn),而且完全兼容MCS-51系列單片機(jī)的所有功能。89C52管腳圖如圖3.2所示, 圖3.2 89C52引腳圖 89C52的主要管腳功能如下: VCC(40):電源+5V;VSS(20):接地;P0口(32-39):雙向I/O口,既可作低8位地址和8位數(shù)據(jù)總線使用,也可作普通I/O口;P3口(10-17):多用途端口,既可作普通I/O口,也可按每位定義的第二功能操作;P2口(21-28):既可作高8位地址總線,也可作普通I/O口;P1口(1-8): 準(zhǔn)雙向通用I/O口;RST(9):復(fù)位信號(hào)輸入端;ALE/PRO
22、G:地址鎖存信號(hào)輸出端;PSEN:內(nèi)外程序存儲(chǔ)器選擇線;XTAL1(19)和XTAL2(18):外接石英晶體振蕩器。 3.3 復(fù)位電路的設(shè)計(jì) 89系列單片機(jī)與其他微處理器一樣,在啟動(dòng)時(shí)都需要復(fù)位,使CPU及系統(tǒng)各部件處于正確的初始狀態(tài),并從初始狀態(tài)開(kāi)始工作。89系列單片機(jī)的復(fù)位信號(hào)是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時(shí),且振蕩器穩(wěn)定后,如RST引腳上一個(gè)高電平并維持2個(gè)機(jī)器周期,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。復(fù)位是單片機(jī)的初始化操作,其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開(kāi)始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行出錯(cuò)
23、或操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),為擺脫困境,也需按復(fù)位鍵重新啟動(dòng)。 復(fù)位操作由上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位兩種方式。上電自動(dòng)復(fù)位是在加電瞬間電容通過(guò)充電來(lái)實(shí)現(xiàn)的,其電路圖如圖3.2所示。在通電瞬間,電容C通過(guò)電阻R充電,RST端出現(xiàn)正脈沖,用以復(fù)位。只要電源的上升時(shí)間不超過(guò)1ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位,即接通電源就完成了系統(tǒng)的復(fù)位初始化。 圖3.3 系統(tǒng)復(fù)位電路 3.4 語(yǔ)音識(shí)別電路硬件設(shè)計(jì) 語(yǔ)音識(shí)別主要分為“訓(xùn)練”和“識(shí)別”兩個(gè)階段。在訓(xùn)練階段,語(yǔ)音識(shí)別芯片對(duì)采集到的語(yǔ)音樣本信號(hào)進(jìn)行分析處理,從中提取出語(yǔ)音特征信息,建立一個(gè)特征模型;在識(shí)別階段,語(yǔ)音芯片對(duì)采集到的語(yǔ)音樣本也進(jìn)行類
24、似的分析處理,提取出語(yǔ)音的特征信息,然后將這個(gè)特征信息模型與已有的特征模型進(jìn)行對(duì)比,如果二者達(dá)到了一定的匹配度,則輸入的語(yǔ)音被識(shí)別,語(yǔ)音識(shí)別芯片發(fā)出相應(yīng)的信號(hào),實(shí)現(xiàn)對(duì)小車運(yùn)動(dòng)狀態(tài)的控制。本設(shè)計(jì)采用AP7003芯片,AP7003是一款新型、低成本語(yǔ)音識(shí)別專用芯片,經(jīng)預(yù)處理后可識(shí)別12組不同的字詞,每組時(shí)長(zhǎng)1.5秒,可連詞或單詞識(shí)別。其I/O口有2個(gè)普通輸人、4個(gè)觸發(fā)輸人、12個(gè)輸出、2個(gè)LED驅(qū)動(dòng)。采用4-6V的工作電壓,具備低功耗模式,指令優(yōu)化,方便用戶使用。 AP7003包括AP7003-1(由CPU串行控制)和AP7003-2(由按鍵直接控制)兩種型號(hào)。它具有高度的可編程性,使用簡(jiǎn)單方便
25、,可廣泛應(yīng)用于語(yǔ)音控制的家電、玩具、自動(dòng)答錄等領(lǐng)域。其中用AP7003-2構(gòu)成的語(yǔ)音識(shí)別電路,結(jié)構(gòu)簡(jiǎn)單、外圍元器件少,具有較高的識(shí)別率,一般可達(dá)80%以上,是一款較好的語(yǔ)音識(shí)別芯片。因此本設(shè)計(jì)選用AP7003-2為小汽車語(yǔ)音控制器的語(yǔ)音識(shí)別芯片。 AP7003具有兩種工作模式,即錄音模式和識(shí)別模式。在使用識(shí)別模式之前,應(yīng)先將目標(biāo)詞錄入芯片內(nèi)。AP7003內(nèi)有12個(gè)存儲(chǔ)體用于存儲(chǔ)12組不同的字句,每個(gè)存儲(chǔ)體可存儲(chǔ)1.5秒時(shí)長(zhǎng)的字詞,可通過(guò)鍵盤或按程序編制的順序選擇存儲(chǔ)體錄入及存放目標(biāo)詞。目標(biāo)詞錄入芯片內(nèi)后即可將工作模式轉(zhuǎn)換到識(shí)別模式,工作時(shí)芯片將當(dāng)前語(yǔ)音與事先已錄入存儲(chǔ)體的目標(biāo)詞語(yǔ)音相比較,如
26、果有語(yǔ)音特征相匹配,則在芯片的相應(yīng)輸出端口輸出高電平或低電平。需要時(shí)可以將芯片編程為省電模式以節(jié)省電能,當(dāng)有按鍵信號(hào)時(shí)芯片將被喚醒。 在使用語(yǔ)音控制器之前,用戶應(yīng)先對(duì)語(yǔ)音控制器進(jìn)行訓(xùn)練,輸人標(biāo)準(zhǔn)語(yǔ)音,語(yǔ)音可通過(guò)外部麥克風(fēng)或其它媒體錄入芯片內(nèi),經(jīng)內(nèi)部處理后以不同的數(shù)字特征信號(hào)保存于存儲(chǔ)體中。標(biāo)準(zhǔn)語(yǔ)音存儲(chǔ)后,系統(tǒng)進(jìn)人識(shí)別狀態(tài),此時(shí)D3亮。依次說(shuō)出剛才訓(xùn)練的語(yǔ)句,看相應(yīng)動(dòng)作能否執(zhí)行。若能執(zhí)行,則說(shuō)明訓(xùn)練成功;否則說(shuō)明相應(yīng)語(yǔ)句訓(xùn)練不成功,需重新按下對(duì)應(yīng)鍵進(jìn)人訓(xùn)練狀態(tài),直到識(shí)別成功。訓(xùn)練成功后,即可進(jìn)入識(shí)別模式狀態(tài)進(jìn)行工作。當(dāng)需要進(jìn)行語(yǔ)音控制時(shí),說(shuō)出相應(yīng)語(yǔ)句。若識(shí)別成功,此時(shí)D2點(diǎn)亮,并執(zhí)行相應(yīng)動(dòng)作。
27、 AP7003采用DIP40封裝,其硬件連接圖如圖3.4所示。 圖3.4語(yǔ)音識(shí)別電路 外圍電路由語(yǔ)音輸入電路、鍵盤控制電路和輸出電路等組成。語(yǔ)音輸入電路的功能是采集說(shuō)話者的聲音并濾波后送入控制芯片進(jìn)行處理。語(yǔ)音輸入電路由麥克風(fēng)MIC,電阻R10、R12、R13,電容C7、C8等組成。鍵盤控制電路的功能是用戶在訓(xùn)練語(yǔ)音控制器時(shí)輸入相應(yīng)的指令,該語(yǔ)音控制器采用6鍵控制模式,六個(gè)按鍵分別與端口PTT1—PTT2和POB2—POB4相連。語(yǔ)音控制器上電后,POB1—POB4均被置成低電平。當(dāng)有鍵按下時(shí),芯片按POB1、POB2、POB3、OPB4的順序依次發(fā)出鍵盤掃描信號(hào),掃描信號(hào)為16ms
28、低脈沖加46ms間隔,且循環(huán)進(jìn)行,按鍵信號(hào)從PITI—PIT4輸入芯片。輸出電路的功能是根據(jù)語(yǔ)音控制芯片的輸出相應(yīng)的控制信號(hào)。其中INPUT1接單片機(jī)P0.4口,INPUT2接P0.5口,INPUT3接P0.6口,INPUT4接PO.7口,INPUT5接P1.0口,并且INPUT1-INPUT4和INPUT5通過(guò)74LS21和74LS08引入單片機(jī)INT0口,當(dāng)INOUT1—INPUT5有任一個(gè)變?yōu)榈碗娖綍r(shí),INT0口被拉低為低電平,并引發(fā)外部中斷。 使用時(shí),AP7003—2處于識(shí)別操作模式,語(yǔ)音命令由MIC轉(zhuǎn)換成模擬電信號(hào)送至AP7003—2內(nèi)部,經(jīng)MCI放大器放大及A/D轉(zhuǎn)換器后變?yōu)閿?shù)字
29、信號(hào)。輸入的語(yǔ)音被聲音處理器特征抽樣,同存儲(chǔ)在內(nèi)部的目標(biāo)字句的抽樣特征進(jìn)行比較,必須與所選擇的識(shí)別目標(biāo)字匹配,才會(huì)將輸出信號(hào)送至相應(yīng)的PA口(POA1—POA12),否則芯片不會(huì)有輸出。因?yàn)镻OSL端接低電平,所以相應(yīng)的AOP口輸出為低電平。同時(shí),LED2端由高電平變?yōu)榈碗娖?發(fā)光二極管D2點(diǎn)亮指示識(shí)別成功),同時(shí)PA口復(fù)位為低電平,等待下一命令的輸人。當(dāng)語(yǔ)音識(shí)別成功后,POA端實(shí)際輸出一個(gè)低電平脈沖。 系統(tǒng)上電后,依次按下按鍵S1、S4、S2、S6、S3,并輸入控制命令:前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、停車,錄音完成以后,按下按鍵S5即可轉(zhuǎn)入識(shí)別模式,若輸入的控制命令與標(biāo)準(zhǔn)控制命令相匹配,則相應(yīng)的
30、輸出端口(INPUT1—INPUT5)輸出一個(gè)低電平脈沖,低電平脈沖經(jīng)或門送入單片機(jī)外部中斷INT0口,單片機(jī)相應(yīng)外部中斷后進(jìn)入中斷服務(wù)子程序,并根據(jù)P0口高四位的不同狀態(tài)向電機(jī)驅(qū)動(dòng)芯片發(fā)出不同的控制指令,實(shí)現(xiàn)對(duì)小汽車行駛狀態(tài)的語(yǔ)音控制。 3.5 電機(jī)驅(qū)動(dòng)電路硬件設(shè)計(jì) 由于小汽車有兩個(gè)電機(jī),同時(shí)驅(qū)動(dòng)電機(jī)需要較大的電流,用單片機(jī)無(wú)法直接驅(qū)動(dòng),因此需要用專門的電機(jī)驅(qū)動(dòng)芯片。L298N是SGS公司的產(chǎn)品,內(nèi)部包含4通道邏輯驅(qū)動(dòng)電路,是一種二相和四相電機(jī)的專用驅(qū)動(dòng)器,即內(nèi)含二個(gè)H橋的高電壓大電流雙全橋式驅(qū)動(dòng)器,接收標(biāo)準(zhǔn) TTL邏輯電平信號(hào),可驅(qū)動(dòng)46V、2A以下的電機(jī)。本設(shè)計(jì)采用L298N作為電機(jī)
31、驅(qū)動(dòng)芯片。其引腳排列如圖3.5所示,1腳和15腳可單獨(dú)引出連接電流采樣電阻器,形成電流信號(hào)。L298可驅(qū)動(dòng)兩個(gè)電機(jī),OUTl、OUT2和OUT3、OUT4之間分別接兩個(gè)電動(dòng)機(jī)。5、7、10、12腳接輸入控制電平,控制電機(jī)的正反轉(zhuǎn),ENA,ENB接控制使能端,控制電機(jī)的停轉(zhuǎn)。 圖3.5 L298引腳圖 由單片機(jī)的P1口控制電機(jī)驅(qū)動(dòng)芯片L298, P1.2、P1.3分別連接L298的5腳和7腳,以控制電機(jī)1的轉(zhuǎn)向;P1.4、P1.5分別接L298的10腳和12腳,以控制電機(jī)2的轉(zhuǎn)向;P1.6、P1.7分別接L298的6腳和11腳,分別控制兩個(gè)電機(jī)的轉(zhuǎn)動(dòng)和停止。L298的2、3輸出端接小汽車
32、的一個(gè)電機(jī),13、14兩個(gè)輸出端接小汽車的另一個(gè)電機(jī)。1、15兩腳接地。用由于電機(jī)在正常工作時(shí)對(duì)電源的干擾很大,只用一組電源時(shí)會(huì)影響單片機(jī)的正常工作。所以選用雙電源供電。一組5V電源給單片機(jī)和控制電路供電,另外一組 5V、9V電源給L298N的+VSS、+VS供電。硬件連接圖如圖3.6所示: 圖3.6 電機(jī)驅(qū)動(dòng)電路硬件連接圖 P1口狀態(tài)與小汽車行駛狀態(tài)對(duì)應(yīng)關(guān)系如表3.1所示: 表3.1 P1口狀態(tài)與小汽車行駛狀態(tài)表 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 小車狀態(tài) 1 0 1 0 1 1 前進(jìn) 0 1 0 1 1 1 后退
33、 1 0 0 0 1 1 左轉(zhuǎn) 0 0 1 0 1 1 右轉(zhuǎn) 0 0 0 0 1 1 停止 3.6 顯示電路硬件設(shè)計(jì) 題目要求用數(shù)碼管顯示小汽車的行駛里程,數(shù)碼管的譯碼方式有硬件譯碼和軟件譯碼兩種,本設(shè)計(jì)采用硬件譯碼,用專用譯碼芯片CD4511譯碼并驅(qū)動(dòng)數(shù)碼管。由于CD4511芯片本身帶有鎖存功能,因此采用靜態(tài)顯示方式。用四個(gè)數(shù)碼管顯示小汽車的行駛里程,高兩位顯示整數(shù)位,低兩位顯示小數(shù)位,中間用小數(shù)點(diǎn)隔開(kāi)。 LED有共陽(yáng)極和共陰極兩種結(jié)構(gòu)。根據(jù)本次設(shè)計(jì)任務(wù)書的要求和實(shí)際情況,此處采用的是共陰極結(jié)構(gòu),其結(jié)構(gòu)如圖3.7所示: 圖3.7 LE
34、D結(jié)構(gòu)圖 本設(shè)計(jì)采用硬件譯碼,用4片CD4511譯碼器完成譯碼并驅(qū)動(dòng)數(shù)碼管。CD4511真值表及引腳圖如圖3.8所示: 圖3.8 CD4511真值表及引腳圖 顯示電路硬件連接圖如圖3.9所示: 圖3.9顯示電路連接圖 A、B、C、D為數(shù)據(jù)輸入端,LT和BI為輸出控制端,常接高電平,LE為選通控制端,LE為低電平時(shí),輸入需要顯示的數(shù)據(jù),LE為高電平時(shí),鎖存需要顯示的數(shù)據(jù)。顯示時(shí),單片機(jī)把需要顯示的數(shù)據(jù)分別送入四片CD4511的A、B、C、D四個(gè)端口,然后選通所要顯示的位,相應(yīng)的數(shù)碼管即顯示出所要顯示的數(shù)字。例如,要低位數(shù)碼管顯示3時(shí),把3的BCD碼分別送入A、B、C、D四個(gè)端口中,然后
35、把低位數(shù)碼管的譯碼芯片LE復(fù)位,低位數(shù)碼管就顯示3。 3.7 檢測(cè)電路硬件設(shè)計(jì) 3.7.1 障礙物檢測(cè)電路設(shè)計(jì) 障礙物的檢測(cè)需要用到傳感器,傳感器有反射式紅外傳感器、超聲波式傳感器等。反射式紅外傳感器主要利用物體反射紅外線的原理。傳感器有一個(gè)紅外發(fā)射管和一個(gè)紅外接收管,接通電源之后,紅外發(fā)射管向前方發(fā)射紅外線,如果前方有障礙物,紅外線遇到障礙物反射回來(lái),被紅外接收管接收,并在相應(yīng)輸出端輸出一個(gè)電平信號(hào)。紅外傳感器的探測(cè)距離一般為1-30厘米左右,探測(cè)距離較短,但價(jià)格便宜,因此得到了廣泛的應(yīng)用。超聲波傳感器主要利用超聲波的直線傳輸特性。傳感器有一個(gè)超聲波發(fā)射端,上電后發(fā)射超聲波,另有一個(gè)
36、超聲波接收端,如果前方有障礙物,超聲波反射回來(lái)被接收端接收,并在輸出端輸出一個(gè)相應(yīng)的電平信號(hào)。由于超聲波具有良好的直線傳輸特性,因此探測(cè)距離較遠(yuǎn),一般為4到7米,但超聲波傳感器價(jià)格較高。經(jīng)過(guò)比較,本設(shè)計(jì)決定采用紅外傳感器。 紅外傳感器采用E3F-DS30C4型號(hào)光電開(kāi)關(guān),它是漫反射式紅外光電開(kāi)關(guān),漫反射式光電開(kāi)關(guān):該傳感器一種集發(fā)射器和接收器于一體的傳感器,當(dāng)探測(cè)器前方有障礙物時(shí),物體將光電開(kāi)關(guān)發(fā)射器發(fā)射的足夠量的光線反射到接收器,于是光電開(kāi)關(guān)就產(chǎn)生了開(kāi)關(guān)信號(hào)。當(dāng)探測(cè)器前方?jīng)]有障礙物時(shí),探測(cè)器輸出端輸出高電平,當(dāng)檢測(cè)到障礙物時(shí),探測(cè)器輸出端輸出低電平。該傳感器探測(cè)距離為10-30厘米,根據(jù)實(shí)
37、際需要,把前方三個(gè)傳感器的探測(cè)距離調(diào)整為20厘米,后面的傳感器探測(cè)距離調(diào)整為15厘米。 檢測(cè)電路硬件連接圖如圖3.10所示: 圖3.10 檢測(cè)電路硬件連接圖 由于單片機(jī)P0口內(nèi)部沒(méi)有上拉電阻,因此P0口當(dāng)通用I/O口使用時(shí),需要外接10K的上拉電阻。SENSOR1-SENSOR4為四個(gè)紅外傳感器,輸出端分別與單片機(jī)的四個(gè)P0.0-P0.4相連,并通過(guò)與門連接到單片機(jī)的INT1口,當(dāng)任意一個(gè)傳感器檢測(cè)到障礙物時(shí),傳感器的輸出由高電平變?yōu)榈碗娖?,INT1口由高電平變?yōu)榈碗娖?,引發(fā)外部中斷。在中斷服務(wù)子程序中,單片機(jī)查詢P0口低四位的狀態(tài),并根據(jù)不同狀態(tài)發(fā)出相應(yīng)的控制指令,控制小汽車做出相
38、應(yīng)動(dòng)作。 3.7.2 行駛里程檢測(cè)電路設(shè)計(jì) 把紅外傳感器安裝在小汽車履帶的上方,用紅外傳感器檢測(cè)出履帶轉(zhuǎn)過(guò)的次數(shù)。小汽車前進(jìn)時(shí),傳感器輸出一系列脈沖,用單片機(jī)的T0對(duì)此脈沖計(jì)數(shù),進(jìn)而計(jì)算出小車的行駛里程。但由于小汽車空間有限,紅外傳感器的體積不能太大,探測(cè)距離也不需要太長(zhǎng),一般的紅外傳感器既可滿足要求。本設(shè)計(jì)決定采用FS048W傳感器。 用紅外反射光電開(kāi)關(guān)FS048W檢測(cè)履帶轉(zhuǎn)過(guò)的次數(shù),為了得到標(biāo)準(zhǔn)的TTL電平,傳感器的輸出端接比較器HA17393,比較器的輸出端經(jīng)上拉電阻與單片機(jī)T0口相連。檢測(cè)電路的硬件連接圖如圖3.11所示: 圖3.11 里程檢測(cè)電路連接圖 其中,R4為6
39、7Ω限流電阻, 防止發(fā)光二極管被燒壞,D1為發(fā)光二極管,當(dāng)接通電源之后,二級(jí)管導(dǎo)通,并發(fā)射紅外線。Q1為光敏三極管,R5為8K上拉電阻,當(dāng)光敏三極管接收到被反射回來(lái)的紅外線之后,三極管導(dǎo)通,比較器HA17393的3腳變?yōu)榈碗娖?,R2、R3是兩個(gè)阻值都為1K的電阻,因此比較器的2腳電壓為常值2.5V,當(dāng)3腳的電壓高于2.5V時(shí),比較器輸出高電平,當(dāng)3腳電壓低于2.5V時(shí),比較器輸出低電平。 為了準(zhǔn)確測(cè)量履帶轉(zhuǎn)過(guò)得次數(shù),在履帶上粘上黑白相間的膠帶,當(dāng)傳感器對(duì)著白色膠帶時(shí),紅外發(fā)射管發(fā)射的紅外線被反射回來(lái),傳感器內(nèi)部的光敏三極管導(dǎo)通,傳感器輸出低電平,比較器輸出低電平;當(dāng)傳感器對(duì)著黑色膠帶時(shí),紅外
40、發(fā)射管發(fā)射的紅外線被黑色膠帶吸收,傳感器內(nèi)部的光敏三極管截止,傳感器輸出高電平,比較器輸出高電平。小汽車行進(jìn)時(shí),黑白膠帶依次經(jīng)過(guò)紅外傳感器,傳感器輸出一序列脈沖,比較器也相應(yīng)輸出一系列脈沖,通過(guò)單片機(jī)的T0對(duì)此外部脈沖計(jì)數(shù),從而計(jì)算小汽車的行駛里程。由于數(shù)碼管的最低位單位是厘米,因此黑白膠帶的間隔距離為0.5厘米,當(dāng)履帶走過(guò)1厘米時(shí),單片機(jī)通過(guò)傳感器計(jì)數(shù)器T0接收到一個(gè)脈沖,T0溢出后引發(fā)中斷,中斷服務(wù)子程序完成數(shù)碼管的刷新,數(shù)碼管最低位顯示值加1,即里程增加1厘米,這樣就省去了脈沖數(shù)和里程值之間的換算關(guān)系,使程序更加簡(jiǎn)單,顯示更加精確。 第4章 語(yǔ)音控制小汽車的軟件設(shè)計(jì) 4.1 上電
41、初始化子程序設(shè)計(jì) 上電初始化子程序完成單片機(jī)的復(fù)位、數(shù)碼管的清零、L298N芯片使能端的置位、定時(shí)器、計(jì)數(shù)器的初始化等工作。 程序流程圖如圖4.1所示: 圖4.1上電初始化子程序流程圖 其中,外部中斷定義為電平觸發(fā)方式,CPU在每一個(gè)機(jī)器周期S5P2期間采樣外部中斷請(qǐng)求引腳的輸入電平。若外部中斷請(qǐng)求為低電平,則使IE置1,請(qǐng)求CPU進(jìn)行中斷處理。由于在小汽車行駛過(guò)程中,需要用數(shù)碼管顯示小汽車的行駛里程,因此把里程計(jì)數(shù)器T0中斷定義為高中斷優(yōu)先級(jí)。 4.2 避障子程序設(shè)計(jì) 當(dāng)傳感器檢測(cè)到障礙物時(shí),程序由主程序跳入中斷服務(wù)子程序,避障子程序?qū)Χ丝谛畔⑦M(jìn)行查詢,根據(jù)端口的不同狀態(tài)向
42、單片機(jī)發(fā)出不同的控制指令,實(shí)現(xiàn)小汽車的自動(dòng)避障。 避障子程序流程圖如圖4.2所示: 圖4.2避障子程序流程圖 4.3 聲控子程序 單片機(jī)上電后,由上電子程序使L298芯片的使能端置位,在L298的一組輸入端分別輸入高、低電平,即可驅(qū)動(dòng)相應(yīng)的電機(jī),由于小汽車自身的行駛速度比較慢,因此無(wú)需用PWM進(jìn)行調(diào)速,直接將相應(yīng)端口置高、低電平即可。 當(dāng)小汽車通過(guò)語(yǔ)音識(shí)別接到控制指令時(shí),單片機(jī)查詢P0口高四位狀態(tài),若P04為低電平,則調(diào)用前進(jìn)子程序;若P05為低電平,則調(diào)用后退子程序;若P06為低電平,則調(diào)用左轉(zhuǎn)子程序;若P07為低電平,則調(diào)用右轉(zhuǎn)子程序,若P10為低電平,則調(diào)用停止子程序,聲控子程
43、序流程圖如圖4.3所示: 圖4.3聲控子程序流程圖 4.4 主程序設(shè)計(jì) 小汽車行駛時(shí),通過(guò)傳感器將行駛里程轉(zhuǎn)化為外部脈沖,由單片機(jī)計(jì)數(shù)器對(duì)此外部脈沖計(jì)數(shù),計(jì)滿溢出之后把計(jì)數(shù)值加一,顯示程序?qū)崿F(xiàn)對(duì)計(jì)數(shù)值的顯示。本設(shè)計(jì)采用硬件譯碼器CD4511直接對(duì)數(shù)碼管驅(qū)動(dòng),由于CD4511本身帶有鎖存功能,因此不需要對(duì)數(shù)碼管進(jìn)行動(dòng)態(tài)掃描,只需在需要刷新顯示時(shí)改變要顯示的數(shù)字即可,因此顯示程序比較簡(jiǎn)單。 由于需要實(shí)時(shí)顯示小汽車的行駛里程,因此把里程顯示設(shè)為主函數(shù),采用靜態(tài)顯示,程序流程圖如圖4.4所示: 圖4.4 主程序流程圖 顯示子函數(shù)流程圖如圖4.5所示: 圖4.5 顯示子函數(shù)流程圖
44、 第5章 語(yǔ)音控制小汽車的整體調(diào)試 調(diào)試包括硬件調(diào)試、軟件調(diào)試和整體聯(lián)調(diào)。由于硬件和軟件的設(shè)計(jì)是相對(duì)獨(dú)立進(jìn)行的,并且軟件的設(shè)計(jì)要依據(jù)硬件連接圖,因此軟件調(diào)試是在硬件完成之前。而硬件的設(shè)計(jì)需要根據(jù)硬件連接圖進(jìn)行焊接,并需要在焊接結(jié)束后測(cè)試硬件的各項(xiàng)指標(biāo)是否符合設(shè)計(jì)要求。硬件焊接無(wú)誤后,把程序?qū)戇M(jìn)單片機(jī),進(jìn)行軟、硬件的聯(lián)合調(diào)試。在調(diào)試中找出缺陷,判斷故障源,對(duì)硬、軟件做出修改,反復(fù)進(jìn)行這一過(guò)程,直至確信沒(méi)有錯(cuò)誤之后將焊接板與小汽車連接,進(jìn)行總體調(diào)試,并在調(diào)試過(guò)程中找出缺陷,對(duì)軟件或者硬件進(jìn)行進(jìn)一步的修改,直至達(dá)到預(yù)期設(shè)計(jì)目的。 5.1 調(diào)試分析 軟件的調(diào)試和硬件的調(diào)試都是獨(dú)立進(jìn)行的,軟
45、件部分包括顯示子程序、避障子程序、驅(qū)動(dòng)子程序等。軟件的調(diào)試是在Keilc51編譯環(huán)境下進(jìn)行的,Keilc51功能十分強(qiáng)大,uVision2中包含了源程序文件編輯器、項(xiàng)目管理器、源程序調(diào)試器等,并且為Cx51編譯器、Ax51匯編器、BL51/Lx51連接定位器、RTX51實(shí)時(shí)操作系統(tǒng)等提供了單一而靈活的開(kāi)發(fā)環(huán)境。uVision2中集成的Debug調(diào)試器具有十分強(qiáng)大的仿真調(diào)試功能,支持軟件模擬和用戶目標(biāo)板調(diào)試兩種工作方式。在軟件模擬方式下不需要任何8051單片機(jī)硬件即可完成用戶程序仿真調(diào)試,極大地提高了用戶程序開(kāi)發(fā)效率。在目標(biāo)板調(diào)試方式下用戶可以將程序下載到自己的8051單片機(jī)系統(tǒng)板上,利用805
46、1的串行口與PC機(jī)進(jìn)行通信實(shí)現(xiàn)用戶程序的實(shí)時(shí)在線仿真。 硬件部分的調(diào)試主要是在焊接的單片機(jī)系統(tǒng)板上進(jìn)行的,在調(diào)試的過(guò)程中,仍然采用模塊化思想。先調(diào)試主模塊,即顯示模塊,無(wú)誤后再添加其它模塊,檢查模塊之間的接口,加入測(cè)試程序,如果沒(méi)有得到預(yù)期的結(jié)果,則反復(fù)調(diào)試,直至調(diào)試結(jié)果達(dá)到預(yù)期設(shè)計(jì)目標(biāo)。 軟件和硬件聯(lián)合調(diào)試成功后,把系統(tǒng)板固定在小汽車上,并在小汽車的特定位置安裝紅外傳感器,進(jìn)行小汽車的整體調(diào)試。 5.2 故障調(diào)試及解決方式 一、單片機(jī)上電之后,系統(tǒng)不能正常運(yùn)行,數(shù)碼管閃爍不定。 原因分析:?jiǎn)纹瑱C(jī)的EA懸空。當(dāng)引腳EA接高電平時(shí),89C52程序計(jì)數(shù)器PC在0000H-FFFFH范圍內(nèi)
47、(即前4KB地址)執(zhí)行片內(nèi)Flash ROM中的程序,當(dāng)指令地址超過(guò)0FFFH后,就自動(dòng)轉(zhuǎn)向片外ROM中去取指令。當(dāng)引腳EA接低電平時(shí),89C52片內(nèi)ROM不起作用,CPU只能從片外FlashROMEPROM中取指令,地址可以從0000F開(kāi)始編址。 解決方法:把單片機(jī)的EA接高電平,系統(tǒng)程序運(yùn)行正常,數(shù)碼管顯示正常,系統(tǒng)能正常工作。 二、里程顯示為0 原因分析:反射式紅外傳感器沒(méi)有正常工作,單片機(jī)的T0口沒(méi)有輸入脈沖。原因是在傳感器硬件連接電路中,與傳感器紅外發(fā)射管串接的限流電阻過(guò)大,導(dǎo)致流過(guò)紅外發(fā)射管的電流過(guò)小,發(fā)射管截止,傳感器中的光敏三極管截止,導(dǎo)致傳感器的輸出一直為高電平。
48、解決方法:減小與傳感器發(fā)射管串接的限流電阻至67,并調(diào)整傳感器輸出端的上拉電阻,使輸出的高電平在3.5V以上,低電平在1V以下,為了得到標(biāo)準(zhǔn)的TTL電平,在傳感器的輸出端與單片機(jī)的T0端之間接入比較器LM393,改正之后,數(shù)碼管正常顯示行駛里程。 5.3 聯(lián)調(diào)結(jié)果 在軟件和硬件聯(lián)合調(diào)試后,把系統(tǒng)板固定在小汽車上,進(jìn)行實(shí)物演示,演示結(jié)果證明,該設(shè)計(jì)基本達(dá)到了預(yù)期的設(shè)計(jì)目的,小汽車在行駛過(guò)程中能實(shí)現(xiàn)自動(dòng)避障,并顯示行駛的里程。但由于在小汽車的左側(cè)履帶上粘上了膠帶,造成了左側(cè)履帶與地面的摩擦力變大,在電池電量不足的情況下,左側(cè)履帶停轉(zhuǎn),小汽車非正常左轉(zhuǎn)。 小汽車顯示里程時(shí),最小單位是厘米,在實(shí)
49、際調(diào)試過(guò)程中,由于小汽車履帶與地面之間有摩擦,所以數(shù)碼管顯示的距離與小汽車的實(shí)際行駛距離不一致,為了測(cè)量誤差的大小,對(duì)小汽車進(jìn)行多次實(shí)驗(yàn),實(shí)驗(yàn)數(shù)據(jù)如表5.1所示: 表5.1 T0實(shí)際行使距離與顯示距離 實(shí)驗(yàn)次數(shù) 1 2 3 4 5 6 實(shí)際距離(cm) 1 1 1 1 1 1 顯示距離(cm) 1.02 1.01 1.01 0.99 1.01 1.02 由表中數(shù)據(jù)可以求出,里程平均誤差為1厘米,在允許范圍內(nèi)。 傳感器的實(shí)際探測(cè)距離如表5.2所示 表5.2 紅外傳感器的實(shí)際探測(cè)距離與設(shè)定探測(cè)距離 傳感器 左 中 右 后 實(shí)際探測(cè)
50、距離(cm) 19 20 20 17 社定探測(cè)距離(cm) 20 20 20 15 由表5.1可以看出,小汽車的實(shí)際行駛距離與顯示的距離有一定的誤差,這是由于傳感器輸出的脈沖數(shù)與實(shí)際脈沖數(shù)不一致造成的。由表5.2可以看出,傳感器的實(shí)際探測(cè)距離與設(shè)定值有較小的誤差,在允許范圍內(nèi)。整體上看,小汽車的各項(xiàng)指標(biāo)基本達(dá)到了設(shè)計(jì)要求。 結(jié) 論 語(yǔ)音識(shí)別技術(shù)是目前新興技術(shù)之一,由于它制作成本比較低,使用方便,因此被廣泛應(yīng)用于各種領(lǐng)域。為了能使語(yǔ)音識(shí)別技術(shù)走進(jìn)日常生活,能和日常應(yīng)用結(jié)合起來(lái),更好地為人們服務(wù),本設(shè)計(jì)制作了一套語(yǔ)音識(shí)別小汽車控制系統(tǒng),該系統(tǒng)以89C52為核心處理芯片
51、,將單片機(jī)和語(yǔ)音識(shí)別芯片AP7003結(jié)合起來(lái),語(yǔ)音芯片識(shí)別成功之后,對(duì)單片機(jī)I/O口發(fā)出信號(hào),單片機(jī)根據(jù)I/O口的狀態(tài)對(duì)小汽車發(fā)出不同的控制指令,實(shí)現(xiàn)了對(duì)小汽車的語(yǔ)音控制。用紅外傳感器探測(cè)小汽車周圍的障礙物,探測(cè)到障礙物后引發(fā)單片機(jī)外部中斷,在中斷服務(wù)子程序中單片機(jī)查詢相應(yīng)I/O口的狀態(tài),根據(jù)不同的狀態(tài)對(duì)小汽車發(fā)出不同的控制指令,實(shí)現(xiàn)了小汽車的自動(dòng)避障,同時(shí)用傳感器檢測(cè)車輪轉(zhuǎn)過(guò)的次數(shù),并用單片機(jī)計(jì)數(shù)器對(duì)此數(shù)值計(jì)數(shù),并將計(jì)數(shù)值送入顯示單元進(jìn)行顯示,實(shí)現(xiàn)了小汽車的行駛里程進(jìn)行顯示功能。軟件設(shè)計(jì)采用模塊化思想,結(jié)構(gòu)清晰,可讀性強(qiáng)。 此外,還可在此基礎(chǔ)上進(jìn)一步擴(kuò)展,例如,可以加上音樂(lè)電路,在小汽車行
52、駛過(guò)程中播放音樂(lè),還可以在語(yǔ)音芯片中存入語(yǔ)音信號(hào),在小汽車行駛的同時(shí)報(bào)告小汽車的行駛狀態(tài)。 社會(huì)經(jīng)濟(jì)效益分析 目前兒童玩具正向著的智能化、廉價(jià)化的方向發(fā)展,語(yǔ)音控制小汽車符合兒童玩具的發(fā)展趨勢(shì),本設(shè)計(jì)硬件電路比較簡(jiǎn)單,只需一個(gè)單片機(jī)、五個(gè)傳感器、四個(gè)譯碼芯片和兩片、或門芯片和其它一些簡(jiǎn)單元器件即可,制作成本低大概在200元左右,如果能實(shí)現(xiàn)批量生產(chǎn),成本可降至60元左右,與普通電動(dòng)遙控小汽車的價(jià)格相差不多,具有很大的市場(chǎng)潛力。具有廣闊的發(fā)展前景,有一定的商業(yè)開(kāi)發(fā)價(jià)值。 隨著各種高性能的傳感器的出現(xiàn),微型計(jì)算機(jī)的普及,汽車的智能化、自動(dòng)化,越來(lái)越受到人們的重視,此
53、課題不僅可以應(yīng)用于玩具市場(chǎng),同時(shí),也是對(duì)汽車自動(dòng)行駛性能的研究和實(shí)驗(yàn),對(duì)研究智能汽車、無(wú)人駕駛汽車有重要的意義。 參考文獻(xiàn) [1] 張剛毅, 彭喜源等. 新編MSC-51單片機(jī)應(yīng)用設(shè)計(jì). 哈爾濱: 工業(yè)大學(xué)出版社, 2003 [2] 徐愛(ài)鈞,彭秀華. Keil Cx51 V7.0單片機(jī)高級(jí)語(yǔ)言編程與μVision2應(yīng)用實(shí)踐. 北京: 電子工業(yè)出版社, 2004 [3] 賈伯年. 傳感器技術(shù). 南京: 東南大學(xué)出版社, 2000 [4] 何立民. 單片機(jī)應(yīng)用文集. 北京: 航空航天大學(xué)出版社, 2000 [5] 張偉, 王力. Protel 99SE基礎(chǔ)教程. 北京: 人
54、民郵電出版社, 2006 [6] 李朝青. 單片機(jī)原理及接口技術(shù). 北京: 北京航空航天大學(xué)出版社,2005 [7] 童師白. 模擬電子技術(shù)基礎(chǔ). 高等教育出版社, 2001 [8] 譚浩強(qiáng). C程序設(shè)計(jì). 北京: 清華大學(xué)出版社, 1999 [9] 孫玉才, 王榮興, 孫華芳. ATMEL新型AT89S52系列單片機(jī)及其應(yīng)用. 北京: 清華大學(xué)出版社, 2004 [10] 王志慧. 單片機(jī)控制的設(shè)計(jì)與實(shí)現(xiàn): [碩士學(xué)位論文]. 內(nèi)蒙古大學(xué)學(xué)報(bào), 2002 [11] 錢逸秋. 單片機(jī)原理及應(yīng)用. 北京: 電子工業(yè)出版社, 2002 [12] 胡漢才. 單片機(jī)原理及其接口技術(shù). 北
55、京: 清華大學(xué)出版社, 1996 [13] 宋雨潭. 智能化儀器儀表的應(yīng)用. 黑龍江稅專學(xué)報(bào)(自然科學(xué)版), 2002,20(3):87-89 [14] 王正洪, 周振環(huán). 微機(jī)接口與應(yīng)用. 北京: 中國(guó)石化出版社, 2000 [15] 林伸茂. 8051單片機(jī)徹底研究基礎(chǔ)篇. 北京: 人民郵電出版社, 2004 [16] 林伸茂. 8051單片機(jī)徹底研究實(shí)習(xí)篇. 北京: 人民郵電出版社, 2007 [17] 馮平,劉志英,白燕. 一種基于單片機(jī)的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J]. 陜西天文臺(tái)臺(tái)刊,2001,24(1):75-78 [18] DENG Tao, SHEN Hui,ect. D
56、esign and Evaluation of High-performance Solar Electric Car; 15th International Photovoltaic Science and Engineering Conference, Shanghai, China,2005,69-8: 1015-1016 [19] Cui Shumei, Zhang Wei. Research of Control Method on FAW Hybrid Electric Cars Motor System; Proceedings of the 23rd Chinese Cont
57、rol Conference, 2005,1557-1560 致 謝 在本次畢業(yè)設(shè)計(jì)的整個(gè)過(guò)程中,我遇到了許多意想不到的困難,尤其是在電機(jī)驅(qū)動(dòng)模塊中,由于第一次選擇的小汽車是輪式小汽車,小汽車行駛速度很快,而且在轉(zhuǎn)彎時(shí),前面的轉(zhuǎn)向電機(jī)發(fā)生堵轉(zhuǎn)現(xiàn)象,對(duì)電源的影響很大,造成后面的驅(qū)動(dòng)電機(jī)不能正常工作。為了解決這個(gè)問(wèn)題,我試圖用光耦把電機(jī)和驅(qū)動(dòng)芯片隔離開(kāi),以消除電機(jī)堵轉(zhuǎn)對(duì)電源的影響。電路圖畫好之后,理論上沒(méi)有問(wèn)題,但在面包板上搭接出實(shí)際電路之后,又遇到了新的問(wèn)題,光耦的兩端有5V電壓輸出,但還是驅(qū)動(dòng)不了電機(jī),用萬(wàn)用表測(cè)量流過(guò)電機(jī)的電流,發(fā)現(xiàn)電流非常小,并且輸出電壓被拉低到2.5V左右,輸出功率
58、太小,不足以驅(qū)動(dòng)電機(jī),后來(lái)我試圖用光耦驅(qū)動(dòng)繼電器,繼電器的兩端接電機(jī),發(fā)現(xiàn)還是不行,光耦輸出電流太小,繼電器不動(dòng)作。沒(méi)有辦法,只好中途換履帶式小汽車,避免了這個(gè)問(wèn)題的出現(xiàn)。本次畢設(shè)的完成,除了自己的努力外,還得益于很多同學(xué)的幫助。在遇到困難的時(shí)候,大家都相互鼓勵(lì),相互幫助,遇到難題的時(shí)候,大家一起討論,你一言我一語(yǔ),一個(gè)方案被否定,又提出另一個(gè)方案,很多問(wèn)題就這樣迎刃而解了。在此,我非常感謝在實(shí)驗(yàn)室一起奮戰(zhàn)的同學(xué),在和他們共同討論中我獲得了大量的信息和寶貴的經(jīng)驗(yàn)。 本次畢業(yè)設(shè)計(jì)雖然結(jié)束了,但它卻給我留下了很多美好的回憶,面對(duì)自己的勞動(dòng)成果有一種油然而生的滿足感和成就感,心里很是安慰。但我覺(jué)得
59、最重要的還是這個(gè)過(guò)程,在這學(xué)期的畢業(yè)設(shè)計(jì)中,我收獲了很多東西,學(xué)習(xí)了很多新的知識(shí),每天都會(huì)有一些收獲,一個(gè)學(xué)期下來(lái),感覺(jué)自己有了很大的提高,回首大家在實(shí)驗(yàn)室?jiàn)^戰(zhàn)的情形,心中充滿了充實(shí)的喜悅感,沒(méi)有付出,就沒(méi)有收獲。
再一次向所有曾經(jīng)幫助過(guò)我的同學(xué)和老師說(shuō)一聲:謝謝你們!
附錄Ⅰ 語(yǔ)音控制小汽車的硬件原理圖
附錄Ⅱ 程序清單
#include
60、ar flag; //設(shè)定標(biāo)志位 /********************************************************************** 函數(shù)功能:主函數(shù),顯示行駛里程 入口參數(shù):無(wú) 出口參數(shù):無(wú) ***********************************************************************/ void main(void) { char c1,c2,c3,c4; int k,m; POWER_UP(); //調(diào)用上電初始
61、化函數(shù) LED_INIT(); //LED初始化,數(shù)碼管顯示0 for(;;) { flag=1; //標(biāo)志位置1,進(jìn)入顯示程序 if(0<=count&&count<10000) { c1=count/1000; //取千位數(shù)字 k=count%1000; //取低三位數(shù)字 c2=k/100; //取百位數(shù)字 m=k%100;
62、 //取低2位數(shù)字 c3=m/10; //取十位數(shù)字 c4=m%10; //取個(gè)位數(shù)字 while(flag) { c4|=0xF0; //c4高四位置1;使數(shù)碼管顯示0 P2=c4; //送各位數(shù)字到P2口 P27=0; //啟動(dòng)個(gè)位數(shù)碼管;顯示個(gè)位數(shù)字 c3
63、|=0xF0; //c3高四位置1;使數(shù)碼管顯示0 P2=c3; //送十位數(shù)字到P2口 P26=0; //啟動(dòng)十位數(shù)碼管;顯示十位數(shù)字 c2|=0xF0; //c2高四位置1;使數(shù)碼管顯示0 P2=c2; //送百位數(shù)字到P2口 P25=0; //啟動(dòng)百位數(shù)碼管;顯示百位數(shù)字 c1|=
64、0xF0; //c1高四位置1;使數(shù)碼管顯示0 P2=c1; //送千位數(shù)字到P2口 P24=0; //啟動(dòng)千位數(shù)碼管;顯示千位數(shù)字 } } } } /********************************************************************** 函數(shù)功能:中斷0服務(wù)子程序,驅(qū)動(dòng)中斷 入口參數(shù):無(wú) 出口參數(shù):無(wú) **************************
65、*********************************************/ void driven_int(void) interrupt 0 using 0 { if(P10==0) {stop();} else if(P04==0) {moveforward();} else if(P05==0) {moveback();} else if(P06==0) {turnleft()
66、;} else if(P07==0) {turnright();} } /********************************************************************** 函數(shù)功能:中斷1服務(wù)子程序,轉(zhuǎn)向中斷 入口參數(shù):無(wú) 出口參數(shù):無(wú) ***********************************************************************/ void direction_int(void) interrupt 2 using 1 { int i=0x00,j=0x0F; i=P0; //讀p0口狀態(tài) i=i&j; //保留低四位 switch(i) { case 0x0: case 0x4:stop();break;
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年防凍教育安全教育班會(huì)全文PPT
- 2025年寒假安全教育班會(huì)全文PPT
- 初中2025年冬季防溺水安全教育全文PPT
- 初中臘八節(jié)2024年專題PPT
- 主播直播培訓(xùn)提升人氣的方法正確的直播方式如何留住游客
- XX地區(qū)機(jī)關(guān)工委2024年度年終黨建工作總結(jié)述職匯報(bào)
- 心肺復(fù)蘇培訓(xùn)(心臟驟停的臨床表現(xiàn)與診斷)
- 我的大學(xué)生活介紹
- XX單位2024年終專題組織生活會(huì)理論學(xué)習(xí)理論學(xué)習(xí)強(qiáng)黨性凝心聚力建新功
- 2024年XX單位個(gè)人述職述廉報(bào)告
- 一文解讀2025中央經(jīng)濟(jì)工作會(huì)議精神(使社會(huì)信心有效提振經(jīng)濟(jì)明顯回升)
- 2025職業(yè)生涯規(guī)劃報(bào)告自我評(píng)估職業(yè)探索目標(biāo)設(shè)定發(fā)展策略
- 2024年度XX縣縣委書記個(gè)人述職報(bào)告及2025年工作計(jì)劃
- 寒假計(jì)劃中學(xué)生寒假計(jì)劃安排表(規(guī)劃好寒假的每個(gè)階段)
- 中央經(jīng)濟(jì)工作會(huì)議九大看點(diǎn)學(xué)思想強(qiáng)黨性重實(shí)踐建新功