小車循跡控制系統(tǒng)設(shè)計(jì)(路線5)_第1頁
小車循跡控制系統(tǒng)設(shè)計(jì)(路線5)_第2頁
小車循跡控制系統(tǒng)設(shè)計(jì)(路線5)_第3頁
小車循跡控制系統(tǒng)設(shè)計(jì)(路線5)_第4頁
小車循跡控制系統(tǒng)設(shè)計(jì)(路線5)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、武漢理工大學(xué)華夏學(xué)院課 程 設(shè) 計(jì)課程名稱 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)題 目 小車循跡控制系統(tǒng)設(shè)計(jì)(路線5)專 業(yè) 班 級 學(xué) 號 姓 名 成 績 指導(dǎo)教師 夏 婷 2014 年 7 月 3 日1課程設(shè)計(jì)任務(wù)書學(xué)生姓名: 專業(yè)班級: 指導(dǎo)教師: 夏婷 工作單位: 信息工程系 設(shè)計(jì)題目:小車循跡控制系統(tǒng)設(shè)計(jì)(路線5)初始條件:1、硬件設(shè)備:MCS-51單片機(jī)最小系統(tǒng)板、四個(gè)QTI傳感器、兩個(gè)舵機(jī)、兩個(gè)車輪、鋰電池、ISP下載線、面包板;2、軟件環(huán)境:Keil C51、progisp下載器。設(shè)計(jì)任務(wù):(在規(guī)定的時(shí)間內(nèi)完成下列任務(wù))1完成硬件設(shè)計(jì)并連線,以MCS-51單片機(jī)為控制核心,根據(jù)4個(gè)QTI傳

2、感器采集到的數(shù)據(jù)控制舵機(jī)的運(yùn)轉(zhuǎn),進(jìn)而控制車輪的速度和方向,并畫出硬件原理圖和實(shí)驗(yàn)連線圖;2用C語言編程實(shí)現(xiàn)以下小車行駛線路(地圖見下頁):起始點(diǎn)黃點(diǎn)A點(diǎn),旋轉(zhuǎn)360度中心點(diǎn)起始點(diǎn)。時(shí)間安排:各時(shí)間段的任務(wù)可以交替進(jìn)行時(shí)間設(shè)計(jì)內(nèi)容第一天介紹題目,實(shí)物演示、分任務(wù)、查找相關(guān)資料第二天進(jìn)行需求分析,完成總體設(shè)計(jì)第三天硬件詳細(xì)設(shè)計(jì),連接實(shí)驗(yàn)電路,軟件詳細(xì)設(shè)計(jì),編寫程序;第三天須提交硬件原理圖、實(shí)驗(yàn)接線圖及程序流程圖的電子版第四天調(diào)試程序、測試系統(tǒng)、答辯;第五天答辯后完成設(shè)計(jì)報(bào)告。設(shè)計(jì)報(bào)告撰寫格式要求:(按提供的設(shè)計(jì)報(bào)告統(tǒng)一格式撰寫)設(shè)計(jì)報(bào)告應(yīng)包含以下內(nèi)容: 設(shè)計(jì)任務(wù)與要求 總體方案與說明 硬件原理圖與

3、說明 實(shí)驗(yàn)接線圖與說明 軟件主要模塊流程圖與說明 核心代碼與注釋 系統(tǒng)調(diào)式、問題分析與解決方案; 使用說明 小結(jié)與體會 參考文獻(xiàn)附錄:源程序(必須有簡單注釋) 指 導(dǎo) 教 師 簽 名: 2014 年 6 月 30 日教研室主任(或責(zé)任教師)簽名: 2014年 6 月 30 日小車行駛線路地圖如下:起始點(diǎn) 目 錄目 錄第1章 需求分析11.1 課程設(shè)計(jì)題目11.2 課程設(shè)計(jì)目的任務(wù)及內(nèi)容和要求11.3 軟硬件運(yùn)行環(huán)境及開發(fā)工具1第2章 概要設(shè)計(jì)22.1 設(shè)計(jì)原理及實(shí)現(xiàn)方法22.2 主要芯片說明42.2.1 傳感器42.2.2 面包板42.2.3 單片機(jī)最小系統(tǒng)板4第3章 詳細(xì)設(shè)計(jì)63.1 硬件設(shè)

