




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、題目(自動往返小汽車) 完成日期: 2012 年 12 月 13日學 校: 中山市技師學院系別: 電子應用系專業名稱: 電子技術應用學 生 姓 名: 梁炯名 劉賢 謝南南組 別: 基礎組指導教師姓名、職稱: 黃江 (教師) 目錄 摘要 1 Abstract 2第一章 設計實驗任務和要求 2 1.1 任務 31.2 要求 3第二章 設計方法與論證 42.1 總體設計方案 42.2 驅動模塊 52.3 黑線檢測模塊 62.4 碼盤測距設計 7第三章 系統理論分析與計算 83.1 單片機最小系統 93.3 黑線檢測模塊設計與實現 93.4 系統供電單元設計與實現 10 第四章 系統軟件設計 11 4
2、.1 系統控制流程 114.2 系統電路圖 11第五章 系統測試與結論 125.1 硬件測試 125.2 結論 13 5.3程序 13摘要 通過仔細的分析和論證,本電路系統可分為檢測、驅動和顯示模塊,首先利用反射式光電傳感器檢測路面的黑線個數,將其傳給控制模塊,這里我們主控芯片采用的是STC89C52芯片,小車裝載了紅外壁障光電傳感器,實時檢測車身兩側黑線,單片機將根據實際情況來控制小車的驅動模塊,精確的控制小車的轉速。小車前行過程中所有信息包括檢測黑線個數.。 關鍵詞:PWM 黑線檢測 STC89C52 Abstract Through the careful analysis and ar
3、gumentation .This circuit system can be divided into detection, drive, obstacle avoidance, driver and display module . First, the reflecting photoelectric sensor to test the pavement of the black line number, passing it on to control module .Here we master control chip USES is STC12C5A60S2 chip . A
4、load of infrared barrier and photoelectric sensor .Real-time detection body on both sides of the obstacles . SCM will according to actual condition to control the car driver module . In the process of car forward all information including detection line number,。Key words: PWM Line detection STC89C52
5、 第一章,設計實驗任務和要求一、任務設計并制作一個能自動往返于起跑線與終點線間的小汽車。允許用玩具汽車改裝,但不能用人工遙控(包括有線和無線遙控)。跑道寬度0.5m,表面貼有白紙,跑道用地面,貼上白紙。在跑道的B、C、D、E、F、G各點處畫有2cm寬的黑線(用黑色電工膠布),各段的長度如圖1所示。 1.2要求1基本要求(1)車輛從起跑線出發(出發前,車體不得超出起跑線),到達終點線后停留10秒,然后自動返回起跑線(允許倒車返回)。往返一次的時間應力求最短(從合上汽車電源開關開始計時)。(2)到達終點線和返回起跑線時,停車位置離起跑線和終點線偏差應最小(以車輛中心點與終點線或起跑線中心線之間距離
6、作為偏差的測量值)。(3)DE間為限速區,車輛往返均要求以低速通過,通過時間不得少于4秒,但不允許在限速區內停車。第2章 設計方法與論證方案一:本設計選用兩塊單片機(89C52 和 89C2051)作為自動往返小汽車的檢測和控制核心。路面黑線檢測使用反射式紅外傳感器,車速和距離檢測使用斷續式光電開關,利用PWM技術動態控制電動機的轉速。基于這些完備而可靠的硬件設計,使用了一套獨特的軟件算法,實現了小車在限速和壓線過程中的精確控制。本設計的主要特色 : 高效的H型PWM電路,提高電源利用率; 控制電路電源和電動機電源隔離,信號通過光電禍合器傳輸; 脈沖調制路面檢測,超強糾錯
7、,免受路面雜質干擾; 優化的軟件算法,智能化的自動控制, 定位精確;后置式紅、綠方向燈行駛狀態一目了然。方框圖如1-2所示。 圖1-2 方案一方框圖方案二:系統采用單片機AT89C51作為核心器件實現小車行駛的自動控制。控制過程是利用反射式光電檢測器采集的數據,通過軟件完成對小車在不同路段的行駛速度實時控制,用數碼管實現對指定行程和所用時間顯示,同時利用紅外數據傳輸方式將在限速區、終點區和返回到起點區后的時間和距離數據向手持顯示裝置單相傳送。鍵盤設置在小車中,對速度的控制調整更加方便、精確。方框圖如1-3所示。數據采集1線標志檢測數據采集2 圈數檢測 單 片 機 A T 8 9 C
8、 5 1顯示結果電動機控制紅外發射鍵盤輸入紅外接收單 片 機 A T 8 9 C 5 1 速度、時間、里程顯示鍵盤輸入 圖1-3 方案二方框圖方案三:采里程檢測STC89C52數碼顯示電機驅動電機調速跑道標志檢測用單片機STC89C52作為系統的控制中心。電機采用飼服控制電機來驅動;檢測電路采用紅外對管來控制小車的快行,慢行,停止;用LCD1602液晶實現對指定行程和所用時間的顯示。方框圖如1-4所示。方案一,方案二材料較多。故選用方案三。2.2 電機控制模塊為了實現電動小車對行走路徑的準確定位和精確測量,可以考慮一下兩種方案:方案一:采用飼服電機。飼服電機轉動力矩大,體積小,重量輕,轉配簡單
9、,使用方便。方案二:采用步進電機。步進電機是數字控制電機,控制也比較簡單,具有瞬時啟動和急速停止的優越性,比較適合本系統控制精度高的特點。總上分析,但由于實際原材料考慮,本設計使用方案一。2.3、黑線檢測模塊圖2.3 黑線檢測模塊方案一:使用發光二極管和光敏二極管。此方案缺點在于環境的其他光源對光敏二極管的工作產生很大的干擾,一旦外界光強改變,很可能造成誤判和漏判,即使采用超高亮發光管可以降低一定的干擾,但這又增加額外的功耗。方案二:反射式紅外發射接收管。此方案可以降低可見光的干擾,靈敏度高,同時其尺寸小、質量輕、價格也低廉。外圍電路簡單,安裝起來方便,電源要求不高,用它作為近距離傳感器是最理
10、想的。方案三:利用激光。此方案雖然抗干擾性強、可靠性高,但其缺點在于體積大、功耗大、價格高。一般用在要求場合非常高的場合,本系統采用方案二已經能夠勝任,無須采用其它方案。2.4、碼盤測距模塊方案一:采用霍爾器件。該器件內部由一片霍爾金屬板組成,當磁鋼正對金屬片時,由于霍爾效應,金屬板發生橫向導通,因此可在電機軸上安裝固定有磁片的圓片,而將霍爾器件固定在距圓片上方1cm3的范圍,通過對脈沖的記數來實現對速度的檢測。方案二:采用碼盤。由于該器件是溝槽結構,可以將其置于固定軸上,再在電機軸上安裝圓片,均勻地固定多個遮光片,讓其恰好通過溝槽,產生一個個脈沖。通過脈沖的計數實現對速度的檢測。兩種方案都是
11、可行性的轉速檢測方案。采用方案。第三章 系統理論分析與計算3.1單片機最小系統本系統采用的是STC89C52芯片作為控制核心,4個16位定時器。內部就含有PWM調制,而本實驗用到的電機驅動的所需的PWM信號就是由該芯片產生的。下面是它的引腳圖和電路圖。圖 3.1 STC89C52的引圖 圖 3.2 單片機最小系統電路圖3.2黑線檢測設計與實現 該智能小車在跑道是上共設有6道黑線,路面可看做白色。由于黑線和白色路面對光線的反射系數不同,可以根據接收的反射光的強弱來判斷道路的“障礙”黑線。本設計利用紅外線在不同顏色的物表面具有不同的反射性質的特點。在小車行駛過程中不斷地向地面發射紅外光,當紅外線遇
12、到白色地面時發生漫反射,反射光被裝在小車上的接收管接收;如果遇到黑紙則紅外光被吸收,小車上的接收管接收不到信號。考慮到集成紅外探測頭體積小、簡便易用,性能可靠。所以本設計選擇了反射式紅外線光電傳感器作為紅外光的發射和接受器件,一般檢測距離可達410厘米cm,其內部結構和外接電路均較為簡單.鑒于小車底部聚地面的距離不超過五厘米,故用紅外光電傳感器足以滿足要求。其內部結構和外接電路均較為簡單,檢測電路如下圖所示。 圖 黑線檢測電路 3.3系統供電單元設計與實現智能車控制系統中, 芯片需要提供5V的工作電壓,而電機所需的電壓為12V,本設計中用到的是12V的電源供電,然后通過三端穩壓器LM317將電
13、壓變換為5V電壓供給電路系統。電源系統的電路圖如圖3.7所示。 圖 3.7 穩壓電源提供電路系統的軟件設計開始4.1程序流程圖檢測黑線正常行駛檢測第三條黑線減速行駛檢測第四條黑加速速行終點時停留10S左黑白線檢測右黑白線檢測 倒車返回 4.2系統電路圖 測試數據、測試結果分析及結論測試方法與儀器:1、 測試儀器 測試儀器包括秒表、數字萬用表、示波器、MCS51仿真機、直流穩壓電源等。2、測試方法 數字萬用表主要用來測試分立元件的電阻、壓降、漏電流、截止/導通狀態等參數;信號發生器與示波器用于測試各光電傳感器信號的接收與傳輸;MCS51仿真機用于測試軟件;直流穩壓電源在測試期間為各待測系統供電;
14、秒表用于產品測試,按照任務書的基本要求對制成的電動車進行產品測試。測試數據及測試結果分析: 計時精度分析 計時系統采用了新型顯示芯片。理論上的誤差不到1秒/年。 測距精度分析 測速系統采用了電機軸光電碼盤檢測技術。電機軸與車輪軸之間采用了齒輪箱二級減速,變比1/16。車輪周長135mm,光電碼盤與電機軸安裝在一起,電機軸每一轉產生2個脈沖,車輪每轉產生32個脈沖,理論測量精度可達135mm/32=4.22mm<4.5mm 定位精度分析 本設計采用實際測量與軟件補償技術,理論上可使定位精度提高到誤差<10mm。3、結論歷時一個月的設計過程中,我首先邊查資料,邊在實驗室焊接小車的線路板
15、。在焊接過程中,我感覺到即使是一個簡單的電路,要想很輕松的焊好,也不是很容易的事情。有時是“虛焊”的原因,有時可能是阻值選錯。在焊接顯示電路時,我就錯將680歐的電阻焊成了6.8千歐。這使我深深感受到理論與實際間的差距。通過這樣的設計,提高了我的動手能力。每天在實驗室除了焊接線路板,還可以上機編程,使我軟件調試知識也提高了。致 謝通過這次設計,使我深刻地認識到學好專業知識的重要性,也理解了理論聯系實際的含義,并且檢驗了學校的學習成果。雖然在這次設計中對于知識的運用和銜接還不夠熟練。但是我將在以后的工作和學習中繼續努力、不斷完善。這幾個月的設計是對過去所學知識的系統提高和擴充的過程,為今后的發展
16、打下了良好的基礎。由于自身水平有限,設計中一定存在很多不足之處,敬請各位老師批評指正。、參 考 文 獻1 何立民,單片機應用系統設計,北京:航天航空大學出版社,25,46502 李廣弟,單片機基礎,北京:北京航空航天大學出版社,2001,56643 何希才,新型實用電子電路400例,電子工業出版社,2000年,60654 趙負圖,傳感器集成電路手冊,第一版,化學工業出版社,2004,5905915 陳伯時,電力拖動自動控制系統,第二版,北京:機械工業出版社,2000年6月,1271306 張毅剛,彭喜元,新編MCS-51單片機應用設計,第一版,哈爾濱工業大學出版社,2003,2527,4114
17、17#include <reg52.h> #include <intrins.h>#define uchar unsigned char#define uint unsigned intsbit MOTOR_PORT_L = P36;sbit MOTOR_PORT_R = P37;#define MOTOR_PORT_L_SET(x) MOTOR_PORT_L = x#define MOTOR_PORT_R_SET(x) MOTOR_PORT_R = x/電機修正#define MOTOR_WAIT_OFFSET -5 /電機停止參數#define MOTOR_STOP
18、 (1500 + MOTOR_WAIT_OFFSET)/前進速度參數#define MOTOR_UP_H (MOTOR_STOP + 500)#define MOTOR_UP_L (MOTOR_STOP + 40)/后退速度參數#define MOTOR_DOWN_H (MOTOR_STOP - 500)#define MOTOR_DOWN_L (MOTOR_STOP - 40)typedef union _U16_U8_unsigned int u16;unsigned char u82;U16_U8;void timer_config(void)EA = 1;TMOD = (TMOD &a
19、mp; 0xf0) | 0x01;ET0 = 1;void timer_start(void)TH0 = 0x00;TL0 = 0x00;TR0 = 1;void timer_stop(void)TR0 = 0;unsigned char timer_wait(unsigned int wait) U16_U8 buf;buf.u80 = TH0;buf.u81 = TL0; if(buf.u16 >= wait)return 1;return 0;void motor_inital(void) MOTOR_PORT_L_SET(0);MOTOR_PORT_R_SET(0);timer_
20、config();void motor_move(unsigned int ml,unsigned int mr) bit flag_l = 0;bit flag_r = 0; timer_start(); MOTOR_PORT_L_SET(1);MOTOR_PORT_R_SET(1);if(ml = mr) while(!flag_l) if(timer_wait(ml) = 1)MOTOR_PORT_L_SET(0);MOTOR_PORT_R_SET(0);flag_l = 1; elsewhile(!flag_l | !flag_r) if(!flag_l) if(timer_wait(
21、ml) = 1)MOTOR_PORT_L_SET(0);flag_l = 1;if(!flag_r) if(timer_wait(mr) = 1)MOTOR_PORT_R_SET(0);flag_r = 1;while(timer_wait(20000+MOTOR_WAIT_OFFSET) = 0);timer_stop(); sbit RS = P24;sbit RW = P25;sbit EN = P26;#define LCD1602_PORT P0#define RS(x) RS = x ; _nop_();_nop_();#define RW(x) RW = x ; _nop_();
22、_nop_();#define EN(x) EN = x ; _nop_();_nop_(); void busy(void) LCD1602_PORT=0xff;RS(0);RW(1);EN(1);while(LCD1602_PORT&0x80)=0x80);EN(0);void LCD1602_Write_Data(uchar select,uchar wdata) busy();if(select)/write dataRS(1);RW(0); LCD1602_PORT = wdata; EN(1);EN(0);else/write insRS(0);RW(0); LCD1602
23、_PORT = wdata; EN(1);EN(0);void LCD1602_Prints(uchar line,uchar *str)if(line)LCD1602_Write_Data(0,0x80 + 0x40);/設定坐標 第2行第1格else LCD1602_Write_Data(0,0x80);/設定坐標 第1行第1格while(*str != '0')LCD1602_Write_Data(1,*str);str+;void LCD1602_Inital(void)LCD1602_Write_Data(0,0x38);LCD1602_Write_Data(0,0x
24、08);LCD1602_Write_Data(0,0x01);LCD1602_Write_Data(0,0x06);LCD1602_Write_Data(0,0x0c);sbit MEDIAN_PORT = P32;/中線sbit GO_Left_PORT = P11;sbit GO_Righ_PORT = P10;sbit Wai = P33;sbit P15=P15;sbit P16=P16;sbit P17=P17;void Control_Manage(void) static uchar state = 0;uchar i;static bit flag = 0;static uch
25、ar num;static uint count = 0;static uchar timer = 0;static uint miao = 0;static uint Jiance = 0;static uchar Juli = 0;if(state < 7)if(+timer>=50)timer = 0;miao+;if(Wai = 0)Jiance+;LCD1602_Write_Data(0,0x85);LCD1602_Write_Data(1,0x30|Juli/100%10);LCD1602_Write_Data(1,0x30|Juli/10%10); LCD1602_W
26、rite_Data(1,'.');LCD1602_Write_Data(1,0x30|Juli%10);LCD1602_Write_Data(1,' ');LCD1602_Write_Data(1,0x30|miao/60%10);LCD1602_Write_Data(1,':');LCD1602_Write_Data(1,0x30|miao%60/10);LCD1602_Write_Data(1,0x30|miao%60%10);LCD1602_Write_Data(0,0x80);LCD1602_Write_Data(1,0x30|Jianc
27、e/100%10);LCD1602_Write_Data(1,0x30|Jiance/10%10);LCD1602_Write_Data(1,0x30|Jiance%10);switch(state)case 0:count = 0;if(MEDIAN_PORT) state = 1;Juli += 0;motor_move(MOTOR_DOWN_L,MOTOR_UP_L); elseif(GO_Left_PORT)motor_move(MOTOR_STOP,MOTOR_UP_H); else if(GO_Righ_PORT)motor_move(MOTOR_DOWN_H,MOTOR_STOP
28、); else motor_move(MOTOR_DOWN_L,MOTOR_UP_L); break; case 1:count = 0;if(MEDIAN_PORT = 1 && num >= 30)state = 2;Juli += 5;num = 0;break; elseif(+num >= 30)num = 31;if(GO_Left_PORT)motor_move(MOTOR_STOP,MOTOR_UP_H); else if(GO_Righ_PORT)motor_move(MOTOR_DOWN_H,MOTOR_STOP); else motor_mov
29、e(MOTOR_DOWN_H,MOTOR_UP_H);P15=0;P16=1;P17=1; break;case 2: count = 0;if(MEDIAN_PORT = 1 && num >= 30)state+;Juli += 20;num = 0;break; elseif(+num >= 30)num = 31;if(GO_Left_PORT)motor_move(MOTOR_STOP,MOTOR_UP_H); else if(GO_Righ_PORT)motor_move(MOTOR_DOWN_H,MOTOR_STOP); else motor_move
30、(MOTOR_DOWN_H,MOTOR_UP_H);P15=0;P16=1;P17=1; break; case 3: /限速區count = 0;if(MEDIAN_PORT = 1 && num >= 30)state+;num = 0;Juli += 10;break; elseif(+num >= 30)num = 31;if(GO_Left_PORT)motor_move(MOTOR_STOP,MOTOR_UP_H); else if(GO_Righ_PORT)motor_move(MOTOR_DOWN_H,MOTOR_STOP); else motor_move(MOTOR_DOWN_L,MOTOR_UP_L); P15=1;P16=0;P17=1; break;case 4:count = 0;if(MEDIAN_PO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 離婚房產居住權保留與子女撫養權及共同債務分擔合同
- 木材物流運輸保險理賠與環境保護合同
- 公共建筑能耗監控平臺升級項目合同補充條款
- TTT培訓技巧精要
- 生物制藥純化技術專利授權與市場推廣及研發合同
- 海外留學簽證代辦服務及安全保障合同
- 外貿公司單證員勞務派遣及市場調研合同
- 國際工程項目合同風險評估與咨詢合同
- 互聯網股權收益互換及合作運營協議
- 專利許可使用補充協議
- 公共管理學黎民
- 電梯使用單位安全管理專題培訓
- 2025屆福建省廈門市音樂學校生物七下期末學業質量監測試題含解析
- 中國卒中學會急性缺血性卒中再灌注治療指南(2024)解讀
- 守護生態平衡 共享多彩世界 課件 -2025年高中生物多樣性日主題教育
- GA/T 2161-2024法庭科學非法集資類案件資金數據分析規程
- 2025-2030中國黃金珠寶首飾行業市場深度發展趨勢與前景展望戰略研究報告
- 2025屆青海省西寧市高考第一次模擬預測地理試題(原卷版+解析版)
- 俗世奇人試題及答案
- 煤炭工業建筑結構設計標準
- 【化學試卷+答案】廣東省茂名市2025年高三年級第二次綜合測試(茂名二模)
評論
0/150
提交評論