




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于89c52單片機(jī)的循跡小車設(shè)計報告自循跡小車第一章 引言1.1 設(shè)計目的通過設(shè)計進(jìn)一步掌握單片機(jī)的應(yīng)用,特別是在嵌入式系統(tǒng)中的應(yīng)用。進(jìn)一步學(xué)習(xí)單片機(jī)在系統(tǒng)中的控制功能,能夠合理設(shè)計單片機(jī)的外圍電路,并使之與單片機(jī)構(gòu)成整個系統(tǒng)。1.2 設(shè)計方案介紹該智能車采用紅外對管方案進(jìn)行道路檢測,單片機(jī)根據(jù)采集到的紅外對管的不同狀態(tài)判斷小車當(dāng)前狀態(tài),通過控制發(fā)出控制命令,控電機(jī)的工作狀態(tài)以實(shí)現(xiàn)對小車姿態(tài)的控制。1.3 技術(shù)報告內(nèi)容安排本技術(shù)報告主要分為三個部分。第一部分是對整個系統(tǒng)實(shí)現(xiàn)方法的一個概要說明,主要內(nèi)容是對整個技術(shù)方案的概述;第二部分是對硬件電路設(shè)計的說明,主要介紹系統(tǒng)傳感器的設(shè)計及其他硬件電
2、路的設(shè)計原理等;第三部分是對系統(tǒng)軟件設(shè)計部分的說明,主要內(nèi)容是智能模型車設(shè)計中主要用到的控制理論、算法說明及代碼設(shè)計介紹等。第 13 頁 共 10 頁第二章 技術(shù)方案概要說明本模型車的電路系統(tǒng)包括電源管理模塊、單片機(jī)模塊、傳感器模塊、電機(jī)驅(qū)動模塊.在整個系統(tǒng)中,由電源管理模塊實(shí)現(xiàn)對其他各模塊的電源管理。其中,對單片機(jī)、光電管提供5V電壓,對電機(jī)提供6V電壓路徑識別電路由3對光電發(fā)送與接收管組成。由于路面存在黑色引導(dǎo)線,落在黑線區(qū)域內(nèi)的光電接收管接收到反射的光線的強(qiáng)度與白色的路面不同,進(jìn)而在光電接收管兩端產(chǎn)生不同的電壓值,由此判斷路線的走向。傳感器模塊將當(dāng)前采集到的一組電壓值傳遞給單片機(jī),進(jìn)而根
3、據(jù)一定得算法對舵機(jī)進(jìn)行控制,使小車自動尋線行走。 單片機(jī)模塊是智能車的核心部分,主要完成對外圍各個模塊的管理,實(shí)現(xiàn)對外圍模塊的信號發(fā)送,以及對傳感器模塊的信號采集,并根據(jù)軟件算法對所采集的信號進(jìn)行處理,發(fā)送信號給執(zhí)行模塊進(jìn)行任務(wù)執(zhí)行,還對各種突發(fā)事件進(jìn)行監(jiān)控和處理,保證整個系統(tǒng)的正常運(yùn)作。 電機(jī)驅(qū)動采用L293驅(qū)動芯片,該芯片支持2路電機(jī)驅(qū)動同時支持PWM調(diào)速第三章 硬件電路的設(shè)計3.1 單片機(jī)最小系統(tǒng)小車采用STC公司的STC89C52RC單片機(jī)作為控制芯片,圖3-1是其最小系統(tǒng)電路。主要包括:時鐘電路、電源電路、復(fù)位電路。其中各個部分的功能如下:1、時鐘電路:給單片機(jī)提供一個外接的12MH
4、z的石英晶振。2、電源電路:給單片機(jī)提供5V電源。3、復(fù)位電路:在電壓達(dá)到正常值時給單片機(jī)一個復(fù)位信號。圖3-1 單片機(jī)最小系統(tǒng)原理圖3.2 傳感器電路光電尋線方案一般由多對紅外收發(fā)管組成,通過檢測接收到的反射光強(qiáng),判斷黑白線。原理圖由紅外對管和電壓比較器兩部分組成,紅外對管輸出的模擬電壓通過電壓比較器轉(zhuǎn)換成數(shù)字電平輸出到單片機(jī)。芯片使用LM339具有4路電壓比較器3-2賽道檢測原理圖3.3 電機(jī)驅(qū)動采用L293驅(qū)動芯片,該芯片支持2路電機(jī)驅(qū)動同時支持PWM調(diào)速 L293驅(qū)動3.3 電源電路設(shè)計模型車通過自身系統(tǒng),采集賽道信息,獲取自身速度信息,加以處理,由芯片給出指令控制其前進(jìn)轉(zhuǎn)向等動作,各
5、部分都需要由電路支持,電源管理尤為重要。在本設(shè)計中,51單片機(jī)使用5V電源,電機(jī)使用6V電源。考慮到電源為充電電池組,額定電壓為7.2V,實(shí)際充滿電后電壓則為6.5-6.8V,所以單片機(jī)及傳感器模塊采用LM1117-5穩(wěn)壓后的5V電源供電,電機(jī)直接由電池供電。*程序說明:本附錄:源程序主代碼*/#include "reg52.h"#define uint unsigned int #define uchar unsigned char sbit K1=P20; sbit K2=P21; sbit K3=P22; sbit K4=P23; sbit LED1=P10; sbi
6、t LED2=P11; sbit LED3=P12; sbit LED4=P13; sbit PWM1=P32; sbit PWM2=P33;uchar PWM1_Cycle=0,PWM2_Cycle=0;/PWM占空比 void delay(uint z) uint x,y; for(x=z;x>0;x-) for(y=110;y>0;y-); void PWM_Init() TMOD = 0x11 ; TH0=(65535-100)/256;/定時5us TL0=(65535-100)%256; TH1=(65535-100)/256;/定時10us TL1=(65535-10
7、0)%256; ET0=1; ET1=1; TR0=1; TR1=0; EA=1;/開中斷 /* *函數(shù)功能:小車前進(jìn) *時間:2013、3、29 */ void Advance() P0=0x50; /* *函數(shù)功能:小車后退 *時間:2013、3、29 */ void Retreat() P0=0xa0; /* *函數(shù)功能:小車左轉(zhuǎn) *時間:2013、3、29 */ void Turn_left1() P0=0x10; delay(500); P0=0; /* *函數(shù)功能:小車右轉(zhuǎn) *時間:2013、3、29 */ void Turn_right1() P0=0x40; delay(500
8、); P0=0; void main() PWM_Init(); PWM1_Cycle=30;/初始速度,可改變其大小是速度使變化 while(1) if(K1=1) Turn_right1();elseif(K2=1)Advance();elseif(K4=1)Turn_left1();else Advance(); /* *函數(shù)功能:產(chǎn)生占空比可調(diào)的PWM波 *參數(shù):PWM1_Cycle */ void PWM1_Produce() interrupt 1 static unsigned int t1 ; /tt用來保存當(dāng)前時間在一秒中的比例位置 t1+; TH0=(65535-100)/
9、256;/定時100us TL0=(65535-100)%256;if(t1=100)t1=0;PWM1=1;if(PWM1_Cycle=t1)PWM1=0; /* *函數(shù)功能:產(chǎn)生占空比可調(diào)的PWM波 *參數(shù):PWM1_Cycle */ void PWM2_Produce() interrupt 3 static unsigned int t2 ; /tt用來保存當(dāng)前時間在一秒中的比例位置 t2+; TH1=(65535-100)/256;/定時100us TL1=(65535-100)%256;if(t2=100)t2=0;PWM2=1;if(PWM2_Cycle=t2)PWM2=0;元件
10、清單附錄:源程序主代碼#include <reg52.h>#include <intrins.h>#include <math.h>#define uchar unsigned char #define uint unsigned int#define MIDDLE 1390/舵機(jī)中心位置#define LEFT 1600 #define RIGHT 1000#define T 20000#define HIGH 7300 /電機(jī)基準(zhǔn)速度sbit rudder=P10; /定義舵機(jī)PWM波輸出端口為P1.0口sbit pulse=P11; /定義后輪PWM波
11、輸出端口為P1.1口char flag1=0,flag2=0;/定義全局變量(flag1用于控制舵機(jī)/PWM標(biāo)志位,flag2用于控制電機(jī)PWM)uint b=0,a=0;/b用來裝載電機(jī)所需的高電平時間,a用于保存電機(jī)所需高電平時間void main()uchar receive,ek4=7,7,7,7;uint pidr=0;uint pidlr=0;uint ppid=0;IE=0x8a; TMOD=0x11;TH0=0x00;TL0=0x00;TR0=1;TH1=0x00;TL1=0x00;TR1=1;while(1) receive=P2; /采集光電傳感器的值/*-switch-*
12、/switch(receive) /根據(jù)采集到的值進(jìn)行判斷case 0x7f:ek3=0;break; /0111 1111 最左邊(或右邊)1個光電傳感器檢測到黑線case 0x3f:ek3=1;break; /0011 1111 最左邊(或右邊)2個光電傳感器檢測到黑線case 0xbf:ek3=2;break; /1011 1111 依次類推case 0x9f:ek3=3;break; /1001 1111case 0xdf:ek3=4;break; /1101 1111case 0xcf:ek3=5;break; /1100 1111case 0xef:ek3=6;break; /11
13、10 1111case 0xe7:ek3=7;break; /1110 0111case 0xf7:ek3=8;break; /1111 0111case 0xf3:ek3=9;break; /1111 0011case 0xfb:ek3=10;break; /1111 1011case 0xf9:ek3=11;break; /1111 1001case 0xfd:ek3=12;break; /1111 1101case 0xfc:ek3=13;break; /1111 1100case 0xfe:ek3=14;break; /1111 1110default: ek3=15;break; /
14、1111 1111 沒有檢測到黑線(是需要保持上一次測量值的)/*-switch-*/if(ek3= =15) pidr = pidlr;else pidr=0.2*pidlr+0.8*(23*(ek3-7)+2*(ek3+ek2+ek1+ek0-28)+7*(ek3-ek2);if(ek2!=ek3)ppid=-160*(cabs(ek3-7)+220*(cabs(ek1-7)-cabs(ek3-7); a=HIGH+ppid; /a是電機(jī)高電平時間b=pidr+MIDDLE; /b就是舵機(jī)PWM波高電平時間 if(b>LEFT) b=LEFT; if(b<RIGHT) b=RIGHT; char i; for(i=0;i<3;i+) eki=eki+1; pidlr=pidr;void zhongduan_t0(void) interrupt 1 /產(chǎn)生舵機(jī)PWM波中斷子程序(T0中斷)if(flag1=0) TH0=(uchar)(65536-b)/256); TL0=(uchar)(65536-b)%256);flag1=1;rudder=1;elseTH0=(uchar)(38869+b)/256); TL0=(uc
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 印刷外委合同范例
- 一般機(jī)械設(shè)備租賃合同范本
- 不銹鋼樓梯欄桿施工合同范本
- 同業(yè)禁止合同范本
- 加盟合同解除合同范本
- mv制作合同范本
- 單張合同范本
- 吊籃維護(hù)維修合同范例
- 供銷社土地租賃合同范本
- 黨建合同范例
- 廣東粵教版第3冊上信息技術(shù)課件第5課神奇的變化-制作形狀補(bǔ)間動畫(課件)
- 連鎖藥店運(yùn)營管理
- (中職)中職生禮儀實(shí)用教材完整版PPT最全教程課件整套教程電子講義(最新)
- 民航旅客運(yùn)輸完整版ppt-全體教學(xué)教程課件最新
- JJF (石化) 007-2018 鉛筆硬度計校準(zhǔn)規(guī)范-(高清現(xiàn)行)
- 《中醫(yī)兒科學(xué)》課件生理病因病理特點(diǎn)
- 單招面試技巧簡介PPT幻燈片課件(PPT 59頁)
- 迪士尼樂園主題PPT模板
- DBJ61_T 179-2021 房屋建筑與市政基礎(chǔ)設(shè)施工程專業(yè)人員配備標(biāo)準(zhǔn)
- C形根管的形態(tài)識別和治療實(shí)用教案
- 京東入駐流程(課堂PPT)
評論
0/150
提交評論