




已閱讀5頁,還剩24頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
裝訂線X X 大 學 課程設計紙智能尋跡小車設計與實現摘要:本課題是基于AT89C52單片機的智能小車的設計與實驗,設計主要有三個模塊,包括信號檢測模塊、主控模塊、電機驅動模塊。小車完成的主要功能是能夠自主識別黑色引導線并根據黑線走向實現快速穩定的尋線行駛。采用L298電機驅動及PWN電機調速,利用紅外對管傳感器檢測黑線達到循跡目的,以及自動停車,自動循跡。整體系統的電路結構簡單,可靠性高。關鍵詞:AT89C52單片機 L298電機驅動及PWN電機調速 自動循跡Smart car tracing Abstract:This subject is the design and experiment of intelligent car based on AT89C52 single-chip microcomputer, the design has three main modules, including the module of signal detection module, main control module, motor. The main function of the car is able to independently identify black guide line and according to the black line to achieve rapid and stable line running. Using L298 motor and PWN motor, the tube sensor to detect black line to tracking objective using infrared, and automatic stop, automatic tracking. The circuit construction of whole system is simple, high reliability.Keyword :AT89S52 Microcomputer L298 motor and PWN motor automatic trackingI目 錄第一章 前 言.11.1設計目的21.2設計要求2第二章 智能小車的總體方案設計32.1總體方案的思路32.2總體設計方案和框圖3第三章 系統硬件設計與實現53.1單片機單元53.2電機控制單元63.3 串口通訊單元83.4 按鍵中斷單元93.5蜂鳴器單元9第四章 系統軟件設計與實現104.1程序流程圖104.2程序11總 結23致 謝24參 考 文 獻25附錄 電路原理圖26共 1 頁 第 0 頁前言科學技術的發展,機器人的感系統,對于視覺的各種技術而言圖像處理技術已相當發達,而基于圖像的理解技術還很落后,機器視覺需要通過大量的運算也只能識別一些結構化環境簡單的目標。視覺傳感器的核心器件是攝像管或CCD,目前的CCD已能做到自動聚焦。但CCD傳感器的價格、體積和使用方式上并不占優勢,因此在不要求清晰圖像只需要粗略感覺的系統中考慮使用接近覺傳感器是覺傳感器種類越來越多,其中視覺傳感器成為自動行走和駕駛的重要部件。視覺的典型應用領域為自主式智能導航一種實用有效的方法。該智能小車可以作為機器人的典型代表。它可以分為三大組成部分:傳感器檢測部分、CPU、執行部分。機器人要實現自動避障功能,還可以擴展循跡等功能,感知導引線和障礙物。可以實現小車自動識別路線,選擇正確的行進路線,并檢測到障礙物自動躲避。基于上述要求,傳感檢測部分考慮到小車一般不需要感知清晰的圖像,只要求粗略感知即可,所以可以舍棄昂貴的CCD傳感器而考慮使用價廉物美的紅外反射式傳感器來充當。智能小車的執行部分,是由直流電機來充當的,主要控制小車的行進方向和速度。單片機驅動直流電機一般有兩種方案:第一,勿需占用單片機資源,直接選擇有PWM功能的單片機,這樣可以實現精確調速;第二,可以由軟件模擬PWM輸出調制,需要占用單片機資源,難以精確調速,但單片機型號的選擇余地較大。考慮到實際情況,本文選擇第二種方案。CPU使用STC89C52單片機,配合軟件編程實現。第1章 設計指導1.1設計目的(1) 掌握小車的基本構件;(2) 掌握電動機齒輪箱的構件;(3) 掌握各電子元器件的基本形狀及其功能;(4) 掌握各電子元器件的焊接步驟與工作原理;(5) 掌握單片機內部結構與程序編制方法; (6) 掌握 LED 燈驅動方法,全面掌握流水燈/跑馬燈編程技術;(7) 掌握數碼管內部結構,掌握數碼顯示技術;(8) 掌握鍵盤結構原理,掌握中斷查詢技術原理;(9) 掌握話筒電路結構,掌握話筒輸入技術原理;(10)掌握蜂鳴器驅動技術,實現蜂鳴報警功能;(11)掌握光敏電阻原理,實現光照對小車的控制;(12)掌握紅外發射與接收技術,實現小車自動尋跡;(13)掌握R232通信協議,掌握串口通信技術;(14)通過本次設計實驗,對自己的專業知識掌握和運用有一個系統的考核;1.2設計要求當前的電動小汽車基本上采取的是基于純硬件電路的一種開環控制方法,或者是直線行使,或者是在遙控下作出前進、后退、轉彎、停車等基本功能。但是它們不能實現在某些特殊的場合下,我們需要能夠自動控制的小型設備先采集到一些有用的信息的功能。本文正是在這種需要之下開發設計的一種智能的電動小車的自動控制系統。它以單片機AT89C52為控制核心,附以外圍電路,在畫有黑線的白紙“路面”上行使,由于黑線和白線對光線的反射系數不同,可根據接收到的反射光的強弱來判斷“道路”黑線。判斷信號可通過單片機控制驅動模塊修正前進方向,以使其保持沿著黑線行進。軌跡探測用兩對紅外探頭,當小車脫離軌道時,即當置于兩邊的任何一只紅外發射探頭脫離軌道時,相對應的接收探頭便會接收到反射的紅外線,系統便做出相應的轉向調整,直到中間的光電管接收不到反射的紅外線(即回到軌道),再恢復正向行駛等智能控制系統。第2章 智能小車的總體方案設計2.1總體方案的思路智能尋跡小車尋跡主要是由前方的兩對紅外發射與接收探頭來完成的。根據光有反射的特性。所以說當紅外發射出來的光線遇到物體時,就會形成反射的光線,而這個經反射的紅外光線剛好被紅外接收探頭接收到。當紅外接收探頭接收到信號后,再將信號送到單片機由單片機內部程序來控制電機,由兩個電機正轉反轉來完成小車的前進,轉向。2.2總體設計方案和框圖整個路系統分為檢測、控制、驅動三個模塊。首先利用紅外探頭對路面信號進行檢測,經過比較器處理之后,送給軟件控制模塊進行實時控制,輸出相應的信號給驅動芯片驅動電機轉動,從而控制整個小車的運動。系統方案方框圖如圖所示:控制小車驅動電機軟件控制檢測(黑線)圖2-1智能小車尋跡系統框2.2.1驅動模塊由于直流電機的控制方法比較簡單,只需給電機的兩根控制線加上適當的電壓即可使電機轉動起來,電壓越高則電機轉速越高。對于直流電機的速度調節,可以采用改變電壓的方法,也可采用PWM調速方法。PWM調使加在直流電機兩端的速就是電壓為方波形式,通過改變方波的占空比實現對電機轉速的調節。2.2.2傳感器單元由于使用CCD傳感器需要有大量圖像處理的工作,需要進行大量數據的存儲和計算。而本次是以實現小車視覺為目的,實現起來工作量較大,電路相對比較復雜,所以我們使用光電傳感器來采集路面信息。使用紅外傳感器最大的優點就是結構簡明,實現方便,成本低廉,免去了復雜的圖像處理工作,反應靈敏,響應時間低,便于近距離路面情況的檢測。但紅外傳感器的缺點是,它所獲取的信息是不完全的,只能對路面情況作簡單的黑白判別,檢測距離有限,而且容易受到諸多擾動的影響,抗干擾能力較差,背景光源,器件之間的差異,傳感器高度位置的差異等都將對其造成干擾。但在本次設計中,賽道為黑色與白色兩種顏色,小車只要能區分黑色就可以采集到準確的路面信息,所以本設計中我們采用了紅外光電傳感器作為信息采集元件。圖2-2紅外傳感器分布圖其中X1與Y1為第一級方向控制傳感器,一般中間的一個傳感器XY在黑線上并且黑線同一邊的兩個傳感器之間的寬度不得大于黑線的寬度。小車前進時,X1、X2在黑線上,當小車偏離黑線時,第一級傳感器X1或Y1就能檢測不到黑線時,把檢測的信號送給小車的處理、控制系統,控制系統發出信號對小車軌跡予以糾正。這次設計智能小車,可以按指定路線運行,自動區分直線軌道和彎路軌道,在指定彎路處拐彎,實現靈活前進、轉彎、倒退等功能,在軌道上劃出設定的地圖,并且車速自動可調。主要是以AT89C52 為核心,紅外傳感器進行目標識別與避障,使自動尋跡小車準確跟蹤軌跡路線;采用直流電機對車的轉向進行控制,由軟件實現了小車自動行駛、自動避障,并發出指示信息等功能。圖2-1-1智能小車原理圖第3章 系統硬件設計與實現3.1單片機單元AT89C52 提供以下標準功能:8k 字節 Flash 閃速存儲器,256 字節內部 RAM,32 個 IO 口線,3 個 16 位定時計數器,一個 6 向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。同時,AT89C52 可降至 0Hz 的靜態邏輯操作,并支持兩種軟件可選的節電工作模式。空閑方式停止 CPU 的工作,但允許 RAM,定時計數器,串行通信口及中斷系統繼續工作。掉電方式保存 RAM 中的內容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復位,AT89C52 除了與 AT89C51 所有的定時計數器 0 和定時計數器 l 外,還增加了一個定時計數器 2。定時計數器2 的控制和狀態位位于 T2CON 。T2MOD ,寄存器對(RCA02H、RCAP2L)是定時器 2 在 16 位捕獲方式或 16 位自動重裝載方式下的捕獲自動重裝載寄存器。 圖3-2 AT89C52各引腳P0口是一組8 位漏極開路型雙向I/O口也即地址/數據總線復用口。作為輸出口用時,每位能吸收電流的P1 是一個帶內部上拉電阻的8 位雙向I/O 口,P1 的輸出緩沖級可驅動(吸收或輸出電流)4 個TTL 邏輯P2 是一個帶有內部上拉電阻的8 位雙向I/O 口,P2 的輸出緩沖級可驅動(吸收或輸出電流)4 個TTL 邏輯P3 口是一組帶有內部上拉電阻的8 位雙向I/O 口。P3 口輸出緩沖級可驅動(吸收或輸出電流)4 個TTL 邏 RST復位輸入。當振蕩器工作時,RST引腳出現兩個機器周期以上高電平將使單片機復位。ALE/PROG當訪問外部程序存儲器或數據存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8 位字節PSEN程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當AT89C52 由外部程序存儲器取指令EA/VPP外部訪問允許。欲使CPU 僅訪問外部程序存儲器(地址為0000HFFFFH),EA 端必須保持低電平XTAL1振蕩器反相放大器的及內部時鐘發生器的輸入端。 XTAL2振蕩器反相放大器的輸出端。3.2 電機控制單元 從單片機輸出的信號功率很弱,即是在沒有其他外在負載時也無法帶動電機,所以在實現電路中我們加入了電機驅動芯片提高輸入電機信號的功率,從而能夠根據需要控制電機轉動 L9110 是為控制和驅動電機設計的兩通道推挽式功率放大專用集成電路器件,將分立電路集成在單片 IC 之中,使外圍器件成本降低,整機可靠性提高。該芯片有兩個 TTL/CMOS兼容電平的輸入,具有良好的抗干擾性;兩個輸出端能直接驅動電機的正反向運動,它具有較大的電流驅動能力,每通道能通過 750800mA 的持續電流,峰值電流能力可達 1.52.0A; 同時它具有較低的輸出飽和壓降; 內置的鉗位二極管能釋放感性負載的反向沖擊電流,使它在驅動繼電器、直流電機、步進電機或開關功率管的使用上安全可靠。L9110 被廣泛應用于玩具汽車電機驅動、步進電機驅動和開關功率管等電路上。LG9110特點低靜態工作電流寬電源電壓范圍:2.5V-12V每通道具有800mA連續電流輸出能力較低的飽和壓降輸出內置鉗位二極管適用于感性負載控制和驅動集成于單片 IC之中具備管腳高壓保護功能工作溫度:0-80TTL/CMOS輸出電平兼容,可直接連 CPU 3.3 串口通訊單元MAX232芯片是美信公司專門為電腦的RS-232標準串口設計的單電源電平轉換芯片,使用+5v單電源供電。 引腳圖片 引腳介紹 主要分為幾部分電荷泵電路:由1、2、3、4、5、6腳和4只電容構成。功能是產生+12v和-12v兩個電源,提供給RS-232串口電平的需要。 數據轉換通道:由7、8、9、10、11、12、13、14腳構成兩個數據通道。 其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數據通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數據通道。 TTL/CMOS數據從T1IN、T2IN輸入轉換成RS-232數據從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數據從R1IN、R2IN輸入轉換成TTL/CMOS數據后從R1OUT、R2OUT輸出。 供電:15腳GND、16腳VCC(+5v)。 由于RS232電平較高,在接通時產生的瞬時電涌非常高,很有可能擊毀max232,所以在使用中應盡量避免熱插拔。3.4 按鍵中斷單元S1接通后,P3.4端接入低電平,小車中斷所進行的動作。S2接通后使P3.4接入低電平,這時會有一個外部輸入進入到單片機中,從而使小車停止所進行的動作進行下一個動作。3.5蜂鳴器單元 在單片機應用的設計上,很多方案都會用到蜂鳴器,大部分都是使用蜂鳴器來做提示或報警,比如按鍵按下、開始工作、工作結束或是故障等等。這里對單片機在蜂鳴器驅動上的應用作一下描述。圖3-7為蜂鳴器發聲電路原理圖。圖3-7 蜂鳴器發聲電路原理圖 由于自激蜂鳴器是直流電壓驅動的,不需要利用交流信號進行驅動,只需對驅動口輸出驅動電平并通過三極管放大驅動電流就能使蜂鳴器發出聲音,由于蜂鳴器的工作電流一般比較大,以致于單片機的I/O 口是無法直接驅動的,所以要利用放大電路來驅動,一般使用三極管來放大電流就可以了。第4章 系統軟件設計與實現4.1程序流程圖開始系統初始化執行主程序小車前進電機模式選擇電機左轉電機反轉電機右轉N偏離跑道否控制算法控制算法控制算法返回跑道否返回跑道否返回跑道否NNYNYYY圖4-1系統總流程圖該系統配套的軟件程序采用模塊結構,由C語言編寫完成。主要由初始化程序、偏道調整程序、偏離光源調整程序、聲光指示子程序、讀傳感器狀態、顯示程序、定時器0的中斷服務程序、定時器1的中斷服務程序、外部中斷0的服務程序、停車處理等模塊組成。系統的主體流程如圖3-4所示。4.2程序#include /包含51單片機相關的頭文件#define uint unsigned int /重定義無符號整數類型#define uchar unsigned char /重定義無符號字符類型uchar code LedShowData=0x03,0x9F,0x25,0x0D,0x99, /定義數碼管顯示數據 0x49,0x41,0x1F,0x01,0x19;/0,1,2,3,4,5,6,7,8,9uchar code RecvData=0x07,0x0A,0x1B,0x1F,0x0C,0x0D,0x0E,0x00,0x0F,0x19;uchar IRCOM7;static unsigned int LedFlash; /定義閃動頻率計數變量unsigned char RunFlag=0; /定義運行標志位bit EnableLight=0; /定義指示燈使能位/*完成基本數據變量定義*/sbit S1State=P10; /定義S1狀態標志位sbit S2State=P11; /定義S2狀態標志位sbit B1State=P12; /定義B1狀態標志位sbit IRState=P13; /定義IR狀態標志位sbit RunStopState=P14; /定義運行停止標志位sbit FontIRState=P15; /定義FontIR狀態標志位sbit LeftIRState=P16; /定義LeftIR狀態標志位sbit RightIRState=P17; /定義RightIRState狀態標志位/*完成狀態指示燈定義*/sbit S1=P32; /定義S1按鍵端口sbit S2=P34; /定義S2按鍵端口/*完成按鍵端口的定義*/sbit LeftLed=P20; /定義前方左側指示燈端口sbit RightLed=P07; /定義前方右側指示燈端口/*完成前方指示燈端口定義*/sbit LeftIR=P35; /定義前方左側紅外探頭sbit RightIR=P36; /定義前主右側紅外探頭sbit FontIR=P37; /定義正前方紅外探頭/*完成紅外探頭端口定義*/sbit M1A=P00; /定義電機1正向端口sbit M1B=P01; /定義電機1反向端口sbit M2A=P02; /定義電機2正向端口sbit M2B=P03; /定義電機2反向端口/*完成電機端口定義*/sbit B1=P04; /定義話筒傳感器端口sbit RL1=P05; /定義光敏電阻端口sbit SB1=P06; /定義蜂鳴端口/*完成話筒,光敏電阻,蜂鳴器.端口定義*/sbit IRIN=P33; /定義紅外接收端口/*完成紅外接收端口的定義*/#define ShowPort P2 /定義數碼管顯示端口extern void ControlCar(uchar CarType); /聲明小車控制子程序void delay(unsigned char x) /0.14mS延時程序 unsigned char i; /定義臨時變量 while(x-) /延時時間循環 for (i = 0; i13; i+) /14mS延時 void Delay() /定義延時子程序 uint DelayTime=5000; /定義延時時間變量 while(DelayTime-); /開始進行延時循環 return; /子程序返回void ControlCar(uchar CarType) /定義小車控制子程序 M1A=0; /將電機1正向電平置低 M1B=0; /將電機1反向電平置低 M2A=0; /將電機2正向電平置低 M2B=0; /將電機2反向電平置低 LeftLed=1; /關閉前方左側指示燈 RightLed=1; /關閉前方右側指示燈 Delay(); /將此狀態延時一段時間 switch(CarType) /判斷小車控制指令類型 case 1: /前進 /判斷是否是前進 M1A=1; /將電機1正向端口置高 M2A=1; /將電機2正向端口置高 ShowPort=LedShowData1; /數碼管顯示前進狀態 break; /退出判斷 case 2: /后退 /判斷是否是后退 M1B=1; /將電機1反向端口置高 M2B=1; /將電機2反向端口置高 ShowPort=LedShowData2; /數碼管顯示后退狀態 RightLed=0; /將前方右側指示燈置低(亮) LeftLed=0; /將前方左側指示燈置低(亮) break; /退出判斷 case 3: /左轉 /判斷是否是左轉 M1B=1; /將電機1反向端口置高 M2A=1; /將電機2正向端口置高 ShowPort=LedShowData3; /數碼管顯示左轉狀態 LeftLed=0; /將前方左側指示燈置低(亮) break; /退出判斷 case 4: /右轉 /判斷是否是右轉 M1A=1; /將電機1正向端口置高 M2B=1; /將電機2反向端口置高 ShowPort=LedShowData4; /數碼管顯示右轉狀態 RightLed=0; /將前方右側指示燈置低(亮) break; /退出判斷 case 5: M1A=1; /將電機1反向端口置高 M2A=1; /將電機2正向端口置高 ShowPort=LedShowData5; /數碼管顯示前進狀態 break; /退出判斷 case 8: M1A=0; /將電機1正向端口置低 M2A=0; /將電機2反向端口置低 ShowPort=LedShowData8; /數碼管顯示右轉狀態 RightLed=0; /將前方右側指示燈置低(亮) LeftLed=0; /將前方左側指示燈置低(亮) break; /退出判斷 default: /默認情況下的判斷 break; /直接退出判斷 void ComBreak() interrupt 4 /定義串口通信子程序unsigned char RecvData; /定義串口數據接收變量 if(RI=1) /判斷是否接收數據 RecvData=SBUF; /將接收到的數據放入暫時變量 if(RecvData10) /判斷接收到的數據是否小于10 ShowPort=LedShowDataRecvData; /將接收到的數據通過數碼管顯示出來 ControlCar(RecvData); /將串口數據置于小于狀態 SBUF=RecvData; /向電腦返回當前接收到的數據 RI=0; /清除接收中斷標志位 if(TI=1) /判斷是否是發送中斷 TI=0; /清除發送中斷標志位 void IR_IN() interrupt 2 using 0 /定義INT2外部中斷函數 unsigned char j,k,N=0; /定義臨時接收變量 EX1 = 0; /關閉外部中斷,防止再有信號到達 delay(15); /延時時間,進行紅外消抖 if (IRIN=1) /判斷紅外信號是否消失 EX1 =1; /外部中斷開 return; /返回 while (!IRIN) /等IR變為高電平,跳過9ms的前導低電平信號。 delay(1); /延時等待 for (j=0;j4;j+) /采集紅外遙控器數據 for (k=0;k=30) /判斷計數器累加值 EX1=1; /打開外部中斷功能 return; /返回 IRCOMj=IRCOMj 1; /進行數據位移操作并自動補零 if (N=8) /判斷數據長度 IRCOMj = IRCOMj | 0x80; /數據最高位補1 N=0; /清零位數計錄器 if (IRCOM2!=IRCOM3) /判斷地址碼是否相同 EX1=1; /打開外部中斷 return; /返回 for(j=0;j10;j+) /循環進行鍵碼解析 if(IRCOM2=RecvDataj) /進行鍵位對應 P2=LedShowDataj; /數碼管顯示相應數碼 switch(IRCOM2) case 0x0A: /前進 ControlCar(1); /小車前進 break; c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥物合成新技術試題及答案
- 解析衛生管理證書考試的成功因素試題及答案
- 藥物相互作用的影響與管理對策試題及答案
- 積累成功經驗2024年醫學基礎知識試題及答案
- 美業行業培訓講課
- 設計高效的育嬰師考試備考研討會方案試題及答案
- 計算機二級考試知識點的多維度深度學習方法試題及答案
- 駕照考試題及答案
- 計算機二級考試經濟與社會發展關聯性研究試題及答案
- 突破重難點臨床執業醫師試題及答案
- 2024-2025學年湖南省長沙市八年級(上)期末物理試卷(含解析)
- 2025-2030中國鍍鋅鋼板行業市場發展趨勢與前景展望戰略研究報告
- 施工合同中約定的安全防護、文明施工措施費用支付計劃
- 2025年安陽職業技術學院單招職業傾向性測試題庫帶答案
- 2025年審計監察面試題及答案
- nginx面試題及答案100道
- 2025年開封大學單招職業技能測試題庫及答案1套
- 小學教師招聘-《小學教育學》押題密卷1
- 《InSAR干涉測量》課件
- 2025年腦機接口藍皮書:未來將至打造人機交互新范式-前瞻研究院
- 中國移動泛終端產品白皮書(2025年版)
評論
0/150
提交評論