畢業(yè)論文-基于激光傳感器的智能車設(shè)計(jì)【精校排版】_第1頁(yè)
已閱讀1頁(yè),還剩48頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  本科畢業(yè)設(shè)計(jì)(論文)</p><p><b>  (20 屆)</b></p><p>  基于激光傳感器的智能車設(shè)計(jì)</p><p><b>  目錄</b></p><p><b>  摘要IV</b></p><p>  

2、AbstractV</p><p><b>  第一章 緒論1</b></p><p>  1.1 背景和意義1</p><p>  1.2 國(guó)內(nèi)外競(jìng)賽概況1</p><p>  1.3 競(jìng)賽內(nèi)容1</p><p>  1.4 技術(shù)路線2</p><p&g

3、t;  第二章 主要器件3</p><p>  2.1 激光光傳感器3</p><p>  2.2 ZigBee無(wú)線通信4</p><p>  2.2.1 ZigBee基本組成4</p><p>  2.3.2 ZigBee技術(shù)特點(diǎn)和優(yōu)勢(shì)5</p><p>  2.3 虛擬儀器技術(shù)5</p

4、><p>  2.4 LabVIEW開(kāi)發(fā)環(huán)境6</p><p>  第三章 系統(tǒng)總體設(shè)計(jì)8</p><p>  3.1 智能車系統(tǒng)總體分析8</p><p>  3.2 智能車控制系統(tǒng)的總體結(jié)構(gòu)8</p><p>  3.3 智能車控制系統(tǒng)的軟件9</p><p>  第四章

5、詳細(xì)設(shè)計(jì)12</p><p>  4.1 MCU資源分配以及相應(yīng)的初始化12</p><p>  4.2 激光傳感電路的原理以及數(shù)據(jù)的采集和處理13</p><p>  4.2.1 激光傳感電路的原理13</p><p>  4.2.2 數(shù)據(jù)采集的算法14</p><p>  4.2.3 數(shù)據(jù)采集的

6、處理15</p><p>  4.3 方向控制模塊16</p><p>  4.4 速度控制模塊16</p><p>  4.4 無(wú)線傳輸模塊17</p><p>  第五章 上位機(jī)18</p><p>  5.1 串口配置18</p><p>  5.1.2 串口數(shù)據(jù)的

7、發(fā)送18</p><p>  5.1.3 串口數(shù)據(jù)的讀取18</p><p>  5.3 數(shù)據(jù)的處理19</p><p>  5.4 調(diào)試與實(shí)現(xiàn)19</p><p>  第六章 實(shí)現(xiàn)和總結(jié)24</p><p><b>  參考文獻(xiàn)27</b></p><p&

8、gt;<b>  附錄一28</b></p><p><b>  附錄二41</b></p><p><b>  致謝43</b></p><p>  基于激光傳感器的智能車設(shè)計(jì)</p><p><b>  摘要</b></p><

9、;p>  自2006年到現(xiàn)在,全國(guó)大學(xué)生“飛思卡爾杯”智能汽車大賽已經(jīng)連續(xù)舉辦了五次,已發(fā)展成全國(guó)30個(gè)省市自治區(qū)近300所高校廣泛參與的全國(guó)大學(xué)生智能汽車競(jìng)賽,該比賽的競(jìng)賽的影響越來(lái)越大。</p><p>  競(jìng)賽要求在組委會(huì)提供的賽車模型上,使用飛思卡爾半導(dǎo)體公司的8位或16位微控制器,通過(guò)自行增加傳感及驅(qū)動(dòng)電路,和編寫(xiě)相應(yīng)控制軟件,制作一個(gè)能自主識(shí)別道路的賽車,按照規(guī)定路線行駛,以完成時(shí)間最短者為勝。

10、</p><p>  為了讓智能車最快最好準(zhǔn)確的沿賽道行駛就要求智能車必須準(zhǔn)確的識(shí)別賽道,所以對(duì)于賽道的識(shí)別、數(shù)據(jù)的采集處理提出了很高的要求。因此本文主要介紹利用激光傳感器采集對(duì)賽道信息進(jìn)行采集并作相應(yīng)的處理,然后發(fā)送到上位機(jī),利用LabVIEW進(jìn)行直觀顯示。</p><p>  關(guān)鍵字:智能車;激光傳感器;MCU;虛擬儀器</p><p>  Design of

11、Smart Car Based on Laser Sensor </p><p><b>  Abstract</b></p><p>  From 2006 to the present, National University "Freescale Cup" Smart car competition has been held for fiv

12、e times, has become the country's 30 provinces and autonomous regions and broad participation of nearly 300 colleges and universities in the National Undergraduate smart car competition, the competition has become mo

13、re and more influential.</p><p>  Required to provide race car model of the organizing committee, using Freescale Semiconductor's 8-bit or 16-bit microcontrollers, through increased sensing circuit and d

14、rive circuit and the preparation of the corresponding control software by yourself, make a smart car which can run and identify the road by itself.According to principle of the competition, who's smart car completes

15、the provisions of routes using the shortest time is the winner.</p><p>  To make the best and fastest smart car running along the routes exactly requirements of smart car must accurately identify the track.

16、Therefore it putted forward the very high request towards track identification, data acquisition and processing .This article introduces the use of the laser sensor to collect the information on the track and make the ap

17、propriate processing, and then sent to the host computer, using LabVIEW to display directly.</p><p>  Keywords:Smart Car, Laser Sensor, MCU ,Virtual Instrume</p><p><b>  第一章 緒論</b>&

18、lt;/p><p>  1.1 背景和意義</p><p>  飛思卡爾智能車競(jìng)賽以智能汽車為研究背景的科技創(chuàng)意性制作,是一種具有探索性的工程實(shí)踐活動(dòng),其本質(zhì)也是人類創(chuàng)造有用人工物的一種訓(xùn)練性實(shí)踐,其過(guò)程屬性是綜合,而結(jié)果屬性很可能是創(chuàng)造。迅猛發(fā)展的智能車技術(shù)以汽車電子為背景,涵蓋了控制、模式識(shí)別、傳感、電子、電氣、計(jì)算機(jī)和機(jī)械等多個(gè)學(xué)科,這對(duì)進(jìn)一步提高學(xué)生的綜合素質(zhì),培養(yǎng)創(chuàng)新意識(shí),培養(yǎng)學(xué)生

19、從事科學(xué)、技術(shù)研究能力有重要意義。</p><p>  通過(guò)本競(jìng)賽,不但培養(yǎng)了對(duì)已學(xué)過(guò)的基礎(chǔ)與專業(yè)理論知識(shí)與實(shí)驗(yàn)的綜合運(yùn)用的能力;為了解決制作過(guò)程中的各種新問(wèn)題,學(xué)習(xí)控制、模式識(shí)別、傳感技術(shù)、電子、電氣、計(jì)算機(jī)、機(jī)械等多個(gè)學(xué)科新知識(shí),逐漸學(xué)會(huì)在學(xué)科交叉、集成基礎(chǔ)上的綜合運(yùn)用;若是以實(shí)用為目的,還必須考慮考慮可靠性、壽命、外觀工業(yè)設(shè)計(jì)、集成科學(xué)與非科學(xué),在具體約束條件下融合形成整體的綜合運(yùn)用。這樣的訓(xùn)練是很有意義的

20、。</p><p>  1.2 國(guó)內(nèi)外競(jìng)賽概況</p><p>  目前美國(guó)是對(duì)智能汽車最為關(guān)注的國(guó)家。除了美國(guó)交通部與各大汽車公司和高校的智能汽車研發(fā)項(xiàng)目外,美國(guó)國(guó)防部和各大學(xué)企業(yè)聯(lián)合開(kāi)展了全球領(lǐng)先的智能汽車競(jìng)賽。美國(guó)智能汽車比賽是實(shí)物競(jìng)賽類型,有很強(qiáng)的應(yīng)用性和科研意義。但受限于資金與技術(shù)因素,該競(jìng)賽難于在青少年學(xué)生中普及,韓國(guó)大學(xué)生智能車競(jìng)賽是韓國(guó)漢陽(yáng)大學(xué)汽車控制實(shí)驗(yàn)室在飛思卡爾半導(dǎo)

21、體公司的資助下舉辦的,這也正是中國(guó)大學(xué)生智能車競(jìng)賽的藍(lán)本。中國(guó)大學(xué)生智能車競(jìng)賽自2006年至今已經(jīng)成功舉辦了五屆,每年有幾百余所有自動(dòng)化專業(yè)的高校、五百余之隊(duì)伍參加中國(guó)大學(xué)生智能車比賽。其影響力越來(lái)越大,技術(shù)越來(lái)越成熟,成為自動(dòng)化這門學(xué)科領(lǐng)域的最為重要的比賽,同時(shí)該項(xiàng)比賽也為各行業(yè)領(lǐng)域培養(yǎng)了很多優(yōu)秀的大學(xué)生。</p><p><b>  1.3 競(jìng)賽內(nèi)容</b></p>&l

