畢業(yè)論文《自動(dòng)循跡小車》_第1頁
畢業(yè)論文《自動(dòng)循跡小車》_第2頁
畢業(yè)論文《自動(dòng)循跡小車》_第3頁
畢業(yè)論文《自動(dòng)循跡小車》_第4頁
畢業(yè)論文《自動(dòng)循跡小車》_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 畢業(yè)論文(設(shè)計(jì))題 目 自動(dòng)循跡小車 院 系 電氣與電子信息工程學(xué)院 專 業(yè) 自動(dòng)化 年級(jí) 2013級(jí) 學(xué)生姓名 賴德鵬 學(xué) 號(hào) 130650108 指導(dǎo)教師 田巧玉 自動(dòng)循跡小車專業(yè) 自動(dòng)化學(xué)生 賴德鵬 指導(dǎo)教師 田巧玉 【摘 要】 本設(shè)計(jì)以LDC1000傳感器探測(cè)金屬為基礎(chǔ),以單片機(jī)控制技術(shù)為核心,實(shí)現(xiàn)小車自動(dòng)探測(cè)金屬軌道并正常行駛。同時(shí)加入前進(jìn)距離和時(shí)間的記錄,用戶可通過單片機(jī)STC15F2K60S2控制傳感器根據(jù)不同的金屬軌道進(jìn)行參數(shù)矯正。小車使用了L298N電機(jī)驅(qū)動(dòng)以便于小車可以不通的速度勻速穩(wěn)定的前進(jìn),最終實(shí)現(xiàn)集金屬探測(cè),實(shí)地矯正,參數(shù)的設(shè)定與數(shù)據(jù)顯示于一身的智能循跡小車。此設(shè)計(jì)

2、有體積小,功耗低,適用范圍廣,用戶操作界面設(shè)計(jì)人性化等特點(diǎn)。 【關(guān)鍵詞】 金屬探測(cè) 參數(shù)可調(diào) 多功能顯示 智能控制Automatic Vehicle Tracking【Abstract】 This design is based on the LDC1000 sensor to detect the metal, with the single-chip microcomputer control technology as the core, to realize the automatic detection of the metal track and normal driving. A

3、t the same time to join the advance distance and time records, the user can be controlled by a single chip microcomputer STC15F2K60S2 sensor based on different metal track parameters. The car uses a L298N motor drive for the car can get stable speed constant progress, and ultimately set the metal de

4、tection, field correction, intelligent vehicle tracking and data set parameters are displayed in a. This design has the characteristics of small size, low power consumption, wide application range, user-friendly design of user interface, and so on.【Key words】 Metal detection adjustable parameters mu

5、ltifunction display intelligent control目 錄緒論11 開發(fā)概述11.1 研究現(xiàn)狀11.2 選題意義11.3 研究任務(wù)21.4 基本要求21.5 本文工作及內(nèi)容安排22 模塊方案論證32.1 概述32.2 模塊的論證32.2.1 小車的比較與選擇32.2.2 電動(dòng)機(jī)的比較與選擇32.2.3 電機(jī)驅(qū)動(dòng)芯片的比較與選擇32.2.4 傳感器的比較與選擇42.2.5 處理器芯片的比較與選擇42.3 小車功能實(shí)現(xiàn)的設(shè)計(jì)與分析43 硬件部分設(shè)計(jì)53.1 電機(jī)驅(qū)動(dòng)模塊53.2 LDC1000傳感器模塊53.3 電源模塊64 軟件部分設(shè)計(jì)64.1 大體思路64.1.1 C

6、語言簡(jiǎn)介64.1.2 單片機(jī)簡(jiǎn)介64.1.3 基于單片機(jī)在循跡小車系統(tǒng)中的應(yīng)用介紹64.1.4 軟件部分總述74.2 電機(jī)驅(qū)動(dòng)程序控制84.3 LDC1000傳感器模塊94.3.1 LDC1000參數(shù)的計(jì)算94.3.2 確定Rp_Max值104.3.2 確定Rp_Min值104.4 PID算法104.5 行駛距離的計(jì)算114.6 主函數(shù)與中斷115 綜合測(cè)試方法、數(shù)據(jù)及結(jié)果分析115.1 測(cè)試方法115.2 測(cè)試數(shù)據(jù)115.3 結(jié)果分析126 成果展示12總結(jié)13參考文獻(xiàn)15附錄16致謝24緒論在當(dāng)前的環(huán)境中,隨著科技的進(jìn)步,智能化車輛或者與智能化車輛相關(guān)的產(chǎn)品已經(jīng)開始作為各式各樣自動(dòng)控制系統(tǒng)

7、中的重要設(shè)備之一,這其中主要包括了物流配送或者交通運(yùn)輸?shù)认到y(tǒng)。所以,自動(dòng)化車輛越發(fā)地被人們重點(diǎn)關(guān)注,同時(shí),也有越來越多的企業(yè)和工廠開始對(duì)智能車輛踴躍地進(jìn)行研發(fā)和設(shè)計(jì)。智能化的小車是非常規(guī)范地將各個(gè)擁有高科技的系統(tǒng)融為一體的成果。不僅是智能化的小車包含了很多擁有高科技的系統(tǒng),而這樣的一個(gè)綜合體又包含了更加多的高新技術(shù)。簡(jiǎn)單的來講,智能小車就是將雙腿變成了的多個(gè)輪子的移動(dòng)機(jī)器人。而這個(gè)機(jī)器人其中就包括了對(duì)環(huán)境的探測(cè),對(duì)行進(jìn)路線的計(jì)算,以及包括了人類遠(yuǎn)程進(jìn)行通信控制甚至是機(jī)器人自行地對(duì)車體進(jìn)行控制等多種功能。而智能小車在對(duì)比其他的智能機(jī)器人時(shí),可以更加平穩(wěn)的運(yùn)行,操作也比較簡(jiǎn)單,整個(gè)系統(tǒng)的設(shè)計(jì)也沒有

