基于單片機的運水機器人設(shè)計論文(C語言)_第1頁
基于單片機的運水機器人設(shè)計論文(C語言)_第2頁
基于單片機的運水機器人設(shè)計論文(C語言)_第3頁
基于單片機的運水機器人設(shè)計論文(C語言)_第4頁
基于單片機的運水機器人設(shè)計論文(C語言)_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 某某某某大學(xué) xxxxx xxxxxxx universityxxxxxx學(xué)院電子綜合實踐姓名 題目 運水機器人 目錄、設(shè)計任務(wù)與要求41.1 基本設(shè)計任務(wù)41.2 控制設(shè)計任務(wù)41.3 軟件設(shè)計任務(wù)5、方案設(shè)計與論證52.1 電源方案52.2 驅(qū)動電路方案52.3 距離控制方案5、總體設(shè)計63.1 系統(tǒng)硬件電路設(shè)計63.1.1 探測傳感器模塊63.1.2 電機驅(qū)動模塊83.2 系統(tǒng)軟件設(shè)計83.2.1 軟件計時的分析與計算83.2.3 系統(tǒng)軟件流程圖9、測試結(jié)果及結(jié)果分析94.1 測試儀器及工具94.2 測試步驟94.2.1 預(yù)備工作94.2.2 正式測試104.3 測試結(jié)果104.4 測

2、試結(jié)果分析10、創(chuàng)新點115.1 添加計時模塊115.2 實用性11、總結(jié)與心得11參考文獻11附件一:參考程序12附件二:總原理圖15附件三:元器件清單16摘要:命題要求設(shè)計自動運水機器人。本設(shè)計是以stc89c52單片機為核心器件,應(yīng)用紅外開關(guān),直流電機等器件,實現(xiàn)命題要求。經(jīng)過測試,該機器人達到所有命題所要求的技術(shù)指標。在此基礎(chǔ)之上,本設(shè)計添加了計時模塊,使設(shè)計更具實用性。關(guān)鍵詞:運水;電機驅(qū)動;探測傳感器運水機器人、設(shè)計任務(wù)與要求本任務(wù)為f題:運水機器人。設(shè)計任務(wù)具體內(nèi)容如下:圖1-1 參考圖圖1-2 路線圖1.1 基本設(shè)計任務(wù)依據(jù)命題題意,本設(shè)計采用直流電機帶輪式小車帶實現(xiàn)機器人的運

3、動。機器人上面要裝有盛水容器,以便完成在ac之間的運水任務(wù)。當紅外光電開關(guān)探測到黑色邊線的時候停止小車運動,小車停在a區(qū)是通過手動控制小車重新運動,小車停在c區(qū)通過軟件延時控制小車重新運動,這樣達到循環(huán)運動,進而完成運水任務(wù)。1.2 控制設(shè)計任務(wù)由于本設(shè)計采用手動完成整個過程中的裝水、卸水任務(wù),因此控制任務(wù)即為控制ac之間的距離。這里通過紅外光電開關(guān)掃描是否達到黑色邊線,即為判斷是否達到題目要求的2000mm(黑色邊線即為圖1-2中的起始/返回邊線),通過與軟件配合,以完成要求。1.3 軟件設(shè)計任務(wù)機器人的所有動作由都要由軟件控制實現(xiàn)。用軟件對紅外開關(guān)掃描所得信號進行對比,以控制直流電機的停止

4、/正反轉(zhuǎn)。通過軟件對按鍵的識別控制硬件啟動。用軟件來控制時間顯示模塊的計數(shù)周期。、方案設(shè)計與論證 本設(shè)計主要需要完成運水小車在ac之間運水任務(wù)。利用紅外光電開關(guān)對由黑色電膠布制作的起始/返回邊線進行探測,再通過軟件的配合,對探測結(jié)果進行分析,并控制小車車輪的停止/正反轉(zhuǎn),讓小車在ac之間固定距離內(nèi)行進。通過單片機與軟件的集合對時間顯示模塊進行控制,達到顯示時間的任務(wù)。2.1 電源選擇方案方案一:采用雙電源供電,在設(shè)計中,將cpu電源和電機驅(qū)動電源完全靠光電耦合器隔離,這樣電機啟動時的沖擊信號就不會對cpu有影響,增加了系統(tǒng)的可靠性。缺點是電路設(shè)計復(fù)雜,電路成本較高。設(shè)計要求較低,且此方案較為復(fù)