22、t;p>  參賽隊(duì)伍須使用競(jìng)賽秘書(shū)處統(tǒng)一指定并負(fù)責(zé)采購(gòu)競(jìng)賽車模,采用飛思卡爾16位微控制器MC9S12XS128作為核心控制單元,自主構(gòu)思控制方案及系統(tǒng)設(shè)計(jì),包括傳感器信號(hào)采集處理、控制算法及執(zhí)行、動(dòng)力電機(jī)驅(qū)動(dòng)、轉(zhuǎn)向舵機(jī)控制等,完成智能車工程制作及調(diào)試,于指定日期與地點(diǎn)參加各分賽區(qū)的場(chǎng)地比賽。競(jìng)賽分別設(shè)立光電組、攝像頭組、電磁組、創(chuàng)意組等多個(gè)賽題組別。那么我們自己需要住的就是按照競(jìng)賽的要求完成機(jī)械組裝、硬件電路搭建、控制程序的編寫(xiě)

23、調(diào)試使智能車沿著賽道行駛。我們隊(duì)伍一直在做光電智能車,因此在下面主要討論光電智能車。</p><p><b>  1.4 技術(shù)路線</b></p><p>  在智能車系統(tǒng)的設(shè)計(jì)過(guò)程中,主要包括硬件部分,機(jī)械部分,軟件部分等三個(gè)方面的設(shè)計(jì)與調(diào)試,三者相輔相成,不能偏廢其一[1]。在機(jī)械部分要減輕車模重量,降低整車重心。在硬件上要提高智能車的前瞻,簡(jiǎn)化電路,提高電路可

24、靠性。并盡量使得激光發(fā)射與接收保持穩(wěn)定。在軟件上要結(jié)合硬件的資源,利用有效的算法來(lái)控制智能車。智能車所有控制的依據(jù)就來(lái)自光電傳感電路對(duì)賽道信息的采集和處理,所以光電傳感電路相當(dāng)于智能車的“眼睛”。在智能車主要利用的光電傳感器主要是紅外傳感器和激光傳感器。</p><p>  紅外傳感系統(tǒng)是用紅外線為介質(zhì)的系統(tǒng),用入射光輻射的光子流與探測(cè)器材料中的電子互相作用,從而改變電子的能量狀態(tài),引起各種電學(xué)現(xiàn)象的原理工作。激

25、光傳感器是利用激光技術(shù)進(jìn)行工作的傳感器。它由激光器、激光檢測(cè)器和測(cè)量電路組成。激光傳感器能實(shí)現(xiàn)無(wú)接觸遠(yuǎn)距離測(cè)量、速度快、精度高、量程大、抗光、電干擾能力強(qiáng)等。</p><p>  紅外發(fā)射管發(fā)出的紅外光線不便于人的肉眼觀測(cè),給傳感器排布與調(diào)試帶來(lái)了諸多不便;接受管接收信號(hào)微弱需要二級(jí)放大,信號(hào)為模擬信號(hào)需要AD轉(zhuǎn)換則增大了控制周期;紅外傳感器的工作電流較大增大了系統(tǒng)的負(fù)載。這些方面的缺點(diǎn)遲遲得不到改善。致使智能汽

26、車只有最多20cm的前瞻大大制約了智能車的預(yù)判能力;相比紅外光電傳感器,激光傳感器在光強(qiáng)、抗干擾、耗能和檢測(cè)范圍等方面優(yōu)勢(shì)明顯,在第四屆競(jìng)賽和第五屆比賽中很多隊(duì)伍使用的激光管大放異彩,取得了相當(dāng)好的成績(jī),就拿我們學(xué)校的光電智能車做比較,在第四屆的時(shí)候用的紅外接收傳感器作為采集賽道信息,在最后的比賽當(dāng)中只得了西部賽區(qū)三等獎(jiǎng)的成績(jī)。在第五屆的比賽中我們?cè)撚眉す鈧鞲衅鱽?lái)采集賽道信息,再加上對(duì)算法就行了改進(jìn),最后的比賽中我們?nèi)〉昧巳珖?guó)二等獎(jiǎng)的好

27、成績(jī),可見(jiàn)激光傳感器對(duì)光電智能車數(shù)據(jù)采集的正確性的提高有很大的作用。因此本文著重研究了激光傳感器方案。</p><p>  因此在下面主要討論光電傳感電路配合MCU對(duì)賽道信息的采集和處理,以及利用的LabVIEW對(duì)采集和處理的數(shù)據(jù)進(jìn)行顯示驗(yàn)證。</p><p><b>  第二章 主要器件</b></p><p>  在智能車設(shè)計(jì)中我們主要利

28、用激光傳感器、無(wú)線發(fā)射模塊以及虛擬儀器,因此我們?cè)谶@一章這些器件進(jìn)行簡(jiǎn)單的介紹。</p><p>  2.1 激光光傳感器</p><p>  激光傳感器由兩部份構(gòu)成,一部份為發(fā)射部份,一部分為接收部份,如圖2.1(a)所示發(fā)射部分,發(fā)射部分由激光管及其驅(qū)動(dòng)電路組成,如圖2.1(b)所示為接收部分,接收部分由接收管及其濾波電路組成[2]。激光管采用索尼公司生產(chǎn)的半導(dǎo)體激光頭配以相同尺寸的

29、銅套和透鏡組裝而成。激光頭內(nèi)有一個(gè)激光二極管和一個(gè)光電二極管,激光二極管是激光頭中的發(fā)光器件,它發(fā)出光的特性決定了激光頭的特性;光電二極管把光信號(hào)轉(zhuǎn)變成電信號(hào),通過(guò)反饋使激光二極管出射光能量保持一定。接收管為數(shù)字輸出光探測(cè)器,內(nèi)部集成了光電二極管信號(hào)處理電路,包括放大器、施密特觸發(fā)器、電壓調(diào)節(jié)器等。接收頻率為160KHz-200KHz、波長(zhǎng)為500nm-980nm、占空比為20-30%的調(diào)制波。 </p><p>

30、;  圖2.1(a) 激光發(fā)射電路 圖2.1(b) 激光接收電路</p><p>  激光傳感器檢測(cè)道路的工作原理如圖2.3所示。激光管處于黑線上方時(shí),經(jīng)調(diào)制后的激光點(diǎn)打到黑色線上,黑色對(duì)光吸收強(qiáng),接收管接收到的激光少,接收管輸出低電平,檢測(cè)二極管發(fā)亮表示檢測(cè)到黑線;當(dāng)激光管處于白色地面上方時(shí),根據(jù)漫反射原理,一部分激光被反射回接收管,反射回的光強(qiáng)到達(dá)一定要求時(shí),接收管

31、輸出高電平。從而可以實(shí)現(xiàn)對(duì)道路情況的檢測(cè),進(jìn)而引導(dǎo)智能車。</p><p>  圖2.3(a) 激光照射到白色地面上 圖2.3(b) 激光照射到黑線</p><p>  2.2 ZigBee無(wú)線通信</p><p>  要讓智能車跑的更好就需要對(duì)智能車的機(jī)械性能、電路、算法控制程序進(jìn)行不斷的更改,對(duì)智能車進(jìn)行有效的改進(jìn)就需要我們對(duì)車子每

32、一時(shí)刻的狀態(tài)進(jìn)行有效的監(jiān)控。我們可以直接通過(guò)數(shù)據(jù)線把車子的狀態(tài)信息從MCU發(fā)送到上位機(jī),如果這樣的話需要很長(zhǎng)的數(shù)據(jù)線,還要時(shí)時(shí)刻刻抱著電腦跟著車子,要是小車的速度很快或者需要長(zhǎng)時(shí)間調(diào)試的時(shí)候,各種的麻煩和弊端都會(huì)顯現(xiàn)出來(lái)。但是我們要是通過(guò)無(wú)線發(fā)射模塊的話就能夠很好的解決以上的問(wèn)題,無(wú)線模塊不需要連線,而且傳輸距離較遠(yuǎn),我們還可以通過(guò)上位機(jī)發(fā)送控制信息直接控制小車,能夠有效的調(diào)試小車。因此我們就利用ZigBee無(wú)線發(fā)射模塊進(jìn)行數(shù)據(jù)傳輸。&

