版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
[4]的設(shè)計(jì)中則直接使用可以進(jìn)行語音識(shí)別的單片機(jī),使用的SPCE061A單片機(jī)作為控制器,但是只用于完成語音識(shí)別,利用無線模塊進(jìn)行和51單片機(jī)的通信,51單片機(jī)主要負(fù)責(zé)小車的控制,這種將語音功能和小車控制功能分隔開的思想值得借鑒。在這些研究設(shè)計(jì)文獻(xiàn)中,都對(duì)實(shí)現(xiàn)方案以及所用的單片機(jī)或者芯片進(jìn)行了不同的選擇,通過這些經(jīng)驗(yàn)初步了解本設(shè)計(jì)所需要實(shí)現(xiàn)的功能以及可選擇的方案,可以知道如何驅(qū)動(dòng)電機(jī),選擇什么樣的電機(jī)驅(qū)動(dòng)模塊,如何去實(shí)現(xiàn)語音識(shí)別這個(gè)最為主要的功能,是否需要是使用通信模塊,對(duì)這些有了基本的認(rèn)識(shí)之后,從而清楚自己在設(shè)計(jì)中的思路以及對(duì)所用到的工具還有實(shí)現(xiàn)的方法進(jìn)行初步的整理,使得自己在系統(tǒng)設(shè)計(jì)的過程中盡可能的有一定的初步理論驗(yàn)證,在接下來的動(dòng)手設(shè)計(jì)中少走一些彎路。2.2語音控制智能車系統(tǒng)概述語音控制的智能車系統(tǒng)原理是利用語音信號(hào)中的信息進(jìn)行處理,轉(zhuǎn)換成控制智能車運(yùn)動(dòng)及功能的控制指令,從而設(shè)計(jì)并實(shí)現(xiàn)語音控制的智能車。該系統(tǒng)一般包含兩大系統(tǒng),即安卓手機(jī)語音識(shí)別與處理系統(tǒng)和智能車系統(tǒng)。安卓手機(jī)軟件接收人發(fā)出語音信號(hào)并進(jìn)行語音識(shí)別將其轉(zhuǎn)換成文本進(jìn)行處理分析,然后根據(jù)語音信息內(nèi)容利用手機(jī)藍(lán)牙發(fā)送不同的與之相對(duì)應(yīng)的指令給智能車系統(tǒng),智能車根據(jù)不同的藍(lán)牙指令作出不同的反應(yīng),控制智能車的運(yùn)動(dòng)以及功能,利用藍(lán)牙模塊發(fā)送對(duì)應(yīng)的數(shù)據(jù)到手機(jī)軟件上,從而實(shí)現(xiàn)語音控制智能車。語音控制智能車有以下幾個(gè)方面的發(fā)展趨勢:(1)語音指令越來越多,語音控制的智能車正朝著功能更加多樣化的方向發(fā)展,通過對(duì)智能車系統(tǒng)的不斷升級(jí)完善,智能車所能受語音控制的功能也會(huì)越來越多,有利于實(shí)現(xiàn)多功能甚至是幾個(gè)功能組合成的復(fù)雜功能,減少了原本需要多輛智能車才能實(shí)現(xiàn)同樣功能的使用。(2)能夠識(shí)別出相同語音信息指令的語音,更加的智能化。語音識(shí)別功能從單個(gè)固定的語音控制文本向多個(gè)相同含義語音控制文本發(fā)展,進(jìn)一步發(fā)展成為只要是包含相同語音控制信息指令的語音都可以實(shí)現(xiàn)語音識(shí)別,實(shí)現(xiàn)更為智能化的語音識(shí)別功能。(3)采用各種新技術(shù)增強(qiáng)智能車的性能,例如使用物聯(lián)網(wǎng)技術(shù),控制多個(gè)智能車,系統(tǒng)性的分配智能車任務(wù),使得智能車可以更加高效的運(yùn)行。2.3本設(shè)計(jì)方案思路本設(shè)計(jì)以實(shí)現(xiàn)語音控制智能車的運(yùn)動(dòng)和功能為主要目的;以語音識(shí)別,各個(gè)分系統(tǒng)通信和智能車運(yùn)動(dòng)和功能實(shí)現(xiàn)為主要的設(shè)計(jì)內(nèi)容。在語音識(shí)別方面開發(fā)安卓應(yīng)用程序,并設(shè)計(jì)信息處理功能和程序界面設(shè)計(jì);在智能車運(yùn)動(dòng)方面,要解決智能車供電問題,電機(jī)的驅(qū)動(dòng)問題,還要考慮到智能車速度控制的問題以及智能車系統(tǒng)中各種功能模塊不會(huì)產(chǎn)生很大的沖突;在多模塊共同工作問題的處理辦法上,對(duì)智能車系統(tǒng)再次進(jìn)行分割,主要分為智能車運(yùn)動(dòng)系統(tǒng)和智能車控制與通信系統(tǒng),使用兩個(gè)單片機(jī)對(duì)應(yīng)負(fù)責(zé)這兩個(gè)系統(tǒng)(詳見第二章的硬件設(shè)計(jì)部分),對(duì)智能車系統(tǒng)進(jìn)行功能上的劃分:單片機(jī)之間采用串口通信,單片機(jī)與安卓手機(jī)軟件采用藍(lán)牙通信。2.4研發(fā)內(nèi)容和技術(shù)關(guān)鍵(1)安卓手機(jī)軟件開發(fā);(2)手機(jī)軟件上語音識(shí)別與處理功能實(shí)現(xiàn);(3)智能車的運(yùn)動(dòng)及控制;(4)安卓手機(jī)軟件與智能車的數(shù)據(jù)通信。2.5主要功能要求(1)實(shí)現(xiàn)語音識(shí)別與控制功能(以下功能都是基于語音控制實(shí)現(xiàn));(2)智能車根據(jù)語音指令做到向左行駛、向右行駛、向前行駛和向后行駛;(3)實(shí)現(xiàn)智能車的速度控制功能;(4)實(shí)現(xiàn)小車的循跡功能,能夠自動(dòng)防止撞到障礙物。3語音控制的智能車總體系統(tǒng)方案設(shè)計(jì)語音控制的智能車系統(tǒng)是通過語音的方式遠(yuǎn)距離控制智能車運(yùn)動(dòng)與功能的系統(tǒng),主要分為語音識(shí)別與處理與智能車運(yùn)動(dòng)與控制部分,本章主要對(duì)整體方案進(jìn)行初步的規(guī)劃、比較、論證。最終確立一種控制便捷、穩(wěn)定、語音識(shí)別率高的語音控制智能車的方案,滿足該設(shè)計(jì)的功能要求,并具有一定的自動(dòng)化和智能化。3.1語音識(shí)別實(shí)現(xiàn)方案的擬定和比較語音識(shí)別是整個(gè)語音控制的智能車系統(tǒng)的關(guān)鍵所在,語音識(shí)別的成功率和正確率關(guān)系著控制智能車運(yùn)動(dòng)和功能的效果好壞,經(jīng)過閱讀相關(guān)文獻(xiàn),目前有以下三種方案。方案一:采用凌陽16位SPCE061A語音控制單片機(jī)實(shí)現(xiàn)。在一塊單片機(jī)上同時(shí)實(shí)現(xiàn)語音識(shí)別功能和智能車的運(yùn)動(dòng)與控制系統(tǒng),性能強(qiáng)大,處理速度快,對(duì)于復(fù)雜的信號(hào)能夠在較短的時(shí)間內(nèi)完成處理,可以通過編程對(duì)音頻信號(hào)進(jìn)行處理,實(shí)現(xiàn)語音識(shí)別的功能,是利用處理數(shù)字信號(hào)實(shí)現(xiàn)語音識(shí)別的一種比較好的選擇。方案二:采用MCS-51系列單片機(jī)實(shí)現(xiàn)。由于該系列單片機(jī)無法利用自身的芯片實(shí)現(xiàn)語音識(shí)別功能,但是可以與語音識(shí)別模塊連接通信后,對(duì)數(shù)據(jù)進(jìn)行處理后實(shí)現(xiàn)自身所不具有的語音識(shí)別功能,因此需要利用外部模塊拓展功能,通常使用LD3320非特定人聲識(shí)別模塊,但這樣必然會(huì)造成端口的資源緊張,而且其他功能也會(huì)在語音識(shí)別過程中受到影響。由于語音識(shí)別和智能車運(yùn)動(dòng)與控制的一體化方案也就導(dǎo)致語音識(shí)別的正確率和識(shí)別效果會(huì)受到人聲在傳遞至智能車語音識(shí)別模塊衰減的影響,因此如果想達(dá)到比較好的控制效果,人與智能車的距離通常不能太遠(yuǎn),大大限制了智能車的功能運(yùn)行,也使得控制智能車變得不便捷。方案三:使用安卓語音識(shí)別與處理軟件實(shí)現(xiàn)。如今手機(jī)的語音識(shí)別功能日漸強(qiáng)大,識(shí)別精度高,識(shí)別效果好,并采用藍(lán)牙與智能車進(jìn)行通信和控制,相比較上面兩種方案語音控制的距離會(huì)更加的遠(yuǎn),識(shí)別的數(shù)量也會(huì)更多,也具有一定的可移植性,同時(shí)基于手機(jī)界面可實(shí)現(xiàn)一定的交互性,使得整個(gè)系統(tǒng)更具智能性,也更加符合本設(shè)計(jì)的需求。因此本設(shè)計(jì)采用安卓手機(jī)語音識(shí)別與處理實(shí)現(xiàn)語音識(shí)別并控制智能車運(yùn)動(dòng)與功能的方案。3.2智能車系統(tǒng)方案的擬定和比較方案一:使用STC89C52RC單片機(jī)實(shí)現(xiàn)。需要定時(shí)器中斷實(shí)現(xiàn)智能車的驅(qū)動(dòng)電機(jī),需要串口中斷和定時(shí)器中斷,串口與藍(lán)牙模塊連接實(shí)現(xiàn)與手機(jī)軟件的通信,還需要使用外部中斷及端口實(shí)現(xiàn)智能車的速度測量,使用的中斷較多而且中斷工作時(shí)由于存在中斷優(yōu)先級(jí)使得各個(gè)中斷間會(huì)有一定的影響。方案二:使用STC12C5A60S2單片機(jī)(簡稱STC12單片機(jī))和STC89C52RC單片機(jī)(簡稱STC89單片機(jī))實(shí)現(xiàn)。將智能車系統(tǒng)按功能分為兩個(gè)子系統(tǒng),STC12單片機(jī)負(fù)責(zé)智能車的通信和控制系統(tǒng),STC89單片機(jī)負(fù)責(zé)智能車的運(yùn)動(dòng)系統(tǒng)。利用STC12單片機(jī)的雙串口,智能車通信與控制系統(tǒng)的STC12單片機(jī)其中一個(gè)串口與藍(lán)牙模塊相連接,實(shí)現(xiàn)安卓手機(jī)的藍(lán)牙通信以及數(shù)據(jù)傳輸,STC12單片機(jī)的另一個(gè)串口和STC89單片機(jī)的串口相連接,實(shí)現(xiàn)智能車的通信與控制系統(tǒng)對(duì)智能車運(yùn)動(dòng)系統(tǒng)的通信與控制,并且將智能車系統(tǒng)的功能模塊,例如循跡模塊、測速模塊等等,與STC12單片機(jī)相連,實(shí)現(xiàn)基于智能車運(yùn)動(dòng)下的功能。將智能車功能中的運(yùn)動(dòng)功能和其他所需要的功能劃分開來,既使得各個(gè)模塊運(yùn)行時(shí)降低相互間的影響,減少單片機(jī)的不斷中斷,也使得整個(gè)智能車的系統(tǒng)框架變得清晰。通過比較和驗(yàn)證兩種方案,本設(shè)計(jì)選擇了方案二完成智能車系統(tǒng)中運(yùn)動(dòng)、控制、通信的實(shí)現(xiàn)。3.3語音控制智能車總系統(tǒng)方案的確定經(jīng)過比較與方案的驗(yàn)證,最終確定語音控制的智能車的總體方案為:選擇語音識(shí)別方案中的方案一:開發(fā)安卓手機(jī)軟件作為客戶端,實(shí)現(xiàn)語音識(shí)別與處理,利用手機(jī)藍(lán)牙與智能車進(jìn)行通信,完成數(shù)據(jù)傳輸和指令控制。選擇智能車系統(tǒng)方案中的方案二:智能車作為終端,使用STC12單片機(jī)作為智能車的總控制端和與安卓軟件通信端,并與STC89單片機(jī)進(jìn)行通信,完成對(duì)應(yīng)的語音指令所需要的智能車運(yùn)動(dòng)。使用STC89單片機(jī)作為智能車的運(yùn)動(dòng)的控制端,負(fù)責(zé)智能車的運(yùn)動(dòng)。STC89C52RC單片機(jī)STC12C5A60S2單片機(jī)STC89C52RC單片機(jī)STC12C5A60S2單片機(jī)語音界面系統(tǒng)串口通信藍(lán)牙無線通信智能車運(yùn)動(dòng)系統(tǒng)智能車通信控制系統(tǒng)智能車語音識(shí)別處理系統(tǒng)終端客戶端圖3-1語音控制的智能車總系統(tǒng)框圖整個(gè)設(shè)計(jì)的設(shè)計(jì)思路是將整個(gè)系統(tǒng)按照功能進(jìn)行劃分,大致思路是手機(jī)軟件進(jìn)行語音識(shí)別,STC89單片機(jī)進(jìn)行智能車的各種運(yùn)動(dòng)功能,STC12單片機(jī)負(fù)責(zé)數(shù)據(jù)的收集和通信,也就是作為智能車的總控制系統(tǒng),主要接收手機(jī)傳來的控制指令,并下達(dá)指令給STC89單片機(jī),完成整個(gè)過程的控制。因此有兩個(gè)通信過程,兩個(gè)單片機(jī)使用串口通信,STC12單片機(jī)則進(jìn)行遠(yuǎn)距離通信。整個(gè)語音控制的智能車系統(tǒng)分為客戶端和終端兩個(gè)部分。客戶端主要進(jìn)行數(shù)據(jù)的收發(fā)處理,語音識(shí)別,并將信息顯示在手機(jī)界面上,終端包含智能車通信與控制系統(tǒng)和智能車運(yùn)動(dòng)系統(tǒng),智能車通信與控制系統(tǒng)主要的模塊有:數(shù)碼管模塊、測速模塊、藍(lán)牙無線通信模塊。智能車運(yùn)動(dòng)系統(tǒng)的主要模塊有:數(shù)碼管模塊、循跡模塊、避障模塊、L298N電機(jī)驅(qū)動(dòng)模塊、電機(jī)模塊、電源模塊。主要的通信過程:STC12單片機(jī)實(shí)時(shí)監(jiān)測智能車速度,并發(fā)送至客戶端,手機(jī)與STC12單片機(jī)進(jìn)行語音控制指令通信,STC12單片機(jī)對(duì)語音指令信息進(jìn)行處理后對(duì)STC89單片機(jī)下達(dá)智能車所需要的運(yùn)動(dòng)控制指令,完成相應(yīng)的功能,從而實(shí)現(xiàn)語音控制的智能車過程。首先安卓手機(jī)軟件為客戶端,主要負(fù)責(zé)的功能:(1)基于安卓手機(jī)系統(tǒng)語音識(shí)別引擎實(shí)現(xiàn)語音識(shí)別功能;(2)基于安卓手機(jī)藍(lán)牙實(shí)現(xiàn)數(shù)據(jù)的接收和發(fā)送;(3)基于開發(fā)安卓手機(jī)軟件對(duì)各種數(shù)據(jù)進(jìn)行處理,利用手機(jī)界面實(shí)現(xiàn)交互功能。智能車為終端,智能車系統(tǒng)包含兩個(gè)分系統(tǒng)(智能車系統(tǒng)中硬件的連接詳見第四章硬件設(shè)計(jì)部分,智能車語音控制與處理系統(tǒng)中軟件流程與邏輯詳見第五章軟件設(shè)計(jì)部分)。智能車通信與控制系統(tǒng)主要負(fù)責(zé)的功能:(1)智能車與安卓手機(jī)軟件基于藍(lán)牙的數(shù)據(jù)通信控制功能;(2)STC12單片機(jī)和STC89單片機(jī)基于單片機(jī)串口通信控制功能;(3)智能車測速功能;(4)智能車速度顯示功能。智能車運(yùn)動(dòng)系統(tǒng)主要負(fù)責(zé)的功能:(1)智能車的直行、退后、左轉(zhuǎn)、右轉(zhuǎn)、停止;(2)智能車速度控制;(3)智能車循跡功能;(4)智能車避障功能;(5)智能車狀態(tài)顯示功能。4語音控制智能車硬件系統(tǒng)設(shè)計(jì)4.1語音控制的智能車的硬件組成
STC89C52RC單片機(jī)L298N電機(jī)驅(qū)動(dòng)電源模塊
STC12C5A60S2
STC89C52RC單片機(jī)L298N電機(jī)驅(qū)動(dòng)電源模塊
STC12C5A60S2單片機(jī)藍(lán)牙模塊數(shù)碼管數(shù)碼管循跡模塊測速模塊紅外避障電機(jī)模塊串口串口1串口2智能車運(yùn)動(dòng)系統(tǒng)智能車通信控制系統(tǒng)圖4-1硬件系統(tǒng)框圖STC12單片機(jī)的串口2連接藍(lán)牙模塊,串口1與STC89的串口相連,測速模塊使用外部中斷的引腳,實(shí)現(xiàn)計(jì)數(shù),并連接數(shù)碼管模塊,用于速度值的顯示。STC89與L298N電機(jī)驅(qū)動(dòng)模塊連接,電機(jī)驅(qū)動(dòng)模塊連接電機(jī),STC89單片機(jī)輸出PWM(Pulsewidthmodulation,脈沖寬度調(diào)制)波對(duì)智能車速度進(jìn)行控制。STC89連接循跡模塊、避障模塊、數(shù)碼管模塊,其中數(shù)碼管模塊用于負(fù)責(zé)智能車的狀態(tài)顯示(功能模塊具體實(shí)現(xiàn)詳見第五章軟件設(shè)計(jì))。電源模塊對(duì)兩個(gè)單片機(jī)板進(jìn)行供電。4.2智能車運(yùn)動(dòng)控制芯片STC89C52RCSTC89C52RC單片機(jī)是一款在消耗電量十分低的情況下同時(shí)有著較強(qiáng)性能的一款8位的微控制器,相比較與傳統(tǒng)的51單片機(jī),STC89C52RC單片機(jī)做了很多的改進(jìn),在程序的存儲(chǔ)空間和數(shù)據(jù)的存儲(chǔ)空間都得到了增強(qiáng),也可以稱為性能增強(qiáng)的芯片是8051的單片機(jī),并且通過編程實(shí)現(xiàn)功能的代碼同樣也可以用在8051的單片機(jī)上,這些改進(jìn)的地方都使得在嵌入式控制系統(tǒng)的應(yīng)用中提供了更多的幫助和解決方法。具有以下的特點(diǎn):STC89C52RC單片機(jī)有三個(gè)定時(shí)器,相比較STC89C51單片機(jī)(簡稱51單片機(jī))多出來一個(gè)定時(shí)器T2。STC89C52RC單片機(jī)還有一個(gè)雙全工的串口,可以用來串口通信,也可以利用其進(jìn)行燒錄程序。STC89C52RC芯片引腳圖如圖4-2所示。圖4-2STC89C52RC芯片引腳圖4.3智能車通信與控制芯片STC12C5A60S2STC12C5A60S2單片機(jī)可以在復(fù)雜環(huán)境下保證程序的正常運(yùn)行,也可以十分快速的處理所需要的接受到的信號(hào),同時(shí)保證耗電量在一個(gè)非常低的水平。在STC12C5A60S2單片機(jī)上所實(shí)現(xiàn)的功能所需要的運(yùn)行的代碼程序同樣也可以在一般的51單片機(jī)上進(jìn)行稍微的適配后運(yùn)行實(shí)現(xiàn)相同的功能,同時(shí)速度可以達(dá)到一般的51單片機(jī)的10倍左右,STC12C5A60S2單片機(jī)(簡稱STC12單片機(jī))沒有T2定時(shí)器,雖然少了一個(gè)定時(shí)器,沒有辦法利用其作為波特率發(fā)生器,但是STC12單片機(jī)擁有一個(gè)波特率發(fā)生器,而且是進(jìn)行編程后可以自己單獨(dú)工作的,在進(jìn)行串口通信時(shí),作波特率發(fā)生器。STC12單片機(jī)的有兩路PCA(Programmable?Counter?Array,可編程計(jì)數(shù)陣列),也可以作為2路PWM波輸出,也可以配置寄存器后等同于兩個(gè)定時(shí)器。STC12單片機(jī)也有只用于A/D轉(zhuǎn)換的電路,電路一共有8路,ADC所能到達(dá)的精度高達(dá)10位,并且轉(zhuǎn)換速度也十分的快。STC12單片機(jī)具有一個(gè)串口,工作方式是全雙工異步通信,因?yàn)镾TC12單片機(jī)是高速的單片機(jī),所以只要處理速度足夠快,可以利用定時(shí)器進(jìn)行適當(dāng)?shù)目刂茖?shí)現(xiàn)許多的串口。晶振選擇:由于語音控制的智能車系統(tǒng)是通過串口和藍(lán)牙通信,藍(lán)牙模塊和安卓手機(jī)軟件遠(yuǎn)距離無線通信,因此在波特率的設(shè)置中,為了有更好的通信效果,產(chǎn)生較少的波特率誤差,需要產(chǎn)生波特率,這時(shí)候就要定時(shí)器進(jìn)行配合和設(shè)置。而定時(shí)器的效果和單片機(jī)的晶振有關(guān),如果采用12M的晶振,然后用定時(shí)器配置出9600的波特率,計(jì)算得出的誤差會(huì)比較大,但選擇11.0592M的晶振,則基本上沒有誤差,所以選擇晶振為11.0592M。4.4電機(jī)驅(qū)動(dòng)L298N模塊L298N模塊可以實(shí)現(xiàn)電機(jī)的驅(qū)動(dòng)功能,L298N的實(shí)物圖如圖4-3所示。使用說明:首先介紹一下驅(qū)動(dòng)板主要的使用方法,L298N驅(qū)動(dòng)板可以驅(qū)動(dòng)直流電機(jī),可以驅(qū)動(dòng)一個(gè)直流電機(jī),也可以再增加一個(gè)直流電機(jī),兩個(gè)電機(jī)互相不會(huì)影響,但此時(shí)的使能端ENA、ENB必須為高電平,否則驅(qū)動(dòng)板則不會(huì)正常工作,也沒有能力使得直流電機(jī)工作。L298N電機(jī)驅(qū)動(dòng)板電路原理圖如圖4-4所示,控制與電機(jī)狀態(tài)表如表4-1所示。圖4-3L298N電機(jī)驅(qū)動(dòng)板實(shí)物圖直流電機(jī)的驅(qū)動(dòng):該驅(qū)動(dòng)板可驅(qū)動(dòng)兩路直流電機(jī),使能端ENA、ENB為高電平時(shí)有效,控制方式及直流電機(jī)狀態(tài)圖所示。因?yàn)閮陕返尿?qū)動(dòng)方式都是相同的,因此講述一邊的控制方式,首先驅(qū)動(dòng)板正常工作需要使能端為高電平,此時(shí)控制端口IN1、IN2才能夠正常工作,IN1、IN2相當(dāng)于控制電機(jī)的兩個(gè)引腳為高電平還是低電平,例如ENA為高電平,IN1為高電平,IN2為低電平時(shí),并且電機(jī)和驅(qū)動(dòng)板連接好后,電機(jī)便會(huì)反轉(zhuǎn),同樣的另一邊的電機(jī)也可以根據(jù)這種控制方式實(shí)現(xiàn)電機(jī)的正轉(zhuǎn)等狀態(tài),通過兩個(gè)電機(jī)的配合實(shí)現(xiàn)智能車的向各個(gè)方向的運(yùn)動(dòng)。如果要對(duì)直流電機(jī)的轉(zhuǎn)速可以發(fā)生改變,即利用PWM進(jìn)行控制智能車單位時(shí)間所行駛的距離,可以對(duì)改變電機(jī)的控制端的狀態(tài),對(duì)IN1、IN2進(jìn)行設(shè)置,清楚每一個(gè)狀態(tài)下電機(jī)會(huì)往對(duì)應(yīng)狀態(tài)下的轉(zhuǎn)動(dòng)的方向,然后在使能端,也就是ENA處,將單片機(jī)產(chǎn)生的PWM脈沖輸入進(jìn)去,從而實(shí)現(xiàn)電機(jī)工作時(shí)間的改變、電機(jī)轉(zhuǎn)速的改變、智能車速度的改變。圖4-4L298N電機(jī)驅(qū)動(dòng)板電路原理圖表4-1控制與電機(jī)狀態(tài)表4.5測速模塊圖4-5SD-1/2測速傳感器實(shí)物圖SD-1/2測速傳感器是利用檢測紅外射線中斷,根據(jù)檢測到的不同狀態(tài),從而決定輸出高電平還是低電平,當(dāng)檢測到障礙物時(shí),輸出電平信號(hào)為高,沒有檢測到妨礙紅外射線傳播的物體,或者檢測范圍內(nèi)沒有檢測到妨礙紅外射線傳播的物體時(shí),在電路工作和處理后輸出電平信號(hào)為低。同時(shí)測速模塊還有LED(light-emittingdiode,發(fā)光二極管)的顯示功能,當(dāng)檢測到紅外射線中斷,LED指示燈會(huì)熄滅,當(dāng)檢測到紅外射線正常傳播時(shí),LED指示燈會(huì)亮,方便使用者的調(diào)試。本設(shè)計(jì)使用測速模塊經(jīng)過對(duì)數(shù)據(jù)處理后,能夠得到智能車的速度數(shù)據(jù),對(duì)于使用者能都更為清楚的知道對(duì)于智能車的速度控制效果,本設(shè)計(jì)使用該模塊既增加了該設(shè)計(jì)的功能,也使得智能車的速度控制得到反饋,使得控制效果更好。SD-1/2測速傳感器實(shí)物圖如圖4-5所示,SD-1/2測速傳感器電路原理圖如圖4-6所示。圖4-6SD-1/2測速傳感器電路原理圖4.6藍(lán)牙通信模塊概述:DX-BT04-A藍(lán)牙模塊工作時(shí)所需要的電量較少,而且能夠快速的接收和發(fā)送信號(hào),十分的靈敏,只需要一些簡單的器件組合便可以充分發(fā)揮功能,操作起來也十分的簡單便捷。使用藍(lán)牙通信模塊,利用其可以進(jìn)行無線通信的優(yōu)勢完成STC12單片機(jī)和手機(jī)軟件的通信,既保證了語音識(shí)別后指令的正??刂疲€擴(kuò)大了語音控制的的范圍,本設(shè)計(jì)使用該模塊后充分發(fā)揮無線通信的優(yōu)點(diǎn),使得整個(gè)設(shè)計(jì)突出可遠(yuǎn)距離控制的優(yōu)勢。藍(lán)牙通信模塊實(shí)物圖如圖4-7所示,應(yīng)用電路圖如圖4-8所示。圖4-7藍(lán)牙通信模塊實(shí)物圖圖4-8應(yīng)用電路圖5軟件設(shè)計(jì)因?yàn)楸驹O(shè)計(jì)方案選擇的是單片機(jī)板和安卓手機(jī)軟件組合設(shè)計(jì)和實(shí)現(xiàn)語音控制的智能車,并且使用了兩塊單片機(jī)板,因此本章節(jié)主要講述兩個(gè)單片機(jī)系統(tǒng)的軟件設(shè)計(jì)以及開發(fā)安卓軟件的軟件設(shè)計(jì)。首先介紹一下軟件功能設(shè)計(jì),然后是單片機(jī)代碼編程軟件和安卓開發(fā)環(huán)境,然后開始介紹終端中智能車通信控制系統(tǒng)的軟件設(shè)計(jì)、智能車運(yùn)動(dòng)系統(tǒng)的軟件設(shè)計(jì)和客戶端中安卓手機(jī)軟件的系統(tǒng)設(shè)計(jì),最后詳細(xì)講述上述三個(gè)系統(tǒng)中主要程序的邏輯與設(shè)計(jì)。5.1軟件功能設(shè)計(jì)首先對(duì)于手機(jī)軟件上的智能車語音識(shí)別處理系統(tǒng)而言,是整個(gè)系統(tǒng)控制指令的發(fā)送端,也是相關(guān)數(shù)據(jù)的顯示端,主要完成語音識(shí)別功能,從而完成對(duì)智能車運(yùn)動(dòng)狀態(tài)的改變、速度控制,以及利用按鈕完成手動(dòng)調(diào)節(jié)速度和控制智能車運(yùn)動(dòng)的功能,還有是完成籃牙連接、速度數(shù)據(jù)處理與顯示的功能,因此需要依據(jù)這些功能完成手機(jī)軟件的開發(fā)。其次對(duì)于智能車通信控制系統(tǒng),通過對(duì)代碼的編程,完成速度的測量和顯示功能、智能車的通信功能,因此使用測速模塊完成對(duì)智能車的測量,使用數(shù)碼管模塊完成速度相關(guān)數(shù)據(jù)的顯示,使用藍(lán)牙模塊完成與手機(jī)軟件的通信及數(shù)據(jù)傳輸,利用單片機(jī)上的另一個(gè)串口,完成將接受到的語音指令下達(dá)給智能車運(yùn)動(dòng)系統(tǒng)。智能車通信控制系統(tǒng)智能車語音識(shí)別處理系統(tǒng)串口通信智能車通信控制系統(tǒng)智能車語音識(shí)別處理系統(tǒng)串口通信終端客戶端循跡避障狀態(tài)顯示速度控制通信與控制測速與顯示語音識(shí)別速度顯示聲控手控速度聲控遙控運(yùn)動(dòng)智能車運(yùn)動(dòng)系統(tǒng)藍(lán)牙無線通信圖5-1軟件功能框圖5.2編程軟件介紹5.2.1開發(fā)軟件KeiluVision5與STC-ISP的介紹本次論文所需要的智能車系統(tǒng)的程序開發(fā)需要進(jìn)行軟件編程,因此需要一款功能強(qiáng)大,簡潔好用的開發(fā)軟件,而所編寫的代碼基本上是用的C語言,因此使用Keil軟件,為了讓單片機(jī)按照所編寫的程序進(jìn)行工作運(yùn)行,實(shí)現(xiàn)所需要的功能,因此選擇了STC-ISP軟件。接下來對(duì)這兩個(gè)軟件做一個(gè)簡單的介紹。系統(tǒng)概述:KeilC51擁有著十分強(qiáng)大的功能,而且功能的種類也十分多,還有這各種各樣的函數(shù)組成的庫,并有著優(yōu)秀的界面,使得在操作上基本上和操作電腦界面一樣,成為了現(xiàn)在單片機(jī)開發(fā)時(shí)需要對(duì)代碼進(jìn)行編程的使用最多的代碼編寫軟件。KeilC51運(yùn)行是需要合適的開發(fā)環(huán)境的,需要在Windows系統(tǒng)上安裝軟件并進(jìn)行相應(yīng)的配置,軟件中代碼的編寫主要是通過.c文件實(shí)現(xiàn)的,我們建立一個(gè).c文件后在該文件中將我們寫的代碼進(jìn)行編譯,經(jīng)過軟件一系列的處理,看是否有錯(cuò)誤,在沒有錯(cuò)誤之后會(huì)提示我們,之后如果我們想驗(yàn)證代碼的正確與否,可以使用軟件的調(diào)試功能,STC-ISP軟件的主要作用是將單片機(jī)代碼編寫軟件編寫好的對(duì)應(yīng)程序下載到單片機(jī)上,是專門開發(fā)出來的軟件,為了讓STC系列的單片機(jī)可以進(jìn)行程序文件的燒錄,基本上只要是STC單片機(jī),該軟件都可以正常工作,并且操作也不復(fù)雜,下載的流程也十分的簡單,成為開發(fā)者的主要的使用的軟件。STC-ISP的軟件操作界面如圖5-2所示。圖5-2軟件操作界面圖5.2.2安卓開發(fā)編程環(huán)境在安卓開發(fā)的編程環(huán)境中,我選擇了MIT開發(fā)的圖形化編程軟件APPInventor2。作為AppInventor新版本的APPInventor2,完全基于瀏覽器,開發(fā)者除了瀏覽器不需要額外安裝任何軟件。圖形化的界面、云積木的方式,使得安卓軟件開發(fā)變得便利簡單,使用起來也不會(huì)有太大的難度,做出的功能也能夠滿足基本的設(shè)計(jì)要求,而且網(wǎng)站上也具有調(diào)試功能,通過安裝調(diào)試助手,將開發(fā)的程序運(yùn)行在調(diào)試助手上,省去了每次都要將程序打包,安裝,再進(jìn)行驗(yàn)證調(diào)試的步驟,而且也能實(shí)時(shí)的報(bào)錯(cuò)提示,對(duì)開發(fā)者找到軟件的錯(cuò)誤所在提供了幫助。5.3智能車通信與控制系統(tǒng)軟件設(shè)計(jì)智能車通信與控制系統(tǒng)是基于STC12單片機(jī)實(shí)現(xiàn),因此該系統(tǒng)設(shè)計(jì)的主程序是完成STC12單片機(jī)與STC89單片機(jī)的串口通信、STC12單片機(jī)與手機(jī)軟件通信和實(shí)現(xiàn)使用智能車的功能模塊:測速模塊、數(shù)碼管顯示模塊、紅外避障模塊和循跡模塊。5.3.1工作流程開始初始化連接成功判斷指令信息發(fā)送顯示速度數(shù)據(jù)發(fā)送控制指令并回復(fù)STC12單片機(jī)系統(tǒng)流程圖如圖5開始初始化連接成功判斷指令信息發(fā)送顯示速度數(shù)據(jù)發(fā)送控制指令并回復(fù)圖5-3STC12單片機(jī)系統(tǒng)流程圖STC12單片機(jī)板上電啟動(dòng)后,首先對(duì)測速功能、兩個(gè)串口通信功能所需要的中斷和一些定時(shí)器以及寄存器進(jìn)行配置和初始化,等待手機(jī)連接上單片機(jī)板上的藍(lán)牙,建立起通信后,開始接收測速模塊的速度數(shù)據(jù)信息顯示在數(shù)碼管上,并通過藍(lán)牙發(fā)送速度數(shù)據(jù)信息至手機(jī),并時(shí)刻監(jiān)測并驗(yàn)證是否手機(jī)發(fā)來的指令信息是否正確,當(dāng)接受到正確的指令信息時(shí),單片機(jī)會(huì)根據(jù)程序中的狀態(tài)機(jī)機(jī)制將發(fā)送對(duì)應(yīng)指令信息的控制指令至STC89單片機(jī)板,并回復(fù)客戶端對(duì)應(yīng)指令操作已完成。如果所接收到的控制指令需要小車的一些信息,便會(huì)發(fā)送相關(guān)數(shù)據(jù),如進(jìn)行速度設(shè)置后需要將目前速度值發(fā)送至客戶端,該系統(tǒng)會(huì)發(fā)送當(dāng)前速度設(shè)置值。5.3.2串口通信和藍(lán)牙串口通信軟件設(shè)計(jì)因?yàn)镾TC12單片機(jī)有兩個(gè)串口,可用于藍(lán)牙通信以及和STC89單片機(jī)的串口通信,首先對(duì)串口所需要的波特率進(jìn)行配置和初始化,利用單片機(jī)上的獨(dú)立波特率發(fā)生器作為波特率的發(fā)生器,兩個(gè)串口可使用同一個(gè)波特率,串口初始化程序截圖如圖5-4所示。圖5-4串口初始化程序截圖圖5-5串口中斷數(shù)據(jù)接收判斷程序截圖對(duì)于數(shù)據(jù)處理,在串口2中斷中進(jìn)行數(shù)據(jù)的接收,設(shè)置每一次接收到的指令字節(jié)為3,并判斷接受的數(shù)據(jù)是否正確,如果正確,則保存至字符串?dāng)?shù)組,并將設(shè)置接收完畢標(biāo)志位和接收正確標(biāo)志位,串口中斷數(shù)據(jù)接收判斷程序如圖5-5。5.3.3速度測量功能設(shè)計(jì)為了能夠得知智能車的速度,以便我們更好的控制智能車的速度,利用速度測量模塊和固定在電機(jī)上并隨之同步運(yùn)動(dòng)的碼盤,電機(jī)每轉(zhuǎn)一圈,測量模塊輸出20個(gè)低電平信號(hào),利用STC12單片機(jī)設(shè)置單位時(shí)間為1s,獲得接收到的脈沖信號(hào)個(gè)數(shù)以及利用輪胎的周長,經(jīng)過計(jì)算得出1s內(nèi)智能車行駛的路程,從而得到智能車的速度相關(guān)數(shù)據(jù)。定時(shí)器和外部中斷設(shè)置程序截圖如圖5-6。圖5-6定時(shí)器和外部中斷設(shè)置程序截圖5.4智能車運(yùn)動(dòng)系統(tǒng)軟件設(shè)計(jì)5.4.1工作流程STC89單片機(jī)板上電啟動(dòng)后,首先對(duì)PWM波速度控制功能,串口通信功能所需要的中斷和一些定時(shí)器以及寄存器進(jìn)行配置和初始化,并設(shè)置一些數(shù)據(jù)的初始值,如智能車的速度、當(dāng)前智能車的狀態(tài)。建立起和STC12單片機(jī)板的通信后,智能車處于停止?fàn)顟B(tài),等待STC12單片機(jī)板發(fā)送控制指令,接收到指令后,利用程序中的狀態(tài)機(jī)機(jī)制,完成對(duì)應(yīng)功能,如前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、停止、循跡功能、速度控制功能和避障功能,并在數(shù)碼管上顯示不同的數(shù)字代表處于不同的狀態(tài)下。STC89單片機(jī)系統(tǒng)流程圖如圖5-7所示。開始初始化串口通信成功完成相應(yīng)功能并顯示狀態(tài)接收控制指令圖5-7開始初始化串口通信成功完成相應(yīng)功能并顯示狀態(tài)接收控制指令5.4.2電機(jī)驅(qū)動(dòng)與速度控制設(shè)計(jì)因?yàn)長298N電機(jī)驅(qū)動(dòng)模塊(簡稱驅(qū)動(dòng)板)有A、B通道使能端(簡稱使能端)和四個(gè)單片機(jī)IO控制輸入端(簡稱輸入端),只有兩個(gè)使能端為高電平時(shí),驅(qū)動(dòng)板才可以通過輸出端口驅(qū)動(dòng)兩路的直流電機(jī),因此對(duì)于速度的控制有兩種方案:第一種方案是STC89單片機(jī)輸出四路PWM波輸出至驅(qū)動(dòng)板的輸入端,第二種方案是STC89單片機(jī)輸出兩路PWM波輸出至驅(qū)動(dòng)板的使能端。第二種方案僅僅需要兩路PWM波便可以實(shí)現(xiàn)對(duì)智能車速度控制,因此選擇方案二實(shí)現(xiàn)速度控制。PWM波輸出實(shí)現(xiàn)程序如圖5-8。圖5-8PWM波輸出實(shí)現(xiàn)程序截圖首先利用對(duì)定時(shí)器進(jìn)行初始化,設(shè)置每1ms進(jìn)行一次定時(shí)器中斷,在定時(shí)器中斷程序中對(duì)定時(shí)器的寄存器再次重新賦值再次開始計(jì)時(shí),并記錄中斷次數(shù),通過中斷次數(shù)的處理獲得更為準(zhǔn)確并且足夠長的時(shí)間,從而實(shí)現(xiàn)PWM波的周期、占空比的設(shè)置。速度控制程序如下圖5-9(左右電機(jī)速度控制程序基本相同,只需要介紹一個(gè)程序)。程序說明:通過設(shè)置20ms周期的時(shí)間,即定時(shí)器1ms的中斷次數(shù)為20次時(shí),將次數(shù)賦值為0,重新計(jì)數(shù),我們通過調(diào)節(jié)占空比(push_val_right),當(dāng)中斷次數(shù)小于或等于控制占空比的變量值時(shí),使得控制右電機(jī)的使能端為高電平,當(dāng)中斷次數(shù)大于控制占空比的變量值時(shí),使得控制右電機(jī)的使能端為低電平,從而控制驅(qū)動(dòng)板的電機(jī)驅(qū)動(dòng)是否工作,從而實(shí)現(xiàn)PWM波的輸出,并利用驅(qū)動(dòng)板的四個(gè)輸入端實(shí)現(xiàn)電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)、停止,通過左右電機(jī)的配合實(shí)現(xiàn)智能車的左右轉(zhuǎn)、直行和停止,并調(diào)節(jié)PWM波的占空比,實(shí)現(xiàn)控制電機(jī)一個(gè)工作周期內(nèi)的工作時(shí)間,從而實(shí)現(xiàn)對(duì)智能車的速度控制。圖5-9速度控制程序截圖5.5安卓手機(jī)軟件系統(tǒng)設(shè)計(jì)5.5.1工作流程手機(jī)軟件流程圖如圖5-10所示,手機(jī)客戶端主界面如圖5-11所示,手動(dòng)模式界面圖如圖5-12所示。首先等待藍(lán)牙連接按鈕按下,選擇連接的藍(lán)牙,連接成功后會(huì)在界面上顯示藍(lán)牙的信息以及連接成功的提示,接收到STC12單片機(jī)上藍(lán)牙模塊發(fā)送來的智能車速度數(shù)據(jù)進(jìn)行處理并顯示在客戶端界面上,當(dāng)開始按鍵按下,調(diào)用語音識(shí)別等待語音識(shí)別結(jié)束后,分析處理語音信息,利用藍(lán)牙發(fā)送對(duì)應(yīng)的指令數(shù)據(jù),接收處理智能車回復(fù)的數(shù)據(jù)并顯示在客戶端對(duì)應(yīng)界面上,當(dāng)手動(dòng)模式按鈕按下時(shí),會(huì)換到界面2,顯示手動(dòng)模式下的按鈕,(與智能車的通信會(huì)中斷一下后自動(dòng)重新連接)相應(yīng)指令按下后發(fā)送對(duì)應(yīng)指令至智能車,實(shí)現(xiàn)智能車手動(dòng)按鈕控制,按返回按鈕回到主界面。手機(jī)客戶端主界面主要分為四個(gè)區(qū)域:藍(lán)牙連接與斷開區(qū)、藍(lán)牙信息顯示區(qū)、速度顯示與速度手動(dòng)控制區(qū)、用戶交互與通信區(qū)、功能區(qū)。藍(lán)牙連接與斷開區(qū)負(fù)責(zé)手機(jī)藍(lán)牙與智能車系統(tǒng)上藍(lán)牙模塊的連接與斷開,并在藍(lán)牙信息顯示區(qū)顯示藍(lán)牙信息及是否連接成功提示??赏ㄟ^調(diào)節(jié)速度顯示與速度手動(dòng)控制區(qū)的水平滑動(dòng)條,根據(jù)滑塊所在位置設(shè)置智能車不同的速度檔位,接受到智能車系統(tǒng)發(fā)來的相關(guān)速度數(shù)據(jù),安卓手機(jī)進(jìn)行處理后,換算成智能車的速度數(shù)據(jù),在速度顯示與速度手動(dòng)控制區(qū)中顯示。用戶交互和通信區(qū)則負(fù)責(zé)實(shí)現(xiàn)交互信息的顯示以及顯示智能車系統(tǒng)發(fā)送過來的數(shù)據(jù),也方便了后續(xù)的調(diào)試,在與智能車建立起藍(lán)牙通信后,便會(huì)在用戶交互和通信區(qū)提示用戶可選用的功能,即對(duì)智能車的速度控制、循跡模式以及運(yùn)動(dòng)控制,用戶可以點(diǎn)擊功能區(qū)的開始按鈕進(jìn)行語音指令輸入,也會(huì)顯示智能車發(fā)送過接收數(shù)據(jù)顯示手動(dòng)模式界面初始化接收數(shù)據(jù)顯示手動(dòng)模式界面初始化發(fā)送對(duì)應(yīng)指令返回主界面開始主界面初始化語音識(shí)別接收數(shù)據(jù)并顯示發(fā)送指令藍(lán)牙連接語音按鍵按下?運(yùn)動(dòng)按鍵按下?返回按鍵按下?手動(dòng)按鍵按下?圖5-10手機(jī)軟件流程圖最后的功能區(qū)主要包含兩個(gè)功能:語音識(shí)別功能和手動(dòng)遙控智能車功能,當(dāng)開始按鈕按下,啟動(dòng)語音識(shí)別功能,根據(jù)語音指令調(diào)用不同的功能,并將語音信息顯示在用戶交互與功能區(qū),當(dāng)手動(dòng)模式按鈕按下時(shí)則會(huì)跳轉(zhuǎn)到界面2,即手動(dòng)模式界面,在手動(dòng)模式界面中主要為三個(gè)區(qū):返回區(qū)、藍(lán)牙信息區(qū)和手動(dòng)控制區(qū)。在返回區(qū)中主要負(fù)責(zé)退出手動(dòng)控制智能車功能,返回主界面。當(dāng)返回按鈕按下時(shí),返回主界面,退出手動(dòng)控制智能車功能。藍(lán)牙信息區(qū)負(fù)責(zé)顯示藍(lán)牙信息和提示是否連接藍(lán)牙成功。手動(dòng)控制區(qū)主要包括五個(gè)按鈕,負(fù)責(zé)智能車的運(yùn)動(dòng)控制,按下按鈕后便會(huì)通過藍(lán)牙通信發(fā)送對(duì)應(yīng)的控制指令,實(shí)現(xiàn)遠(yuǎn)程手動(dòng)控制智能車。圖5-11手機(jī)客戶端主界面圖圖5-12手動(dòng)模式界面圖5.5.2藍(lán)牙連接程序設(shè)計(jì)藍(lán)牙連接程序圖如圖5-13所示。程序說明:當(dāng)點(diǎn)擊連接按鈕時(shí),會(huì)獲取手機(jī)的藍(lán)牙列表供我們選擇,當(dāng)選擇完成,并成功連接時(shí)會(huì)提示我們連接成功,否則則會(huì)提示連接失敗,連接成功后會(huì)將所連接的藍(lán)牙保存至微數(shù)據(jù)庫,方便下次連接,并且顯示該藍(lán)牙相關(guān)信息,運(yùn)行主界面函數(shù),提示用戶可以選擇的功能。圖5-13藍(lán)牙連接程序截圖5.5.3語音識(shí)別程序設(shè)計(jì)語音識(shí)別程序圖如圖5-14所示,前進(jìn)函數(shù)程序圖如圖5-15所示。圖5-14語音識(shí)別程序圖圖5-15前進(jìn)函數(shù)程序圖程序說明:當(dāng)開始按鈕按下時(shí),調(diào)用語音識(shí)別器識(shí)別語音,識(shí)別結(jié)束時(shí)調(diào)用功能函數(shù),例如前進(jìn)函數(shù)中,判斷語音識(shí)別器的識(shí)別結(jié)果是否為前進(jìn)或者向前,如果是則調(diào)用藍(lán)牙發(fā)送控制文本。5.5.4手動(dòng)功能程序設(shè)計(jì)因?yàn)橥ㄟ^語音控制智能車有時(shí)候確實(shí)很方便,但需要一段時(shí)間進(jìn)行語音識(shí)別的處理,因此添加了一個(gè)附加功能,基于藍(lán)牙實(shí)現(xiàn)手動(dòng)操控智能車,從而實(shí)現(xiàn)基本上較為精準(zhǔn)的智能車控制。但實(shí)現(xiàn)遙控智能車需要一個(gè)手動(dòng)功能的界面設(shè)計(jì),此時(shí)出現(xiàn)了一個(gè)問題,在界面的轉(zhuǎn)換時(shí),手機(jī)與智能車的藍(lán)牙連接會(huì)中斷,因此需要解決界面變換時(shí)智能車與手機(jī)的藍(lán)牙通信問題。實(shí)現(xiàn)方法:在藍(lán)牙連接程序設(shè)計(jì)中,將藍(lán)牙的信息保存在了微數(shù)據(jù)庫中,所以可以利用微數(shù)據(jù)庫存儲(chǔ)的藍(lán)牙信息,直接選擇后連接,從而省去了再次進(jìn)行選擇藍(lán)牙,再次連接藍(lán)牙的重復(fù)操作,避免了客戶端的重復(fù)操作。手動(dòng)功能程序圖如圖5-16所示。圖5-16手動(dòng)功能程序圖程序說明:當(dāng)跳轉(zhuǎn)到界面2后,對(duì)界面2進(jìn)行初始化,調(diào)用藍(lán)牙連接微數(shù)據(jù)庫中存儲(chǔ)的藍(lán)牙信息,如果連接成功設(shè)置連接區(qū)的文本為藍(lán)牙相關(guān)信息,當(dāng)返回按鈕按下時(shí)則關(guān)閉界面2返回主界面,當(dāng)前進(jìn)按鈕按下時(shí)則調(diào)用藍(lán)牙發(fā)送對(duì)應(yīng)的控制文本。6制作與調(diào)試 6.1硬件系統(tǒng)的連接與調(diào)試6.1.1總體特點(diǎn)該系統(tǒng)所涉及的各部分硬件電路,總體的特點(diǎn)是:(1)電路原理簡單,所用的器件均為模塊化器件。(2)由于使用了兩塊單片機(jī)板,因此分別對(duì)兩塊單片機(jī)板分別進(jìn)行調(diào)試,等兩快單片機(jī)板的功能都基本實(shí)現(xiàn)時(shí)再進(jìn)行組裝進(jìn)行整體調(diào)試,同時(shí)模塊和單片機(jī)板之間大多使用杜邦線進(jìn)行連接,要注意連接線是否損壞,影響調(diào)試結(jié)果判斷錯(cuò)誤。6.1.2系統(tǒng)劃分為方便調(diào)試,把智能車系統(tǒng)劃按單片機(jī)板分成兩組:(1)STC89單片機(jī)板構(gòu)成的智能車運(yùn)動(dòng)系統(tǒng)一組;(2)STC12單片機(jī)板構(gòu)成的智能車通信與控制系統(tǒng)為一組。6.1.3連接連接前根據(jù)各個(gè)模塊的數(shù)據(jù)手冊以及模塊上的引腳說明,對(duì)照著程序上所設(shè)定的對(duì)應(yīng)的各個(gè)模塊的引腳接口,進(jìn)行各個(gè)模塊的鏈接,并按照下面所說的基本原則進(jìn)行連接:(1)按模塊一個(gè)個(gè)進(jìn)行連接,首先連接模塊的供電端和地端,這樣保證各模塊不會(huì)因?yàn)榻臃丛斐蓳p壞和有正確的工作電壓,然后按照單片機(jī)手冊和各模塊手冊連接各個(gè)引腳;(2)模塊連接好后仔細(xì)檢查一遍,再給單片機(jī)上電,防止因?yàn)槭韬鲈斐赡K甚至是單片機(jī)損壞,并對(duì)連接最終結(jié)果進(jìn)行記錄,這樣再接下來需要重新連接時(shí)節(jié)約大量時(shí)間,也可以降低出錯(cuò)率。6.2調(diào)試(1)對(duì)于單片機(jī)板的調(diào)試,應(yīng)充分利用串口,將單片機(jī)和電腦連接后,打開我們所使用的燒錄軟件,利用它可以和單片機(jī)進(jìn)行串口通信的功能實(shí)現(xiàn)串口通信,將程序調(diào)試信息輸出在電腦屏幕上,也可以用串口調(diào)試助手模擬指令的發(fā)送和數(shù)據(jù)的接收,分析并驗(yàn)證程序是否正確。在兩塊單片機(jī)板都完成調(diào)試后,將兩塊單片機(jī)板連接后進(jìn)行整體調(diào)試,同樣利用電腦串口助手和部分調(diào)試程序編寫,驗(yàn)證兩塊單片機(jī)板間的通信控制是否正常。(2)對(duì)于手機(jī)軟件程序的調(diào)試,利用手機(jī)調(diào)試助手,將開發(fā)的軟件運(yùn)行,利用自帶的報(bào)錯(cuò)提示,并利用手機(jī)界面,將所需要驗(yàn)證的信息顯示在手機(jī)界面上,從而實(shí)現(xiàn)程序的調(diào)試。(3)最終將三個(gè)系統(tǒng)進(jìn)行最后的調(diào)試,在經(jīng)過前兩個(gè)的調(diào)試后,首先進(jìn)行STC12單片機(jī)和手機(jī)軟件間的獨(dú)立調(diào)試,也可以利用STC12的雙串口,一個(gè)與電腦通信,將單片機(jī)板的調(diào)試信息顯示,利用手機(jī)界面和自帶的報(bào)錯(cuò)提示,將手機(jī)軟件的調(diào)試信息顯示在手機(jī)界面上。實(shí)現(xiàn)通信和控制后,將三個(gè)系統(tǒng)進(jìn)行最后的整體調(diào)試,驗(yàn)證通信和功能的正常工作。6.3系統(tǒng)連接實(shí)物圖系統(tǒng)連接實(shí)物圖如圖6-1所示。圖6-1系統(tǒng)連接實(shí)物圖7結(jié)論本設(shè)計(jì)方案達(dá)到了任務(wù)書的要求,設(shè)計(jì)并實(shí)現(xiàn)了語音控制的智能車,實(shí)現(xiàn)了較為完整的語音控制智能車系統(tǒng)的運(yùn)動(dòng)和功能:(1)實(shí)現(xiàn)了較為準(zhǔn)確的語音識(shí)別功能,能夠識(shí)別多條指令,并且能控制智能車的運(yùn)動(dòng)狀態(tài)和功能設(shè)置;(2)經(jīng)過調(diào)試,實(shí)現(xiàn)智能車的直行、退后、左轉(zhuǎn)、右轉(zhuǎn)、停止等運(yùn)動(dòng)功能;(3)實(shí)現(xiàn)智能車的沿著特定路線行駛的功能和自動(dòng)避障功能;(4)實(shí)現(xiàn)對(duì)智能車的速度測量和速度控制,并顯示在客戶端界面上。因?yàn)闀r(shí)間有限,并且自己的水平也不是非常高,在實(shí)現(xiàn)過程中碰到了許多困難,但也積累了許多經(jīng)驗(yàn),因此在語音識(shí)別功能中,在語音識(shí)別指令的數(shù)量上和在使用語音識(shí)別功能時(shí)不受外部環(huán)境的影響上仍然需要進(jìn)行加強(qiáng),還有著可以繼續(xù)優(yōu)化的地方,實(shí)現(xiàn)識(shí)別更多的語音指令,增強(qiáng)復(fù)雜環(huán)境下語音識(shí)別抗干擾能力。另外在這個(gè)系統(tǒng)的進(jìn)一步的完善和代碼的優(yōu)化方面,由于時(shí)間和設(shè)備的原因,對(duì)于功能完成了實(shí)現(xiàn),但沒有進(jìn)行進(jìn)一步的細(xì)致的去把功能做的更加精細(xì),比如在可以使用更多的循跡,實(shí)現(xiàn)更為復(fù)雜的特定路徑的智能車的行駛,在速度控制方面也因?yàn)樽陨硭接邢?,沒有去完成智能車更為
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 飛機(jī)搜救知識(shí)培訓(xùn)課件
- 農(nóng)村開園活動(dòng)策劃方案(3篇)
- 慶陽美食活動(dòng)策劃方案(3篇)
- 2026廣東佛山順德區(qū)杏壇鎮(zhèn)林文恩中學(xué)招聘臨聘教師4人備考考試題庫及答案解析
- 2026年上半年黑龍江事業(yè)單位聯(lián)考省衛(wèi)生健康委員會(huì)招聘125人備考考試試題及答案解析
- 飛機(jī)介紹科普
- 2026廣西北海市銀海區(qū)福成鎮(zhèn)人民政府招錄公益性崗位人員12人參考考試題庫及答案解析
- 2026湖北武漢大型電池制造型企業(yè)招聘備考考試題庫及答案解析
- 2026年福建莆田市城廂區(qū)霞林學(xué)校小學(xué)部自主招聘編外教師2人備考考試題庫及答案解析
- 2026山東菏澤國花中等職業(yè)學(xué)校機(jī)電學(xué)科教師招聘備考考試試題及答案解析
- 2025年司法協(xié)理員年度考核表
- 風(fēng)電項(xiàng)目質(zhì)量管理
- 靜脈輸液操作規(guī)范與并發(fā)癥預(yù)防指南
- 福建省福州市福清市2024-2025學(xué)年二年級(jí)上學(xué)期期末考試語文試卷
- 2025年CAR-NK細(xì)胞治療臨床前數(shù)據(jù)
- 班團(tuán)活動(dòng)設(shè)計(jì)
- 黨參對(duì)人體各系統(tǒng)作用的現(xiàn)代藥理研究進(jìn)展
- 肺結(jié)節(jié)的影像學(xué)表現(xiàn)
- 藥廠新員工培訓(xùn)課件
- 放射性皮膚損傷護(hù)理指南
- 2025年青島市中考數(shù)學(xué)試卷(含答案解析)
評(píng)論
0/150
提交評(píng)論