5、雜、成本高,故放棄。方案二:采用單電源供電,電機的驅(qū)動和cpu邏輯控制電源采用同一個電源。該方案設(shè)計簡單,而且成本較低,缺點是電機啟動的瞬間電流過大,容易對上一級電路產(chǎn)生沖擊,電路的穩(wěn)定性不好。這個方案已經(jīng)可以滿足實驗的要求了,采用此方案。2.2 驅(qū)動電路選擇方案方案一:采用三極管驅(qū)動電機,濾波效果好,在單片機跟電機共用一個電源,在電流較高的情況下,單片機仍能不受干擾而正常工作。優(yōu)點:電路壓降較小,所以在大電流的情況下,發(fā)熱很小。缺點:電路連接較為復(fù)雜,驅(qū)動功率較小,不適于大功率驅(qū)動。該驅(qū)動電路的功率不能滿足要求,故放棄此方案。方案二:使用專用芯片l298所組成的電機驅(qū)動電路。驅(qū)動芯片l298

6、是驅(qū)動步進電機的專用芯片,我們利用它內(nèi)部的橋式電路來驅(qū)動直流電機。優(yōu)點:控制比較簡單,電路簡單,集成芯片簡化了電路的復(fù)雜性,驅(qū)動功率大。缺點:電路發(fā)熱較大,成本略高。結(jié)合作品要求,采用此方案。2.3 距離控制方案方案一:直接采用軟件控制距離,即:根據(jù)小車的平均速度設(shè)定相應(yīng)前進/后退時間,達到控制前行/后退目的。優(yōu)點:無需其他硬件支持,節(jié)約成本,制作簡單。缺點:不易自動控制,距離控制不精確,多次循環(huán)后會導(dǎo)致小車偏離預(yù)定路徑??紤]到設(shè)計要求的距離控制精度較高,放棄此方案。方案二:采用光電傳感器根據(jù)固定在地面上的兩個邊線的探測(如:固定在地面的兩條黑色膠帶)進行探測,通過固定邊線之間的距離來達到距離

7、控制的距離的目的,進而達到要求。缺點:增加成本,增加軟件設(shè)計難度,制作較為困難。優(yōu)點:距離控制精確,易于自動控制。由于本設(shè)計對距離有較高的要求,故采用此方案。、總體設(shè)計光電探頭at89c52按鍵電機驅(qū)動時間顯示經(jīng)過對各個方案分析比較,最終確定總方案如圖3-1所示。該系統(tǒng)所有模塊都由主單片機控制。其中,設(shè)計各個模塊,包括單片機、顯示模塊、電機驅(qū)動、光電探測由四節(jié)aa電池供電。電機驅(qū)動采用l298驅(qū)動芯片控制。用光電傳感器對邊線的探測來控制距離。通過單片機的機器周期計算時間計數(shù)周期,以達到計時目的。圖3-1 系統(tǒng)方案圖3.1 系統(tǒng)硬件電路設(shè)計3.1.1 探測傳感器探測傳感器采用cny-70反射式光

8、電開關(guān)。紅外線光電開關(guān)屬于光電接近開關(guān),它利用被測物體對紅外光束的遮光或反射,對所有能反射光線的物體均可檢測,根據(jù)檢測方式的不同,分為漫反射式、鏡反射式、對射式、槽式、光纖式光電開關(guān)等。圖3-2為cny-70的輸入輸出特性曲線:圖3-2 cny70特性曲線從圖3-2可以看出,隨著發(fā)光管電流逐漸增加,輸出電流逐漸變大,因此我們選擇輸入電流為20ma。cny-70的發(fā)光管的導(dǎo)通壓降大約為1.5v,輸入電壓選擇5v,因此電阻我們選擇200。圖3-3 探測傳感器通過電壓比較器,將傳感器的輸出電壓轉(zhuǎn)換成邏輯電平,通過單片機判斷探測是否有黑線,然后通過軟件調(diào)整,使小車能夠完成b區(qū)的動作。由于cny-70受