33、lt;/p><p>  ZigBee是一組基于IEEE批準(zhǔn)通過(guò)的802.15.4無(wú)線標(biāo)準(zhǔn)研制開(kāi)發(fā)的,有關(guān)組網(wǎng)、安全和應(yīng)用軟件方面的技術(shù)標(biāo)準(zhǔn)。IEEE僅處理低級(jí)MAC層和物理層協(xié)議,ZigBee聯(lián)盟對(duì)其網(wǎng)絡(luò)層協(xié)議和API進(jìn)行了標(biāo)準(zhǔn)化。完全協(xié)議用于一次可直接連接到一個(gè)設(shè)備的基本節(jié)點(diǎn)的4K字節(jié)或者作為Hub或路由器的協(xié)調(diào)器的32K字節(jié)。每個(gè)協(xié)調(diào)器可連接多達(dá)255個(gè)節(jié)點(diǎn),而幾個(gè)協(xié)調(diào)器則可形成一個(gè)網(wǎng)絡(luò),對(duì)路由傳輸?shù)臄?shù)目則沒(méi)有限

34、制。ZigBee聯(lián)盟還開(kāi)發(fā)了安全層,以保證這種便攜設(shè)備不會(huì)意外泄漏其標(biāo)識(shí),而且這種利用網(wǎng)絡(luò)的遠(yuǎn)距離傳輸不會(huì)被其它節(jié)點(diǎn)獲得。</p><p>  2.2.1 ZigBee基本組成</p><p>  完整的Zigbee協(xié)議套件由高層應(yīng)用規(guī)范、應(yīng)用會(huì)聚層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層組成。網(wǎng)絡(luò)層以上協(xié)議由ZigBee聯(lián)盟制定,IEEE802.15.4負(fù)責(zé)物理層和鏈路層標(biāo)準(zhǔn)。Zigbee協(xié)議套件

35、緊湊而簡(jiǎn)單,其具體實(shí)現(xiàn)的要求很低,以下是Zigbee協(xié)議套件的需求估計(jì):</p><p>  8位處理器,如80c51;</p><p>  協(xié)議套件軟件需要32kbytes的ROM;</p><p>  最小協(xié)議套件軟件大約4kbytes的ROM;</p><p>  網(wǎng)絡(luò)主節(jié)點(diǎn)需要更多的RAM,以容納網(wǎng)絡(luò)內(nèi)所有節(jié)點(diǎn)的設(shè)備信息、數(shù)據(jù)包轉(zhuǎn)發(fā)表

36、、設(shè)備關(guān)聯(lián)表、與安全有關(guān)的密鑰存儲(chǔ)等。</p><p>  2.3.2 ZigBee技術(shù)特點(diǎn)和優(yōu)勢(shì)</p><p>  在標(biāo)準(zhǔn)制定的分工上,由ZigBee Alliance與IEEE 802.15.4的任務(wù)小組共同制定,其中實(shí)體層、MAC層、資料鏈結(jié)層,以及傳輸過(guò)程中的資料加密機(jī)制等發(fā)展由IEEE所主導(dǎo),并共同針對(duì)ZigBee Protocol Stack的發(fā)展進(jìn)行研討,而未來(lái)還能依系統(tǒng)

37、客戶的需求,為不同應(yīng)用修正其所需之應(yīng)用介面。</p><p>  ZigBee技術(shù)的主要優(yōu)勢(shì)及其與藍(lán)牙和Wi-Fi的比較:</p><p>  功耗低:在低耗電待機(jī)模式下,兩節(jié)普通5號(hào)干電池可使用6個(gè)月到2年,免去了充電或者頻繁更換電池的麻煩。這也是ZigBee的支持者所一直引以為豪的獨(dú)特優(yōu)勢(shì)。</p><p>  成本低:ZigBee數(shù)據(jù)傳輸速率低,協(xié)議簡(jiǎn)單,所以

38、大大降低了成本。且免收專利費(fèi)。</p><p>  網(wǎng)絡(luò)容量大:每個(gè)ZigBee網(wǎng)絡(luò)最多可支持255個(gè)設(shè)備。</p><p>  時(shí)延短:通常時(shí)延都在15毫秒至30毫秒之間。</p><p>  安全:ZigBee提供了數(shù)據(jù)完整性檢查和鑒權(quán)功能,采用AES-128加密算法。</p><p>  有效范圍:有效覆蓋范圍10~75米之間,具體依據(jù)

39、實(shí)際發(fā)射功率的大小和各種不同的應(yīng)用模式而定,能夠覆蓋普通的家庭或辦公室環(huán)境。</p><p>  作頻段靈活:使用頻段為2.4GHz、868MHz(歐洲)及915MHz(美國(guó)),均為免執(zhí)照頻段。</p><p>  2.3 虛擬儀器技術(shù)</p><p>  當(dāng)我們把數(shù)據(jù)發(fā)送到上位機(jī)之后,要對(duì)傳輸進(jìn)行有效的處理和顯示。虛擬儀器具有操作簡(jiǎn)單、界面友好、能夠很形象的模擬

40、各種界面,是我們解決處理和顯示最佳方案。</p><p>  虛擬儀器是在計(jì)算機(jī)基礎(chǔ)上通過(guò)增加相關(guān)硬件和軟件構(gòu)建而成的、具有可 視化界面的儀器。虛擬儀器技術(shù)就是利用高性能的模塊化硬件,結(jié)合高效靈活的軟件來(lái)完成各種測(cè)試、測(cè)量和自動(dòng)化的應(yīng)用。與傳統(tǒng)儀器相比,虛擬儀器具有高效、開(kāi)放、易用靈活、功能強(qiáng)大、性價(jià)比高、可操作性好等明顯優(yōu)點(diǎn),具體表現(xiàn)為: </p><p>  首先,智能化程度高,處理能

41、力強(qiáng)。虛擬儀器的處理能力和智能化程度主要取決于儀器軟件水平。用戶完全可以根據(jù)實(shí)際應(yīng)用需求,將先進(jìn)的信號(hào)處理算法、人工智能技術(shù)和專家系統(tǒng)應(yīng)用于儀器設(shè)計(jì)與集成,從而將智能儀器水平提高到一個(gè)新的層次。</p><p>  其次,應(yīng)用性強(qiáng),系統(tǒng)費(fèi)用低應(yīng)用虛擬儀器思想,用相同的基本硬件可構(gòu)造多種不同功能的測(cè)試分析儀器,如同一個(gè)高速數(shù)字采樣器,可設(shè)計(jì)出數(shù)字示波器、邏輯分析儀、計(jì)數(shù)器等多種儀器。這樣形成的測(cè)試儀器系統(tǒng)功能更靈活

42、、更高效、更開(kāi)放、系統(tǒng)費(fèi)用更低。通過(guò)與計(jì)算機(jī)網(wǎng)絡(luò)連接,還可實(shí)現(xiàn)虛擬儀器的分布式共享,更好地發(fā)揮儀器的使用價(jià)值。</p><p>  最后,操作性強(qiáng),易用靈活虛擬儀器面板可由用戶定義,針對(duì)不同應(yīng)用可以設(shè)計(jì)不同的操作顯示界面。使用計(jì)算機(jī)的多媒體處理能力可以使儀器操作變得更加直觀、簡(jiǎn)便、易于理解,測(cè)量結(jié)果可以直接進(jìn)入數(shù)據(jù)庫(kù)系統(tǒng)或通過(guò)網(wǎng)絡(luò)發(fā)送。測(cè)量完后還可打印、顯示所需的報(bào)表或曲線。這些都使得儀器的可操作性大大提高而且易

43、用。</p><p>  利用虛擬儀器技術(shù),用戶可定義自己的專用儀器系統(tǒng),且功能靈活,易于構(gòu)建,所以應(yīng)用面極為廣泛。尤其在科研開(kāi)發(fā)、檢測(cè)計(jì)量、測(cè)量測(cè)控等領(lǐng)域更是不可多得的好工具。它功能強(qiáng)大,可實(shí)現(xiàn)示波器、邏輯分析儀、頻譜儀、信號(hào)發(fā)生器等多種普通儀器全部功能,配以專用探頭和軟件還可檢測(cè)特定系統(tǒng)的參數(shù)。目前在這一領(lǐng)域內(nèi),使用較為廣泛的計(jì)算機(jī)語(yǔ)言是美國(guó)NI公司的LabVIEW。因此在我們做智能汽車數(shù)據(jù)采集的時(shí)間利用虛擬

44、儀器(LabVIEW)來(lái)顯示數(shù)據(jù)達(dá)到對(duì)數(shù)據(jù)的直觀的顯示,可以用來(lái)發(fā)現(xiàn)隱藏的錯(cuò)誤,還可以利用圖像有效的改進(jìn)的控制算法。</p><p>  2.4 LabVIEW開(kāi)發(fā)環(huán)境</p><p>  LabVIEW(Laboratory Virtual Instrument Engineering Workbench)意思就是"實(shí)驗(yàn)室虛擬儀器工程平臺(tái)",是一種圖形化的編程語(yǔ)言的