4、計(jì)與實(shí)現(xiàn)63.2 系統(tǒng)主程序流程63.3功能模塊詳細(xì)設(shè)計(jì)83.3.1 起始點(diǎn)到黃點(diǎn)路線模塊設(shè)計(jì)83.3.2 黃點(diǎn)到A點(diǎn)路線模塊設(shè)計(jì)83.3.3 A點(diǎn)到中心點(diǎn)路線模塊設(shè)計(jì)93.3.4 中心點(diǎn)到起點(diǎn)模塊設(shè)計(jì)10第4章 系統(tǒng)調(diào)試與操作說明114.1 系統(tǒng)調(diào)試114.1.1 直線調(diào)試114.1.2 達(dá)到A點(diǎn)旋轉(zhuǎn)360調(diào)試114.2 問題分析與解決114.3 操作說明11第5章 課程設(shè)計(jì)總結(jié)與體會12參考文獻(xiàn)12附錄13步進(jìn)電機(jī)控制程序:13 第1章 需求分析1.1 課程設(shè)計(jì)題目小車循跡控制系統(tǒng)設(shè)計(jì)(路線5)。1.2 個(gè)人任務(wù)如下使用KeilC51編程軟件采用C語言編程實(shí)現(xiàn)小車從起始點(diǎn)黃色點(diǎn),旋轉(zhuǎn)135

5、度這一模塊功能設(shè)計(jì)和總體調(diào)試,同時(shí)不斷修正小車的路線。1.3 軟硬件運(yùn)行環(huán)境及開發(fā)工具以MCS-51單片機(jī)為控制核心,根據(jù)4個(gè)QTI傳感器采集的數(shù)據(jù)控制舵機(jī)的運(yùn)轉(zhuǎn),Windows xp操作系統(tǒng)PC機(jī)一臺。KeilC51編程軟件、progisp下載器、串口調(diào)試小助手等軟件。第2章 概要設(shè)計(jì)2.1 設(shè)計(jì)原理及實(shí)現(xiàn)方法2.1.1 舵機(jī)控制和驅(qū)動原理舵機(jī)常用的控制信號是一個(gè)周期為20毫秒左右,寬度為1毫秒到2毫秒的脈沖信號。當(dāng)舵機(jī)收到該信號后,會馬上激發(fā)出一個(gè)與之相同的,寬度為1.5毫秒的負(fù)向標(biāo)準(zhǔn)的中位脈沖。之后二個(gè)脈沖在一個(gè)加法器中進(jìn)行相加得到了所謂的差值脈沖。輸入信號脈沖如果寬于負(fù)向的標(biāo)準(zhǔn)脈沖,得

6、到的就是正的差值脈沖。如果輸入脈沖比標(biāo)準(zhǔn)脈沖窄,相加后得到的肯定是負(fù)的脈沖。此差值脈沖放大后就是驅(qū)動舵機(jī)正反轉(zhuǎn)動的動力信號。舵機(jī)電機(jī)的轉(zhuǎn)動,通過齒輪組減速后,同時(shí)驅(qū)動轉(zhuǎn)盤和標(biāo)準(zhǔn)脈沖寬度調(diào)節(jié)電位器轉(zhuǎn)動。直到標(biāo)準(zhǔn)脈沖與輸入脈沖寬度完全相同時(shí),差值脈沖消失時(shí)才會停止轉(zhuǎn)動!2.1.2 小車的軟硬件設(shè)計(jì)原理小車前面有4個(gè)qti感應(yīng)器來隨時(shí)采集數(shù)據(jù),當(dāng)探測為黑線的時(shí)候,返回值為1,當(dāng)探測為白線的時(shí)候,返回值是0,只有當(dāng)中間兩個(gè)qti返回值全為1的時(shí)候,才走在黑線上,根據(jù)返回的狀態(tài)來控制小車舵機(jī)的速度。同時(shí)將整個(gè)過程分為四個(gè)子模塊來實(shí)現(xiàn),分別為起點(diǎn)到黃點(diǎn),黃點(diǎn)到A點(diǎn),A點(diǎn)到中心點(diǎn),中心點(diǎn)到起始點(diǎn)。在運(yùn)動過程

7、中還需設(shè)計(jì)旋轉(zhuǎn)135度和360度和90度的旋轉(zhuǎn)子模塊,當(dāng)小車偏離軌跡候后,需設(shè)計(jì)修正子模塊。最后為了使小車停到指定區(qū)域,還需編寫停止子模塊。2.1.3 小車前進(jìn)功能實(shí)現(xiàn)此模塊原理是向小車輸出若干個(gè)PWM波,波形的占空比可控制小車移動,通過時(shí)間寬度和延時(shí)產(chǎn)生信號,作用于電機(jī),從而控制其運(yùn)動。在本次設(shè)計(jì)中,向小車PWM波過程已經(jīng)被模塊化在頭文件中,即motion()函數(shù)中,通過對motion()函數(shù)的三個(gè)參數(shù)進(jìn)行設(shè)置來實(shí)現(xiàn)控制電機(jī)轉(zhuǎn)動從而控制小車前進(jìn)。我們小組設(shè)計(jì)的前進(jìn)參數(shù)是motor_motion(1470,1530,1),其中1470表示左輪慢速前進(jìn),1530表示右輪慢速前進(jìn),1表示給的脈沖數(shù)