9、自然光影響,因此在使用時比較器比較電壓采用電位器調(diào)節(jié),通過手動調(diào)節(jié)適應(yīng)不同的光照環(huán)境。3.1.2 電機驅(qū)動模塊l298 芯片是一種高電壓、大電流、高功率驅(qū)動器,其設(shè)計是為接受標準ttl邏輯電平信號和驅(qū)動電感負載的,例如繼電器、圓筒形線圈、直流電動機和步進電動機。每橋的三級管的射極是連接在一起的, 相應(yīng)外接線端可用來連接外設(shè)傳感電阻??砂仓昧硪惠斎腚娫?,使邏輯能在低電壓下工作。l298 芯片是具有15 個引出腳的多瓦數(shù)直插式封裝的集成芯片。圖3-4 電機驅(qū)動模塊3.2 系統(tǒng)軟件設(shè)計3.2.1 軟件計時的分析與計算單片機內(nèi)部定時器有4種工作模式,方式0是13位計數(shù)器,由于計時時間過短,中斷頻率高,

10、所以不選用此模式;方式2是自動重裝式計數(shù)器,是8位計數(shù)器,同樣中斷頻率過高;方式3也是8位計數(shù)器;方式1是16位計數(shù)器,綜合考慮,選用方式1做精確計時。由于51單片機是12分頻,因此機器周期=晶振頻率/12。在該設(shè)計中,選用頻率為12mhz的晶振,因此機器周期=1s。定時1s需要1000000個機器周期,因此通過20次定時器中斷完成1s的定時,每次完成50000個周期的定時,因此每次給定時器的初值應(yīng)該是th0=b0h,tl0=3ch。3.2.3 系統(tǒng)軟件流程圖注:d為電機轉(zhuǎn)動方向標記。圖3-5 系統(tǒng)流程圖、測試結(jié)果及結(jié)果分析4.1 測試儀器及工具測試儀器及工具: 100ml量筒兩個,卷尺(兩米

11、以上)一把,黑色電膠布一卷,大號水桶兩個,水量充足。4.2 測試步驟4.2.1 測試前預(yù)備工作、用卷尺在地面標出兩米距離,并用黑色電膠布在兩米的兩端各粘貼一條縱邊線。、將水桶裝滿水,置于a端,量筒也置于a端,空水桶置于另外c端。、根據(jù)測試場地光照條件,將小車的探測器調(diào)試到最佳狀態(tài)。4.2.2 正式測試、將小車置于初試邊線,即有水的水桶的一端,啟動小車電源。、用量筒量取100ml水置于小車上的水杯里。按下出發(fā)鍵,同時秒表開始計時。小車從a端,經(jīng)過b區(qū)域到c端停止。、小車在c端停止后,數(shù)碼管顯示卸水倒計時8s,此時,取下車上的水,倒入空桶內(nèi),并將水杯放回小車,8s結(jié)束后,小車返回,數(shù)碼管顯示小車前

12、進時間與卸水時間(8s)之和,并在此基礎(chǔ)上繼續(xù)計時。、小車返回a端后,秒表停止計時。、循環(huán)-步驟若干次。、關(guān)閉電源,清空水杯中的水。清理測試現(xiàn)場。4.3 測試結(jié)果如下表 項目趟次小車顯示運行一個周期時間(s)實際運行一個周期時間(s)運水量(ml)第一趟14s14.56s100ml第二趟14s14.23s100ml第三趟15s15.19s100ml第四趟14s14.86s100ml第五趟14s14.35s100ml第六趟14s14.66s100ml第七趟14s14.85s100ml第八趟15s14.88s100ml第九趟15s15.26s100ml第十趟14s14.79s100ml表4-1 調(diào)