8、其他的機(jī)器人那么復(fù)雜。另外,由于智能小車的優(yōu)點(diǎn)就在于控制簡(jiǎn)便,運(yùn)行穩(wěn)定,所以對(duì)智能小車的行駛的速度與方向之間的配合就有比較嚴(yán)格的要求。首先,小車可以通過傳感器來獲取當(dāng)前道路狀況,然后將傳感器獲取到的數(shù)據(jù)傳輸?shù)教幚砥鳎幚砥髟俳Y(jié)合小車當(dāng)前的行駛狀態(tài),迅速地進(jìn)行計(jì)算,對(duì)小車的行駛的方向和行車的速度進(jìn)行快速的調(diào)整改變,進(jìn)而對(duì)目標(biāo)道路進(jìn)行迅速準(zhǔn)確的跟蹤。1 開發(fā)概述1.1 研究現(xiàn)狀移動(dòng)機(jī)器人出現(xiàn)于20世紀(jì)06年代,當(dāng)時(shí)斯坦福研究院(SRI)的Nils Nilssen和charles Rosen等人,在1966年至1972年中研制出了取名shakey的自主式移動(dòng)機(jī)器人,目的是將人工智能技術(shù)應(yīng)用在復(fù)雜環(huán)境

9、下,完成機(jī)器人系統(tǒng)的自主推理、規(guī)劃和控制1。從此,作為機(jī)器人學(xué)中的一部分,智能化車輛的數(shù)量開始不斷的增多。1.2 選題意義隨著科技的不斷發(fā)展,人們也越發(fā)的開始關(guān)注一些研發(fā)人工智能產(chǎn)品的情況。智能小車可以在各種條件惡劣的情況下代替人們進(jìn)行一些復(fù)雜的任務(wù),例如排雷防爆,礦區(qū)檢測(cè),狹窄的地方進(jìn)行貨物搬運(yùn)等。正是由于這種智能小車設(shè)備有非常多的運(yùn)用前景,所以對(duì)智能小車的進(jìn)行尋跡避障的研究設(shè)計(jì)就是目前首要的目標(biāo),因?yàn)樾≤囆枰_的在規(guī)定的路線中行進(jìn)并執(zhí)行相應(yīng)的任務(wù)。1.3 研究任務(wù)本設(shè)計(jì)是一種以STC15芯片為控制核心的自動(dòng)尋跡小車系統(tǒng)。L298驅(qū)動(dòng)電路通過單片機(jī)產(chǎn)生的PWM波來控制小車速度。利用LDC1

10、000傳感器對(duì)路面鐵絲軌道進(jìn)行分析檢測(cè),并將路面檢測(cè)到的信號(hào)實(shí)時(shí)反饋給單片機(jī),單片機(jī)對(duì)采集到的信號(hào)予以分析判斷,及時(shí)控制驅(qū)動(dòng)電機(jī)以調(diào)整小車轉(zhuǎn)向,從而使小車能夠沿著鐵絲軌跡自動(dòng)行駛2。本設(shè)計(jì)還附帶了按鍵功能,可以對(duì)LDC1000閾值及小車的啟停等功能進(jìn)行設(shè)置。1.4 基本要求設(shè)計(jì)并制作一個(gè)可以自動(dòng)循跡的小車。循跡傳感器自選,在規(guī)定的平面跑道自動(dòng)按順時(shí)針方向循跡前進(jìn),跑道的標(biāo)示為一根0.9cm左右的細(xì)鐵絲,用透明膠帶將其粘貼在跑道上,跑道尺寸見圖1-1,跑完一圈不得超過10分鐘,小車運(yùn)行時(shí)必須保持鐵絲在車身垂直投影下,實(shí)時(shí)顯示小車運(yùn)行時(shí)間和距離3。圖1-1鐵絲軌道圖1.5 本文工作及內(nèi)容安排第一章

11、講解了智能小車當(dāng)前研發(fā)的情況,闡明了系統(tǒng)實(shí)現(xiàn)的目的和意義,概述了本文的主要工作。第二章主要簡(jiǎn)單介紹了各個(gè)模塊的論證方法,對(duì)系統(tǒng)有個(gè)整體框架。第三章介紹了電機(jī)驅(qū)動(dòng)模塊、LDC1000傳感器模塊和電源模塊的硬件部分。第四章介紹了軟件系統(tǒng)設(shè)計(jì),電機(jī)驅(qū)動(dòng)程序控制,LDC1000傳感器程序控制,PID算法,行駛距離的計(jì)算。同時(shí)闡述了在主函數(shù)與中斷中,將各個(gè)模塊整合的方法。第五章介紹了此設(shè)計(jì)的最終測(cè)試的方法與測(cè)試的結(jié)果。2 模塊方案論證2.1 概述本設(shè)計(jì)基于閉環(huán)測(cè)量、控制的原理,通過傳感器實(shí)時(shí)監(jiān)控小車的運(yùn)動(dòng)狀態(tài),然后將檢測(cè)信號(hào)傳輸?shù)轿⑻幚硇酒?。同時(shí),微處理芯片對(duì)所接收到的信號(hào)進(jìn)一步的分析和計(jì)算,并產(chǎn)生合適