8、即小車所走的步數(shù)。2.1.4 小車旋轉(zhuǎn)功能實(shí)現(xiàn)小車旋轉(zhuǎn)的原理是調(diào)整兩輪的移動方式、速度及移動步數(shù)。因?qū)嶋H情況所制,當(dāng)需旋轉(zhuǎn)360度時(shí),若左右輪同時(shí)旋轉(zhuǎn)無法達(dá)到預(yù)期結(jié)果,因此,我們的解決方案是左右旋轉(zhuǎn),右輪靜止不動,經(jīng)過多次調(diào)試測出旋轉(zhuǎn)所需的步數(shù)290,最終得出的結(jié)果為:motor_motion( 1300 , 1500 ,290),其中,1300表示左輪快速前進(jìn),1500表示右輪靜止不動,290表示小車所走的步數(shù);同樣的方法,當(dāng)需旋轉(zhuǎn)90度和135度時(shí),經(jīng)過多次試測出旋轉(zhuǎn)所需的步數(shù)分別是55、83.5。2.2 主要芯片說明2.2.1 傳感器 QTI(Quick Track Infrared)傳

9、感器是一種紅外傳感器,它利用光電接收管探測其所面對的表面反射光強(qiáng)度。當(dāng)QTI傳感器面對一個(gè)很暗的表面時(shí),反射光強(qiáng)度很低;面對一個(gè)很亮的表面時(shí),反射光的強(qiáng)度很高。因此不同強(qiáng)度的反射光導(dǎo)致傳感器輸出不同,即探測到不同顏色的物體輸出不同的電平信號。在本系統(tǒng)中所使用到的QTI傳感器他側(cè)刀黑色物體時(shí)輸出高電平,探測到白色物體時(shí)輸出低電平。2.2.2 面包板面包板是由于板子上有很多小插孔,很像面包中的小孔,因此得名,專為電子電路的無焊接實(shí)驗(yàn)設(shè)計(jì)制造的。由于各種電子元器件可根據(jù)需要隨意插入或拔出,免去了焊接,節(jié)省了電路的組裝時(shí)間,而且元件可以重復(fù)使用,所以非常適合電子電路的組裝、調(diào)試和訓(xùn)練。2.2.3 單片

10、機(jī)最小系統(tǒng)板單片機(jī)最小系統(tǒng)是在以51單片機(jī)為基礎(chǔ)上擴(kuò)展,使其能更方便的運(yùn)用于測試系統(tǒng)中。它主要有電源、復(fù)位、振蕩電路以及擴(kuò)展部分等部分組成。最小系統(tǒng)原理圖如圖2.1所示:圖 2.1 單片機(jī)最小系統(tǒng)電路圖第3章 詳細(xì)設(shè)計(jì)3.1 硬件設(shè)計(jì)與實(shí)現(xiàn)小車是由多個(gè)硬件零件組裝而成,每個(gè)零件負(fù)責(zé)不同的功能,根據(jù)設(shè)計(jì)任務(wù)和要實(shí)現(xiàn)的主要功能,來進(jìn)行硬件設(shè)計(jì)。硬件設(shè)計(jì)原理圖如下: 圖3.1 硬件原理圖protues 硬件設(shè)計(jì)接線圖如下:圖3.2 接線圖畫法3.2 系統(tǒng)主程序流程本系統(tǒng)設(shè)計(jì)了四個(gè)模塊,分別為起點(diǎn)到黃點(diǎn),黃點(diǎn)到A點(diǎn),A點(diǎn)到中心點(diǎn),中心點(diǎn)到起始點(diǎn)四個(gè)路線模塊。通過對每個(gè)功能模塊的調(diào)用實(shí)現(xiàn)系統(tǒng)要求的功能。