45、開(kāi)發(fā)環(huán)境,由美國(guó)國(guó)家儀器(National Instrument,簡(jiǎn)稱NI)公司研制開(kāi)發(fā)的,類似于C++和BASIC開(kāi)發(fā)環(huán)境,但是LabVIEW與其他計(jì)算機(jī)語(yǔ)言的顯著區(qū)別是:其他計(jì)算機(jī)語(yǔ)言都是采用基于文本的語(yǔ)言產(chǎn)生代碼,而LabVIEW使用的是圖形化編輯語(yǔ)言G編寫(xiě)程序,是一種數(shù)據(jù)流編程語(yǔ)言。程序員通過(guò)繪制導(dǎo)線連接不同功能的節(jié)點(diǎn),圖形化的程序框圖(LV源代碼)結(jié)構(gòu)決定程序如何執(zhí)行。這些線傳遞變量,所有的輸入數(shù)據(jù)都準(zhǔn)備好之后,節(jié)點(diǎn)便馬上執(zhí)行

46、。這可能出現(xiàn)同時(shí)使用多個(gè)節(jié)點(diǎn)的情況,G語(yǔ)言天生地具有并行執(zhí)行能力。內(nèi)置的調(diào)度算法自動(dòng)使用多處理器和多線程硬件,可以跨平臺(tái)地在可運(yùn)行的節(jié)點(diǎn)上復(fù)用線程,產(chǎn)生的程序是框圖的形式。</p><p>  LabVIEW將創(chuàng)建用戶界面的工作自然地融合到開(kāi)發(fā)周期當(dāng)中。LabVIEW的程序以及子程序被稱為虛擬儀器(VI)。每個(gè)VI都有三個(gè)組成部分:程序框圖(Block Diagram)、前皮膚(Front Panel)和圖標(biāo)/連

47、接器(Icon/Connector)。連接器是用來(lái)供其他的程序框圖調(diào)用本VI之用。程序員可以利用前皮膚上的控制控件將數(shù)據(jù)輸入正在運(yùn)行的VI,或者用顯示控件將運(yùn)算結(jié)果輸出。前皮膚還可以作為程序的接口:每個(gè)虛擬儀器(VI)既可以把前皮膚當(dāng)作用戶界面,作為一個(gè)程序來(lái)運(yùn)行;也可以作為一個(gè)節(jié)點(diǎn)放到另一個(gè)VI程序框圖中,通過(guò)連接器皮膚連接起來(lái),而前皮膚則定義VI的輸入和輸出。這意味著每個(gè)VI,在作為子程序嵌入到一個(gè)大型的項(xiàng)目之前,都可以很方便地進(jìn)行

48、測(cè)試。其人機(jī)界面如圖2.4,從圖中我們可見(jiàn)能夠很友好的和我們的開(kāi)發(fā)項(xiàng)目結(jié)合起來(lái),很清楚的顯示我們想要顯示的每一個(gè)細(xì)節(jié)。</p><p>  圖2.4 人機(jī)交互界面</p><p>  第三章 系統(tǒng)總體設(shè)計(jì)</p><p>  3.1 智能車系統(tǒng)總體分析 </p><p>  在智能車比賽中一輛好的車必須有一個(gè)完善的控制系統(tǒng),這必將離不開(kāi)

49、對(duì)車模的硬件以及軟件各個(gè)部分進(jìn)行調(diào)整和測(cè)試,各個(gè)部分相會(huì)協(xié)調(diào)配合才能讓智能車在賽道上更快更好的更準(zhǔn)確的完成任務(wù)。</p><p>  我們的智能車選用飛思卡爾16位單片機(jī)MC9S12XS128微控制器[3]為控制核心,以激光發(fā)射接收傳感器為賽道采集傳感器,利用BTS7960高新能驅(qū)動(dòng)芯片來(lái)驅(qū)動(dòng)后輪伺服電機(jī),利用單片機(jī)直接控制舵機(jī),利用歐姆龍E6A2-CS3C編碼電機(jī)來(lái)測(cè)量智能車的速度,利用SZ05-ZIGBEE

50、無(wú)線通信模塊對(duì)小車的采集數(shù)據(jù)以及熟讀各方面向上位機(jī)傳輸數(shù)據(jù)。通過(guò)相關(guān)算法,控制舵機(jī)和后輪驅(qū)動(dòng)電機(jī),使小車沿著規(guī)定的賽道穩(wěn)定快速的循跡。</p><p>  3.2 智能車控制系統(tǒng)的總體結(jié)構(gòu)</p><p>  經(jīng)過(guò)分析,車模主要可分為一下幾個(gè)個(gè)模塊:傳感器采集模塊、電機(jī)驅(qū)動(dòng)模塊、舵機(jī)驅(qū)動(dòng)模塊、車速檢測(cè)模塊、MCU控制模塊??傮w的系統(tǒng)框圖如圖3.1所示 </p><p&

51、gt;  圖3.1 智能車整體結(jié)構(gòu)框圖</p><p>  通過(guò)智能車整體的系統(tǒng)的框圖,我們就可以對(duì)智能車各個(gè)子模塊有一個(gè)大致的了解,下面我們對(duì)各個(gè)子模塊的功能進(jìn)行介紹如下:</p><p>  電源模塊,我們使用官方規(guī)定的7.2V電源為整個(gè)系統(tǒng)供電,為了讓系統(tǒng)的各個(gè)子模塊穩(wěn)定的運(yùn)行,我們?yōu)楦鱾€(gè)子模塊設(shè)計(jì)相關(guān)要的穩(wěn)壓電路;</p><p>  傳感器采集模塊,使用

52、激光傳感電路周期行的掃描路面信息,將實(shí)時(shí)路況反饋給MCU控制模塊處理。</p><p>  電機(jī)驅(qū)動(dòng)模塊,使用BTS7960,通過(guò)MCU輸出相應(yīng)的PWM波,控制電機(jī)的運(yùn)轉(zhuǎn)。</p><p>  舵機(jī)驅(qū)動(dòng)模塊,通過(guò)MCU直接輸出相應(yīng)的PWM給舵機(jī),使其旋轉(zhuǎn)相應(yīng)角度。</p><p>  車速檢測(cè)模塊,使用編碼電機(jī),結(jié)合MCU的脈沖輸入捕捉功能,獲得車模行駛時(shí)的速度,將

53、其反饋給MCU進(jìn)行處理和控制;</p><p>  MCU控制模塊,將各個(gè)模塊所采集到的信息進(jìn)行處理按照我們的處理算法就行處理,然后利用我們的控制算法對(duì)各個(gè)子模塊進(jìn)行控制,從而保證智能車的正常行駛。</p><p>  無(wú)線發(fā)射模塊,使用ZigBee無(wú)線通信模塊周期的使用了SCI串行通信接口把激光傳感器采集的數(shù)據(jù)以及智能車的速度等相關(guān)信息傳送到上位機(jī)進(jìn)行顯示。</p><

54、;p>  上位機(jī)模塊,我們使用LabVIEW處理下位機(jī)傳到上位機(jī)的信息并進(jìn)行有效的處理和顯示,便于我們對(duì)智能車各個(gè)時(shí)刻的狀態(tài)就行有效的觀察和糾正,進(jìn)而對(duì)智能車就行高效的調(diào)試。</p><p>  3.3 智能車控制系統(tǒng)的軟件</p><p>  按照競(jìng)賽的要求,我們結(jié)合我們智能車機(jī)械性能以及我們的硬件電路從而設(shè)計(jì)出了軟件部分的主體流程,如圖3.2。當(dāng)單片機(jī)上電之后,先對(duì)各個(gè)單片機(jī)的

55、總線頻率、通用端口、周期性定時(shí)器、串口、ECT定時(shí)器、實(shí)時(shí)中斷定時(shí)器等進(jìn)行初始化,然后按照規(guī)定的周期對(duì)賽道路況信息和速度信息進(jìn)行采集,把數(shù)據(jù)送到MCU按照我們的處理算法對(duì)數(shù)據(jù)進(jìn)行處理,然后運(yùn)用已經(jīng)處理的數(shù)據(jù)按照我們控制算法對(duì)智能車的方向、速度、以及串口接受發(fā)送進(jìn)行處理。</p><p>  圖3.2 軟件控制流程圖</p><p>  下面介紹下軟件模塊的功能:</p>&