12、的脈沖寬度調(diào)制信號(hào),也就是PWM波。PWM波傳輸?shù)津?qū)動(dòng)電路,而直流電機(jī)的轉(zhuǎn)動(dòng)的狀態(tài)和速度是通過驅(qū)動(dòng)電路接收到的信號(hào)進(jìn)而實(shí)現(xiàn)操控的。最后實(shí)現(xiàn)小車的前進(jìn)后退、左右拐彎、自動(dòng)探尋道路并定位,同時(shí)必要信息等功能。2.2 模塊的論證根據(jù)題目設(shè)計(jì)要求,本設(shè)計(jì)是小車通過自動(dòng)循跡的功能來達(dá)到跟隨金屬絲軌道前進(jìn)的系統(tǒng)。其中系統(tǒng)整體包括小車的設(shè)計(jì),電動(dòng)機(jī)驅(qū)動(dòng)模塊,金屬傳感器模塊,處理芯片模塊,運(yùn)行距離計(jì)算模塊,按鍵模塊,顯示模塊以及電源模塊。2.2.1 小車的比較與選擇根據(jù)設(shè)計(jì)要求,小車需要通過多個(gè)彎道,對(duì)車輛的平衡性,穩(wěn)定性有較高的要求,采用兩輪驅(qū)動(dòng)的小車,轉(zhuǎn)彎角度可以很好的控制,但是驅(qū)動(dòng)力弱,平穩(wěn)性差。采用四

13、輪驅(qū)動(dòng)的小車,驅(qū)動(dòng)力強(qiáng),平穩(wěn)性好,能在復(fù)雜的路況上有很好的表現(xiàn)。雖然兩輪驅(qū)動(dòng)的小車更加利于在彎道的控制,但是不適用于所有的路況,所以我們將小車設(shè)計(jì)為四輪驅(qū)動(dòng)。 電動(dòng)機(jī)的比較與選擇電動(dòng)機(jī)是小車主要的動(dòng)力裝置。而市面上的電動(dòng)機(jī)的選擇主要兩種,分別是步進(jìn)電機(jī)和直流電機(jī)兩種。步進(jìn)電機(jī)是以步階方式分段移動(dòng),直流電機(jī)和無刷直流電機(jī)通常采用連續(xù)移動(dòng)的控制方式4。所以步進(jìn)電機(jī)對(duì)速度和移動(dòng)距離的控制更加精確,但是移動(dòng)速度相對(duì)緩慢,而無刷直流電機(jī)的速度快,但是控制困難??紤]到小車對(duì)于速度的要求大于控制的要求,所以我們選擇無刷直流電機(jī),在控制方面通過將程序的控制算法做得更加完善來彌補(bǔ)無刷直流電機(jī)控制的不足。 電機(jī)驅(qū)

14、動(dòng)芯片的比較與選擇電機(jī)驅(qū)動(dòng)也是智能小車的模塊中重要的組成之一,而對(duì)于電機(jī)驅(qū)動(dòng)的選擇有兩種方案。方案一:采用由H橋(分立的三極管元件組成)構(gòu)成的驅(qū)動(dòng)。此種方案對(duì)直流電動(dòng)機(jī)的方向和速度的控制利用PWM波調(diào)速的電路實(shí)現(xiàn)??墒遣捎玫腍橋是由分立的元件組成的電機(jī)邏輯驅(qū)動(dòng),驅(qū)動(dòng)電路的穩(wěn)定性容易變差,并且價(jià)格也不便宜。方案二:采用雙橋電機(jī)驅(qū)動(dòng)的芯片L298。L298是一款由雙橋結(jié)構(gòu)的直流、步進(jìn)電機(jī)驅(qū)動(dòng)器。同時(shí),L298芯片集成度較高,還可以實(shí)現(xiàn)對(duì)兩個(gè)直流電機(jī)進(jìn)行同時(shí)驅(qū)動(dòng)和控制。通過比較兩種方案,L298電機(jī)驅(qū)動(dòng)電路相對(duì)于由分立元件三極管組成的H橋的驅(qū)動(dòng),具有多種有點(diǎn),例如使用元件少,可靠性不僅高,而且控制和

15、操作可以更加模塊化,并且L298芯片的價(jià)格低。所以,作為循跡小車的驅(qū)動(dòng)芯片,L298芯片更加適合。 傳感器的比較與選擇低成本的OHMIC開關(guān)傳感器在灰塵等惡劣環(huán)境下不可靠,F(xiàn)SR壓力傳感器分辨率有限、不適合遙感、成本稍高,高端一些的超成波傳感器不適合短距離傳感,電容式傳感器靈敏度高可針對(duì)被選擇物的選擇性不高,HALL傳感器存在精度問題、需要磁體和校準(zhǔn),光學(xué)傳感器在惡劣環(huán)境下不可靠,這些傳感器都或多或少存在這樣和那樣的缺點(diǎn)5。而由德州儀器生產(chǎn)的LDC1000性能優(yōu)越,無論低成本PCB線跡,或者是普通的金屬塊,甚至是人體的傳感,LDC1000可以迅速檢測(cè)并將數(shù)據(jù)傳輸?shù)教幚砥黠@示出精確的結(jié)果。所以我

16、們選擇LDC1000作為循跡小車的金屬傳感器。 處理器芯片的比較與選擇關(guān)于處理器則有多種選擇方案。首先,采用傳統(tǒng)的C51單片機(jī)。C51單片機(jī)通用靈活,價(jià)格低廉,使用方便,但此C51的芯片是比較老的芯片,對(duì)于大量的數(shù)據(jù)處理能力較弱。第二,采用更加高級(jí)的STM32芯片。STM32芯片集成了絕大部分工控領(lǐng)域所需要的功能模塊,官方也提供了大量的庫函數(shù),工作速度快,處理數(shù)據(jù)能力強(qiáng)。第三,采用STC15單片機(jī)芯片。STC15單片機(jī)計(jì)算性能強(qiáng)勁,可以簡(jiǎn)單靈便的對(duì)軟件進(jìn)行編程,而且可以實(shí)現(xiàn)最多6路PWM輸出,自帶晶振,更加利于控制小車的驅(qū)動(dòng)。更加重要的是,STC15單片機(jī)加密性強(qiáng),超強(qiáng)的抗干擾能力,可以試用于

