第一篇:畢業(yè)設計論文-基于單片機的循跡智能小車的設計與實現(xiàn)
編號
南京航空航天大學
畢業(yè)設計
題 目
基于單片機的智能小車的設
計與實現(xiàn)
學生姓名 學 號 系 部 專 業(yè) 班 級 指導教師
計算機科學與技術(shù)
講師
二〇一七年五月
南京航空航天大學
本科畢業(yè)設計(論文)誠信承諾書
本人鄭重聲明:所呈交的畢業(yè)設計(論文)(題目:基于單片機的智能小車的設計與實現(xiàn))是本人在導師的指導下獨立進行研究所取得的成果。盡本人所知,除了畢業(yè)設計(論文)中特別加以標注引用的內(nèi)容外,本畢業(yè)設計(論文)不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫的成果作品。
作者簽名:
年 月
日
(學號):
畢業(yè)設計(論文)報告紙
基于單片機的智能小車的設計與實現(xiàn)
摘要
在以計算機技術(shù)為代表的高新技術(shù)的迅猛發(fā)展下,機械系統(tǒng)大步邁向智能化。輪式機器人是我們最常見到的智能化設備。從生產(chǎn)制造業(yè)的無人搬運車,到特種行業(yè)的災難救援、排爆滅火機器人,再到軍事領域的偵查和防御機器人以及航天領域的星球表面探測器,處處可以見到智能小車的身影。
本文針對智能小車硬件和軟件的設計進行了詳細的介紹。在硬件方面,提出由電源模塊、車體模塊、單片機控制模塊、電機驅(qū)動控制模塊、電機模塊、傳感器模塊等構(gòu)成智能小車硬件系統(tǒng)。在軟件方面,利用Keil uVision 5集成開發(fā)工具進行C51高級語言的程序設計,開發(fā)出控制程序。智能小車利用搭載在車前端兩側(cè)的紅外傳感器,識別路況,并以STC11F32XE單片機為控制核心,根據(jù)接收的信息發(fā)出相應的控制指令,通過--L298驅(qū)動控制模塊來驅(qū)動小車以實現(xiàn)循跡。本系統(tǒng)的硬件和軟件均采取了模塊化的設計結(jié)構(gòu),系統(tǒng)電路簡單,可靠性高,拓展性強。在實際調(diào)試過程中(無人為干擾下),智能小車能適應直道、S彎、環(huán)形等路況,達到循跡智能小車設計的目的和要求。
關鍵詞:智能小車,軟件設計,單片機,循跡
i
畢業(yè)設計(論文)報告紙
Design and Implementation of Intelligent Car Based on Single-Chip Microcomputer
Abstract With the rapid development of new technology which is symbolized by computer technology, mechanical system has taken a step towards the intelligence.Wheeled robots are the most common intelligent devices in our life.Ranging from the unmanned van of manufacturing industry , to the special industry disaster relief, and the detection and defense robots in the military field and the surface detector in the aerospace field , the smart car figure can be seen everywhere.This article introduces the hardware and software design of the smart car in detail.In terms of the hardware, the hardware system of intelligent car is made up of power module, body module, single chip microcomputer module, motor drive module, motor module and sensor module.In the aspect the software, C51 high-level language programming can be designed by the employment of Keil uVision 5 integrated development tools,.thus developing a control program.The intelligent car uses the infrared sensor mounted on both sides of the front end of the car to identify the road condition and uses the STC11F32XE single chip as the control core, sending out the corresponding control instruction according to the received information , through the
第二篇:智能循跡小車___設計報告
智能循跡小車設計
專 業(yè): 自動化 班 級: 自動化132 姓 名:羅植升 莫柏源 梁桂賓 指導老師:
2014年4月——2010年6月
摘要: 本課題是基于STC89C52單片機的智能小車的設計與實現(xiàn),小車完成的主要功能是能夠自主識別黑色引導線并根據(jù)黑線走向?qū)崿F(xiàn)快速穩(wěn)定的尋線行駛。小車系統(tǒng)以 STC89C52單片機為系統(tǒng)控制處理器; 采用紅外傳感獲取賽道的信息,來對小車的方向和速度進行控制。此外,對整個控制軟件進行設計和程序的編制以及程序的調(diào)試,并最終完成軟件和硬件的融合,實現(xiàn)小車的預期功能。
引 言 當今世界,傳感器技術(shù)和自動控制技術(shù)正在飛速發(fā)展,機械、電氣和電子信息已經(jīng)不再明顯分家,自動控制在工業(yè)領域中的地位已經(jīng)越來越重要,“智能”這個詞也已經(jīng)成為了熱門詞匯?,F(xiàn)在國外的自動控制和傳感器技術(shù)已經(jīng)達到了很高的水平,特別是日本,比如日本本田制作的機器人,其仿人雙足行走已經(jīng)做得十分逼真,而且具有一定的學習能力,還據(jù)說其智商已達到6歲兒童的水平。
作為機械行業(yè)的代表產(chǎn)品—汽車,其與電子信息產(chǎn)業(yè)的融合速度也顯著提高,呈現(xiàn)出兩個明顯的特點:一是電子裝置占汽車整車(特別是轎車)的價值量比例逐步提高,汽車將由以機械產(chǎn)品為主向高級的機電一體化方向發(fā)展,汽車電子產(chǎn)業(yè)也很有可能成為依托整車制造業(yè)和用車提升配置而快速成為新的增長點;二是汽車開始向電子化、多媒體化和智能化方向發(fā)展,使其不僅作為一種代步工具、同時能具有交通、娛樂、辦公和通訊等多種功能。
無容置疑,機電一體化人才的培養(yǎng)不論是在國外還是國內(nèi),都開始重視起來,主要表現(xiàn)在大學生的各種大型的創(chuàng)新比賽,比如:亞洲廣播電視聯(lián)盟亞太地區(qū)機器人大賽(ABU ROBCON)、全國大學生“飛思卡爾”杯智能汽車競賽等眾多重要競賽都能很好的培養(yǎng)大學生對于機電一體化的興趣與強化機電一體化的相關知識。但很現(xiàn)實的狀況是,國內(nèi)不論是在機械還是電氣領域,與國外的差距還是很明顯的,所以作為機電一體化學生,必須加倍努力,為逐步趕上國外先進水平并超過之而努力。
為了適應機電一體化的發(fā)展在汽車智能化方向的發(fā)展要求,提出簡易智能小車的構(gòu)想,目的在于:通過獨立設計并制作一輛具有簡單智能化的簡易小車,獲得項目整體設計的能力,并掌握多通道多樣化傳感器綜合控制的方法。所以立“智能循跡小車”一題作為嘗試。
此項設計是在以楊老師提供的小車為基礎上,采用AT89C52單片機作為控制核心,實現(xiàn)能夠自主識別黑色引導線并根據(jù)黑線走向?qū)崿F(xiàn)快速穩(wěn)定的尋線行駛。
一、實驗目的:
通過設計進一步掌握51單片機的應用,特別是在嵌入式系統(tǒng)中的應用。進一步學習51單片機在系統(tǒng)中的控制功能,能夠合理設計單片機的外圍電路,并使之與單片機構(gòu)成整個系統(tǒng)。
二、設計方案:
該智能車采用紅外傳感器對賽道進行道路檢測,單片機根據(jù)采集到的信號的不同狀態(tài)判斷小車當前狀態(tài),通過電機驅(qū)動芯片L9110發(fā)出控制命令,控制電機的工作狀態(tài)以實現(xiàn)對小車姿態(tài)的控制。
三、報告內(nèi)容安排:
本技術(shù)報告主要分為三個部分。第一部分是對整個系統(tǒng)實現(xiàn)方法的一個概要說明,主要內(nèi)容是對整個技術(shù)原理的概述;第二部分是對硬件電路設計的說明,主要介紹系統(tǒng)傳感器的設計及其他硬件電路的設計原理等;第三部分是對系統(tǒng)軟件設計部分的說明,主要內(nèi)容是智能模型車設計中主要用到的控制理論、算法說明及代碼設計介紹等。
技術(shù)方案概要說明
本模型車的電路系統(tǒng)包括電源管理模塊、單片機模塊、傳感
器模塊、電機驅(qū)動模塊。
工作原理:
? 利用紅外采集模塊中的紅外發(fā)射接收對管檢測路面上的軌跡 ? 將軌跡信息送到單片機
? 單片機采用模糊推理求出轉(zhuǎn)向的角度和行走速度,然后去控制 行走部分
? 最終完成智能小車可以按照路面上的軌跡運行。
硬件電路的設計
1、最小系統(tǒng):
小車采用STC89C52單片機作為控制芯片,圖1是其最小系統(tǒng)電路。主要包括:時鐘電路、電源電路、復位電路。其中各個部分的功能如下:
1、時鐘電路:給單片機提供一個外接的12MHz的石英晶振。
2、電源電路:給單片機提供5V電源。
3、復位電路:在電壓達到正常值時給單片機一個復位信號。
圖1
單片機最小系統(tǒng)原理圖
2、電源電路設計:
模型車通過自身系統(tǒng),采集賽道信息,獲取自身速度信息,加以處理,由芯片給出指令控制其前進轉(zhuǎn)向等動作,各部分都需要由電路支持,電源管理尤為重要。在本設計中,51單片機使用5V電源,電機及舵機使用6V電源??紤]到電源為充電電池組,額定電壓為7.2V,實際充滿電后電壓則為6.5-6.8V,所以單片機及傳感器模塊采用7805穩(wěn)壓后的5V電源供電,舵機及電機直接由電池供電。
3、傳感器電路:
光電尋線方案一般由多對TCRT5000紅外收發(fā)管組成,通過檢測接收到的反射光強,判斷黑白線。原理圖由紅外對管和電壓比較器兩部分組成,紅外對管輸出的模擬電壓通過電壓比較器轉(zhuǎn)換成數(shù)字電平輸出到單片機。
圖2
賽道檢測原理圖:
4、電機驅(qū)動電路:
電機驅(qū)動芯片L9110,內(nèi)部包含4通道邏輯驅(qū)動電路。是一種二相和四相電機的專用驅(qū)動器,即內(nèi)含二個H橋的高電壓大電流雙全橋式驅(qū)動器,接收標準TTL邏輯電平信號,可驅(qū)動46V、2A以下的電機。其引腳排列如圖1中U4所示,1腳和15腳可單獨引出連接電流采樣電阻器,形成電流傳感信號。L9110可驅(qū)動2個電機,OUT1、OUT2和OUT3、OUT4之間分別接2個電動機。5、7、10、12腳接輸入控制電平,控制電機的正反轉(zhuǎn),ENA,ENB接控制使能端,控制電機的停轉(zhuǎn)。也利用單片機產(chǎn)生PWM信號接到ENA,ENB端子,對電機的轉(zhuǎn)速進行調(diào)節(jié)。L9110的邏輯功能:
表1 SHARP GP2D12實物圖
外形及封裝:
圖3 L9110實物圖
L9110電路原理圖:
由于一片L298N可以直接驅(qū)動兩個電機,但是為了加大驅(qū)動力,我們采用兩路并聯(lián)的方式來驅(qū)動電機。
圖3.3 L9110電路圖
小車循跡規(guī)則:
若小車偏左的時候,車輪將向右偏轉(zhuǎn);若小車偏右,車輪將向左偏轉(zhuǎn);若沒有偏移,小車將繼續(xù)向前;若小車完全偏離黑色軌跡,小車后退以尋找黑色軌跡。小車程序:
#include
sbit chongshua=P3^6;//定義單片機控制沖刷的引腳 sbit tuodi=P3^7;//定義單片機控制拖地的引腳
//--------//1602液晶相關I/O設置
sbit E=P2^3;//1602液晶的E腳接在P2.3口上 sbit RW=P2^4;//1602液晶的RW腳接在P2.4口上 sbit RS=P2^5;//1602液晶的RS腳接在P2.5口上
//HC-SR04相關I/O設置 sbit TIRG=P3^4;sbit ECHO=P3^2;
bit flag =0;
//定義IO口,具體可以去查看原理圖 //定義IO口,具體可以去查看原理圖 uchar k;uchar a=0;//定義一個變量a,用來讀取串口的數(shù)據(jù)
void delay(uint z)//一個帶參數(shù)的延時程序 {
}
void init()//初始化子程序 {
} TMOD=0x20;//設置定時器T1為工作方式2 TH1=0xfd;TL1=0xfd;//T1定時器裝初值 TR1=1;//啟動定時器T1 REN=1;//允許串口接收 SM0=0;SM1=1;//設置串口工作方式1 EA=1;//開總中斷 ES=1;//開串口中斷 int i,j;//定義兩個變量 for(i=10;i>0;i--)for(j=z;j>0;j--);//將參數(shù)z賦值給j void qian()//左右輪協(xié)同前進子函數(shù) {
} void zuo()//左右輪協(xié)同左轉(zhuǎn)子函數(shù) {
you1=0;you2=1;zuo1=1;zuo2=0;delay(9);//pwm調(diào)速 此為pwm有效值 you1=1;you2=1;you1=0;you2=1;zuo1=0;zuo2=1;delay(6);//pwm調(diào)速 此為pwm有效值 you1=1;you2=1;zuo1=1;zuo2=1;delay(4);
} zuo1=1;zuo2=1;delay(1);
void mzuo()//左右輪協(xié)同左轉(zhuǎn)子函數(shù) {
} void you()//左右輪協(xié)同右轉(zhuǎn)子函數(shù) {
you1=1;you2=0;zuo1=0;you1=0;you2=1;zuo1=1;zuo2=0;delay(10);//pwm調(diào)速 此為pwm有效值 you1=1;you2=1;zuo1=1;zuo2=1;delay(5);
} zuo2=1;delay(9);//pwm調(diào)速 此為pwm有效值 you1=1;you2=1;zuo1=1;zuo2=1;delay(1);
void myou()//左右輪協(xié)同右轉(zhuǎn)子函數(shù) {
} you1=1;you2=0;zuo1=0;zuo2=1;delay(10);//pwm調(diào)速 此為pwm有效值 you1=1;you2=1;zuo1=1;zuo2=1;delay(5);void hou()//左右輪協(xié)同前進子函數(shù) {
}
void ting()//左右輪都停止轉(zhuǎn)動 {
} you1=1;you2=1;zuo1=1;zuo2=1;you1=1;you2=0;zuo1=1;zuo2=0;delay(9);//pwm調(diào)速 此為pwm有效值 you1=1;you2=1;zuo1=1;zuo2=1;delay(1);
void Delay1602(unsigned int t){ unsigned int k;//定義一個16位寄存器用來做延時用 for(k=0;k void LCD1602_busy(void){ P0_7=1;// RS=0;//RS=0讀入 RW=1;//RS=0讀入 E=1;//RS=0讀入 while(P0_7==1);// E=0;//} 延時 將P0.7置1,為讀狀態(tài)做準備、RW= 1、E=1時,忙信號輸出到DB7,由P0.7、RW= 1、E=1時,忙信號輸出到DB7,由P0.7、RW= 1、E=1時,忙信號輸出到DB7,由P0.7由P0.7讀入1,表示1602液晶忙,需要等待 讀完以后,恢復E的電平void LCD1602_Write_com(unsigned char combuf){ RS=0;//選擇指令寄存器 RW=0;//選擇寫狀態(tài) P0=combuf;//將命令字通過P0口送至DB E=1;//E高電平將命令字寫入1602液晶 E=0;//寫完以后,恢復E的電平} void LCD1602_Write_com_busy(unsigned char combuf){ LCD1602_busy();//調(diào)用忙檢測函數(shù) LCD1602_Write_com(combuf);//調(diào)用忙檢測函數(shù) } void LCD1602_Write_data_busy(unsigned char databuf){ LCD1602_busy();//調(diào)用忙檢測函數(shù) RS=1;//選擇數(shù)據(jù)寄存器 RW=0;//選擇寫狀態(tài) P0=databuf;//將命令字通過P0口送至DB E=1;//E高電平將命令字寫入1602液晶 E=0;//寫完以后,恢復E的電平} void LCD1602_Write_address(unsigned char x,unsigned char y){ x&=0x0f;//列地址限制在0-15間 y&=0x01;//行地址限制在0-1間 if(y==0)//如果是第一行 LCD1602_Write_com_busy(x|0x80);//將列地址寫入 else //如果是第二行 LCD1602_Write_com_busy((x+0x40)|0x80);//將列地址寫入 } void LCD1602_init(void){ Delay1602(1500);//調(diào)用延時函數(shù) LCD1602_Write_com(0x38);//8位數(shù)據(jù)總線,兩行顯示模式,5*7點陣顯示 Delay1602(500);//調(diào)用延時函數(shù) LCD1602_Write_com(0x38);//8位數(shù)據(jù)總線,兩行顯示模式,5*7點陣顯示 Delay1602(500);//調(diào)用延時函數(shù) LCD1602_Write_com(0x38);//8位數(shù)據(jù)總線,兩行顯示模式,5*7點陣顯示 LCD1602_Write_com_busy(0x38);//8位數(shù)據(jù)總線,兩行顯示模式,5*7點陣顯示 LCD1602_Write_com_busy(0x08);//顯示功能關,無光標 LCD1602_Write_com_busy(0x01);//清屏 LCD1602_Write_com_busy(0x06);//寫入新的數(shù)據(jù)后,光標右移,顯示屏不移動 LCD1602_Write_com_busy(0x0C);//顯示功能開,無光標 } void LCD1602_Disp(unsigned char x,unsigned char y,unsigned char buf){ LCD1602_Write_address(x,y);//先將地址信息寫入 LCD1602_Write_data_busy(buf);//再寫入要顯示的數(shù)據(jù) } void Timer0(void)interrupt 1 { } flag=0;void xunji(){ qian();//調(diào)用前進子函數(shù),使小車光電管不滿足以下幾個條件時都處于前進狀態(tài) while((z==0)&&(y==1)&&(q==1))//判斷當左邊光電管遇到黑線,{ } while((z==1)&&(y==0)&&(q==1))//判斷當右邊光電管遇到黑線,{ } while((z==0)&&(y==0)&&(q==1))//判斷當左邊光電管遇到黑線,右邊 //左邊和前邊的光電管遇到白線時右轉(zhuǎn) //右邊和前邊的光電管遇到白線時左轉(zhuǎn) zuo();//調(diào)用左轉(zhuǎn)函數(shù) zd=1;you();//調(diào)用右轉(zhuǎn)函數(shù) yd=1;光電管也遇到黑線 { //前邊的光電管遇到白線時停止 ting();//調(diào)用停止函數(shù) } hd=1;while((z==0)&&(y==0)&&(q==0))//判斷當左邊、右邊、前邊光電管同時遇到黑線 } void csb(){ long S;unsigned int i;unsigned int Timeout; { } //即遇到十字路口,小車前進 qian();//調(diào)用前進函數(shù) LCD1602_init();//調(diào)用1602液晶初始化函數(shù) //***定時器Timer0初始化*** TMOD&=0xF0;//將TMOD的低4位定時器0控制部分清零 TMOD|=0x01;//設置定時器0為方式1 TMOD=0x01;TL0=0;//設置定時器0初值低8位 TH0=0; //設置定時器0初值高8位 TR0=0;//停止定時器0 ET0=1;//Timer0中斷允許 //***開全局中斷設置**** //定時器Timer0設置了中斷允許,此處要開全局中斷 EA=1;//開全局中斷 TIRG=1; //發(fā)一個脈沖觸發(fā)信號 //維持約17US,符合不低于10US的要求 //維持約17US,符合不低于10US的要求 i=4; while(i>0)i--; TIRG=0;TR0=0; //維持約17US,符合不低于10US的要求 //撤銷觸發(fā)信號 //關閉定時器 //設置定時器0初值低8位為0 TL0=0; TH0=0; //設置定時器0初值高8位為0 //清除溢出標志 k=0;flag=0;Timeout=0;while((ECHO==0)&&((Timeout++)<50000)); //等待回響高電平 TR0=1;//回響高電平來后啟動定時器 Timeout=0;while((ECHO==1)&&((Timeout++)<50000)); //等待回響高電平結(jié)束后 TR0=0; //關閉定時器 S=((TH0*256+TL0)*1)/58; if(flag==1||S>400)//超出測量范圍顯示“-” { LCD1602_Disp(0, 0, '-'); LCD1602_Disp(1, 0, '-'); LCD1602_Disp(2, 0, '-'); LCD1602_Disp(3, 0, 'C'); LCD1602_Disp(4, 0, 'M'); } else { LCD1602_Disp(0, 0, S%1000/100+'0'); LCD1602_Disp(1, 0, S%1000%100/10+'0');// LCD1602_Disp(2, 0, S%1000%100%10+'0'); LCD1602_Disp(3, 0, 'C'); LCD1602_Disp(4, 0, 'M'); } i=18000; while(i>0) //顯示百位- //顯示十位- //顯示個位- //顯示C //顯示M //顯示百位 顯示十位 //顯示個位 //顯示C //顯示M //維持約77400US,符合不低于60MS的要求 //維持約77400US,符合不低于60MS的要求 i--; } void main()//主程序 { //維持約77400US,符合不低于60MS的要求 init();//調(diào)用初始化子程序 while(1)//死循環(huán) { switch(a)//判斷a從串口讀取到的數(shù)據(jù) { case 0x00://如果是0x1f就前進 xunji();break;case 0x01://如果是0x2f就后退 qian();break;case 0x02://如果是0x3f就左轉(zhuǎn) csb();break; case 0x03://如果是0x4f就右轉(zhuǎn) mzuo();zd=1;break; case 0x04://如果是0x00就停止 hou();break; case 0x05://如果是0xa0車燈打開 myou();yd=1;break; case 0x06://如果是0xb0車燈關閉 chongshua=1;break; case 0x07://如果是0xc0蜂鳴器鳴響 } ting();hd=1;break; case 0x08://如果是0xc0蜂鳴器鳴響 tuodi=1;break;} } void chuan()interrupt 4//串口中斷服務程序 { } RI=0;//軟件清除串口響應 a=SBUF;//讀取單片機串口接受的藍牙模塊發(fā)送的數(shù)據(jù) 結(jié)論 根據(jù)本次設計要求,我們小組系統(tǒng)地閱讀了大量的資料,并認真分析了設計課題的需求,還系統(tǒng)學習了51系列單片機的工作原理及其使用方法,并獨自設計智能小車的整個項目。 雖然條件艱苦,但經(jīng)過不懈鉆研和努力,購買到了所有所需的元器件,并系統(tǒng)的進行了多項試驗,最終做出了整個小車的硬件系統(tǒng),然后結(jié)合課題任務和小車硬件進行了程序的編制,本系統(tǒng)能夠基本滿足設計要求,能夠較快較平穩(wěn)的是小車沿引導線行駛,但由于經(jīng)驗能力有限,該系統(tǒng)還存在著許多不盡人意的地方有待于進一步的完善與改進。 通過本次課題設計,不僅是對我們課本所學知識的考查,更是對我的自學能力和收集資料能力以及動手能力的考驗。本次畢業(yè)設計使我們對一個項目的整體設計有了初步認識,還認識了幾種傳感器,并能獨立設計出其接口電路,再有對電路板的制作有了一定的了解,并學會了使用Protel設計電路。本次畢業(yè)設計使我們意識到了實驗的重要性,在硬件制作和軟件調(diào)試的過程中,出現(xiàn)了很多問題,最終都是通過實驗的方法來解決的。還有以前對程序只是一個很模糊的概念,通過這次的課題設計使我對程序完全有了一個新的認識,并能使用C熟練的進行編程了。通過本次課題設計,極大的鍛煉了我們的思考和分析問題的能力,并對單片機有了一個更深的認識。 總之,在課題設計的過程中,無論是對于學習方法還是理論知識,我們都有了新的認識,受益匪淺,這將激勵我們在今后再接再厲,不斷完善自己的理論知識,提高實踐運作能力。 摘要:本次設計的智能循跡小車是以單片機89c51為主控制器。運用反射式紅外傳感器來進行路徑檢測和速度監(jiān)測模塊。將檢測數(shù)據(jù)傳回單片機進行處理,同時,用單片機產(chǎn)生PWM波來控制小車的行進速度,并實時控制小車的行進狀態(tài)。另外,在小車上還擴展了LCD作為人機交互界面,以便于實時了解小車個監(jiān)測傳感器的狀態(tài)機小車的實時數(shù)據(jù),由于本次設計的是智能自動循跡小車,整個任務過程無需人工的任何干預,故而沒有進行鍵盤及遙控等的人工操作設備。用多路傳感器的實時監(jiān)測和算法的緊密配合來保證小車的順暢完成任務。 關鍵字:80c51單片機,c/c++/匯編語言編程,電子智能小車,光電檢測器 一、引言 智能車輛是一個運用計算機、傳感、信息、通信、導航、人工智能及自動控制等技術(shù)來實現(xiàn)環(huán)境感知、規(guī)劃決策和自動行駛為一體的高新技術(shù)綜合體。它在軍事、民用和科學研究等方面已獲得了應用,對解決道路交通安全提供了一種新的途徑 隨著汽車工業(yè)的迅速發(fā)展,關于汽車的研究也就越來越受人關注。全國電子大賽和省內(nèi)電子大賽幾乎每次都有智能小車這方面的題目,全國各高校也都很重視該題目的研究,許多國家已經(jīng)把電子設計比賽作為創(chuàng)新教育的戰(zhàn)略性手段。電子設計涉及到多個學科,機械電子、傳感器技術(shù)、自動控制技術(shù)、人工智能控制、計算機與通信技術(shù)等等,是眾多領域的高科技。電子設計技術(shù),它是一個國家高科技實例的一個重要標準,可見其研究意義很大 本次設計雖然只是一個演示模型,但是具有充分的科學性和實用性。首先我們根據(jù)交通路面的復雜情況,按照適當?shù)谋壤谱鞒鲆粋€路況模型,包括彎道、直道以及路面上設置的障礙物等。在彎、直道上,小車沿著預定軌道自由行使,當小車遇到障礙物時,脈沖調(diào)制的紅外線傳感器將檢測到的信號發(fā)送給單片機,單片機根據(jù)程序發(fā)出相應的控制信號控制小車自動避開障礙物,進行倒車、前進、左轉(zhuǎn)、右轉(zhuǎn)等動作 二、主題部分 智能車輛是集環(huán)境感知、規(guī)劃決策、多等級輔助駕駛等功能于一體的綜合系統(tǒng),是智能交通系統(tǒng)的一個重要組成部分。它在軍事、民用、太空開發(fā)等領域有著廣泛的應用前景。本次設計對智能小車的控制系統(tǒng)進行了研究,設計實現(xiàn)一個基于路徑規(guī)劃處理的智能小車控制系統(tǒng) 2.1 理論的提出 科技的進步帶動了產(chǎn)品的智能化,單片機的應用更是加快了發(fā)展的步伐,它的應用范圍日益廣泛,已經(jīng)遠遠的超出了計算機科學領域。小到玩具、信用卡,大到航天飛機、機器人,從實現(xiàn)數(shù)據(jù)采集、遠程控制、模糊控制等智能系統(tǒng)帶人類的日常生活,到處離不開單片機,此設計正是單片機的一個典型的應用。此設計通過實現(xiàn)了小車的無人駕駛,通過對路面的檢測,由單片機來判斷控制其小車的反應情況,使其變得智能化,實現(xiàn)自動的前進,轉(zhuǎn)彎,停止功能,此系統(tǒng)還不斷的完善后可以應用到道路檢測,安全巡邏中,能滿足社會的需求。 在設計上,使用連個傳感器來檢測路面的情況,傳感器的心海比較微弱,采用一個放大器進行比較放大,并將其信號輸入到控制器,在受控制端使用步進電機,因為步進電機是用電脈沖進行控制的,只要從控制器輸出滿足步進電機功過的固定控制字即可。此外步進電機的運作還要一個驅(qū)動電路,故電路中還要加入一個驅(qū)動電路,各個功能模塊對電源電流的要求不同,對電源部分設置轉(zhuǎn)換電路,從而滿足各個部分的需要。經(jīng)過元件的比較選擇,設計出電路原理圖和電路板,并做好硬件的調(diào)試,系統(tǒng)往往是軟件和硬件兩者相結(jié)合的有機整體。軟件上,使用51單片機的定時器中斷來控制路面檢測間隔和小車的運動及速度。由于帶那路比較簡單,就采用較為傳統(tǒng)的匯編語言進行程序設計。對于程序設計的正確性,用較常用的keil c51仿真軟件進行仿真驗證,最后便是軟硬件的綜合調(diào)試,證明本設計方案的正確性和可行性。2.2 電子智能小車的設計要求 ①電動車能夠能夠按照行使路線跑完全程; ②電動車能存儲并顯示檢測到的金屬片數(shù)目以及金屬片至起跑線的距離; ③要求電動車行使完全程后能夠準確的顯示電動車全程行使時間; ④電動車在行使過程中不能與障礙物碰撞。2.3計算摘要: 本次設計的智能循跡小車是以單片機89c51為主控制器。運用反射式紅外傳感器來進行路徑檢測和速度監(jiān)測模塊。將檢測數(shù)據(jù)傳回單片機進行處理,同時,用單片機產(chǎn)生PWM波來控制小車的行進速度,并實時控制小車的行進狀態(tài)。另外,在小車上還擴展了LCD作為人機交互界面,以便于實時了解小車個監(jiān)測傳感器的狀態(tài)機小車的實時數(shù)據(jù),由于本次設計的是智能自動循跡小車,整個任務過程無需人工的任何干預,故而沒有進行鍵盤及遙控等的人工操作設備。用多路傳感器的實時監(jiān)測和算法的緊密配合來保證小車的順暢完成任務。 關鍵字:80c51單片機,c/c++/匯編語言編程,電子智能小車,光電檢測器 三、引言 智能車輛是一個運用計算機、傳感、信息、通信、導航、人工智能及自動控制等技術(shù)來實現(xiàn)環(huán)境感知、規(guī)劃決策和自動行駛為一體的高新技術(shù)綜合體。它在軍事、民用和科學研究等方面已獲得了應用,對解決道路交通安全提供了一種新的途徑 隨著汽車工業(yè)的迅速發(fā)展,關于汽車的研究也就越來越受人關注。全國電子大賽和省內(nèi)電子大賽幾乎每次都有智能小車這方面的題目,全國各高校也都很重視該題目的研究,許多國家已經(jīng)把電子設計比賽作為創(chuàng)新教育的戰(zhàn)略性手段。電子設計涉及到多個學科,機械電子、傳感器技術(shù)、自動控制技術(shù)、人工智能控制、計算機與通信技術(shù)等等,是眾多領域的高科技。電子設計技術(shù),它是一個國家高科技實例的一個重要標準,可見其研究意義很大 本次設計雖然只是一個演示模型,但是具有充分的科學性和實用性。首先我們根據(jù)交通路面的復雜情況,按照適當?shù)谋壤谱鞒鲆粋€路況模型,包括彎道、直道以及路面上設置的障礙物等。在彎、直道上,小車沿著預定軌道自由行使,當小車遇到障礙物時,脈沖調(diào)制的紅外線傳感器將檢測到的信號發(fā)送給單片機,單片機根據(jù)程序發(fā)出相應的控制信號控制小車自動避開障礙物,進行倒車、前進、左轉(zhuǎn)、右轉(zhuǎn)等動作 四、主題部分 智能車輛是集環(huán)境感知、規(guī)劃決策、多等級輔助駕駛等功能于一體的綜合系統(tǒng),是智能交通系統(tǒng)的一個重要組成部分。它在軍事、民用、太空開發(fā)等領域有著廣泛的應用前景。本次設計對智能小車的控制系統(tǒng)進行了研究,設計實現(xiàn)一個基于路徑規(guī)劃處理的智能小車控制系統(tǒng) 4.1 理論的提出 科技的進步帶動了產(chǎn)品的智能化,單片機的應用更是加快了發(fā)展的步伐,它的應用范圍日益廣泛,已經(jīng)遠遠的超出了計算機科學領域。小到玩具、信用卡,大到航天飛機、機器人,從實現(xiàn)數(shù)據(jù)采集、遠程控制、模糊控制等智能系統(tǒng)帶人類的日常生活,到處離不開單片機,此設計正是單片機的一個典型的應用。此設計通過實現(xiàn)了小車的無人駕駛,通過對路面的檢測,由單片機來判斷控制其小車的反應情況,使其變得智能化,實現(xiàn)自動的前進,轉(zhuǎn)彎,停止功能,此系統(tǒng)還不斷的完善后可以應用到道路檢測,安全巡邏中,能滿足社會的需求。 在設計上,使用連個傳感器來檢測路面的情況,傳感器的心海比較微弱,采用一個放大器進行比較放大,并將其信號輸入到控制器,在受控制端使用步進電機,因為步進電機是用電脈沖進行控制的,只要從控制器輸出滿足步進電機功過的固定控制字即可。此外步進電機的運作還要一個驅(qū)動電路,故電路中還要加入一個驅(qū)動電路,各個功能模塊對電源電流的要求不同,對電源部分設置轉(zhuǎn)換電路,從而滿足各個部分的需要。經(jīng)過元件的比較選擇,設計出電路原理圖和電路板,并做好硬件的調(diào)試,系統(tǒng)往往是軟件和硬件兩者相結(jié)合的有機整體。軟件上,使用51單片機的定時器中斷來控制路面檢測間隔和小車的運動及速度。由于帶那路比較簡單,就采用較為傳統(tǒng)的匯編語言進行程序設計。對于程序設計的正確性,用較常用的keil c51仿真軟件進行仿真驗證,最后便是軟硬件的綜合調(diào)試,證明本設計方案的正確性和可行性。4.2 電子智能小車的設計要求 ①電動車能夠能夠按照行使路線跑完全程; ②電動車能存儲并顯示檢測到的金屬片數(shù)目以及金屬片至起跑線的距離; ③要求電動車行使完全程后能夠準確的顯示電動車全程行使時間; ④電動車在行使過程中不能與障礙物碰撞。4.3計算機網(wǎng)絡教學網(wǎng)站的總體構(gòu)思 采用89c51單片機作為小車的控制單元,在小車的前端就八路從外傳感器,作為小車進入車庫過程中黑帶的檢測元件,在小車的后端在接上八路紅外線傳感器作為小車退出車庫時的黑帶檢測元件,采用LJ18A3-8-Z/BX電感式接近開關作為車庫內(nèi)鐵片的檢測元件,單片機接受到傳感器檢測到的信號后通過相應的程序控制小車的前進,后退,轉(zhuǎn)彎,從而使小車的性能指標滿足本次設計的要求。4.3.1 設計思路 智能小車是智能車輛研究的一個分支。它以車輪作為移動機構(gòu)、能夠?qū)崿F(xiàn)自主 行駛,所以我們稱之為智能小車。智能小車具有機器人的基本特征——易于編程。它與遙控小車的不同之處在于,后者需要操作員來控制其轉(zhuǎn)向、啟停和進退,比較 先進的遙控車還能控制其速度(常見的模型小車都屬于這類遙控車);而智能小車 則可以通過計算機編程來實現(xiàn)其對小車啟停、行駛方向以及速度的控制,無需人工 干預。操作員可以通過修改智能小車的計算機程序或者某些數(shù)據(jù)來改變它的行駛方 式。這種可以通過編程來控制、改變小車行駛方式的特性是智能小車的最大特點。智能小車控制系統(tǒng)的研究目的是使得小車行駛具有更高自主性。如果任意給定 小車一條無障路徑,通過該系統(tǒng),小車就可以得到系統(tǒng)對路徑圖形處理后的數(shù)據(jù)(位 移與轉(zhuǎn)角),并能根據(jù)位移和轉(zhuǎn)角信息按照預定路徑行進 4.3.2 控制系統(tǒng)結(jié)構(gòu)分析 根據(jù)上述設計思路,可將智能小車控制系統(tǒng)的結(jié)構(gòu)分為兩層 1、規(guī)劃層 上位機控制系統(tǒng),規(guī)劃層提供的是小車行駛的全局信息,包括路徑處理模塊和 通信模塊。它要解決的基本問題有 (1)使用什么工具處理小車的路徑圖形; (2)建立小車的運動模型,計算出小車行駛所需的數(shù)據(jù);(3)建立小車的運動模型,計算出小車行駛所需的數(shù)據(jù); 2、行為層 下位機控制系統(tǒng),行為層是智能小車控制系統(tǒng)的底層結(jié)構(gòu),實現(xiàn)對小車行駛的 實時控制,它包括通信模塊、電機控制模塊和數(shù)據(jù)采集模塊。它要解決的基本問題 有:(1)接收、處理上位機發(fā)送的數(shù)據(jù)信息;(2)設計步進電機的控制系統(tǒng); (3)采集小車的位移和轉(zhuǎn)角信息,定位小車姿態(tài),分析系統(tǒng)控制誤差; 4.3.3 總設計方案 由系統(tǒng)結(jié)構(gòu)得到智能小車控制系統(tǒng)的命令流程: (1)啟動AutoCAD,繪制或選擇一條封閉曲線為小車路徑,拾取小車的起始路徑圖元(2)對選取的路徑圖形進行處理,使小車轉(zhuǎn)彎處存在的棱角在最小轉(zhuǎn)彎半徑范圍外以圓弧方式過渡 (3)生成新的路徑圖形,模擬小車的運動過程; (4)計算出小車行駛所需要的位移和車輪轉(zhuǎn)角,并將此數(shù)據(jù)發(fā)送給下位機(5)下位機接收數(shù)據(jù)后,通過軟件編程控制小車車輪的轉(zhuǎn)速和轉(zhuǎn)角,使其按照 預定路徑前進 一個完整的控制系統(tǒng)要求系統(tǒng)的各功能模塊聯(lián)系緊密,根據(jù)上述命令流程和它們之間的關系,可得系統(tǒng)的總設計方案。4.4設計主要有以下幾個模塊組成 1、信息采集模塊:信息采集部分是由光電檢測和運算放大模塊組成,光電檢測有尋跡檢測和測速檢測兩個部分。將檢測到的信號經(jīng)過預算放大模塊lm324放大整形后送給單片機處理,其核心部分是幾個光電傳感器。 2、控制處理模塊:控制處理模塊是一一片stc89c52單片機為核心,單片機將從采集到的信息進行判斷后,按照預定的算法處理,把處理的結(jié)果送交電機驅(qū)動和液晶顯示模塊,使之做出相應的動作。 3、執(zhí)行模塊:執(zhí)行模塊是由液晶顯示、電機驅(qū)動及電機、蜂鳴器三部分組成。液晶主要是將單片機處理的結(jié)果進行實時顯示,方便及時用戶了解系統(tǒng)當前的狀態(tài),電機驅(qū)動根據(jù)單片機的指令對兩個電機進行動作,使之能夠根據(jù)需要作出相應的加速、減速、轉(zhuǎn)彎、停車等的動作,以達到預期的目的。蜂鳴器主要是根據(jù)要求在特定的位置作出出響應來報告位置。 五﹑ 參考文獻 [1]徐國華 主編,移動機器人的發(fā)展現(xiàn)狀及其趨勢[J].機器人技術(shù)與應用,2001(3)[2]黨宏社 主編,智能車輛系統(tǒng)發(fā)展及其關鍵技術(shù)概述[J].公路交通科技,2002(4)[3]尹念東 主編,智能車輛的研究及前景[J].上海汽車,2002(2)[4]王榮本 主編,世界智能車輛研究概述[J].公路交通科技,2001(10 [5]王建農(nóng) 主編.自主移動機器人的導航研究[R].機器人,199 [6]Dickmanns,E.D,A.Zapp.Auto high speed road vehicle guidance[J].computer,1987 [7]姚 佳 主編,智能小車的蔽障及路徑規(guī)劃[D].東南大學碩士論文.2005 [8]徐國華 主編,譚民移動機器人的發(fā)展現(xiàn)狀及其趨勢[J].機器人技術(shù)與應用,2001(3)[9]白井良明[同],機器人工程[M].北京:科學出版社,2001 [10]張毅剛 主編,新編MCS-51單片機應用設計,第一版,哈爾濱工業(yè)大學出版社,2003 [11]劉南平主編,電子產(chǎn)品設計與制作技術(shù),科學出版社,2008 [12]楊 剛 主編,電子系統(tǒng)設計與實踐,電子工業(yè)出版社,2009.3 [13]余祖俊 主編,微機監(jiān)測與控制應用系統(tǒng)設計,北方交通大學出版社,2001.12 [14]溫志明 主編,運動控制系統(tǒng)分析與應用,國防工業(yè)出版社,2008.2 [15]催維娜 主編,智能電子制作,科學出版社,2007 [16]李忠文 主編,實用電機控制電路,化學工業(yè)出版社,2003.4 [17]張紅潤 主編,智能技術(shù)——系統(tǒng)設計與開發(fā),北京航空航天出版社,2007.2 [18]陳鐵軍 主編,智能控制理論及應用,清華大學出版社,2009.1 [19]劉少強 主編,傳感器設計與應用實例,中國電力出版社,2008 [20]何立民 主編,單片機應用系統(tǒng)設計,北京:航天航空大學出版社 [21]李廣弟 主編,單片機基礎,北京:北京航空航天大學出版社,2001 [22]何希才 主編,新型實用電子電路400例,電子工業(yè)出版社,2000 [23]趙負圖 主編,傳感器集成電路手冊,第一版,化學工業(yè)出版社,2004 [24]陳伯時 主編,電力拖動自動控制系統(tǒng),第二版,北京:機械工業(yè)出版社,2000年6月 [25]http://004km.cn/ Abstract: the design of intelligent tracking the car based on single chip microcomputer 89 c51 controller.Use reflective infrared sensor to test path and speed monitoring module.Will detect data back to the single chip microcomputer for processing, at the same time, using single-chip microcomputer to produce PWM wave to control the speed of the car, and real-time control of the car's moving state.In addition, also expanded the LCD on the car as the human-computer interaction interface, in order to understand the car a real-time monitoring of the real-time data of sensor state machine car, due to the design of intelligent automatic tracking the car, the whole process of task without any manual intervention, so no keyboard and remote control and manual operation of the equipment.With multiple sensors for real-time monitoring and algorithm closely to ensure that the car of complete the task smoothly.Key words: 80 c51, c/c + +, assembly language programming, electronic smart car photoelectric detector The introduction Intelligent vehicle is a use of computer, sensor, information, communication, navigation, artificial intelligence and automatic control technology to realize the environment awareness, planning decision and automatic drive of high and new technology.It in aspects such as military, civil and scientific research has received application, to solve the traffic safety provides a new way With the rapid development of automobile industry, the research about the car is becoming more and more attention by people.Contest of national competition and the province of electronic intelligent car almost every time this aspect of the topic, the national various universities are also attaches great importance to research on the topic, many countries have put the electronic design competition as a strategic means of innovative education.Electronic design involving multiple disciplines, machinery and electronics, sensor technology, automatic control technology, artificial intelligent control, computer and communication technology, etc., is a high-tech in the field of many.Electronic design technology, it is a national high-tech instance is one of the most important standard, its research significance is great The design though just a demo model, but is full of scientific and practical.First we according to the complex situation of road traffic, in accordance with the appropriate author to make a road model, including bend, straight and pavement set obstacles, etc.On curved and straight, the car along the orbit free exercise, when the small car meet obstacles, pulse modulation infrared sensors to detect the signal sent to the microcontroller, a corresponding control signal according to the program MCU control cars automatically avoid obstacles, to carry on the back, forward, turn left, turn right Subject parts Intelligent vehicle is a concentration of environment awareness, planning decision, multi-scale auxiliary driving, and other functions in an integrated system, is an important part of intelligent transportation system.In military, civilian, space exploration and other fields has a broad application prospect.The design of smart car control system are studied, based on path planning is a process of the intelligent car control system 2.1 theory is put forward The progress of science and technology of intelligent led products, but also accelerated the pace of development, MCU application scope of its application is increasingly wide, has gone far beyond the field of computer science.Small to toys, credit CARDS, big to the space shuttle, robots, from data acquisition, remote control and fuzzy control, intelligent systems with the human daily life, everywhere is dependent on the single chip microcomputer, this design is a typical application of single chip microcomputer.This design by implementing the driverless car, on the tests, by the reaction of the single chip microcomputer to control the car, make its become intelligent, automatic forward, turn and stop function, after continuing the perfection of this system also can be applied to road testing, security patrol, can meet the needs of society.In design, the use of the sensors to detect road surface condition, sensor central sea are faint and adopts a comparing amplifier amplification, and the signal input to the controller, the controlled end using stepper motor, because of the step motor is controlled electrical pulse, as long as the output from the controller to satisfy stepper motor merits of fixed control word.In operation of stepping motor and a driving circuit, it also to join a drive circuit in the circuit, each function module is different to the requirement of power supply current, the power supply part set up conversion circuit, so as to meet the needs of the various parts.After comparison choice element, design the circuit principle diagram and the circuit board, and do the debugging of hardware, system software and hardware is often the combination of organic whole.Software, on the use of the 51 single-chip timer interrupt to control pavement test interval and the car movement and speed.Due to take that road is simple, it is using more traditional assembly language for programming.For the correctness of the program design, using a commonly used keil c51 simulation software simulation validation, the last is integrated debugging of software and hardware, and prove the correctness and feasibility of the design scheme.2.2 electronic intelligent car design requirements(1)electric vehicles can be able to according to the course to run all the way;(2)electric vehicles can store and display the number of detected metal and sheet metal to the starting line in the distance;(3)are accurately electric cars after exercising all the way to the display of the electric vehicle the entire exercise time;(4)electric cars can't collisions with obstacles in the process of exercise.2.3 the general conception of computer network teaching website Using 89 c51 as the car's control unit, sensor eight-way from outside, in the front of the car, as a black belt in the process of the car into the garage detecting element, at the rear end of the car when connected to eight-channel infrared sensors as the car pulled out of the garage of a black belt in detecting element, the LJ18A3-851 SCM application design, the first edition, Harbin industrial university press, 2003 [11] LiuNaPing editor, electronic product design and production technology, science press, 2008 [12] Yang just editor, electronic system design and practice of electronic industry press, 2009.3 [13] Yu Zujun editor, microcomputer monitoring and control system design, northern jiaotong university press, 2001.12 [14] WenZhiMing editor, movement control system analysis and application of national defense industry press, 2008.2 Reminder weina editor [15], and intelligent electronic production, science press, 2007 [16] Li Zhongwen editor, practical motor control circuit, chemical industry press, 2003.4 [17] Zhang Gongrun editor, intelligent technology, system design and development, Beijing aeronautics and astronautics press, 2007.2 [18] Chen Tiejun editor, intelligent control theory and applications, tsinghua university press, 2009.1 [19] LiuShaoJiang editor, sensor design and application instance, China electric power press, 2008 [20] He Limin editor, single chip microcomputer application system is designed, Beijing aerospace university press [21] Li Guangdi editor, microcontroller based, Beijing: Beijing university of aeronautics and astronautics press, 2001 [22] He Xicai editor, a new practical electronic circuit 400 cases, the electronic industrial press, 2000 [23] zhao negative diagram editor, sensor IC manual, the first edition, chemical industry press, 2004 [24] Chen Boshi editor, electric drive automatic control system, the second edition, Beijing: mechanical industry press, June 2000 [25] HTTP: / / http://004km.cn/ 摘要 本設計主要有單片機模塊、傳感器模塊、電機驅(qū)動模塊以及電源模塊組成,小車具有自主尋跡的功能。本次設計采用STC公司的89C52單片機作為控制芯片,傳感器模塊采用紅外光電對管和比較器實現(xiàn),能夠輕松識別黑白兩色路面,同時具有抗環(huán)境干擾能力,電機模塊由L298N芯片和兩個直流電機構(gòu)成,組成了智能車的動力系統(tǒng),電源采用7.2V的直流電池,經(jīng)過系統(tǒng)組裝,從而實現(xiàn)了小車的自動循跡的功能。 關鍵詞 智能小車 單片機紅外光對管 STC89C52 L298N 1 緒論 隨著科學技術(shù)的發(fā)展,機器人的設計越來越精細,功能越來越復雜,智能小車作為其的一個分支,也在不斷發(fā)展。在近幾年的電子設計大賽中,關于小車的智能化功能的實現(xiàn)也多種多樣,因此本次我們也打算設計一智能小車,使其能自動識別預制道路,按照設計的道路自行尋跡。設計任務與要求 采用MCS-51單片機為控制芯片(也可采用其他的芯片),紅外對管為識別器件、步進電機為行進部件,設計出一個能夠識別以白底為道路色,寬度10mm左右的黑色膠帶制作的不規(guī)則的封閉曲線為引導軌跡并能沿該軌跡行進的智能尋跡機器小車。方案設計與方案選擇 3.1 硬件部分 可分為四個模塊:單片機模塊、傳感器模塊、電機驅(qū)動模塊以及電源模塊。 3.1.1 單片機模塊 為小車運行的核心部件,起控制小車的所有運行狀態(tài)的作用。由于以前自己開發(fā)板使用的是ATMEL公司的STC89C52,所以讓然選擇這個芯片作為控制核心部件。STC89C52是一種低損耗、高性能、CMOS八位微處理器,片內(nèi)有4k字節(jié)的在線可重復編程、快速擦除快速寫入程序的存儲器,能重復寫入/擦除1000次,數(shù)據(jù)保存時間為十年。其程序和數(shù)據(jù)存儲是分開的。 3.1.2 傳感器模塊 方案一:使用光敏電阻組成光敏探測器采集路面信息。阻值經(jīng)過比較器輸出高低電平進行分析,但是光照影響很大,不能穩(wěn)定工作。 方案二:使用光電傳感器來采集路面信息。使用紅外光電對管,其結(jié)構(gòu)簡明,實現(xiàn)方便,成本低廉,沒有復雜的圖像處理工作,因此反應靈敏,響應時間少。但也存在不足,它能獲取的信息是不完全的,容易受很多擾動(如背景光源,高度等)的影響,抗干擾能力較差。 方案三:使用CCD傳感器來采集路面信息。使用CCD可以獲取大量的圖像信息,掌握全面的路徑信息,抗干擾能力強,為以后功能的擴展提供方便。但使用CCD需要大量的圖像處理工作,進行大量數(shù)據(jù)的存儲和計算,因此電路復雜,實現(xiàn)起來工作量大。 方案四:使用光電對管采集路面信息。RPR220結(jié)構(gòu)緊湊,體積小,調(diào)整電路簡單工作性能穩(wěn)定。 可見方案四最適宜,但僅從此項目考慮,方案二成本低,也能完成設計,故選用方案二。3.1.3 電機控制模塊 3.1.3.1電機的選擇 方案一:采用步進電機,其轉(zhuǎn)過的角度可以精確定位,可實現(xiàn)小車行進過程的精確定位。但步進電機的輸出力矩低,隨轉(zhuǎn)速的升高而降低,且轉(zhuǎn)速越快下降得越快。 方案二:采用直流電機,其轉(zhuǎn)動力矩大,體積小,重量輕,裝配簡單,操作方便。速度的調(diào)節(jié)可以改變電壓也可以調(diào)節(jié)PWM。 基于以上,我們選擇了方案二,使用直流電機作為驅(qū)動電機。 3.1.3.2電機的驅(qū)動 采用專用芯片L298N作為電機驅(qū)動芯片,其操作方便,穩(wěn)定性好,性能優(yōu)良。一片L298N就可以分別控制兩個直流電機。 3.1.4 電源模塊 給整個系統(tǒng)穩(wěn)定供電以保持其正常工作,包括7.2V的電源以及轉(zhuǎn)5V部分,其中7.2V的是給電機和其驅(qū)動供電,5V的用來驅(qū)動單片機及其他芯片。 以上單元連接如下圖所示: 3.2 軟件部分 3.2.1程序流程圖 此系統(tǒng)采用89C52單片機,再根據(jù)硬件連接,通過相應的軟件來完成對信號的采集和數(shù)據(jù)的分析,再控制小車的運行狀態(tài),以下為主程序流程圖: 3.2.2程序設計思路 3.2.2.1尋跡模塊程序 通過傳感器獲得路面信息然后反饋給單片機,再通過單片機來實現(xiàn)相應的功能。 3.2.2.2電機驅(qū)動模塊程序 控制兩個直流電機,實現(xiàn)前進、后退、前左轉(zhuǎn)、前右轉(zhuǎn)、停車等功能。各部分電路的作用及電路工作原理分析 4.1 信號采集模塊 4.1.1 TCRT500結(jié)構(gòu)與工作原理 TCRT5000(L)具有緊湊的結(jié)構(gòu)發(fā)光燈和檢測器安排在同一方向上,利用紅外光譜反射對象存在另一個對象上,操作的波長大約是950毫米。探測器由光電晶體三極管組成的,它由高發(fā)射功率紅外光電二極管和高度靈敏光電晶體管組成。通過測試,其檢測距離在2mm-10mm。TCRT5000的發(fā)射管和接收管是一起封裝在矩形塑料殼中,為了使檢測更加準確,我們用了5只TCRT5000檢測黑線,實物見圖4-1。 4.1.2 信號采集電路圖及原理 小車在白色地面行駛時,紅外發(fā)射管發(fā)出的紅外信號被反射,接收管收到信號后,輸出端為低電平,經(jīng)過比較器比較后輸出為低電平。而當紅外信號遇到黑色導軌時,紅外信號被吸收,接收管不能接收信號,輸出端為高電平,經(jīng)過比較器比較后輸出高電平。單片機通過采集每個比較器的輸出端電壓,便可以檢測出黑線的相對位置的位置,從而控制小車的行駛方向。 4.2 信息處理模塊 4.2.1 原理 檢測到白色路面的紅外接收頭處理后送出的是低電平,而檢測到黑色路線的檢測頭送出的是高電平,由此可根據(jù)這5個紅外接收頭的高低電平判斷路線情況而調(diào)整小車前進方向。具體情況有如下幾種: a 檢測到 1 1 1 1 或 0 0 0 0 0小車應該停止。 b 檢測到 0 0 0 0 或 0 1 0 0 0 或 1 0 0 0 說明路線向左偏,小車向左轉(zhuǎn)。 c 檢測到 0 0 0 0 1 或 0 0 0 1 0 或 0 0 0 1 1說明路線向右偏,小車向左轉(zhuǎn)。 d 檢測到 x x 1 x x(x不全為1)說明線路是直的,小車直走。4.3 電機驅(qū)動模塊 4.3.1直流電機 給兩個電刷A和B加上直流電源,如上圖(a)所示,則有直流電流從電刷 A 流入,經(jīng)過線圈abcd,從電刷 B 流出,根據(jù)電磁力定律,載流導體ab和cd收到電磁力的作用,其方向可由左手定則判定,兩段導體受到的力形成了一個轉(zhuǎn)矩,使得轉(zhuǎn)子逆時針轉(zhuǎn)動。如果轉(zhuǎn)子轉(zhuǎn)到如上圖(b)所示的位置,電刷 A 和換向片2接觸,電刷 B 和換向片1接觸,直流電流從電刷 A 流入,在線圈中的流動方向是dcba,從電刷 B 流出。 此時載流導體ab和cd受到電磁力的作用方向同樣可由左手定則判定,它們產(chǎn)生的轉(zhuǎn)矩仍然使得轉(zhuǎn)子逆時針轉(zhuǎn)動。這就是直流電動機的工作原理。外加的電源是直流的,但由于電刷和換向片的作用,在線圈中流過的電流是交流的,其產(chǎn)生的轉(zhuǎn)矩的方向卻是不變的。實用中的直流電動機轉(zhuǎn)子上的繞組也不是由一個線圈構(gòu)成,同樣是由多個線圈連接而成,以減少電動機電磁轉(zhuǎn)矩的波動,繞組形式同發(fā)電機。 4.3.2電路圖 我們采用成品L298N電機驅(qū)動模塊,采用光電耦合器件隔離單片機與L298N的控制電路,工藝精度高,性能可靠。L298N模塊內(nèi)部通過H橋電路實現(xiàn)直流電機的正轉(zhuǎn),反轉(zhuǎn),其原理如下: 如圖4-3所示,全橋式驅(qū)動電路的4只開關管都工作在斬波狀態(tài),S1、S2為一組,S3、S4 為另一組,兩組的狀態(tài)互補,一組導通則 另一組必須關斷。當S1、S2導通時,S3、S4關斷,電機兩端加正向電壓,可以實 現(xiàn)電機的正轉(zhuǎn)或反轉(zhuǎn)制動;當S3、S4導 通時,S1、S2關斷,電機兩端為反向電 壓,電機反轉(zhuǎn)或正轉(zhuǎn)制動。 橋驅(qū)動電路 4.3.3原理 L298N是ST公司生產(chǎn)的一種高電壓、大電流電機驅(qū)動芯片。該芯片采用15腳封裝。主要特點是:工作電壓高,最高工作電壓可達46V;輸出電流大,瞬間峰值電流可達3A,持續(xù)工作電流為2A;額定功率25W。內(nèi)含兩個H橋的高電壓大電流全橋式驅(qū)動器,可以用來驅(qū)動直流電動機和步進電動機、繼電器線圈等感性負載;采用標準邏輯電平信號控制;具有兩個使能控制端,在不受輸入信號影響的情況下允許或禁止器件工作有一個邏輯電源輸入端,使內(nèi)部邏輯電路部分在低電壓下工作;可以外接檢測電阻,將變化量反饋給控制電路。使用L298N芯片驅(qū)動電機,該芯片可以驅(qū)動兩臺直流電機。系統(tǒng)調(diào)試 5.1硬件部分 焊接完成后,首先進行的調(diào)試是用數(shù)字萬用表測量各個電路是否焊接正常,是否有虛焊漏焊等現(xiàn)象的出現(xiàn),以及各個電容是否是正常的未被擊穿狀態(tài)、電阻的阻值是否與設計的原理圖上的一致。接通電源,用數(shù)字萬用表測量當有+5V的各引腳是否有+5V的電壓,測量電路中是否出現(xiàn)了不該有的短路現(xiàn)象。接入光電傳感器模塊,使各個光電檢測器的光電對管靠近白紙,觀察對應的發(fā)光二極管是否發(fā)光,不發(fā)光表示正常。然后再使各個光電對管靠近黑線,觀察對應的發(fā)光二級管是否發(fā)光,發(fā)光表示正常。 5.2軟件部分 我們先測試了小車的前進,停止,左轉(zhuǎn)和右轉(zhuǎn)。組裝信號采集模塊后,實現(xiàn)小車的自動循跡功能。 具體實現(xiàn)程序見附錄一 總結(jié) 實驗結(jié)果如符合實驗要求,小車按照黑膠布軌跡前進,并能夠及時正確顯示小車的行進狀態(tài)以及行進距離。具體現(xiàn)象如下: 左邊傳感器檢測到黑線,小車左轉(zhuǎn); 右邊傳感器檢測到黑線,小車右轉(zhuǎn); 中間傳感器檢測到黑線,小車直行。從而就可以完成對黑膠布的循跡功能。參考文獻 [1]電子信息專業(yè)實驗教程 趙剛 李佐儒 四川大學出版社 [2]單片機C語言教程 郭天祥 電子工業(yè)出版社 [3]模擬電子技術(shù) 童詩白 清華大學出版社 附錄一 程序: #include sbit DJ_left_s = P1^0;//直流電機控制 sbit DJ_left_n = P1^1; sbit DJ_right_s = P1^2;sbit DJ_right_n = P1^3; //左轉(zhuǎn)函數(shù) void Turn_right(){ DJ_left_s = 0;DJ_left_n = 1;DJ_right_s = 1;DJ_right_n = 0;} //右轉(zhuǎn)函數(shù) void Turn_left(){ DJ_left_s = 1;DJ_left_n = 0;DJ_right_s = 0;DJ_right_n = 1;} //前進函數(shù) void Go_ahead(){ DJ_left_s = 1;DJ_left_n = 0;DJ_right_s = 1;DJ_right_n = 0;} //停止函數(shù) void Stop(){ DJ_left_s = 0;DJ_left_n = 0;DJ_right_s = 0;DJ_right_n = 0;} //循跡函數(shù) void xunji(unsigned int m){ if(m==0x7c) { Turn_right(); return; } if(m&0x10) { Go_ahead(); return; } if(m&0x0c) { Turn_right(); return; } if(m&0x60) { Turn_left(); return; } } //主函數(shù) void main(){ while(1){ xunji(P2&0x7c); } } 附錄二 實物圖: 專業(yè)創(chuàng)新實踐實訓報告 課題名稱 成員 院系 專 業(yè) 指導教師 智能循跡小車 *** 航空工程學院 電子信息科學與技術(shù)專業(yè) *** 2016年5月28日 目錄 實訓任務與內(nèi)容..............................................................1 1.1實訓任務...................................................................1 1.2 實訓內(nèi)容..................................................................1 2 模塊設計....................................................................2 2.1 電路模塊設計..............................................................2 2.1.1 硬件電路設計............................................................2 2.1.2 軟件程序設計............................................................3 2.2 電機驅(qū)動模塊設計..........................................................5 2.2 電源模塊的設計............................................................6 2.3 傳感器模塊的設計..........................................................6 3 測試結(jié)果....................................................................7 4 心得體會....................................................................8 附錄1電路原理圖的總圖........................................................9 附錄2 源程序.................................................................10 實訓任務與內(nèi)容 1.1實訓任務 1)熟悉51單片機集成開發(fā)環(huán)境,運用C語言編寫工程文件; 2)熟練應用所選用單片機的內(nèi)部結(jié)構(gòu)、資源、以及軟硬件調(diào)試的設備的基本方法; 3)自行構(gòu)建基于單片機的最小系統(tǒng),完成相關硬件電路的設計實現(xiàn); 1.2 實訓內(nèi)容 基于AT89C52單片機的智能小車的設計與實現(xiàn),小車完成的主要功能是能夠自主識別黑色引導線并根據(jù)黑線的走向?qū)崿F(xiàn)快速穩(wěn)定的循線行駛。小車系統(tǒng)以AT89C52單片機位系統(tǒng)控制處理器;采用紅外傳感獲取賽道的信息,來對小車的方向和速度進行控制。此外,對整個控制軟件進行設計和程序的編制以及程序的調(diào)試,并最終完成軟件和硬件的融合,實現(xiàn)小車的預期功能。2 模塊設計 2.1 電路模塊設計 2.1.1 硬件電路設計 圖2.1 驅(qū)動系統(tǒng)的原理圖 圖2.2傳感器系統(tǒng)的原理圖 圖2.3電源系統(tǒng)的原理圖 我們選用的是三個光電開關進行尋跡。光電開關電源線接入5V的電源,三個光電開關分別接入單片機的P1.0口-P1.2口。采用兩個L298N芯片作為電機驅(qū)動芯片,步進電機模塊的引腳ENA和ENB分別連接P0.6口和P0.7口;直流電機模塊的引腳ENA和ENB分別連接P0.4口和P0.5口。模塊的INT1-INT4連接單片機的P0.0-P0.3口,另一驅(qū)動模塊IN為P2.0-P2.3口,OUT1-OUT4連接兩個直流電機。 小車進入循跡模式后,即開始不停地掃描與探測器連接的單片機I/O口,一旦檢測到某個I/O口有信號,即進入判斷處理程序,先確定4個探測器中的哪一個探測到了黑線,如果左面第一級傳感器或者左面第二級傳感器探測到黑線,即小車左半部分壓到黑線,車身向右偏出,此時應使小車向左轉(zhuǎn);如果是右面第一級傳感器或右面第二級傳感器探測到了黑線,即車身右半部壓住黑線,小車向左偏出了軌跡,則應使小車向右轉(zhuǎn)。在經(jīng)過了方向調(diào)整后,小車再繼續(xù)向前行走,并繼續(xù)探測黑線重復上述動作。2.1.2 軟件程序設計 圖2.4 驅(qū)動系統(tǒng)的流程圖 系統(tǒng)總體軟件設計綜上所述,本系統(tǒng)主要實現(xiàn)的各個模塊算法為:電機驅(qū)動算法,尋跡算法,測速算法,LCD顯示算法。系統(tǒng)總體程序框圖如圖11所示。其中在小車尋跡的過程中,會不斷調(diào)用測速算法,并通過LCD將實時速度顯示出來。各個數(shù)的調(diào)用關系為了控制電機1和電機2PWM信號的占空比,設置了兩個變量DutyCycle1和DutyCycle2,這兩個變量的值可以作為控制電機移動函數(shù)的參數(shù)控制電機的速度。規(guī)定當DutyCycle的值小于time_count時電機的使能端輸出1,反之輸出0,這樣就可以改變PWM信號占空比,控制電機的轉(zhuǎn)速了。小車轉(zhuǎn)向控制小車轉(zhuǎn)向控制::小車移動中前進比較容易控制,只要讓兩個電機同時正轉(zhuǎn)就可以了??刂菩≤囖D(zhuǎn)向時有兩種策略,第一種是一個電機正轉(zhuǎn)而另一個不轉(zhuǎn),第二種是一個電機正轉(zhuǎn)而另一個反轉(zhuǎn)。在測試中我們發(fā)現(xiàn)采用第一種方法當小車運動時,運動一側(cè)的輪子會帶動不運動一側(cè)的輪子迫使小車繼續(xù)運動。所以我們采用了第二種控制小車轉(zhuǎn)向的方法??刂齐姍C轉(zhuǎn)向的有兩個方向位,DIR_L和DIR_R,它們不同狀態(tài)和電機轉(zhuǎn)向之間的關系表1表所示:小車速度和方向控制的函數(shù)都已經(jīng)封裝在一起,通過入口參數(shù)可以進行調(diào)節(jié)。 圖2.5 智能循跡小車運行圖 圖2.6 智能循跡小車圖 2.2 電機驅(qū)動模塊設計 驅(qū)動模塊采用專用芯片L298N作為電機驅(qū)動芯片,L298N是一個具有高電壓大電流的全橋驅(qū)動芯片,其響應頻率高,一片L298N可以分別控制兩個直流電機,驅(qū)動電路的設計如圖L298N的5、7、10、12四個引腳接到單片機上,通過對單片機的編程就可實現(xiàn)兩個直流電機的PWM調(diào)速以及正反轉(zhuǎn)控制。 L298驅(qū)動電機介紹: L298N 為SGS-THOMSON Microelectronics 所出產(chǎn)的雙全橋步進電機專用驅(qū)動芯片,內(nèi)部包含4信道邏輯驅(qū)動電路,是一種二相和四相步進電機的專用驅(qū)動器,可同時驅(qū)動2個二相或1個四相步進電機,內(nèi)含二個橋式的高電壓、大電流雙全橋式驅(qū)動器,接收標準TTL邏輯準位信號,可驅(qū)動46V、2A以下的步進電機,且可以直接透過電源來調(diào)節(jié)輸出電壓;此芯片可直接由單片機的I/O端口來提供模擬時序信號,但在本驅(qū)動電路中用L298來提供時序信號,節(jié)省了單片機I/O 端口的使用。L298N 接腳Pin1 和Pin15 可與電流偵測用電阻連接來控制負載的電路;OUTl、OUT2 和OUT3、OUT4 之間分別接2個步進電機;in1~in4 輸入控制電位來控制電機的正反轉(zhuǎn);Enable則控制電機停轉(zhuǎn)。 采用L298N作為電機驅(qū)動芯片。L298N具有高電壓、大電流、響應頻率高的全橋驅(qū)動芯片,一片 L298N可以分別控制兩個直流電機,并且?guī)в锌刂剖鼓芏恕T撾姍C驅(qū)動芯片驅(qū)動能力強、操作方便,穩(wěn)定性好,性能優(yōu)良。L298N的使能端可以外接電平控制,也可以利用單片機進行軟件控制,滿足各種復雜電路的需要。另外,L298N的驅(qū)動功率較大,能夠根據(jù)輸入電壓的大小輸出不同的電壓和功率,解決了負載能力不夠的問題。2.2 電源模塊的設計 在本系統(tǒng)中,需要用到的電源有單片機的5V,L298N芯片的電源5V和電機的電源7-15V。所以需要對電源的提供必須正確和穩(wěn)定可靠。 方案一:用9V的鋅電源給前、后輪電機供電,然后使用7805穩(wěn)壓管來把高電壓穩(wěn)成5V分別給單片機和電機驅(qū)動芯片供電。這種接法比較簡單,但小車的電路功耗過大會導致后輪電機動力不足。 方案二:采用雙電源。為了確保單片機控制部分和后輪電機驅(qū)動的部分的電壓不會互相影響,要把單片機的供電和驅(qū)動電路分開來,即:用直流電12v供給單片機,后輪電機的電源用5V供電,這樣有助于消除電機干擾,提高系統(tǒng)的穩(wěn)定性。 基于以上分析,我們選擇了方案二,采用雙電源供電。2.3 傳感器模塊的設計 TC端是傳感器工作控制端,為高電平時,發(fā)光二極管不工作,傳感器休眠,為低電平時,傳感器啟動。Signal端為檢測信號輸出,當遇到黑線,黑線吸收大量的紅外線,反射的紅外線很弱,光敏三極管不導通,Signal輸出高電平;當遇到白線,與黑線相反,反射的紅外線很強,使光敏三極管導通,Signal輸出低電平。 這種探測方法,即利用紅外線在不同顏色的表面特征,具有不同的反射性能,汽車行駛過程中接收地面的紅外光。當紅外光遇到白色路線,地板發(fā)生漫反射,安裝在小型車的反射光接收器接收;如果是遇到黑色路線,紅外光將被黑線吸收,安裝在小車上的接收管沒有收到紅外光??刂破鲿鶕?jù)是否收到反射的紅外光為判斷依據(jù)來確定的黑線的位置和小車的路線。紅外探測器距離通常是不應超過15厘米的。紅外發(fā)射和接收紅外線感應器,可以使自己或直接使用集成紅外探頭。調(diào)整左右傳感器之間的距離,兩探頭距離約等于黑線寬度最合適,選擇寬度為3-5厘米的黑線。該傳感器的靈敏度是可調(diào)的,傳感器有時遇到黑線卻不能送出相應的信號,通過調(diào)節(jié)傳感器上的可調(diào)電阻,適當?shù)脑龃蠡驕p小可改變靈敏度。另外,循跡傳感器的放置也是有講究的,有兩種方法,一種是兩個都是放置在黑線內(nèi)側(cè)緊貼黑線邊緣,第二種是都放置在黑線的外側(cè),同樣緊貼黑線邊緣。本設計采用第二種方法。 單片機燒錄程序后,就可以執(zhí)行循跡指令了。如果小車向前行駛時向左偏離了黑線,那么右邊傳感器會產(chǎn)生一個高電平,單片機判斷這個信號,然后向右拐回到黑線。兩傳感器輸出信號為低電平時,小車前進。如果小車向右偏離黑線,左邊傳感器產(chǎn)生一個高電平,單片機判斷這個信號,然后向左拐。這樣,小車一定不會偏離黑線。若兩個光電傳感器同時輸出的信號為高電平,即單片機判斷的都為高電平時,小車向前直走。3 測試結(jié)果 從直線段O點出發(fā),讓小車智能循跡至N點,記錄直點線段O點至A點的所用時間,記錄A點至B點的時間,依次記錄B點至C點、C點至D點、D點至E點、E點至F點、F點至N點的時間,重復測試5次,并記錄時間。 圖3.1 智能循跡小車跑道圖 起點位于彎道的運行時間要長于起點位于直道的運行時間。導致這個現(xiàn)象出現(xiàn)的原因是由于彎道的曲率變化給小車的循跡調(diào)整帶來了較大的影響,對應小號的調(diào)整時間業(yè)比起于直道的測試過程要長些。有時,小車會稍微偏離跑道。對傳感器的靈敏度需要更加仔細的調(diào)整。4 心得體會 根據(jù)本次設計要求,我們小組系統(tǒng)地閱讀了大量的資料,并認真分析了設計課題的需求,還系統(tǒng)學習了51系列單片機的工作原理及其使用方法,并獨自設計智能小車的整個項目。雖然條件艱苦,但經(jīng)過不懈鉆研和努力,購買到了所有所需的元器件,并系統(tǒng)的進行了多項試驗,最終做出了整個小車的硬件系統(tǒng),然后結(jié)合課題任務和小車硬件進行了程序的編制,本系統(tǒng)能夠基本滿足設計要求,能夠較快較平穩(wěn)的是小車沿引導線行駛,但由于經(jīng)驗能力有限,該系統(tǒng)還存在著許多不盡人意的地方有待于進一步的完善與改進。 通過本次課題設計,不僅是對我們課本所學知識的考查,更是對我的自學能力和收集資料能力以及動手能力的考驗。本次課程設計使我們對一個項目的整體設計有了初步認識,還認識了幾種傳感器,并能獨立設計出其接口電路,再有對電路板的制作有了一定的了解,并學會了使用Protel設計電路。本次智能循跡小車課程設計使我們意識到了實驗的重要性,在硬件制作和軟件調(diào)試的過程中,出現(xiàn)了很多問題,最終都是通過實驗的方法來解決的。還有以前對程序只是一個很模糊的概念,通過這次的智能循跡小車的課程設計使我對程序完全有了一個新的認識,并能使用C熟練的進行編程了。通過本次智能循跡小車的課程設計,極大的鍛煉了我們的思考和分析問題的能力,并對單片機有了一個更深的認識。 總之,在這次的課程設計的過程中,無論是對于學習方法還是理論知識,我們都有了新的認識,受益匪淺,這將激勵我們在今后再接再厲,不斷完善自己的理論知識,提高實踐運作能力。附錄1 電路原理圖的總圖 圖3.1 電路原理圖總圖 附錄2 源程序 #include 小車跑出軌道,直走前進,重新第三篇:基于單片機的智能循跡小車外文翻譯
第四篇:智能循跡小車實驗報告
第五篇:智能循跡小車