56、lt;p>  系統(tǒng)模塊初始化。根據(jù)對(duì)比賽規(guī)則的了解和系統(tǒng)的規(guī)劃設(shè)計(jì),需要用到MCU的PLL、PIT、ADC、PWM、SCI、RTI、ECT、GPIO等模塊,因此,在系統(tǒng)正常工作前,必須將用到的模塊進(jìn)行初始化,當(dāng)系統(tǒng)開(kāi)始工作時(shí)可以直接進(jìn)入相應(yīng)的工作模式。</p><p>  路面信息和速度采集。將光電傳感器所采集到的路面信息的電信號(hào)經(jīng)過(guò)相應(yīng)的轉(zhuǎn)換電路得到數(shù)字量,用于取閥值和精確坐標(biāo)計(jì)算。將編碼電機(jī)的脈沖規(guī)定周

57、期內(nèi)進(jìn)行記數(shù),將幾個(gè)周期的計(jì)數(shù)值就行加權(quán)平均從而得到小車當(dāng)前大致速度,為小車的速度控制提供依據(jù)。</p><p>  路面信息處理。將傳感器處理得的數(shù)據(jù)進(jìn)行數(shù)字濾波,去除干擾點(diǎn),得到路面真實(shí)的信息,通過(guò)相應(yīng)的算法處理得到賽道指引線的坐標(biāo)。</p><p>  方向和速度控制。從路面處理信息得到的數(shù)據(jù)對(duì)賽車的進(jìn)行有效的控制,并結(jié)合PID控制算法,計(jì)算出方向和速度的偏差,對(duì)賽車進(jìn)行相應(yīng)的調(diào)整和

58、有效的控制,讓車更穩(wěn)定的運(yùn)行。</p><p>  通過(guò)對(duì)程序流程圖的分析我們可以知道,我們所有的控制和算法都是基于我們通過(guò)光電傳感器對(duì)賽道信息的采集,那么光電傳感器就像智能車的“眼睛”,如果智能車光電傳感電路不能正確有效的采集數(shù)據(jù),那么智能車就像一個(gè)盲人一樣,想讓智能車跑的更快更好更準(zhǔn)確沿著賽道完成任何是不太容易的事情。讓智能車在賽道上通過(guò)我們的程序控制跑的更快的更好,所有的關(guān)鍵在于對(duì)賽道信息的正確有效的采集和

59、處理,因此我們?cè)谙旅娴膸渍轮饕獙?duì)數(shù)據(jù)的采集的硬件電路、軟件、以及通過(guò)無(wú)線發(fā)射模塊把賽道信息發(fā)送到上位機(jī),利用LabVIEW進(jìn)行顯示,對(duì)采集的信息準(zhǔn)確性進(jìn)行驗(yàn)證,并利用LabVIEW直觀顯示發(fā)現(xiàn)并改正硬件和軟件設(shè)計(jì)的隱藏的缺陷,讓智能車各個(gè)模塊的設(shè)計(jì)更加完善。</p><p><b>  第四章 詳細(xì)設(shè)計(jì)</b></p><p>  我們通過(guò)上一章得系統(tǒng)框圖我們通過(guò)M

60、CU控制激光傳感電路采集模塊、方向模塊、速度檢測(cè)控制模塊有效協(xié)調(diào)的工作,在這一章我們將對(duì)這幾個(gè)模塊進(jìn)行說(shuō)明。</p><p>  4.1 MCU資源分配以及相應(yīng)的初始化</p><p>  我們知道MCU是智能車協(xié)調(diào)控制各個(gè)模塊的核心,因此我們必須為各個(gè)模進(jìn)行有效的資源分配,因此我們端口資源分配如下:PORTB口用于控制激光傳感電路的發(fā)送、PWMDTY01和PWMDTY45用于控制伺服電

61、機(jī)、PWMDTY23和PWMDTY67用于控制舵機(jī)、SCI0用于無(wú)線模塊的接受于發(fā)送、PJ用于接收激光傳感電路的采集信號(hào)、PT7口用于測(cè)速模塊。</p><p>  我們分配好硬件資源之后必須進(jìn)行相應(yīng)的初始化。我們主要對(duì)系統(tǒng)的總線時(shí)鐘頻率、GPIO、PIT、RTI、SCI、PWM進(jìn)行初始化[4]。</p><p>  總線時(shí)鐘的初始化程序:</p><p>  CL

62、KSEL=0x00; </p><p>  PLLCTL_PLLON=1; </p><p>  SYNR =0xc0 | 0x09; //80MHZ </p><p>  REFDV=0xc0 | 0x01;</p><p>  POSTDIV=0x00; </p><p> 

63、 GPIO初始化程序如下:</p><p>  DDRB=0xff; </p><p>  PORTB=0xff;</p><p>  DDRJ_DDRJ0=0;</p><p>  DDRJ_DDRJ7=0;//激光輸入</p><p><b>  SCI初始化程序:</b></p>

64、;<p>  byte temp;</p><p>  SCI0BDH=0;</p><p>  SCI0BDL=44; </p><p>  temp=SCI0DRL;</p><p>  temp=SCI0SR1; </p><p>  SCI0CR2=0x2c; </p><p

65、>  4.2 激光傳感電路的原理以及數(shù)據(jù)的采集和處理</p><p>  4.2.1 激光傳感電路的原理</p><p>  因?yàn)榻邮展苤粚?duì)固定頻率和占空比的光信號(hào)有很高的靈敏度,對(duì)于其他的靈敏度很低,所以要給激光管設(shè)計(jì)調(diào)制電路。我們采用過(guò)譯碼器加三極管的驅(qū)動(dòng)方式,這種驅(qū)動(dòng)方式所需單片機(jī)IO口較少,但使用元件較多,PCB板布線不易,也不利于將傳感器做小、做輕。因此現(xiàn)在用達(dá)林頓管U

66、LN2803A來(lái)驅(qū)動(dòng)和調(diào)制激光管,ULN2803A電路是美國(guó)Texas Instruments公司和Sprague公司開(kāi)發(fā)的高壓大電流達(dá)林頓晶體管陣列電路,具有電流增益高、工作電壓高、溫度范圍寬、帶負(fù)載能力強(qiáng)等特點(diǎn)。由于ULN2803A集成度較高,用它驅(qū)動(dòng)激光管電路比較簡(jiǎn)單,我們用兩片ULN2803A來(lái)驅(qū)動(dòng)激光發(fā)射頭,為了節(jié)省單片機(jī)IO口資源,我們使用CD4514四--十六線譯碼器通過(guò)四個(gè)IO口來(lái)控制兩個(gè)ULN2803A進(jìn)而控制激光發(fā)射

67、管的方法來(lái)解決。為獲得較多的賽道信息,需要用到足夠多的激光管,這樣就帶來(lái)了另外一個(gè)缺點(diǎn),傳感器會(huì)做的大而重,使小車重心偏高。我們采用12個(gè)激光管外加搖頭舵機(jī)控制傳感器,這樣既獲得了較多的賽道信息,又盡量使傳感器小而輕。同時(shí)規(guī)則規(guī)定傳感器最多不能超過(guò)16個(gè),故不能一個(gè)激光管對(duì)應(yīng)一個(gè)接收管,通過(guò)對(duì)歷屆比賽的</p><p>  圖4.1 激光傳感電路</p><p>  4.2.2 數(shù)據(jù)采

68、集的算法</p><p>  由于使用了激光傳感器,所采用的接收管均為數(shù)字輸出,所以信號(hào)的采集只需要讀取相應(yīng)IO口狀態(tài)即可。我們所采用的激光接收管只對(duì)180KHz的調(diào)制光信號(hào)有很好的響應(yīng),因此發(fā)射管的驅(qū)動(dòng)也需要加以180KHz的調(diào)制脈沖,由于使用的ULN203驅(qū)動(dòng),沒(méi)有相應(yīng)的使能端,因此就需要將IO驅(qū)動(dòng)CD4514來(lái)模擬PWM來(lái)選通達(dá)林頓管。光電傳感器一共使用了12個(gè)發(fā)射管,6個(gè)接收管,2個(gè)發(fā)射對(duì)應(yīng)了1個(gè)接收,U

69、LN2003一共有12路,一路同時(shí)驅(qū)動(dòng)1個(gè)發(fā)射管。發(fā)射管中依次編號(hào),最開(kāi)始采用從左到右依次發(fā)射的方式,但是發(fā)現(xiàn)相鄰的管子之間會(huì)出現(xiàn)干擾,我們采用延時(shí)的方法倆解決這樣的問(wèn)題,先點(diǎn)亮一顆激光管,等待接收管接收,等激光管接受完畢后在關(guān)閉這顆激光管,再稍微延時(shí)幾個(gè)機(jī)器周期,然后再點(diǎn)亮下一顆激光管。通過(guò)這樣可以有效避免相鄰發(fā)射管之間產(chǎn)生的干擾,我們確定發(fā)射時(shí)間確定為200us。通過(guò)PIT定時(shí)中斷進(jìn)行時(shí)序控制,100us中斷一次。當(dāng)單片機(jī)開(kāi)始啟動(dòng)時(shí)