17、各種惡劣的環(huán)境,并且功耗更低。綜合考慮,由于使用STM32芯片會(huì)造成資源浪費(fèi),所以我們選擇更加適合小車控制的STC15單片機(jī)作為小車的處理器芯片。2.3 小車功能實(shí)現(xiàn)的設(shè)計(jì)與分析如何設(shè)計(jì)小車的運(yùn)動(dòng)方式是非常重要的。因?yàn)樾≤嚨倪\(yùn)動(dòng)方式就決定了小車對(duì)鐵絲軌道的探測(cè),前進(jìn)的控制,以及顯示小車行駛距離和時(shí)間等基本要求。小車是基于單片機(jī)設(shè)計(jì)的,而且設(shè)計(jì)智能小車的系統(tǒng)是一個(gè)閉環(huán)系統(tǒng)。首先,小車需要沿著設(shè)定好的路線前進(jìn),而且是鐵絲構(gòu)成的道路,所以小車就必須可以識(shí)別到目標(biāo)道路,這就需要金屬傳感器可以不斷的進(jìn)行探測(cè)。同時(shí),小車還應(yīng)該具有可以實(shí)時(shí)監(jiān)測(cè)是否偏離軌道,并可以糾正小車前進(jìn)方向的功能,這部分功能就需要把傳

18、感器接收到的信號(hào)實(shí)時(shí)發(fā)送給處理器,處理器經(jīng)過計(jì)算后發(fā)出PWM波,電機(jī)驅(qū)動(dòng)接收到PWM波進(jìn)行相應(yīng)的操作,而電動(dòng)機(jī)通過接收到的信號(hào)來進(jìn)行前進(jìn)或后退的動(dòng)作,通過多個(gè)輪子的共同工作進(jìn)而達(dá)到控制小車的前進(jìn)后退左右運(yùn)動(dòng),進(jìn)而實(shí)現(xiàn)精確巡線行走。系統(tǒng)框圖如圖2-1所示。圖2-1系統(tǒng)框圖3 硬件部分設(shè)計(jì)3.1 電機(jī)驅(qū)動(dòng)模塊直流電動(dòng)機(jī)中轉(zhuǎn)子轉(zhuǎn)動(dòng)的原因是由于帶電導(dǎo)體在磁場(chǎng)中受到了電磁力的作用,并且形成了電磁轉(zhuǎn)矩,從而推動(dòng)轉(zhuǎn)子,使得電動(dòng)機(jī)得以運(yùn)行。直流電動(dòng)機(jī)有如下兩個(gè)個(gè)特點(diǎn):1、外加電壓加到線圈是通過了電刷和換向器。2、電磁轉(zhuǎn)矩的方向不會(huì)變。電機(jī)的驅(qū)動(dòng)芯片選用L298作為驅(qū)動(dòng)芯片。工作穩(wěn)定電機(jī)驅(qū)動(dòng)信號(hào)由單片機(jī)提供,信

19、號(hào)經(jīng)過光耦隔離后,傳至PWM控制芯片L298N,通過L298N的輸出腳與兩個(gè)電機(jī)相連。小車電機(jī)驅(qū)動(dòng)模塊電路圖如附錄1所示。電機(jī)驅(qū)動(dòng)模塊PCB硬件圖如附錄2所示。3.2 LDC1000傳感器模塊LDC1000芯片是采用四線制SPI的連接方式,而單片機(jī)芯片對(duì)LDC1000芯片的連接、控制以及讀取數(shù)據(jù)是通過SPI連接(SDI、SDO、SCLK、CSB)實(shí)現(xiàn)的。而像Q表那樣測(cè)試線圈的電感量并不同于LDC1000芯片的電感檢測(cè)。LDC1000在各種環(huán)境條件下都可以很好的檢測(cè)到外部金屬,因?yàn)長(zhǎng)DC1000可以很容易就可以實(shí)現(xiàn)非接觸式的電感檢測(cè),只需要在LDC1000芯片的外部接上一個(gè)金屬線圈就可以了。LD

20、C1000原理圖如附錄3所示。3.3 電源模塊電源是小車系統(tǒng)的動(dòng)力組成,電源主要是給單片機(jī)芯片和外圍電路提供5V電壓,同時(shí)為小車的電動(dòng)機(jī)提供12V電壓。要想小車的控制和行駛穩(wěn)定,電源的設(shè)計(jì)就需要考慮到可以達(dá)到直流穩(wěn)壓3.3V、5V和±12V,并且電路紋波要小,盡量排除電源對(duì)芯片控制的干擾。電源原理圖如附錄4所示,電源PCB硬件圖如附錄5所示。4 軟件部分設(shè)計(jì)4.1 大體思路4.1.1 C語言簡(jiǎn)介在單片機(jī)的程序編程和應(yīng)用系統(tǒng)中,可以使用C語言和匯編語言編程。因?yàn)檫@兩種語言是最接近機(jī)器語言的。而在較大規(guī)模的應(yīng)用系統(tǒng),應(yīng)用軟件開發(fā)的工作量是非常大的,所以,簡(jiǎn)介直觀,運(yùn)行效率高的語言是非常重

21、要的。C語言編寫的,與此相反,良好的便攜性,并非常接近自然語言,可以用少量語言完成相同的功能,入門易,編程效率高,程序的可讀性高,也可以將匯編語言嵌入C語言程序中,以滿足有特殊要求的性能或操作6。因此,C語言在嵌入式系統(tǒng)中的開發(fā)是非常重要的。 單片機(jī)簡(jiǎn)介單片機(jī)使用的是超大規(guī)模的集成電路技術(shù),是一種集成的電路芯片。單片機(jī)不僅包括了有數(shù)據(jù)處理能力的中央處理器cpu、只讀存儲(chǔ)器rom、隨機(jī)存儲(chǔ)器ram、多種I/O接口、計(jì)時(shí)器/定時(shí)器以及中斷系統(tǒng)等功能,有一些單片機(jī)還包括了脈寬調(diào)制電路、顯示驅(qū)動(dòng)電路、A/D轉(zhuǎn)換器、模擬多路轉(zhuǎn)換器等功能,把這些電路集成到一塊硅片上就構(gòu)成了一個(gè)小但是完全的微型計(jì)算機(jī)系統(tǒng)7