13、試結(jié)果4.4 測試結(jié)果分析通過對測試數(shù)據(jù)的分析,可以看出,小車已經(jīng)實現(xiàn)了在abcba區(qū)域較為穩(wěn)定的循環(huán)運水過程,即小車已經(jīng)實現(xiàn)了題目所給出的所有要求。另外,小車顯示每周期時間與實際每周期所用時間誤差小于1s,達到了額外添加計時模塊的目的。通過計算,可得出小車的平均速度為0.63m/s,單位時間運水量大約為7ml/s。、創(chuàng)新點5.1 添加計時模塊在題目要求之外,本設(shè)計增加了周期計時裝置,在此基礎(chǔ)上,若通過進一步改進,可自動顯示小車平均速度。據(jù)此又可以在沒有其他額外裝置的情況下大概知道電池電量(事先測量好小車在不同電量情況下的速度,并畫出不同電量對應(yīng)不同速度的曲線圖,用實測速度與此曲線圖對比可知大

14、概電量)。另外,通過簡單計算,還達到了計算單位時間運水量的目的。5.2 實用性、將該設(shè)計用于餐廳、酒吧等餐飲場所,所用于傳菜、續(xù)杯等較為簡單的服務(wù)。既可增加娛樂性和趣味性,亦可節(jié)省雇員成本。、用該設(shè)計取代某些高功耗、高壓電機帶動的傳送帶,降低能耗,增加安全系數(shù)。、總結(jié)與心得通過對該作品的制作,了解了各個模塊之間相互協(xié)同工作的重要性,初步掌握如何控制好各個模塊之間的關(guān)系。通過對探測傳感器的使用,了解了傳感器在設(shè)計中的重要作用,有益于對傳感器的進一步學(xué)習(xí)。本次電子綜合實踐也鍛煉了我們的動手能力,但最重要的是鍛煉了如何解決問題的能力。參考文獻:1、胡漢才.單片機原理及其接口技術(shù).北京:清華大學(xué)出版社

15、,20052、閻石.數(shù)字電子技術(shù)基礎(chǔ).北京:高等教育出版社,20013、童詩白 華成英.模擬電子技術(shù)基礎(chǔ).北京:高等教育出版社,20014、郁有文等.傳感器原理及工程應(yīng)用.西安:西安電子科技大學(xué)出版社,2008附件一:參考程序如下:16#include #define segport0 p2#define segport1 p0#define motor_port p3#define front_sensor p1_4#define back_sensor p1_5#define start_button p1_7#define stop_time 8 /卸水延時#define t_h (65

16、536-50000)/256#define t_l (65536-50000)%256/電機操作指令#define stop_motor 0x00#define run_forward 0x05#define run_back 0x0aunsigned char code disptab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40;/顯示譯碼unsigned char count=0;/中斷計數(shù)unsigned char min=0;unsigned char sec=0;unsigned char min_s;unsigned

17、 char sec_s;unsigned char success=0; /完成階段標志bit input;bit direction=0;bit showflag=1;/*延時1ms*/void delay_ms(void)unsigned char i,j;for(i=5;i0;i-)for(j=98;j0;j-);/*延時n個ms*/void delay_nms(unsigned int t)for(;t0;t-)delay_ms();/*定時器初始化*/void timer_init()th0=t_h;tl0=t_l;tmod=0x01;et0=1;ea=1;tr0=0;/并不啟動定時

18、器/*外圍硬件初始化*/void device_init()count=0;min=0;sec=0;success=0;direction=0;showflag=1;segport0=disptabsec%10;/顯示初始化值segport1=disptabmin%10;p3=stop_motor; /停止馬達/*時鐘中斷子程*/void timer() interrupt 1 th0=t_h;tl0=t_l;count+;if(showflag=1)segport0=disptabsec%10;segport1=disptabmin%10;if(count=20)count=0; sec+;

19、 if(sec=10) sec=0;min+;if(min=10)min=0;/*主函數(shù)*/void main(void)device_init();timer_init();/檢測啟動按鍵是否按下while(1)start_button=0;input=start_button;if(input)delay_nms(5);input=start_button;if(input)success=1;direction=0;break;tr0=1;delay_nms(1000);/待命延時motor_port=run_forward;/檢測start 鍵完成啟動馬達前進delay_nms(1000);/屏蔽起始黑線的檢測while(1) switch(success) case 1: front_sensor=0; /檢測前面的傳感器if(front_sensor=1)/已經(jīng)檢測到前面?zhèn)鞲衅鬟^線 則開始檢測后面的傳感器success=(direction)? 0:2;if(success=0)/返回時 前輪過線 則停止 motor_port=stop_motor; tr0=0; else success=direction? 1:1;break

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論