11、系統(tǒng)主流程圖如下:開始直線行駛左轉(zhuǎn)135度旋轉(zhuǎn)360度小車是否到達(dá)藍(lán)點(diǎn)?小車是否到達(dá)白點(diǎn)?直線行駛左轉(zhuǎn)90度小車是否到達(dá)中心點(diǎn)?直線行駛直線行駛,到達(dá)出發(fā)點(diǎn)結(jié)束NYNYNY 圖3.3 系統(tǒng)主程序流程圖3.3功能模塊詳細(xì)設(shè)計(jì)3.3.1 起始點(diǎn)到黃點(diǎn)路線模塊設(shè)計(jì)起點(diǎn)到黃點(diǎn),主要是從開始就前進(jìn),在前進(jìn)過程中不停檢測傳感器傳過來的信號。通過判斷小車是否偏離路線后決定是否修正方向,如果檢測到0 1 1 1信號,則旋轉(zhuǎn)135度。程序代碼如下: motor_motion(1300,1700,1); /沒有到黃點(diǎn)讓小車?yán)^續(xù)前進(jìn)直到黃點(diǎn) if(p21_state()=0 & p22_state()=0 & p2

12、3_state()=0 & p24_state()=1)/如果4個(gè)qti返回信息為0 0 0 1 則說明小車行進(jìn)到了黃點(diǎn) motor_motion(1300, 1500,83.5); /如果走到黃點(diǎn)就不用再繼續(xù)前進(jìn),就該讓小車向右轉(zhuǎn)動135度角 3.3.2 黃點(diǎn)到A點(diǎn)路線模塊設(shè)計(jì)黃點(diǎn)到A點(diǎn),主要是從開始就前進(jìn),在前進(jìn)過程中不停檢測傳感器傳過來的信號,通過判斷小車是否偏離路線后決定是否修正。如果檢測到0 0 0 0信號,則旋轉(zhuǎn)360度。開始程序流程圖如下: 向前行駛修正是偏移否向前行駛否到達(dá)A點(diǎn)是旋轉(zhuǎn)360度 圖3.4黃點(diǎn)到A點(diǎn)模塊流程圖3.3.3 A點(diǎn)到中心點(diǎn)路線模塊設(shè)計(jì)A點(diǎn)到中心點(diǎn),主要是從

13、開始就前進(jìn),在前進(jìn)過程中不停檢測傳感器傳過來的信號,通過判斷小車是否偏離路線后決定是否修正。當(dāng)?shù)谝淮螜z測到1 1 1 1信號時(shí),這表示已經(jīng)到達(dá)中心點(diǎn),則旋轉(zhuǎn)90度。3.3.4 中心點(diǎn)到起點(diǎn)模塊設(shè)計(jì)中心點(diǎn)到起點(diǎn)循跡過程中,不斷地通過傳感器檢測信號,進(jìn)行路線修正。當(dāng)再次檢測到1 1 1 1信號時(shí),這表示已經(jīng)到達(dá)起點(diǎn),則讓小車停止行駛。第4章 系統(tǒng)調(diào)試與操作說明4.1 系統(tǒng)調(diào)試4.1.1 直線調(diào)試 主要是判斷小車是否能沿著黑線向前走,方法:讓程序只有函數(shù)motor_motion(1470,1530,1),其中1470表示左輪慢速前進(jìn),1530表示右輪慢速前進(jìn),1表示給的脈沖數(shù)即小車所走的步數(shù)。并燒寫

14、到小車中,把小車放在一條黑線上,看它是否能一直在黑線上前進(jìn),若不能,再qti是否連接正確,直至小車能一直走在直線上。4.1.2 達(dá)到黃點(diǎn)旋轉(zhuǎn)135度調(diào)試主要判斷小車能否到達(dá)黃點(diǎn),并成功旋轉(zhuǎn)135度,方法:將自己模塊程序燒寫到小車中,放在一個(gè)白顏色的板子上面,觀察小車能否旋轉(zhuǎn)135度,注意看其角度是否正常,并多次修改脈沖數(shù),直至能夠剛好旋轉(zhuǎn)135度。4.2 問題分析與解決在系統(tǒng)調(diào)試過程中,我們遇到了許多的問題。通過不斷分析這些問題和不斷重復(fù)調(diào)試最終都得到了很好的解決。下面列舉幾個(gè)突出的問題:問題:調(diào)試的時(shí)候,總是在旋轉(zhuǎn)360度的時(shí)候,脈沖給的數(shù)目不準(zhǔn)確,要么轉(zhuǎn)多了,要么沒轉(zhuǎn)夠。解決方案: 解決方