22、。單片機(jī)在工控領(lǐng)域的應(yīng)用非常廣泛。 基于單片機(jī)在循跡小車系統(tǒng)中的應(yīng)用介紹單片機(jī)的芯片上集成了包括CPU,RAM,ROM,各種I/O接口和定時(shí)計(jì)數(shù)器的硬件,它擁有的指令可以運(yùn)用于許多控制技術(shù),同時(shí)還具有多種硬件的支持。因?yàn)樗哂卸鄠€(gè)優(yōu)良的特性,所以自問世以來它就被人們廣泛應(yīng)用。目前,單片機(jī)廣泛應(yīng)用于鼠標(biāo)、機(jī)械鍵盤等電腦外設(shè),手環(huán)、跑鞋等智能穿戴設(shè)備以及各種家用電器中?;趩纹瑱C(jī)的循跡小車系統(tǒng)不僅結(jié)構(gòu)模塊化,同時(shí)制作起來也非常方便。通過金屬傳感器探測(cè)到小車與軌道的相對(duì)位置,將數(shù)據(jù)傳輸?shù)絾纹瑱C(jī)芯片,芯片實(shí)時(shí)分析并計(jì)算小車行駛的方向,并且校正小車輪胎運(yùn)行的速度,達(dá)到小車智能循跡的功能。另外,現(xiàn)在的人越

23、來越離不開智能化的機(jī)器和設(shè)備,如:不管是人類對(duì)太空的探索,替代單調(diào)簡(jiǎn)單的重復(fù)性工作,還是在各種惡劣的環(huán)境中進(jìn)行操作等都可以借助于智能化的可運(yùn)動(dòng)行走的設(shè)備。因此,智能小車作為最常用最普遍的的行走智能設(shè)備,未來必定會(huì)在工業(yè)和生活得到越來越多的使用,這樣不僅高效,而且可靠。本文在分析目前市面上已經(jīng)出現(xiàn)的智能小車的設(shè)計(jì)基礎(chǔ)之上,充分的將單片機(jī)硬件與軟件結(jié)合,以及將金屬探測(cè)系統(tǒng)的自身特點(diǎn)、功能特性和設(shè)計(jì)的要求相結(jié)合,實(shí)現(xiàn)了利用金屬軌道這一載體來導(dǎo)引小車運(yùn)動(dòng)。同時(shí)我們也充分借鑒了目前優(yōu)秀的算法,形成一套準(zhǔn)確度高,具有優(yōu)良特性的自動(dòng)循跡小車系統(tǒng)。 軟件部分總述小車進(jìn)入軌道并開始工作后,金屬探測(cè)器就開始不停地

24、掃描,同時(shí),將掃描的數(shù)據(jù)結(jié)果發(fā)送到處理器,而處理器一旦檢測(cè)到傳輸過來的數(shù)據(jù)有變化,就計(jì)算并執(zhí)行子程序,把相應(yīng)的處理信號(hào)和PWM波傳輸?shù)诫姍C(jī)驅(qū)動(dòng),電機(jī)驅(qū)動(dòng)再來控制電動(dòng)機(jī)來改變小車當(dāng)前的運(yùn)行狀態(tài)。同時(shí),小車啟動(dòng)后就開始計(jì)算行駛距離并顯示。整個(gè)程序最終可以實(shí)現(xiàn)以下目的;(1)通過按鍵控制啟停以及相關(guān)參數(shù)設(shè)置;(2)搜尋鐵絲并計(jì)時(shí)、測(cè)量距離然后實(shí)時(shí)顯示;(3)實(shí)時(shí)糾偏并調(diào)整行駛方向;主程序流程圖如圖4-1所示:開始初始化參數(shù)設(shè)置前進(jìn)、計(jì)時(shí)距離計(jì)算與顯示小車是否偏移軌道Y判斷偏移方向并矯正電機(jī)轉(zhuǎn)動(dòng)方向N繼續(xù)運(yùn)行圖4-1主程序流程圖4.2 電機(jī)驅(qū)動(dòng)程序控制電機(jī)驅(qū)動(dòng)通過脈沖寬度調(diào)制(PWM)來實(shí)現(xiàn)小車的轉(zhuǎn)向

25、。脈沖寬度調(diào)制是一種對(duì)模擬信號(hào)電平進(jìn)行數(shù)字編碼的方法,通過使用較高分辨率的計(jì)數(shù)器,方波的占空比被調(diào)制成用來對(duì)一個(gè)具體的模擬信號(hào)的電平進(jìn)行編碼,把電流源或電壓用重復(fù)脈沖序列(通(ON)或斷(OFF))加到模擬負(fù)載上去的8。而通過改變單片機(jī)程序中的I/O口輸出PWM波的占空比可以調(diào)整轉(zhuǎn)速。占空比是高電平脈沖與總脈沖的百分比。在一個(gè)周期中,增大占空比,就會(huì)增大高電平的比例,而最大電壓與占空比的積就等于輸出在電動(dòng)機(jī)兩端的電壓。所以,要想電動(dòng)機(jī)轉(zhuǎn)動(dòng)的速度很快,就需要增大電機(jī)兩端的電壓,也就是增大占空。電機(jī)驅(qū)動(dòng)軟件程序詳見附錄6。4.3 LDC1000傳感器模塊LDC1000是利用電磁感應(yīng)的原理進(jìn)行電感的