70、,我們從左到右依次掃描直到掃描到符合賽道信息的黑點(diǎn)。當(dāng)找到黑點(diǎn)之后,下一次的掃面的時(shí)候,我們直接掃描上一次黑點(diǎn)附近的激光光就行了,這樣可以提高掃描效率,節(jié)省單片機(jī)的資源,還能</p><p>  4.2.3 數(shù)據(jù)采集的處理</p><p>  每次發(fā)射管驅(qū)動(dòng)完畢采集接收管的信號(hào),當(dāng)照在黑線上為1,白色區(qū)域時(shí)為0,每次采集一個(gè)激光管存儲(chǔ)到一個(gè)十二位的二進(jìn)制數(shù),然后進(jìn)行賽道的識(shí)別。由于傳感器

71、看的范圍較寬,所以12個(gè)管子中會(huì)出現(xiàn)的情況很多的,在不考慮信號(hào)出錯(cuò)的情況,會(huì)出現(xiàn)一段黑線、兩段黑線(一條賽道、一段邊界),三段黑線(起跑線),多段未知黑線的情況等,為了能夠有效濾除一些干擾的黑線段,提取出準(zhǔn)確的賽道信息,我們每次只搜索上次黑線所處的地方的附近的區(qū)域,這樣可以有效排除一些干擾信息,但前提是上次的黑線值是正確并且存在的。</p><p>  剛開(kāi)始打開(kāi)電源,單片機(jī)即開(kāi)始工作,開(kāi)始驅(qū)動(dòng)發(fā)射管發(fā)射,這個(gè)時(shí)

72、候肯定是不知道賽道在哪里,即要進(jìn)行賽道信息的初始化,從當(dāng)前傳感器所看到的狀態(tài)中提取出準(zhǔn)確的黑線。具體是這樣實(shí)現(xiàn)的,首先從數(shù)組的第一個(gè)激光管開(kāi)始搜索賽道引導(dǎo)黑線,收到接收管信號(hào),即黑線,當(dāng)搜到黑點(diǎn)時(shí),記住當(dāng)前的黑點(diǎn)對(duì)應(yīng)的編號(hào),即為黑線段的起始點(diǎn),并且記錄黑點(diǎn)的數(shù)目,當(dāng)黑點(diǎn)數(shù)不為0搜索到數(shù)組最后一個(gè)元素時(shí),判斷檢測(cè)當(dāng)前搜索到的黑線段是否滿足賽道的特點(diǎn),首先賽道上的黑點(diǎn)數(shù)不能超過(guò)3個(gè),同時(shí)需要黑線起始點(diǎn)左邊以及右邊沒(méi)有黑點(diǎn)這樣才確定為正確的賽

73、道,否則會(huì)一直搜索下去。搜索成功后那么將黑線段的起始點(diǎn)和終止點(diǎn)相加除二得到搜索點(diǎn)的標(biāo)號(hào),初始化成功后即將在這個(gè)黑點(diǎn)附近的區(qū)域內(nèi)搜索黑線。</p><p>  在尋跡的時(shí)候,有可能出現(xiàn)黑線丟失的情況,過(guò)彎時(shí)有可能傳感器看到外面沒(méi)有跟上線,但有一點(diǎn)基本原則要確定,黑線從某一邊丟失一定會(huì)從那一邊出現(xiàn),這樣的話必須將最后一次黑線所處的位置給記住,若是入彎時(shí)黑線丟失了,那樣的話就需要將舵機(jī)加鎖,在再次發(fā)現(xiàn)黑線并符合上述條件

74、時(shí)即解鎖。例如黑線從左邊丟失,那么黑線在傳感器的左邊,這樣的話,將舵機(jī)加鎖,然后在搜索范圍內(nèi)只出現(xiàn)一條黑線段,同時(shí)該黑線段的最右端必須是第0個(gè)或者第1個(gè)發(fā)射管看到的,并且黑線段右邊需要至少8個(gè)白點(diǎn),這樣舵機(jī)才解鎖。</p><p>  通過(guò)我們的采集電路和采集程序把采集的結(jié)果放在一個(gè)十二位二進(jìn)制數(shù)中,那我們只需要檢測(cè)二進(jìn)制數(shù)中位數(shù)是1的個(gè)數(shù)以及對(duì)應(yīng)的位置,我們就可以知道那顆激光管照到了黑線,從而知道我們的小車偏離

75、指引黑線的距離及偏離的坐標(biāo)PosiValue,從而通過(guò)偏離的距離來(lái)控制舵機(jī)來(lái)控制小車的方向。通過(guò)實(shí)驗(yàn)可知激光管只照到指引黑線的話只有一到兩個(gè)黑點(diǎn),如果黑點(diǎn)數(shù)NowBlackNum超過(guò)三個(gè)我們就可以通過(guò)判斷黑點(diǎn)的個(gè)數(shù)以及黑點(diǎn)之間是否連續(xù)來(lái)判斷是起始線還是十字線以及其他的特殊情況。</p><p>  4.3 方向控制模塊</p><p>  智能車的方向是由舵機(jī)來(lái)控制的,通過(guò)MCU對(duì)采集數(shù)

76、據(jù)處理得到小車偏離中線的位置PosiValue值來(lái)控制舵機(jī)并結(jié)合經(jīng)典的PID算法讓智能車得方向控制更加穩(wěn)定。應(yīng)用PID控制小車方向控制框圖4.2如下所示。</p><p>  圖4.2 方向控制框圖</p><p>  4.4 速度控制模塊</p><p>  該智能車車速檢測(cè)單元采用旋轉(zhuǎn)編碼器作為車速檢測(cè)元件。其精度為車輪每旋轉(zhuǎn)一周,旋轉(zhuǎn)編碼器產(chǎn)生200個(gè)脈沖

77、,其硬件電路簡(jiǎn)單、且信號(hào)采集速度快、精度高,滿足賽車車速控制精度要求。</p><p>  我們把采集到編碼電機(jī)的數(shù)值轉(zhuǎn)化為我們小車對(duì)應(yīng)的速度,然后結(jié)合小車偏離中線的坐標(biāo)按照我們的控制算法進(jìn)行有效的控制。該模塊先設(shè)定一個(gè)給定速度值,然后根據(jù)采集到的當(dāng)前車速,計(jì)算出與給定速度值之間的偏差,以便了解車速理論與實(shí)際的差距。通過(guò)PID計(jì)算控制量Uk0,控制電機(jī)反轉(zhuǎn),從而控制車速。根據(jù)所設(shè)定的顯示方式,同時(shí)可以將小車運(yùn)行時(shí)

78、的實(shí)時(shí)速度直觀的顯示的前面板中,點(diǎn)擊面板上的車速控制,我們就可以很清楚的了解到速度曲線和設(shè)定數(shù)值的偏差。同時(shí)也可以在整個(gè)軟件的前面板以數(shù)值的方式顯示,此時(shí)可以觀察到我們所需要的各種參數(shù)。同時(shí)也可以在上面直接修改所設(shè)定的速度值,通過(guò)無(wú)線傳輸模塊使之隨時(shí)改變車速大小,便于我們控制了解。 車度控制的框圖4.3如下所示。</p><p>  圖4.3 車速控制框圖</p><p> 

79、 4.4 無(wú)線傳輸模塊</p><p>  此次使用的SZ05無(wú)線通信模塊,集成了符合ZigBee協(xié)議標(biāo)準(zhǔn)的射頻收發(fā)器和微處理器,它具有通訊距離遠(yuǎn)、抗干擾能力強(qiáng)、組網(wǎng)靈活、性能可靠穩(wěn)定等優(yōu)點(diǎn)和特性,也可實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)、多點(diǎn)對(duì)多點(diǎn)之間的設(shè)備間數(shù)據(jù)的透明傳輸,可組成星型、樹(shù)型和蜂窩型網(wǎng)狀網(wǎng)絡(luò)結(jié)構(gòu)。 </p><p>  ZigBee無(wú)線通信模塊數(shù)據(jù)接口包括:TTL電平收發(fā)接口、標(biāo)準(zhǔn)串

80、口RS232數(shù)據(jù)接口,可以實(shí)現(xiàn)數(shù)據(jù)的廣播方式發(fā)送、按照目標(biāo)地址發(fā)送模式,除可實(shí)現(xiàn)一般的點(diǎn)對(duì)點(diǎn)數(shù)據(jù)通信功能外,還可實(shí)現(xiàn)多點(diǎn)之間的數(shù)據(jù)通訊,串口通信使用方法簡(jiǎn)單便利,可以大大簡(jiǎn)短模塊的嵌入匹配時(shí)間進(jìn)程。</p><p>  利用無(wú)線模塊,我們可以在小車行駛的同時(shí),監(jiān)測(cè)小車各種狀態(tài),時(shí)時(shí)傳回到上位機(jī)中以及隨時(shí)修改小車的各種參數(shù),方便對(duì)智能車的調(diào)試。無(wú)線模塊接口圖4.4所示。</p><p>  

