版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、應(yīng)用語音控制小車( 迷你型)SPCE061A 應(yīng)用方案 V1.0 2005.12.09方案科技大學(xué)計(jì)劃教育推廣中心海淀上地信息產(chǎn)業(yè)FAX: 86-10-62962425中黎科技園 1 號(hào)樓 5 層: 86-10-62981668E-保留對(duì)此文件修改之權(quán)利且不另行通知。所提供之信息相信為正確且可靠之信息, 但并不保證本文件中絕無錯(cuò)誤。請(qǐng)于向科技股份提出訂單前, 自行確定所使用之相關(guān)技術(shù)文件及規(guī)格為之版本。若因貴公司權(quán)之應(yīng)用及配合時(shí), 則使用本公司之文件或產(chǎn)品, 而涉及第三人之專利或著作權(quán)等智能應(yīng)由貴公司負(fù)責(zé)取得同意及司應(yīng)為保證之責(zé)任. 又,本公司僅單純販?zhǔn)郛a(chǎn)品, 上述關(guān)于同意及, 非屬本公, 本
2、公司之所有產(chǎn)品不得之正式使用于醫(yī)療器材, 維持生命系統(tǒng)及飛航等相關(guān)設(shè)備。目錄1引言22語音控制小車設(shè)計(jì)要求32.12.22.32.4功能要求3參數(shù)說明3注意事項(xiàng)3備注33特性簡(jiǎn)介4SPCE061A 特性簡(jiǎn)介4精簡(jiǎn)開發(fā)板61 板43.13.24系統(tǒng)總體方案介紹64.14.2系統(tǒng)硬件方案6系統(tǒng)控制方案65系統(tǒng)硬件設(shè)計(jì)75.15.1.15.25.2.15.2.25.2.3車體介紹7小車的行走原理7控制板原理圖8全橋驅(qū)動(dòng)原理9動(dòng)力電機(jī)驅(qū)動(dòng)電路10方向電機(jī)控制電路116系統(tǒng)6.16.1.16.1.26.1.36.1.46.1.56.2設(shè)計(jì)13系統(tǒng)的總體程序流程13語音識(shí)別的原理簡(jiǎn)介14訓(xùn)練子程序14語音
3、識(shí)別子程序15動(dòng)作子程序16中斷子程序17程序中需明的幾個(gè)問題187結(jié)語198參考文獻(xiàn)20科技教育推廣中心科技推出的一款 16 位結(jié)構(gòu)的微控制器。SPCE061A 內(nèi)嵌 32K 字的閃存摘 要:SPCE061A 是(FLASH),內(nèi)置DAC,能以單實(shí)現(xiàn)少量語音的、放音;非常適合于帶有語音功能的產(chǎn)品應(yīng)用。本設(shè)計(jì)充分利用了 SPCE061A 的硬件資源,發(fā)揮了這顆的語音特色。由于本身具有語音處理的諸多優(yōu)勢(shì),所以該系統(tǒng)硬件部分結(jié)構(gòu)簡(jiǎn)單,思路清晰。在程序方面,由于的 IDE 自帶的語音庫函數(shù)已經(jīng)有和識(shí)別的子函數(shù),所以在實(shí)際的編程過程中只需要直接調(diào)用庫函數(shù)即可,省去了很多繁瑣的算法和流程。綜合以上的諸多
4、優(yōu)點(diǎn),整個(gè)系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,程序結(jié)構(gòu)清晰。是系統(tǒng)的學(xué)習(xí)和應(yīng)用這顆作品。的一在小車的驅(qū)動(dòng)上,采用全橋驅(qū)動(dòng)技術(shù),共利用了 4 個(gè) I/O 口,其中兩個(gè) I/O 口實(shí)現(xiàn)小車的前進(jìn)和后退控制,另外兩個(gè) I/O 實(shí)現(xiàn)小車的轉(zhuǎn)彎控制,小車的控制電路結(jié)構(gòu)簡(jiǎn)單,控制安全可靠。:SPCE061A,語音識(shí)別,全橋驅(qū)動(dòng),小車1 1引言語音處理技術(shù)是一門新興的技術(shù),它不僅包括語音的錄制和,還涉及語音的壓縮編碼和,語音的識(shí)別等各種處理技術(shù)。以往做這方面的設(shè)計(jì),一般有兩個(gè)途徑:案是單片機(jī)擴(kuò)展設(shè)計(jì),另一種就是借助于專門的語音處理。普通的單片機(jī)往往不能實(shí)現(xiàn)這么復(fù)雜的過程和算法,即使勉強(qiáng)實(shí)現(xiàn)也要加很多的器件。專門的語音處理也比較多
5、,像 ISD 系列、PM50 系列等,但是專門的語音處理芯片功能比較單SPCE061A 是在語音之外的其他方面應(yīng)用基本是不可能的??萍纪瞥龅囊豢?16 位nSP 結(jié)構(gòu)的微控制器。該帶有硬件乘法器,能夠?qū)崿F(xiàn)乘法運(yùn)算、內(nèi)積運(yùn)算等復(fù)雜的運(yùn)算。它不僅運(yùn)算能力強(qiáng),而且處理速度快,單周期最高可以達(dá)到 49MHz。SPCE061A 內(nèi)嵌 32K 字的 FLASH 程序器以及 2K 的 SRAM。同時(shí)該 SOC具有 ADC 和 DAC 功能,10 位的電流其 MIC_ADC 通道帶有 AGC 自動(dòng)增益環(huán)節(jié),能夠很輕松的將語音信號(hào)到輸出型 DAC,只要外接一個(gè)功放就可以完成聲音的。以上介紹的這些硬件資源使得該
6、SPCE061A 能夠單實(shí)現(xiàn)語音處理功能。借助于 SPCE061A 的語音特色,開發(fā)出了這款語音控制小車注。小車不僅具有前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)停車等基本功能;同時(shí)配合 SPCE061A 的語音特色,實(shí)現(xiàn)語音控制功能。注:科技教育推廣中心目前共推出三款語音控制小車:語音控制小車、語音控制小車(越野型)、語音控制小車(迷你型);其中語音控制小車最早推出目前已經(jīng)停產(chǎn),語音控制小車(越野型)和語音控制小車(迷你型)同時(shí)推出,二者結(jié)構(gòu)和功能相似,只是外形大小不同。該文介紹 SPCE061A 在語音控制小車(迷你型)中的應(yīng)用,下文簡(jiǎn)稱語音控制小車。2 2語音控制小車設(shè)計(jì)要求2.1功能要求語音控制小車是大學(xué)
7、計(jì)劃推出的基于 SPCE061A 的代表性產(chǎn)品,它配合 61 板推出,綜合應(yīng)用了 SPCE061A 的眾多資源,打破了傳統(tǒng)教學(xué)中單片機(jī)學(xué)習(xí)枯燥和低效的現(xiàn)狀。小車采用語音識(shí)別技術(shù),可通過語音命令對(duì)其行駛狀態(tài)進(jìn)行控制。語音控制小車的主要功能:1 可以通過簡(jiǎn)單的 I/O 操作實(shí)現(xiàn)小車的前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)功能;配合 SPCE061A 的語音特色,利用系統(tǒng)的語音可以在行走過程中聲控改變小車運(yùn)動(dòng)狀態(tài);在超出語音控制范圍時(shí)能夠自動(dòng)停車。和語音識(shí)別資源,實(shí)現(xiàn)語音控制的功能;2.2參數(shù)說明車體:雙電機(jī)兩輪驅(qū)動(dòng)供電:電池(三節(jié) AA:1.5V3)工作電壓:DC 4V6V工作電流:運(yùn)動(dòng)時(shí)約 200mA尺寸:15
8、5mm85mm35mm(長(zhǎng)寬高)(如果加上 61 板高再加 15mm)2.3注意事項(xiàng)一定要注意電池的正負(fù)極性,切勿裝反;長(zhǎng)期不用請(qǐng)將電池取出電池盒;由于語音信號(hào)的不確定性,語音識(shí)別的過程會(huì)出現(xiàn)一定的誤差和確性;4 由于小車行動(dòng)比較靈活,速度比較快,在使用時(shí)一定要注意保持場(chǎng)地足夠大,且保證不會(huì)對(duì)周圍的物體造成;5 不要讓小車長(zhǎng)時(shí)間運(yùn)行在堵轉(zhuǎn)狀態(tài)(堵轉(zhuǎn)狀態(tài):由于小車所受阻力過大,造成小車電機(jī)加電但并不轉(zhuǎn)動(dòng)的現(xiàn)象),這樣會(huì)造成很大的堵轉(zhuǎn)電流,有可能會(huì)損壞小車的控制電路。2.4備注可以自行添加各種傳感器,實(shí)現(xiàn)避障、循跡、等功能。3 3特性簡(jiǎn)介3.1SPCE061A 特性簡(jiǎn)介SPCE061A 是科技研發(fā)
9、生產(chǎn)的性價(jià)比很高的一款十六位單片機(jī),使用它可以非常方便靈活的實(shí)現(xiàn)語音的錄放,該擁有 8 路 10 位精度的 ADC,其中一路為音頻轉(zhuǎn)換通道,并且內(nèi)置有自動(dòng)增益電路。這為實(shí)現(xiàn)語音錄入提供了方便的硬件條件。10 位精度的 DAC,只需要外接功放(SPY0030A)即可完成語音的。另外十六位單片機(jī)具有一套易學(xué)易用的指令系統(tǒng)和集成開發(fā)環(huán)境,在此環(huán)境中,它支持標(biāo)準(zhǔn) C 語言編程,也支持 C 語言與匯編語言的互相調(diào)用。另外還提供了語音錄放的庫函數(shù),只要了解庫函數(shù)的使用,就可以很容易的完成語音的錄放、識(shí)別等功能,這些都為SPCE061A 特性:開發(fā)提供了方便的條件。16 位nSP 微處理器;工作電壓:內(nèi)核工
10、作電壓 VDD 為 3.0V3.6V(CPU),I/O 口工作電壓 VDDH 為 VDD5.5V(I/O); CPU 時(shí)鐘:0.32MHz49.152MHz;內(nèi)置 2K 字 SRAM; 內(nèi)置 32K 閃存 ROM;可編程音頻處理;晶體振蕩器;系統(tǒng)處于備用狀態(tài)下(時(shí)鐘處于停止?fàn)顟B(tài)),耗電小于 HYPERLINK mailto:2A3.6V 2A3.6V; 2 個(gè) 16 位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值);2 個(gè) 10 位 DAC(數(shù)-模轉(zhuǎn)換)輸出通道;32 位通用可編程輸入/輸出端口;14 個(gè)中斷源可來自定時(shí)器 A / B,時(shí)基,2 個(gè)外部時(shí)鐘源輸入,鍵喚醒;具備觸鍵喚醒的功能;使用
11、音頻編碼 SACM_S240 方式(2.4K 位/秒),能容納 210 秒的語音數(shù)據(jù);鎖相環(huán) PLL 振蕩器提供系統(tǒng)時(shí)鐘信號(hào);32768Hz 實(shí)時(shí)時(shí)鐘;7 通道 10 位電壓模-數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模-數(shù)轉(zhuǎn)換器;聲音模-數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器和自動(dòng)增益控制(AGC)功能;具備串行設(shè)備接口;低電壓復(fù)位(LVR)功和低電壓監(jiān)測(cè)(LVD)功能;內(nèi)置仿真板(ICE,In- Circuit Emulator)接口。3.2精簡(jiǎn)開發(fā)板61 板“61 板”是 SPCE061A EMU BOARD 的簡(jiǎn)稱,是以16 位單片機(jī) SPCE061A 為的精簡(jiǎn)開發(fā)仿真實(shí)驗(yàn)板,大小相當(dāng)于一張牌。 “6
12、1 板”除了具備單片機(jī)最小系統(tǒng)電路外,還包括有電源電路、復(fù)位電路、ICE 電路、音頻電路(含 MIC 輸入部分和 DAC 音頻輸出部分)等,“61 板”可以采用電池供電。圖 3-1 所示為該精簡(jiǎn)開發(fā)板的實(shí)物圖。4 圖 3-1 61 板實(shí)物圖5 4系統(tǒng)總體方案介紹4.1系統(tǒng)硬件方案系統(tǒng)的結(jié)構(gòu)框圖如圖 4-1 示。61板控制板方向控制橋路SPCE061A驅(qū)動(dòng)控制橋路圖 4-1 系統(tǒng)結(jié)構(gòu)框圖系統(tǒng)組成主要包括以下兩部分:SPCE061A 精簡(jiǎn)開發(fā)板、語音小車控制電路板。圖中的語音輸入部分 MIC_ IN、按鍵輸入 KEY、聲音輸出部分的功率放大環(huán)節(jié)等已經(jīng)做到了精簡(jiǎn)開發(fā)板61 板上,為使用提供了很大的方
13、便。在電機(jī)的驅(qū)動(dòng)方面,采用全橋驅(qū)動(dòng)技術(shù),利用四個(gè) I/O 端口分為兩組分別實(shí)現(xiàn)兩個(gè)電機(jī)的正傳、反轉(zhuǎn)和停三態(tài)運(yùn)行。4.2系統(tǒng)控制方案小車的運(yùn)動(dòng)控制采用語音控制和中斷定時(shí)控制相結(jié)合,通過語音觸發(fā)小車動(dòng)作,小車動(dòng)作之后,隨時(shí)可以通過語音指令改變小車的運(yùn)動(dòng)狀態(tài)。在每一次動(dòng)作觸發(fā)的同時(shí)啟動(dòng)定時(shí)器,如果小車由于某些原因不能正常的接收語音指令,則只要定時(shí)時(shí)間到,中斷服務(wù)程序會(huì)發(fā)出指令讓小車停下來。詳細(xì)的控制過程請(qǐng)參看第 6 節(jié)程序設(shè)計(jì)部分。6 驅(qū)動(dòng)電機(jī)方向電機(jī)SPK功放濾波KEYMIC5系統(tǒng)硬件設(shè)計(jì)系統(tǒng)的硬件方面,由于大部分的功能實(shí)現(xiàn)都是在 61 板上完成的,只有電機(jī)控制部分電路另外設(shè)計(jì)在一塊獨(dú)立的電路板上
14、,和功能實(shí)現(xiàn)。稱之為控制板。下面詳細(xì)的介紹小車的結(jié)構(gòu)和運(yùn)行原理以及控制電路板的結(jié)構(gòu)5.1車體介紹語音控制小車為四輪結(jié)構(gòu),如圖 5-1 所示。其中前面兩個(gè)車輪由前輪電機(jī)控制,在連桿和支點(diǎn)作用下控制前輪左右擺動(dòng),來調(diào)節(jié)小車的前進(jìn)方向。在自然狀態(tài)下,前輪在彈簧作用下保持中間位置。后面兩個(gè)車輪由后輪電機(jī)驅(qū)動(dòng),為整個(gè)小車提供動(dòng)力。所以又稱前面的為方向輪,后面的兩個(gè)為驅(qū)動(dòng)輪,如圖5-2 所示。后輪前輪前輪驅(qū)動(dòng)電機(jī)后輪驅(qū)動(dòng)電機(jī)圖 5-1 車體側(cè)視圖圖 5-2 車體頂視圖5.1.1小車的行走原理直走:由小車的結(jié)構(gòu)分析,在自然狀態(tài)下,前輪在彈簧作用下保持中間狀態(tài),這是只要后輪電機(jī)正轉(zhuǎn)小車就會(huì)前進(jìn)。如圖 5-3
15、所示;:動(dòng)作和前進(jìn)動(dòng)作剛好相反,前輪電機(jī)仍然保持中間狀態(tài),后輪電機(jī)反轉(zhuǎn),小車就會(huì)向后運(yùn)動(dòng),如圖 5-4 所示;左轉(zhuǎn):前輪電機(jī)逆時(shí)針旋轉(zhuǎn)(規(guī)定為正轉(zhuǎn)),后輪電機(jī)正轉(zhuǎn),這時(shí)小車就會(huì)側(cè)前進(jìn),如圖 5-5 所示;后輪共同作用下朝左右轉(zhuǎn):前輪電機(jī)反轉(zhuǎn),后輪電機(jī)正轉(zhuǎn),這時(shí)小車就是會(huì)示。后輪共同作用下朝右側(cè)前進(jìn),如圖 5-6 所7 圖 5-3 小車前進(jìn)原理圖圖 5-4 小車示意圖圖 5-5 小車左轉(zhuǎn)示意圖圖 5-6 小車右轉(zhuǎn)示意圖5.2控制板原理圖控制板主要包括:接口電路、電源電路和電機(jī)的驅(qū)動(dòng)電路,控制板原理圖如圖 5-7 所示。接口電路:接口電路負(fù)責(zé)將 61 板的 I/O 接口信號(hào)傳送給控制電路板,I/O
16、 信號(hào)主要為控制電機(jī)需要的 IOB8IOB11 這四路信號(hào),同時(shí)為了方便后續(xù)的開發(fā)和完善,預(yù)留了 IOB12IOB15 以及 IOA8IOA15 接口,可以在這些接口上添加一些傳感器。電源部分:整個(gè)小車有 4 個(gè)電源信號(hào):電池電源,控制板工作電源,61 板工作電源,61 板的 I/O 輸出電源。系統(tǒng)供電由電池提供,控制板直接采用電池供電 VCC,然后經(jīng)二極管 D1 后產(chǎn)生 61 板電源VCC_618 (D1 主要是防止電源接反,可以省略用導(dǎo)線代替),通過 61 板的 Vio 跳線產(chǎn)生 61 板的端口電源(V1)。VCCJ1VCCVCC_61 J2D11212Q1 PNP8550Q3 PNP85
17、50R1 200J3Q5 R3 IOB9 2KNPN8050IN4007R2200CON2CON212V1V1J5J6Q6 R4 IOB8 2KNPN8050CON2Q2NPN8050Q4 NPN8050IOB8 IOB9 IOB10 IOB11 IOB12 IOB13 IOB14 IOB15 IOB8 IOB9 IOB10 IOB11 IOB12 IOB13 IOB14 IOB15 VCCCON10CON10V1V1Q7 PNP8550Q9 PNP8550R5200J7J8CON2Q11R7IOB10 2KR6200IOA8 IOA9 IOA10 IOA11 IOA12 IOA13 IOA1
18、4 IOA15 IOA8 IOA9 IOA10 IOA11 IOA12 IOA13 IOA14 IOA15 21NPN8050Q12 R8 IOB11 2KNPN8050J4Q8NPN8050Q10 NPN8050CON10CON10圖 5-7 控制板原理圖5.2.1全橋驅(qū)動(dòng)原理全橋驅(qū)動(dòng)又稱 H 橋驅(qū)動(dòng),下面介紹一下 H 橋的工作原理:H 橋一共有四個(gè)臂,分別為 B1B4,每個(gè)臂由一個(gè)開關(guān)控制,示例中為三極管 Q1Q4。如果讓 Q1、Q2 導(dǎo)通 Q3、Q4 關(guān)斷,如圖電機(jī)正轉(zhuǎn)。5-8 所示,此時(shí)電流將會(huì)流經(jīng) Q1、負(fù)載、Q2 組成的回路,B1 Q1B3 Q3B1 Q1B3 Q3MMLoadLo
19、adB4 Q4B2 Q2B4 Q4B2 Q2圖 5-8 B1、B2 工作時(shí)的 H 橋電路簡(jiǎn)圖圖 5-9 B3、B4 工作時(shí)的 H 橋電路簡(jiǎn)圖5-9 所示,此時(shí)電流將會(huì)流經(jīng) Q3、負(fù)載、Q4 組成的回路,如果讓 Q1、Q2 關(guān)斷 Q3、Q4 導(dǎo)通,如圖電機(jī)反轉(zhuǎn)。9 12345678910123456789101234567891012345678910如果讓 Q1、Q2 關(guān)斷 Q3、Q4 也關(guān)斷,負(fù)載 Load 兩端懸空,如圖 5-10 所示,此時(shí)電機(jī)停轉(zhuǎn)。這樣就實(shí)現(xiàn)了電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)、停止三態(tài)控制。如果讓 Q1、Q2 導(dǎo)通 Q3、Q4 也導(dǎo)通,那么電流將會(huì)流經(jīng) Q1、Q4 組成的回路以及 Q2
20、 和 Q3 組成的回路,如圖 5-11 所示,這時(shí)橋臂上會(huì)出現(xiàn)很大的短路電流。在實(shí)際應(yīng)用時(shí)注意避免出現(xiàn)橋臂短路的情況,這會(huì)給電路帶來很大的危害,嚴(yán)重的會(huì)燒毀電路。B1 Q1B3 Q3B1 Q1B3 Q3MMLoadLoadB4 Q4B2 Q2B4 Q4B2 Q2圖 5-11 B1B4 全部工作時(shí)的 H 橋簡(jiǎn)圖圖 5-10 B1B4 全部停止工作時(shí)的 H 橋簡(jiǎn)圖5.2.2動(dòng)力電機(jī)驅(qū)動(dòng)電路動(dòng)力驅(qū)動(dòng)由后輪驅(qū)動(dòng)實(shí)現(xiàn),負(fù)責(zé)小車的直線方向運(yùn)動(dòng),包括前進(jìn)和后退,后輪驅(qū)動(dòng)電路是一個(gè)全橋驅(qū)動(dòng)電路,如圖 5-12 所示:Q1、Q2、Q3、Q4 四個(gè)三極管組成四個(gè)橋臂,Q1 和 Q4 組成一組,Q2 和 Q3 組成
21、一組,Q5 控制 Q2、Q3 的導(dǎo)通與關(guān)斷,Q6 控制 Q1 和 Q4 的導(dǎo)通與關(guān)斷,而 Q5、Q6 由 IOB9 和 IOB8控制,這樣就可以通過 IOB8 和 IOB9 控制四個(gè)橋臂的導(dǎo)通與關(guān)斷控制后輪電機(jī)的運(yùn)行狀態(tài),轉(zhuǎn)或者停轉(zhuǎn),進(jìn)而控制小車的前進(jìn)和后退。轉(zhuǎn)反VCCQ1 PNP8550Q3R1 200PNP8550J3Q5 R3 IOB9 R22002K12NPN8050Q6 R4 IOB8 CON2Q22KNPN8050Q4NPN8050NPN8050圖 5-12 后輪電機(jī)驅(qū)動(dòng)電路、IOB9 為低電平時(shí) Q1 和 Q4 導(dǎo)通,Q2 和 Q3 截止,后輪電機(jī)正轉(zhuǎn),小車前進(jìn);反當(dāng) IOB8
22、為之當(dāng) IOB8 為低電平、IOB9 為時(shí) Q1 和 Q4 截止,Q2 和 Q3 導(dǎo)通,后輪電機(jī)反轉(zhuǎn),小車;而當(dāng)IOB8、IOB9 同為低電平時(shí) Q1、Q2、Q3 和 Q4 都截止,后輪電機(jī)停轉(zhuǎn),小車停止運(yùn)動(dòng)。注意:IOB8 和 IOB9 不能同時(shí)置,這樣會(huì)造成后輪驅(qū)動(dòng)全橋短路現(xiàn)象。10 5.2.3方向電機(jī)控制電路方向控制由前輪驅(qū)動(dòng)實(shí)現(xiàn),包括左轉(zhuǎn)和右轉(zhuǎn),前輪驅(qū)動(dòng)電路也是一個(gè)全橋驅(qū)動(dòng)電路,如圖 5-12 所示: Q7、Q8、Q9、Q10 四個(gè)三極管組成四個(gè)橋臂,Q7 和 Q10 組成一組,Q8 和 Q9 組成一組,Q11 控制 Q8、 Q9 的導(dǎo)通與關(guān)斷,Q12 控制 Q7 和 Q10 的導(dǎo)通與
23、關(guān)斷,而 Q11、Q12 由 IOB10 和 IOB11 控制,這樣就可以通過 IOB10 和 IOB11 控制前輪電機(jī)的正轉(zhuǎn)和反轉(zhuǎn),進(jìn)而控制小車的左轉(zhuǎn)和右轉(zhuǎn)。VCCQ7 PNP8550Q9R5PNP8550200CON2Q11R7IOB10 R62002K21NPN8050Q12 R8 IOB11 J4Q82KNPN8050Q10 NPN8050NPN8050圖 5-13 前輪電機(jī)驅(qū)動(dòng)電路、IOB11 為低電平時(shí) Q8 和 Q9 導(dǎo)通,Q7 和 Q10 截止,前輪電機(jī)正轉(zhuǎn),小車前輪朝當(dāng) IOB10 為轉(zhuǎn);反之當(dāng) IOB10 為低電平、IOB11 為時(shí) Q8 和 Q9 截止,Q7 和 Q10
24、導(dǎo)通,前輪電機(jī)反轉(zhuǎn),小車前輪朝右偏轉(zhuǎn);而當(dāng) IOB10、IOB11 同為低電平時(shí) Q8 和 Q9 截止,Q7 和 Q10 也截止,前輪電機(jī)停轉(zhuǎn),在彈簧作用下前輪被拉回到中間位置,保持直向。注意:IOB10、IOB11 不能同時(shí)為,這樣會(huì)造成前輪驅(qū)動(dòng)全橋的橋臂短路。結(jié)合以上對(duì)前輪和后輪的狀態(tài)分析,得到小車的運(yùn)行狀態(tài)與輸入的對(duì)照表,如下表所示:表 5.1 基本的輸入與小車運(yùn)動(dòng)狀態(tài)對(duì)照表另外還有一些不常用的運(yùn)行狀態(tài),比如右后轉(zhuǎn)、左后轉(zhuǎn)等,結(jié)合以上對(duì)前輪和后輪的狀態(tài)分析,其端口對(duì)照如表 5.2 所示:表 5.2 輸入與小車的運(yùn)動(dòng)狀態(tài)對(duì)照表注意:為了小車的安全請(qǐng)不要出現(xiàn)以下兩種組合情況:表 5.3的輸入
25、狀態(tài)列表11 IOB11IOB10IOB9IOB8后電機(jī)前電機(jī)小車0110反轉(zhuǎn)正轉(zhuǎn)右后轉(zhuǎn)1010反轉(zhuǎn)反轉(zhuǎn)左后轉(zhuǎn)IOB11IOB10IOB9IOB8后電機(jī)前電機(jī)小車0000停轉(zhuǎn)停轉(zhuǎn)停0001正轉(zhuǎn)停轉(zhuǎn)前進(jìn)0010反轉(zhuǎn)停轉(zhuǎn)0101正轉(zhuǎn)正轉(zhuǎn)左前轉(zhuǎn)1001正轉(zhuǎn)反轉(zhuǎn)右前轉(zhuǎn)12 IOB11IOB10IOB9IOB8后電機(jī)前電機(jī)小車*11停轉(zhuǎn)*停11*停轉(zhuǎn)停6系統(tǒng)設(shè)計(jì)6.1系統(tǒng)的總體程序流程系統(tǒng)的總體程序流6-1 所示:開始Y已經(jīng)訓(xùn)練過N裝載語音模型保存訓(xùn)練結(jié)果語音識(shí)別與執(zhí)行重新訓(xùn)練Y圖 6-1 系統(tǒng)總體程序流程圖6-1 所示,分為四大部分:初始化部分、訓(xùn)練部分、識(shí)別部分、重訓(xùn)語音識(shí)別小車的主程序流操作。初始
26、化部分:初始化操作將 IOB8IOB11 設(shè)置為輸出端,用以控制電機(jī)。必要時(shí)還要有對(duì)應(yīng)的輸入端設(shè)置和端口設(shè)置等。訓(xùn)練部分:訓(xùn)練部分完成的工作就是建立語音模型。程序一開始判斷小車是否被訓(xùn)練過,如果沒有訓(xùn)練過則要求對(duì)其進(jìn)行訓(xùn)練,并且會(huì)在訓(xùn)練成功之后將訓(xùn)練的模型到 Flash,在以后使用時(shí)不需要重新訓(xùn)練;如果已經(jīng)訓(xùn)練過會(huì)把在 Flash 中的模型調(diào)出來裝載到辨識(shí)器中。識(shí)別部分:在識(shí)別環(huán)節(jié)當(dāng)中,如果辨識(shí)結(jié)果是名字,停止當(dāng)前的動(dòng)作并進(jìn)入待命狀態(tài),然后等待動(dòng)作命令。如果辨識(shí)結(jié)果為動(dòng)作指令小車會(huì)語音告知相應(yīng)動(dòng)作并執(zhí)行該動(dòng)作,在運(yùn)動(dòng)過程中可以通過呼叫小車13 等待復(fù)位清模型區(qū)N進(jìn)入識(shí)別模式訓(xùn)練小車初始化的名字
27、使小車停下來。重訓(xùn)操作:考慮到有重新訓(xùn)練的需求,設(shè)置了重新訓(xùn)練的按鍵(61 板的 KEY3),循環(huán)掃描該按鍵,一旦檢測(cè)到此鍵按下,則將擦除訓(xùn)練標(biāo)志位(0 xe000 單元),并等待復(fù)位。復(fù)位后,程序重新執(zhí)行,當(dāng)檢測(cè)到訓(xùn)練標(biāo)志位為 0 x f 時(shí)會(huì)要求重新對(duì)其進(jìn)行訓(xùn)練。下面詳細(xì)介紹以上提到的子程序。6.1.1語音識(shí)別的原理簡(jiǎn)介在介紹子程序之前首先介紹一下語音識(shí)別的原理。語音識(shí)別主要分為“訓(xùn)練”和“識(shí)別”兩個(gè)階段。在訓(xùn)練階段,單片機(jī)對(duì)到的語音樣本進(jìn)行分析到的語音樣本也進(jìn)行類處理,從中提取出語音特息,建立一個(gè)特征模型;在識(shí)別階段,單片機(jī)對(duì)似的分析處理,提取出語音的特息,然后將這個(gè)特息模型與已有的特征
28、模型進(jìn)行對(duì)比,如果二者達(dá)到了一定的匹配度,則輸入的語音被識(shí)別。語音識(shí)別的具體流6-2 所示:語音特征模型圖 6-2 語音識(shí)別流程說明框圖6.1.2訓(xùn)練子程序當(dāng)程序檢測(cè)到訓(xùn)練標(biāo)志位 BS_Flag 內(nèi)容為 0 xf,就會(huì)要求操作者對(duì)它進(jìn)行訓(xùn)練操作,訓(xùn)練操作的過 6-3 所示:訓(xùn)練采用兩次訓(xùn)練獲取結(jié)果的方式,以訓(xùn)練名字為例:小車首先會(huì)提示:給我取個(gè)名字吧,這時(shí)你可以告訴它一個(gè)名字(比如 Jack);然后它會(huì)提示:請(qǐng)?jiān)僬f一遍,這時(shí)再次告訴它名字(Jack),如果兩次差別不大,小車就能夠成功的建立模型,名稱訓(xùn)練成功;如果沒能夠成功的建立模型,小14 開始識(shí)別出N語音指令Y返回 識(shí)別過程執(zhí)行對(duì)應(yīng)動(dòng)作獲取
29、識(shí)別結(jié)果初始化識(shí)別器開始返回 中斷服務(wù)定時(shí)語音開始訓(xùn)練成功 N Y返回訓(xùn)練過程執(zhí)行訓(xùn)練,獲取訓(xùn)練結(jié)果初始化RAM車會(huì)告知失敗的原因并要求重新訓(xùn)練。成功訓(xùn)練名稱后會(huì)給出下一條待訓(xùn)練指令提示音:前進(jìn),參照名稱訓(xùn)練方式訓(xùn)練前進(jìn)指令。依次訓(xùn)練小車的名稱前進(jìn)指令功子程序返回,訓(xùn)練結(jié)束。指令左轉(zhuǎn)指令右轉(zhuǎn)指令,全部訓(xùn)練成開始訓(xùn)練名稱訓(xùn)Y前進(jìn)訓(xùn)Y訓(xùn)Y圖 6-3 訓(xùn)練流程圖下面是訓(xùn)練部分的子程序,在訓(xùn)練時(shí)如果訓(xùn)練不成功 TrainWord()返回值不為 0,要求重復(fù)訓(xùn)練,只有當(dāng)訓(xùn)練成功,TrainWord()返回 0,進(jìn)行下一條指令訓(xùn)練。6.1.3語音識(shí)別子程序6-4 所示:首先獲取辨識(shí)器的辨識(shí)結(jié)果,判斷是否有
30、語音觸發(fā),如果有語音觸發(fā)則語音識(shí)別流會(huì)返回識(shí)別結(jié)果的 ID 號(hào),ID 號(hào)對(duì)稱或者對(duì)應(yīng)不同的動(dòng)作。如果 ID 號(hào)為名稱,則結(jié)束運(yùn)動(dòng)(如果當(dāng)前在運(yùn)動(dòng)狀態(tài)),進(jìn)入待命狀態(tài),等待下一次的指令觸發(fā);如果 ID 號(hào)為動(dòng)作,則語音告知將要執(zhí)行的動(dòng)作,并執(zhí)行該動(dòng)作。15 void TrainSD()while(TrainWord(NAME_ID,S_NAME) != 0) ; /訓(xùn)練名稱 while(TrainWord(D_GO_ID,S_ACT1) != 0) ; /訓(xùn)練第 1 個(gè)動(dòng)作 while(TrainWord(D_BACK_ID,S_ACT2) != 0) ; /訓(xùn)練第 2 個(gè)動(dòng)作 while(Tr
31、ainWord( D_LEFT_ID,S_ACT3) != 0) ;/訓(xùn)練第 3 個(gè)動(dòng)作 while(TrainWord(D_RIGHT_ID,S_ACT4) != 0) ; /訓(xùn)練第 4 個(gè)動(dòng)作訓(xùn)練訓(xùn)練前訓(xùn)練名左轉(zhuǎn)訓(xùn)練成功 NY右轉(zhuǎn)訓(xùn)練成功 N Y訓(xùn)練結(jié)束訓(xùn)練成功提示指令練成功N訓(xùn)練右轉(zhuǎn)指令進(jìn)指令練成功N訓(xùn)練左轉(zhuǎn)指令稱練成功N語音識(shí)別N語音觸發(fā)?Switch(Res)Y左轉(zhuǎn)右轉(zhuǎn)停車待命返回圖 6-4 語音識(shí)別部分流程圖6.1.4動(dòng)作子程序動(dòng)作子程序包括:前進(jìn)、左拐、右拐、停車子程序;前進(jìn):由小車的結(jié)構(gòu)原理和驅(qū)動(dòng)電路分析知:只要 IOB8 為,IOB9,IOB10,IOB11 全部為低電平即可
32、實(shí)現(xiàn)小車的前進(jìn)。前進(jìn)子程序包括語音提示、置端口數(shù)據(jù)、啟動(dòng)定時(shí)器操作,該部分程序如下:由小車的結(jié)構(gòu)原理分析和驅(qū)動(dòng)電路分析知:只要 IOB9 為,IOB8,IOB10,IOB11 全部為低電平即可實(shí)現(xiàn)小車的。子程序包括語音提示、置端口數(shù)據(jù)、啟動(dòng)定時(shí)器操作,程序如下:16 void BackUp()/PlaySnd(S_ACT2,3);/語音提示*P_IOB_Data=0 x0200;/*P_Mask |= 0 x0004;/開 2Hz 中斷 asm(fiq,irq);uiTimecont = 0;/清定時(shí)器void GoAhead()/前進(jìn)PlaySnd(S_ACT1,3);/語音提示*P_IOB
33、_Data=0 x0100;/前進(jìn)*P_Mask |= 0 x0004;/開 2Hz 中斷 asm(fiq,irq);uiTimecont = 0;/清定時(shí)器前進(jìn)左轉(zhuǎn)指令指令前進(jìn)指令名字?右轉(zhuǎn)指令左轉(zhuǎn):由小車的結(jié)構(gòu)原理分析和驅(qū)動(dòng)電路分析知:小車左轉(zhuǎn)需要兩個(gè)條件:1.前輪2.后輪前進(jìn),這時(shí)對(duì)應(yīng)的 I/O 狀態(tài)為:IOB8、IOB10 為,IOB9、IOB11 為低電平。左轉(zhuǎn)子程序包括語音提示、置端口數(shù)據(jù)、啟動(dòng)定時(shí)器操作,該部分程序如下:注:在左轉(zhuǎn)之前首先讓前輪右偏,然后再讓前輪朝也最大,能更好實(shí)現(xiàn)轉(zhuǎn)彎。,這樣前輪的擺動(dòng)范圍更大,慣性更大,擺幅右轉(zhuǎn):由小車的結(jié)構(gòu)原理分析和驅(qū)動(dòng)電路分析知:小車右轉(zhuǎn)需
34、要兩個(gè)條件:1.前輪右偏 2.后輪前進(jìn),這時(shí)對(duì)應(yīng)的 I/O 狀態(tài)為:IOB8、IOB11 為,IOB9、IOB10 為低電平。右轉(zhuǎn)子程序包括語音提示、置端口數(shù)據(jù)、啟動(dòng)定時(shí)器操作,該部分程序如下:注:在右轉(zhuǎn)之前首先讓前輪也最大,能更好實(shí)現(xiàn)轉(zhuǎn)彎。,然后再讓前輪朝右偏,這樣前輪的擺動(dòng)范圍更大,慣性更大,擺幅6.1.5中斷子程序雖然已經(jīng)有了前進(jìn)、后退以及停車(通過直接呼叫小車的名字使其停車)等語音控制指令,但是考慮環(huán)境的干擾,小車運(yùn)行時(shí)的噪音影響和有效距離的限制,小車運(yùn)行后可能接收不到語音指令而一直運(yùn)行。為了防止出現(xiàn)這種情況,加入了時(shí)間控制,在啟動(dòng)小車運(yùn)行的同時(shí)啟動(dòng)定時(shí)器,定時(shí)器時(shí)間到停止小車的運(yùn)行,該定時(shí)器借助于 2Hz 時(shí)基中斷完成,圖 6-5 所示為該程序的流程圖??梢栽诔绦蛑行薷?uiTimeset參數(shù)來控制運(yùn)行時(shí)間,當(dāng) uiTimeset=2 時(shí),運(yùn)行時(shí)間為 1s,以此類推。17 void TurnLeft()/左轉(zhuǎn)PlaySnd(S_GJG,3);/提示音*P_IOB_Data=0 x0500;/前輪Delay();/延時(shí)*P_IOB_Data=0 x0900;/前輪右偏*P_Mask |= 0 x0004;/打開 2Hz 中斷 asm(fiq,irq);/允許總中斷uiTimeco
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年武漢市江岸區(qū)人民醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- 浙江中小學(xué)教師培訓(xùn)管理平臺(tái)
- AI驅(qū)動(dòng)的個(gè)性化治療方案生成系統(tǒng)
- 2025年度家居飾品銷售定制合同范本3篇
- 2025年度智能設(shè)備安裝與維護(hù)承包合同范本大全3篇
- 2025年度校車駕駛員聘用合同(含駕駛員休息與調(diào)休安排)3篇
- 健康應(yīng)用:綜合健康管理手機(jī)應(yīng)用
- 2024年委托高等教育自學(xué)考試招生代理服務(wù)合同范本3篇
- 2024年某餐飲企業(yè)與食品原料供應(yīng)商合同
- 清欠年終工作總結(jié)
- 歷史期中復(fù)習(xí)課件八年級(jí)上冊(cè)復(fù)習(xí)課件(統(tǒng)編版)
- 幕墻作業(yè)安全技術(shù)交底
- 保護(hù)性約束完整版本
- 埃森哲流程制造-智能工廠規(guī)劃設(shè)計(jì)相關(guān)兩份資料
- 國(guó)家開放大學(xué)電大《供應(yīng)鏈管理》期末題庫及答案
- 10萬噸綠色航空煤油項(xiàng)目可行性研究報(bào)告寫作模板-備案審批
- 物業(yè)服務(wù)水電維修方案
- 2024至2030年中國(guó)生活用紙機(jī)械行業(yè)市場(chǎng)深度分析及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 2024-2030年中國(guó)蔬菜種植市場(chǎng)發(fā)展方向及前景需求趨勢(shì)報(bào)告
- 勞動(dòng)合同變更確認(rèn)書
- 象棋培訓(xùn)機(jī)構(gòu)合伙協(xié)議
評(píng)論
0/150
提交評(píng)論