26、檢測(cè)的。若在一個(gè)線圈中加上一個(gè)交變電流,就會(huì)產(chǎn)生一個(gè)交變磁場(chǎng)在線圈周圍。如果這個(gè)時(shí)候有金屬物體進(jìn)入到這個(gè)磁場(chǎng)之中,就會(huì)在金屬物體表面產(chǎn)生一個(gè)電流方向與線圈電流的方向相反的渦流(感應(yīng)電流),由于兩種電流的方向相反,所以渦流產(chǎn)生的感應(yīng)電磁場(chǎng)就會(huì)與線圈的電磁場(chǎng)方向相反9。LDC1000的技術(shù)主要有以下幾個(gè)優(yōu)勢(shì):1、擁有極高的分辨率,在位置傳感應(yīng)用中可達(dá)到微米級(jí)的分辨率。同時(shí)可以通過16位共振阻抗和24位電感值。2、設(shè)備可靠性高,使用壽命長(zhǎng)。在不接觸金屬的情況下同樣可以傳感,同時(shí)也可以避免接觸所受到異物的影響。3、在某些PCB版無法放置的地方,允許傳感器與電子設(shè)備分開安放,具有更高的靈活性。4、采用成

27、本更低的傳感器和傳導(dǎo)目標(biāo),不需要磁體。6、整個(gè)系統(tǒng)的功耗非常低,在標(biāo)準(zhǔn)工作時(shí)的功耗低于9mW。5、可以以壓縮后的導(dǎo)電油墨或者金屬薄片為目標(biāo)。4.3.1 LDC1000參數(shù)的計(jì)算LDC1000的電感檢測(cè)的原理是利用了電磁感應(yīng)的技術(shù)。如果在一個(gè)PCB線圈中加上一個(gè)交變電流,就會(huì)產(chǎn)生一個(gè)交變磁場(chǎng)在線圈周圍,如果這時(shí)有一個(gè)金屬物體進(jìn)入到這個(gè)電磁場(chǎng)中,就會(huì)在金屬物體表面產(chǎn)生一個(gè)電流方向與線圈電流的方向相反的渦流,同時(shí),線圈的電磁場(chǎng)方向與渦流產(chǎn)生的感應(yīng)電磁場(chǎng)相反10。 (41) (42)Linf傳感線圈的電感M(d)互感fSENSOR傳感器振蕩頻率Y=Proximity Data/215,Proximit

28、y Data從寄存器0x21和0x22讀取LDC1000的兩個(gè)重要參數(shù)就是阻抗RP和電感L,與被探測(cè)金屬的距離有關(guān)。同時(shí),在應(yīng)用中,需要配置合適的Rp范圍。這是由于不同的測(cè)試距離和測(cè)試對(duì)象均會(huì)產(chǎn)生不同的損耗。LDC1000中可用于配置的有兩個(gè)寄存器,它們分別為Rp_Min和Rp_Max。在應(yīng)用中Rp值的合理配置非常重要,如果設(shè)置的Rp范圍過小,那么Rp就會(huì)被鉗位。如果設(shè)置的Rp范圍過大,真實(shí)的Rp無法完全利用,在LDC1000的內(nèi)部,就會(huì)浪費(fèi)大量的ADC的資源。 確定Rp_Max值增大LDC1000的外部線圈與金屬物體之間的距離,這樣使渦流的損耗最小。測(cè)試此時(shí)線圈的等效并聯(lián)諧振阻抗Rp,LC諧

29、振組件與LDC1000斷開測(cè)試Rp。這里需要使用阻抗分析儀。在用戶手冊(cè)的table 7中找最接近Rp值乘以2的值。注意,Rp_Max寄存器雖然有8bit,但是table 7中只有32個(gè)值,所以只能使用0x00到0x1F的范圍。例如用阻抗分析儀測(cè)試出Rp是18k,那么18k*2=36k,而table 7中與這個(gè)值最接近的是38.785k。 確定Rp_Min值減小LDC1000的外部線圈與金屬物體之間的距離,這樣使渦流的損耗最大。測(cè)試此時(shí)線圈的等效并聯(lián)諧振阻抗Rp,LC諧振組件與LDC1000斷開測(cè)試Rp。這里需要使用阻抗分析儀。在用戶手冊(cè)的table 9中找最接近Rp值除以2的值。注意,Rp_M

30、in寄存器雖然有8bit,但是table 9中只有32個(gè)值,所以只能使用0x20到0x2F的范圍。上述方法中,金屬物體與LC的距離的最大和最小的距離需要等設(shè)備的結(jié)構(gòu)設(shè)計(jì)完成之后才可以決定。LDC1000傳感器軟件程序詳見附錄7。4.4 PID算法PID一般分為增量式PID和位置式PID,但是在小車系統(tǒng)里,一般使用增量式PID。小車的PID控制器的輸出的不是絕對(duì)數(shù)值,而且位置式PID有非常大而且沒有必要的計(jì)算量,所以通過增量PID算法控制的PWM波不是輸出PWM的實(shí)際值,這樣將會(huì)減輕處理器的負(fù)擔(dān),同時(shí)對(duì)PWM的控制也會(huì)更加高效準(zhǔn)確。PID算法程序詳見附錄8。4.5 行駛距離的計(jì)算該設(shè)計(jì)采用光電測(cè)