81、圖4.4 無(wú)線模塊連接圖</p><p>  智能車?yán)昧舜型ㄐ哦丝谧鰹闊o(wú)線模塊的傳輸端口,使用SCI0,設(shè)置波特率大為115200bps,使用PIT0中斷函數(shù),將采集到的實(shí)時(shí)數(shù)據(jù)每600us向上位機(jī)發(fā)送一次。使用SCI0中斷函數(shù),將上位機(jī)發(fā)送的數(shù)據(jù)暫存入數(shù)據(jù)緩沖區(qū),程序?qū)崟r(shí)調(diào)用,用于修改智能車的各項(xiàng)控制參數(shù)。</p><p><b>  第五章 上位機(jī)</b>

82、</p><p><b>  5.1 串口配置</b></p><p>  在智能車設(shè)計(jì)中,我們采用了無(wú)線方式進(jìn)行數(shù)據(jù)的傳輸,通過(guò)無(wú)線收發(fā)模塊將MCU中的數(shù)據(jù)傳輸?shù)缴衔粰C(jī)中,為了讓讓上位機(jī)和下位機(jī)進(jìn)行有的通信,那么就要求我們對(duì)串行通信端口進(jìn)行有效的配置。對(duì)于上位機(jī)要選擇相應(yīng)的COM、波特率的設(shè)置、串口配置、同時(shí)還要設(shè)置緩沖區(qū)的大小。當(dāng)對(duì)串口進(jìn)行初始化之后才能使用串口

83、進(jìn)行通信。為了讓我們更方便的對(duì)端口進(jìn)行配置,我們直接把串口配置的選擇菜單直接加入到前面板,每次我們可以直接進(jìn)行選擇完成對(duì)串口的配置[7]。</p><p>  5.1.2 串口數(shù)據(jù)的發(fā)送</p><p>  要對(duì)數(shù)據(jù)進(jìn)行有效的傳輸,那么就需要我們制定傳輸格式,這樣可以保證接收端能夠進(jìn)行有效的識(shí)別。我們?cè)谔幚磉^(guò)程當(dāng)中,傳輸?shù)臄?shù)據(jù)[8]是按照定義好的格式進(jìn)行的,一個(gè)完整的數(shù)據(jù)幀應(yīng)包括起始段、

84、數(shù)據(jù)段、結(jié)束段。為了對(duì)傳輸數(shù)據(jù)開(kāi)始標(biāo)志位的進(jìn)行有效的識(shí)別,我們把數(shù)據(jù)的前三位規(guī)定為“CAR”,把這個(gè)作為數(shù)據(jù)的啟示標(biāo)志。數(shù)據(jù)段有幾個(gè)部分組成,由于每個(gè)部分的數(shù)據(jù)類型不一樣,那么如果我們不加以區(qū)分的話那么到接受斷就不能夠有效的進(jìn)行區(qū)分。因此我們這樣規(guī)定,把所有智能車的狀態(tài)數(shù)據(jù)都轉(zhuǎn)化為字符行進(jìn)行傳輸,我們?yōu)檫@些數(shù)據(jù)分配固定的位置,位置不同就代表智能車不同的狀態(tài)量。因此通過(guò)這樣的格式的規(guī)定和要求,我們就能夠?qū)?shù)據(jù)進(jìn)行有效的傳輸。</p&

85、gt;<p>  在前期階段,由于我們算法的缺陷和車子的不穩(wěn)定性,在我們調(diào)試期間會(huì)出現(xiàn)各種意外情況,為了防止小車出現(xiàn)意外情況對(duì)智能車照成損害,我們?cè)诳刂瞥绦蛱砑恿藢?shí)時(shí)中斷來(lái)響應(yīng)上位機(jī)通過(guò)上位機(jī)來(lái)控制小車停止、運(yùn)行等按鈕。這樣可以加快調(diào)試效率,同時(shí)也避免了造成不必要的損失。</p><p>  5.1.3 串口數(shù)據(jù)的讀取</p><p>  要想對(duì)智能車進(jìn)行準(zhǔn)確的監(jiān)控,數(shù)據(jù)的

86、讀取一定要準(zhǔn)確無(wú)誤,在數(shù)據(jù)發(fā)送的時(shí)候可能會(huì)有重復(fù)錯(cuò)誤的數(shù)據(jù)出現(xiàn),為了排除無(wú)用數(shù)據(jù),獲取準(zhǔn)確的有用數(shù)據(jù),我們采用32位的數(shù)據(jù)傳輸。我們把數(shù)據(jù)的前三位用CAR標(biāo)志。當(dāng)我們檢測(cè)到數(shù)據(jù)的前三位是CAR時(shí)則說(shuō)明所接收到的數(shù)據(jù)使我們所要求的,剩下的29位就是我們所要處理的內(nèi)容。用三位起始標(biāo)志來(lái)作為起始標(biāo)志,這樣可以提高對(duì)數(shù)據(jù)起始標(biāo)志的準(zhǔn)確率,進(jìn)而可以提高數(shù)據(jù)的準(zhǔn)確率。</p><p>  5.3 數(shù)據(jù)的處理 </p&

87、gt;<p>  當(dāng)我們檢測(cè)到數(shù)據(jù)起始標(biāo)志之后,剩余的29位數(shù)據(jù)就是我們要處理的數(shù)據(jù),這些數(shù)據(jù)包括激光傳感電路采集數(shù)據(jù)、速度數(shù)據(jù)、方向數(shù)據(jù)等。在下面我們主要講怎樣區(qū)分這些數(shù)據(jù)。</p><p>  我們用32位數(shù)據(jù)來(lái)傳輸,前三位為CAR,后面29位表示我們需要處理的數(shù)據(jù),我們規(guī)定29位中的 第1、2分別表示小車的運(yùn)行狀態(tài)和起始線狀態(tài)標(biāo)志,第3、4位為智能車的速度數(shù)據(jù),第5、6位智能車的激光傳感電路采

88、集的數(shù)據(jù),第7、8位為智能車的方向數(shù)據(jù),第9、10為智能車運(yùn)行時(shí)間數(shù)據(jù)。通過(guò)我們的格式約定,我們可以簡(jiǎn)單的對(duì)我們的傳輸?shù)臄?shù)據(jù)進(jìn)行處理。</p><p>  通過(guò)對(duì)串口的配置、串口數(shù)據(jù)的發(fā)送、串口數(shù)據(jù)的接收、串口的數(shù)據(jù)的處理[9]我們得到總體的上位機(jī)總體的前面板的設(shè)計(jì)如圖5.5,在下面介紹中我們主要介紹上位機(jī)的調(diào)試與實(shí)現(xiàn)。</p><p>  圖5.1 上位機(jī)總設(shè)計(jì)圖</p>

89、<p>  5.4 調(diào)試與實(shí)現(xiàn)</p><p>  在軟件調(diào)試調(diào)試與實(shí)現(xiàn)部分我們主要用一些典型的賽道來(lái)測(cè)試我們的上位機(jī)LabVIEW[10],這樣通過(guò)對(duì)比來(lái)驗(yàn)證我們程序的正確性。</p><p>  讓智能車檢測(cè)到起始線時(shí),小車和起始線的實(shí)物圖如5.2所示,上位機(jī)LabVIEW界面如圖5.3,由圖我們可以知道通過(guò)起始線傳感電路的采集的情況,而且通過(guò)界面我們可以看出起始線標(biāo)志位

90、已經(jīng)置位,說(shuō)明按照我們的檢測(cè)程序已經(jīng)檢測(cè)到起始線。</p><p>  圖5.2 智能車檢測(cè)到起始線</p><p>  圖5.3 智能車檢測(cè)到起始線時(shí)上位機(jī)圖</p><p>  智能車檢測(cè)到十字線時(shí),小車和十字線實(shí)物圖如圖5.4,上位機(jī)LabVIEW界面如圖5.5所示,當(dāng)小車檢測(cè)到十字線時(shí),所有的激光管都能夠檢測(cè)到黑線</p><p>

91、;  圖5.4 智能車檢測(cè)到十字線</p><p>  圖5.5 智能車檢測(cè)到十字線線上位機(jī)圖</p><p>  智能車通過(guò)左彎道時(shí)LabVIEW界面如圖5.8,通過(guò)圖可知只有一個(gè)激光管檢測(cè)到黑線,我們還能夠看到小車的舵機(jī)的轉(zhuǎn)角、速度等信息。</p><p>  圖5.6 智能車過(guò)左彎道圖</p><p>  圖5.7 智能車過(guò)左彎