15、案:進(jìn)過多次調(diào)試試驗(yàn),最后調(diào)試為102才剛剛差不多,然后再加上一個(gè)延時(shí)和沖出B點(diǎn)的函數(shù),才解決這個(gè)問題。4.3 操作說明(1) 在KeilC51中寫好的程序進(jìn)行編譯生成.hex文件;(2) 通過ISP下載線和progisp軟件將已生成的.hex文件燒寫到單片機(jī)中;(3) 當(dāng)燒寫成功后,拔掉下載線,然后在已設(shè)定好的路徑上,擺正小車的位置;(4) 開小車上的開關(guān),觀察小車是否按照預(yù)定的路徑進(jìn)行行駛。第5章 課程設(shè)計(jì)總結(jié)與體會經(jīng)過為期一周的單片機(jī)課程設(shè)計(jì),我頗有感觸。課程設(shè)計(jì)是我們專業(yè)課程知識綜合應(yīng)用的實(shí)踐訓(xùn)練,讓我們相互學(xué)習(xí),相互監(jiān)督,學(xué)會了合作。這次課設(shè)最大的收獲就是熟悉單片機(jī)的用途,這次的課程

16、設(shè)計(jì)非常的有意思。也是我們第一次合作進(jìn)行動手實(shí)驗(yàn)。本次課程設(shè)計(jì),老師要求我們每6個(gè)人為一組,分別進(jìn)行小車行走的幾種路線。一開始,老師給我們講解了這次課程設(shè)計(jì)中的一些難點(diǎn),這樣方便我們在做實(shí)驗(yàn)的時(shí)候少走很多彎路。在老師講解完之后,我們就開始做起實(shí)驗(yàn),一開始按著步驟做,但是在測試中發(fā)現(xiàn)很多目的都不能達(dá)到,于是我們又回頭檢查錯(cuò)誤,經(jīng)過多次檢查,我們發(fā)現(xiàn)實(shí)驗(yàn)中很多器材有問題,這些壞器材讓我們浪費(fèi)了大量的時(shí)間和精力。我們這次實(shí)驗(yàn)里小車按要求是兩個(gè)車輪一個(gè)前進(jìn)一個(gè)后退來達(dá)到原地旋轉(zhuǎn)360度的目的,但是在實(shí)驗(yàn)過程中,我們組用的小車不能進(jìn)行這種行為,于是我們只能選擇單輪旋轉(zhuǎn),使其達(dá)到旋轉(zhuǎn)360度的目的,但途中

17、又發(fā)現(xiàn)一次脈沖只能使小車旋轉(zhuǎn)320度左右,脈沖一旦過大,小車就停止運(yùn)動,最后我們又添加了一次脈沖,使其達(dá)到旋轉(zhuǎn)360度的目的。這次課程設(shè)計(jì)教會我們?nèi)绾瓮瓿蓤F(tuán)隊(duì)任務(wù),合理分配任務(wù)。讓我們學(xué)會了相互合作,相互學(xué)習(xí)。參考文獻(xiàn)1 蔡美琴,MCS51 系列單片機(jī)系統(tǒng)及其應(yīng)用(第二版),高等教育出版社,20042 李華,MCS一51系列單片機(jī)實(shí)用接口技術(shù),北京:航空航天大學(xué)出版社,20033 蔡方凱,單片機(jī)原理及基于單片機(jī)的嵌入式系統(tǒng)設(shè)計(jì),北京:中國水利水電出版社,2007設(shè)計(jì)者: 夏 衡 日 期: 2014 年 7 月 3 日附錄步進(jìn)電機(jī)控制程序:#include #include Global.h#i

18、nclude delay.h#include qti.h#include motion.h#include main()/主要是完成黃點(diǎn)旋轉(zhuǎn)135度,白點(diǎn)旋轉(zhuǎn)360度,中心點(diǎn)旋轉(zhuǎn)90度 while(1) motor_motion(1470,1530,1); /直走 if(P22_state()&(!P23_state()|(P21_state()&(!P22_state()&(!P23_state()&(!P24_state() motor_motion(1470, 1700,1); /左轉(zhuǎn)修正 if(!P22_state()&P23_state()|(!P21_state()& (!P22_

19、state()&(!P23_state()&P24_state() motor_motion(1300, 1550,1); /右轉(zhuǎn)修正 /黃點(diǎn)點(diǎn)旋轉(zhuǎn)135度 if(!P21_state() & (!P22_state()& (!P23_state() & (!P24_state() ) motor_motion(1300,1500,255); motor_motion(1300,1500,35); motor_motion(1300,1700,10); /白點(diǎn)旋轉(zhuǎn)360度 if(!P21_state() & (P22_state()& (P23_state() & (P24_state() ) motor_motion(1300, 1500,120); /中心點(diǎn)旋轉(zhuǎn)90度后,跳出循環(huán),以便停止 if(P21_state() & (P22_state()& (P23_state() & (P24_stat

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論