31、速模塊,所用的測(cè)速碼盤有20個(gè)小孔,所轉(zhuǎn)一圈可以采集到20個(gè)脈沖,我們將輪胎的周長(zhǎng)設(shè)計(jì)為20cm。所以,每采集到一個(gè)脈沖,小車也就向前運(yùn)行了1cm。在單片機(jī)中,我們將這個(gè)脈沖傳輸?shù)絀/O口,通過單片機(jī)程序就可以計(jì)算出行駛的距離。4.6 主函數(shù)與中斷整個(gè)程序使用模塊化將各個(gè)模塊的函數(shù)整合,并且采用中斷使得各個(gè)程序有序的運(yùn)行并使芯片保持高效的處理能力,并且程序提供了用戶接口,使用戶可以根據(jù)自身情況改變相應(yīng)的參數(shù)。同時(shí),單片機(jī)芯片通過循環(huán)程序?qū)崟r(shí)處理按鍵和顯示,與小車運(yùn)行時(shí)的計(jì)算能力可以同時(shí)進(jìn)行,保證芯片可以高效的運(yùn)行。在整合各個(gè)函數(shù)模塊的過程中,中斷的處理至關(guān)重要。在中斷函數(shù)中,必須要考慮到時(shí)間的

32、計(jì)算,同時(shí),各個(gè)模塊處理的優(yōu)先級(jí)和中斷的開關(guān),是需要綜合考慮到小車運(yùn)行的實(shí)際情況的。而在此設(shè)計(jì)中的程序,是可以很好的同時(shí)處理時(shí)間,金屬探測(cè),小車方向控制,速度控制,參數(shù)顯示等功能,并且每一個(gè)功能獨(dú)立且不會(huì)互相干擾,達(dá)到高效處理和運(yùn)算的目的。中斷函數(shù)詳見附錄9,主函數(shù)詳見附錄10。5 綜合測(cè)試方法、數(shù)據(jù)及結(jié)果分析5.1 測(cè)試方法按照要求搭建實(shí)驗(yàn)環(huán)境,在地板上用鐵絲鋪設(shè)了如圖1-1的軌道,并且考慮到各種可能發(fā)生的情形采取相應(yīng)措施并進(jìn)行測(cè)試。測(cè)量?jī)x器如下:(1)秒表(誤差0.01S):測(cè)量時(shí)間,結(jié)合電機(jī)上的碼盤測(cè)量速度;(2)鋼卷尺(誤差1mm):測(cè)量車道的幾何尺寸;(3)萬用表:測(cè)量電池電壓和信號(hào)

33、電壓。5.2 測(cè)試數(shù)據(jù)小車設(shè)置好相關(guān)參數(shù)后開始正常行駛,探測(cè)鐵絲并沿著鐵絲跑完全程。表5-1為秒表測(cè)得結(jié)果和LED顯示結(jié)果。秒表測(cè)得時(shí)間LED顯示時(shí)間第一次測(cè)試29s28s第二次測(cè)試30s29s第三次測(cè)試28s28s平均值29s28.3s表5-1秒表測(cè)得結(jié)果和LED顯示結(jié)果5.3 結(jié)果分析小車上的LED顯示器顯示的時(shí)間與秒表測(cè)得的時(shí)間平均誤差為0.7s,小車全程的行駛時(shí)間不會(huì)超過1min。小車行駛中車身平穩(wěn),轉(zhuǎn)彎靈活,而且巡線精準(zhǔn)。6 成果展示表6-1 小車成品俯視圖表6-2 小車成品側(cè)面圖總結(jié)在這次的畢業(yè)設(shè)計(jì)中,從以開始的不熟悉系統(tǒng)設(shè)計(jì)各個(gè)步驟的設(shè)計(jì)方法,到查閱了大量資料和請(qǐng)教老師后,對(duì)整個(gè)

34、系統(tǒng)設(shè)計(jì)有了一個(gè)了解,需要設(shè)計(jì)哪些模塊,到對(duì)各個(gè)模塊的軟件設(shè)計(jì)有了明確規(guī)劃后。我在這整個(gè)的過程之中,學(xué)習(xí)到了特別多的知識(shí),特別是對(duì)此軟件設(shè)計(jì)中需要用到單片機(jī)、電機(jī)驅(qū)動(dòng)模塊無線收發(fā)模塊,電源模塊對(duì)應(yīng)的軟件知識(shí)等,還掌握了一些常用的技能,比如在軟件設(shè)計(jì)系統(tǒng)過程中出現(xiàn)的大量問題,需要經(jīng)過慢慢的摸索和學(xué)習(xí),又時(shí)還需要向老師和同學(xué)尋求幫助,找到問題的根源并把它解決掉。但是,能夠在學(xué)習(xí)之中發(fā)現(xiàn)各種各樣的問題,然后對(duì)這些問題進(jìn)行分析,進(jìn)而解決掉這些問題,這使我自己才能得到更多的收獲和進(jìn)步。經(jīng)過這幾個(gè)多月的設(shè)計(jì),使得我收獲頗豐,為我寨以后在軟件設(shè)計(jì)方面打下基礎(chǔ),同時(shí)又將我大學(xué)四年所學(xué)到的知識(shí)梳理了一遍,把理論

35、和實(shí)踐結(jié)合到了一起,使這些知識(shí)在設(shè)計(jì)中得到運(yùn)用,不再是書本上的東西,而成了自己的東西,更重要的是使我自己更加熟悉了整個(gè)設(shè)計(jì)的步驟和軟件硬件的設(shè)計(jì)方法,為我以后的工作和學(xué)習(xí)中,給予了非常大的幫助。參考文獻(xiàn)1 張黃鵬. 智能循跡小車的研究J. 科技致富向?qū)? 2011(32):116-116.2 楊景昱. LDC1000傳感器在硬幣識(shí)別中的應(yīng)用研究J. 電腦與電信, 2014(7):62-63.3 2016年TI杯大學(xué)生電子設(shè)計(jì)競(jìng)賽題C4 李艷萍, 王濤. 直流步進(jìn)電機(jī)的智能控制系統(tǒng)J. 信息技術(shù)與信息化, 2004(3):72-73.5 胥京宇. 德州儀器電感數(shù)字轉(zhuǎn)換器推動(dòng)位置及運(yùn)動(dòng)傳感的革新J