92、道時(shí)上位機(jī)圖</p><p>  通過(guò)展示以上幾種情況可檢驗(yàn)我們?cè)O(shè)計(jì)的正確性,說(shuō)明我們的設(shè)計(jì)已經(jīng)能夠完成設(shè)計(jì)的各種功能并能夠很好的配合下位機(jī)共同實(shí)現(xiàn)對(duì)智能車各個(gè)時(shí)刻狀態(tài)的監(jiān)控和顯示。</p><p>  第六章 實(shí)現(xiàn)和總結(jié)</p><p>  經(jīng)過(guò)各個(gè)模塊的設(shè)計(jì)和調(diào)試到最后的總車的改裝和調(diào)試,經(jīng)過(guò)很多天的努力和調(diào)試,我們?cè)O(shè)計(jì)的智能車能夠通過(guò)我們的控制程序在賽道上自

93、行尋跡完成任務(wù)。下面對(duì)我們的智能車和測(cè)試情況進(jìn)行說(shuō)明。</p><p>  我們智能車組裝之后智能車總體圖片如6.1所示,整車由激光傳感電路、方向控制模塊(舵機(jī))、速度電機(jī)模塊(伺服電機(jī)),測(cè)速模塊(編碼電機(jī))、控制系統(tǒng)模塊(MCU)、電源系統(tǒng)模塊構(gòu)成。每一個(gè)模塊在控制系統(tǒng)的控制下有效的控制智能車運(yùn)行。</p><p>  圖6.1 智能車總體圖</p><p>

94、  為了讓智能車能具有較強(qiáng)的適應(yīng)能力,那么就應(yīng)該讓智能車經(jīng)過(guò)嚴(yán)格的測(cè)試,我們的賽道嚴(yán)格按照比賽的規(guī)格設(shè)計(jì),并加入了一些較難的路段在里面,如果智能車能在我們?cè)O(shè)計(jì)的賽道里面順利完成任何,參加比賽肯定是能完成任務(wù)的。我們的測(cè)試賽道如圖6.2所示:</p><p>  圖6.2 測(cè)試賽道</p><p>  通過(guò)在我們?cè)O(shè)計(jì)的賽道上,智能車能夠按照我們的要求自動(dòng)尋跡,自動(dòng)識(shí)別起始線實(shí)現(xiàn)停車,不沖出

95、賽道得完成任務(wù)。如圖6.3智能車很穩(wěn)定的經(jīng)過(guò)小S彎道。</p><p>  圖6.3 智能車過(guò)小S彎道</p><p>  通過(guò)該設(shè)計(jì)完成的智能循跡小車能穩(wěn)定快速的行駛完成比賽,并且通過(guò)我們?cè)O(shè)計(jì)的上位機(jī)程序能夠很好完成對(duì)智能車狀態(tài)的實(shí)時(shí)監(jiān)控。但是在我們?cè)O(shè)計(jì)過(guò)程中也碰到了一些難題:</p><p>  首先,激光采集電路采集。當(dāng)開(kāi)始調(diào)試激光傳感電路的時(shí)候出現(xiàn)采集的數(shù)

96、據(jù)不穩(wěn)定,很容易采集到未知錯(cuò)誤的數(shù)據(jù),后來(lái)經(jīng)過(guò)仔細(xì)的檢查發(fā)現(xiàn)要對(duì)激光發(fā)射電路進(jìn)行消影處理才解決這一難題。</p><p>  其次,數(shù)據(jù)的傳輸。要監(jiān)控智能車就要求數(shù)據(jù)準(zhǔn)確的發(fā)送和接受,在前期的階段出現(xiàn)發(fā)送出現(xiàn)滯后性的情況,接受端出現(xiàn)很多錯(cuò)誤的數(shù)據(jù)。后期的老師的指導(dǎo)下,在發(fā)送端采用定時(shí)中斷發(fā)送,接收端采取檢測(cè)數(shù)據(jù)包頭的辦法解決了這個(gè)難題。</p><p>  經(jīng)過(guò)對(duì)車子的調(diào)試,車子還存在一些

97、問(wèn)題:不能100%的設(shè)別起始線、不能夠有效的處理出現(xiàn)虛線的賽道、大S彎道不能夠抄近道等。但是總體來(lái)說(shuō),這一設(shè)計(jì)還是很好的達(dá)到了預(yù)計(jì)的要求,實(shí)現(xiàn)了既定的目標(biāo),取得了較好的效果。</p><p><b>  參考文獻(xiàn)</b></p><p>  卓晴, 黃開(kāi)勝. 學(xué)做智能車:挑戰(zhàn)“飛思卡爾”杯[M]. 北京:北京航空航天大學(xué)出版社, 2007. 30~156.</p

98、><p>  黃賢武, 鄭筱霞. 傳感器原理與應(yīng)用[M]. 北京:高等教育出版社, 2004. 248~249.</p><p>  Freescale. MC9S12XS256RMV1 DataSheet[OL]. Documentation:www.freescale.com, 2009. </p><p>  孫同景. Freescale 9S12 十六位單片機(jī)原

99、理及嵌入式開(kāi)發(fā)技術(shù)[M]. 北京:機(jī)械工業(yè)出版社, 2008. 199~311.</p><p>  周潤(rùn)景. 基于PROTEUS的電路及單片機(jī)系統(tǒng)設(shè)計(jì)與仿[M]. 北京:北京航空航天出社, 2006. 20~29</p><p>  譚浩強(qiáng). C程序設(shè)計(jì)[M]. 北京:清華大學(xué)出版社, 2003. 1~254.</p><p>  劉剛,王立香,張連俊. LabV

100、IEW8.20中文編程及應(yīng)用[M]. 北京:電子工業(yè)出版社, 2008. 51~122.</p><p>  陳錫輝, 張銀鴻,. LabVIEW8.20程序設(shè)計(jì)從入門到精通[M]. 北京:清華大學(xué)出版社, 2007. 42~52.</p><p>  陳敏, 湯曉安. 虛擬儀器軟件LabVIEW與數(shù)據(jù)采集[J]. 小型微型計(jì)算機(jī)系統(tǒng),2001,22(4):501~503.</p&g

101、t;<p>  楊忠仁, 饒程, 鄒建, 等. 基于LabVIEW數(shù)據(jù)采集系統(tǒng)[J]. 重慶大學(xué)學(xué)報(bào),2004,27(2):32~35.</p><p><b>  附錄一</b></p><p><b>  PWM初始化程序:</b></p><p>  PWME=0x00; //禁止PWM</p

102、><p>  PWMCTL=0xf0; //級(jí)聯(lián)通道76、54、32、10 </p><p>  PWMPOL=0xaa; //極性:先高后低</p><p>  PWMCLK=0x88; //通道54、10使用Clock A,通道32、76使用ClockSB</p><p>  PWMPRCLK=0x32; // Clock B=Bus clo

103、ck/8=10m Clock A=Bus clock/4=20m</p><p>  PWMSCLB=0x05;//Clock SB=Clock B/(2*PWMSCLB)=1m </p><p>  PWMPER01=MotorCyc;//馬達(dá)周期=Clock A(20m)/MotorCyc=10khz 25kHz</p><p>  PWMPER45=

104、MotorCyc; </p><p>  PWMPER23=RudderCyc; //舵機(jī)周期=Clock SB(1m)/10000=100Hz</p><p>  PWMPER67=RudderCyc;//100Hz</p><p>  PWMDTY01=0; </p><p>  PWMDTY45=0; </p><

105、;p>  DaJiao=DaJiao_MiddleAngle;//打角舵機(jī)</p><p>  BaiTou=BaiTou_MiddleAngle;//擺頭舵機(jī)</p><p>  PWME_PWME1=0;</p><p>  PWME_PWME5=0;</p><p>  PWME_PWME3=1;</p><p

106、>  PWME_PWME7=1;</p><p><b>  PIT初始化程序:</b></p><p>  PITMTLD0=80; //1us</p><p>  PITCFLMT_PITE=1;</p><p>  PITCFLMT_PFLMT0=1;</p><p>  PITMUX

107、_PMUX0=0;</p><p>  PITLD0=200; //200us</p><p>  PITCE_PCE0=1;</p><p>  PITINTE_PINTE0=1;</p><p>  PITMUX_PMUX1=0;</p><p>  PITINTE_PINTE1=0;</p>&

108、lt;p>  PITMUX_PMUX2=0;</p><p>  PITLD2=10;</p><p>  PITCE_PCE2=1; </p><p>  PITINTE_PINTE2=1;</p><p>  PITMUX_PMUX3=0;</p><p>  PITLD3=1000;</p>

溫馨提示

  • 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. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論