36、. 世界產(chǎn)品與技術(shù), 2013(10):52-52.6 朱濤. 基于STC89C52單片機(jī)的智能循跡小車設(shè)計(jì)J. 電腦知識(shí)與技術(shù), 2011,07(11):7751-7753.7 顧群, 蒲雙雷. 基于單片機(jī)的智能小車避障循跡系統(tǒng)設(shè)計(jì)J. 數(shù)字技術(shù)與應(yīng)用, 2012(5):23-23.8 許蘭香. PID控制的基本原理J. 科教導(dǎo)刊:電子版, 2014(6):138-138.9 蔡衛(wèi)剛. 聲音導(dǎo)引智能系統(tǒng)J. 電子設(shè)計(jì)工程, 2013,21(14):168-170.10 張波. 淺析直流電機(jī)傳動(dòng)的基本原理J. 數(shù)字技術(shù)與應(yīng)用, 2011(6):28-28.11 Bishop R. Intell

37、igent Vehicle Applications WorldwideJ. IEEE Intelligent Systems, 2000, 15(1):78-81.附錄附錄1:電機(jī)驅(qū)動(dòng)模塊電路圖附錄2:電機(jī)驅(qū)動(dòng)模塊PCB硬件圖附錄3: LDC1000原理圖附錄4:電源原理圖附錄5:電源PCB硬件圖附錄6:電機(jī)驅(qū)動(dòng)軟件程序uint Speed_Add(count)/加速度函數(shù)uchar j;count =20;for(j=0;j<100;j+)count+; /占空比加1return count;/反回占空比值delay1ms(10);/大約10MS count加1一次,在這里可以自定義

38、加到最大速度的時(shí)間uint Speed_Minus(count)/減速度函數(shù)uchar j;count=100;for(j=0;j<100;j+)count-; /占空比減1return count; /反回占空比值delay1ms(10); /大約10MS count減1一次,在這里可以自定義減到最小速度的時(shí)間附錄7:LDC1000傳感器軟件程序char spi_readBytes( char addr, char * SPIdata, unsigned char len)char txaddr,i,j;SCLK=1;CS=1;txaddr= addr | 0x80;/readCS=0

39、;for(i=0;i<8;i+) /send addrSCLK=0;SDI=txaddr & 0x80;SCLK=1;txaddr=txaddr<<1;for(j=0;j<len;j+)for(i=0;i<8;i+)SPIdataj=SPIdataj<<1;SCLK=0;if(SDO)SPIdataj=SPIdataj | 0x01;SCLK=1;CS=1;return 0;char spi_writeByte(uchar addr, uchar SPIdata)uchar txaddr,i;SCLK=1;CS=1;txaddr= addr &

40、amp; 0x7f;/writeCS=0;for(i=0;i<8;i+) /send addrSCLK=0;SDI=txaddr & 0x80;SCLK=1;txaddr=txaddr<<1;for(i=0;i<8;i+) /send addrSCLK=0;SDI=SPIdata & 0x80;SCLK=1;SPIdata=SPIdata<<1;CS=1;return 0;voidLDC1000_init()spi_writeByte(LDC1000_CMD_RPMAX, RPMAX);spi_writeByte(LDC1000_CMD_RP

41、MIN, RPMIN);spi_writeByte(LDC1000_CMD_SENSORFREQ, 0x94);spi_writeByte(LDC1000_CMD_LDCCONFIG, 0x17);/the oscillation amplitude:4V RESPONSE_TIME:6144spi_writeByte(LDC1000_CMD_CLKCONFIG, 0x02);spi_writeByte(LDC1000_CMD_INTCONFIG, 0x02);/INTB pin indicates the status of Comparator outputspi_writeByte(LD

42、C1000_CMD_THRESHILSB, 0x10);/high:5200(0x1450) 10000(0x2710)spi_writeByte(LDC1000_CMD_THRESHIMSB, 0x27);spi_writeByte(LDC1000_CMD_THRESLOLSB, 0xC0);/low:4800(0x12c0)spi_writeByte(LDC1000_CMD_THRESLOMSB, 0x12);spi_writeByte(LDC1000_CMD_PWRCONFIG, 0x01);附錄8:PID算法程序void IncPIDInit(void)sptr->LastErr

43、or = 0; /Error-1sptr->PrevError = 0; /Error-2sptr->Proportion = P_DATA; /比例常數(shù) Proportional Constsptr->Integral = I_DATA; /積分常數(shù) Integral Constsptr->Derivative = D_DATA; /微分常數(shù) Derivative Constsptr->SetPoint =100; 目標(biāo)是 100int IncPIDCalc(int NextPoint)int iError, iIncpid; /當(dāng)前誤差iError = spt

44、r->SetPoint - NextPoint; /增量計(jì)算iIncpid = sptr->Proportion * iError /Ek項(xiàng)- sptr->Integral * sptr->LastError /Ek1項(xiàng)+ sptr->Derivative * sptr->PrevError; /Ek2項(xiàng)sptr->PrevError = sptr->LastError; /存儲(chǔ)誤差,用于下次計(jì)算sptr->LastError = iError;return(iIncpid); /返回增量值附錄9:中斷函數(shù)void timer0() interrupt 1TH0=(-755)/256;TL0=(-755)%256;proximtyData0=0;proximtyData1=0;spi_readBytes(LDC1000_CMD_PROXLSB,&proximtyData0,2);proximtyDataMAX = (unsigned char) proximtyData1<<8) + proximtyData 0;a = proximtyDataMAX;proximtyData0=0;proximtyData1=0;spi_readBytes(LDC1000_CMD_PROXLSB

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論