第一篇:智能小車設計報告
智能小車設計報告
魏旭峰、孔凡明、陳夢洋
(河北科技大學 電氣信息學院)摘要:
AT89S52單片機是一款八位單片機,他的易用性和多功能性受到了廣大使用者的好評。該設計是結合科研項目而確定的設計類課題。本系統以設計題目的要求為目的,采用89S52單片機為控制核心,利用紅外線傳感器檢測道路上的黑線,控制電動小汽車的自動尋路,快慢速行駛。整個系統的電路結構簡單,可靠性能高。實驗測試結果滿足要求,本文著重介紹了該系統的硬件設計方法及測試結果分析。
采用的技術主要有:
通過編程來控制小車的速度及方向; 傳感器的有效應用; 1602液晶顯示的應用;
關鍵詞: 89S52單片機、光電檢測器、PWM調速、電動小車
第一章 方案設計與論證
一 供電系統
二 光電檢測系統
三 單片機最小應用系統設計
四 液晶顯示1602的應用
五 電機驅動
第二章 軟件設計
第二章 方案設計與論證
根據要求,小車應在規定的賽道上行駛,賽道中央黑線寬為25MM,確定如下方案: 在現有玩具電動車的基礎上,加裝光電檢測器,實現對電動車的位置的實時測量,并將測量數據傳送至單片機進行處理,然后由單片機根據所檢測的各種數據實現對電動車的轉向和速度的智能控制.這種方案能實現對電動車的運動狀態進行實時控制,控制靈活、可靠,精度高,可滿足對系統的各項要求。
一 供電系統
本模塊使用LM2940芯片輸出+5V的電壓,為89S52單片機光電檢測電路供電,采用LM1117可控變壓芯片輸出+6V電壓為舵機供電.而電機則由單片機來控制,當單片機輸出的電壓不同時,電機的轉速不同,以此來達到控制小車速度的目的.電路如圖:
二 光電檢測系統
本模塊采用七對紅外線發射和接收對管,來檢測小車前方黑線位置和模擬車站停車位置.發射管發射管出紅外線,當對管正下方為白色跑道時,發射管發射出去的紅外線會被反射回來, 接收因接收到紅外線而導通,兩端電壓為零,當對管正下方為黑色線時,黑線將吸收紅外線,接收管因接收不到紅外線而無法導通,兩端電壓為+4V左右,將接收管端電壓與一個給定電壓經LM324比較后輸出0和+5V兩固定個值,當對管正下方為白色時輸出+5V電壓,當對管正下方為黑線時輸出0V,輸出的電壓交給單片機,以此來確定黑線的位置.電路如圖:
三 單片機最小應用系統設計
89S52單片機是本系統的核心所在,自動尋跡和調速都是它控制, 七對光電對管經比較器輸出的電壓輸入單片機,單片機根據電壓的高低來判斷黑線位置,進而調整速度和方向,電路如下:
四 舵機的應用
舵機是一種位置(角度)伺服的驅動器,適用于那些需要角度不斷變化并可以保持的控制系統。目前在高檔遙控玩具,如航模,包括飛機模型,潛艇模型;遙控機器人中已經使用得比較普遍。舵機是一種俗稱,其實是一種伺服馬達。
其工作原理是:單片機放的控制信號由接收機的通道進入信號調制芯片,獲得直流偏置電壓。它內部有一個基準電路,產生周期為20ms,寬度為1.5ms的基準信號,將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。最后,電壓差的正負輸出到電機驅動芯片決定電機的正反轉。當電機轉速一定時,通過級聯減速齒輪帶動電位器旋轉,使得電壓差為0,電機停止轉動。
舵機的控制一般需要一個20ms左右的時基脈沖,該脈沖的高電平部分一般為0.5ms~2.5ms范圍內的角度控制脈沖部分。
五 電機驅動
電機驅動電路是根據單片機的控制型號來控制電機的轉動的,電路如下:
第二章 軟件設計 #include
#define uchar unsigned char//宏定義 uchar duoj,dianj,time0=0,time1=0,L=0,e=30;void timer0()interrupt 1 //定時器零 控制舵機 { time0++;
if(time0==duoj)moto=0;if(time0==80){ time0=0;
moto=1;} TH0=(65536-313)/256;TL0=(65536-313)%256;} void timer1()interrupt 3 ///定時器一 控制電機 { time1++;if(time1==dianj)in1=1;if(time1==80){
time1=0;
in1=0;} TH1=(65536-340)/256;TL1=(65536-340)%256;}
void main()/////主函數開始 { TMOD=0x11;TH0=(65536-313)/256;TL0=(65536-313)%256;TH1=(65536-340)/256;TL1=(65536-340)%256;EA=1;ET0=1;
ET1=1;in1=0;moto=1;TR0=1;TR1=1;while(1)//////檢測黑線位置
{
while(1)
{
if(P1==0xff){duoj=8;dianj=55;break;} 全白時緩進
if(L1==0){duoj=10;dianj=37;L=1;break;} //L1
if(L7==0){duoj=6;dianj=37;L=7;break;} //L7
if(L2==0){duoj=10;dianj=22;L=2;break;} //L2
if(L6==0){duoj=6;dianj=22;L=6;break;} //L6
//
if(L3==0){duoj=9;dianj=27;L=3;break;} //L3
if(L5==0){duoj=7;dianj=27;L=5;break;}
//L5
if(L4==0){duoj=8;dianj=70;L=4;break;}
//l4
//else {duoj=8;dianj=17;break;}
}
while(P1==0xff)當檢測不到信號時保持最后的狀態
{
switch(L)
{
case 1:duoj=10;dianj=39;break;
case 2:duoj=10;dianj=22;break;
// case 3:duoj=9;dianj=25;break;
// case 4:duoj=8;dianj=70;break;
// case 5:duoj=7;dianj=25;break;
case 6:duoj=6;dianj=22;break;
case 7:duoj=6;dianj=39;break;
}
} } }////////主函數結束
第二篇:智能小車設計報告
機器人控制技術
實驗設計報告書
題
目:基于STC89C52的智能小車的設計 姓
名:李如發 學
號:073321032 專
業:電氣工程及其自動化 指導老師:李東京 設計時間:2010年 6 月
目
錄
1.引 言..............................................1 1.1.設計意義......................................1 1.2.系統功能要求..................................1 1.3.本組成員所做的工作............................1 2.方案設計...........................................1 3.硬件設計...........................................2 4.軟件設計...........................................7 5.系統調試...........................................7 6.設計總結...........................................8 7.附 錄A;源程序.....................................8 8.附 錄B;作品實物圖片...............................10 9.參考文獻..........................................11
16×16點陣LED室內電子顯示屏的設計
單片機原理及應用課程設計
基于STC89C52的智能小車的設計
1.引 言
1.1.設計意義
本智能小車的設計,首先針對大學所有學習的知識是一個很好的回顧和總結。此智能小車是基于單片機所設計的,具有自動尋跡能力,在實際的很多方面有應用。當我們進一步的改進機器人系統時,可實現更重要的功能,如可設計出自動撲火機器人等。1.2.系統功能要求
此智能小車是基于STC89C52設計的具有自動尋跡能力的小車。系統可實現跟隨黑色引導線行走的能力,在行駛過程中,并能用測速傳感器和光電碼盤對小車速度實現實時監測。小車在行駛過程中并能實現播放美妙的音樂。1.3.本組成員所做的工作
本組成員有李如發,汪航,黃建安,韓文龍,羅瑩,明菲菲,鄒珊,江銳,邵進。
李如發:驅動 073321032 汪航: 電源 073522036 黃建安:最小統 073521013 韓文龍:源程序 073522007 羅瑩: 傳感器 073522038 明飛菲:調試 073522012 鄒芬 : 數碼顯示 073521025 邵琎 : 焊接 073522017 江銳 : 蜂鳴器 073522032
2.方案設計
智能小車主要分為傳感器部分,最小系統部分,電機驅動部分,電源部分。根據功能要求,提出合理的設計方案,畫出方案方框圖,并對系統工作原理進行闡述。
原理,本系統的重要部分是傳感器,它對整個小車的定位起到很重要的作用,由傳感器檢測黑線的位置,其中黑線對光能吸收,白線對光反射。利用此原
16×16點陣LED室內電子顯示屏的設計
單片機原理及應用課程設計
理將紅外線傳感器采集到的信號轉換為數字信號并送入單片機,單片機根據收到的信號實時的控制小車的方向。控制小車的方向主要是運用pwm原理來控制電機的平均電壓,從而來控制電機的轉速,實現小車對黑線的實時跟蹤。
3.硬件設計
硬件設計各模塊電路圖及原理描述 傳感器模塊
方案1:用光敏電阻組成光敏探測器。光敏電阻的阻值可以跟隨周圍環境光線的變化而變化。當光線照射到白線上面時,光線發射強烈,光線照射到黑線上面時,光線發射較弱。因此光敏電阻在白線和黑線上方時,阻值會發生明顯的變化。將阻值的變化值經過比較器就可以輸出高低電平。
但是這種方案受光照影響很大,不能夠穩定的工作。因此我們考慮其他更加穩定的方案。
方案2:用RPR220型光電對管。RPR220是一種一體化反射型光電探測器,其發射器是一個砷化鎵紅外發光二極管,而接收器是一個高靈敏度,硅平面光電三極管。
方案3:用紅外發射管和接收管自己制作光電對管尋跡傳感器。紅外發射管發出紅外線,當發出的紅外線照射到白色的平面后反射,若紅外接收管能接收到反射回的光線則檢測出白線繼而輸出低電平,若接收不到發射管發出的光線則檢測出黑線繼而輸出高電平。我們選擇了此方案。
傳感器是整個系統的眼睛,這部分主要運用紅外線傳感器采集信號送給單片機處理。由于黑色車道對紅外線傳感器發出的光有吸收能力,白色地方對發出的光反射,從而當傳感器在不同的地方產生不同的信號,傳送個單片機。單片機根據采集的信號做出實時的處理。
16×16點陣LED室內電子顯示屏的設計
單片機原理及應用課程設計
最小系統
最小系統是整個系統的心臟,我們采用的是AT89C52芯片。
80C52單片機是把那些作為控制應用所必需的基本內容都集成在一個尺寸有限的集成電路芯片上[2]。如果按功能劃分,它由如下功能部件組成,即微處理器、數據存儲器、程序存儲器、并行I/O口、串行口、定時器/計數器、中斷系統及特殊功能寄存器。它們都是通過片內單一總線連接而成,其基本結構依舊是CPU加上外圍芯片的傳統結構模式。但對各種功能部件的控制是采用特殊功能寄存器的集中控制方式。
驅動模塊
方案1:采用專用芯片L298N作為電機驅動芯片。L298N是一個具有高電壓大電流的全橋驅動芯片,它相應頻率高,一片L298N可以分別控制兩個直流
16×16點陣LED室內電子顯示屏的設計
單片機原理及應用課程設計
電機,而且還帶有控制使能端。用該芯片作為電機驅動,操作方便,穩定性好,性能優良。
方案2:對于直流電機用分立元件構成驅動電路。由分立元件構成電機驅動電路,結構簡單,價格低廉,在實際應用中應用廣泛。但是這種電路工作性能不夠穩定。
因此我們選用了方案1。
由于最小系統和電機驅動部分的電壓幅值不一樣,而且電機是感性負載,在制動時可能反饋電流,因此要在最小系統和驅動模塊之間采用光電隔離,所以用到了光電隔離芯片,TPL521-4
由于光耦芯片的引腳不夠所以在之后采用了一片反相器74HCT14,反相器圖如下
L298是雙H橋高電壓大電流功率集成電路,直接采用TTL邏輯電平控制,可用來驅動繼電器、線圈、直流電動機、步進電動機等電感性負載。它的驅動電壓可達46V,直流電流總和可達4A。其內部具有2個完全相同的PWM功率放大回路。由L298構成的PWM功率放大器的工作形式為單極可逆模式。12個H橋的下側橋晶體管發射極連在一起,其輸出腳(1和15)用來連接電流檢測電阻。第9腳接邏輯控制部分的電源,常用+5V,第4腳為電機驅動電源,本系統中為40V,第5,7,10,12腳輸入標準TTL邏輯電平,用來控制H橋的開和關,16×16點陣LED室內電子顯示屏的設計
單片機原理及應用課程設計
第6,II腳則為使能控制端。當Vs=40V時,最高輸出電壓可達35V,連續電流可達2A。
L298可驅動2個電動機,OUT1,OUT2和OUT3,OUT4之間可分別接電動機,本實驗裝置我們選用驅動兩臺電動機。5,7,10,12腳接輸入控制電平,控制電機的正反轉。EnA,EnB接控制使能端,控制電機的停轉。電動 機的轉速由單片機調節PWM信號的占空比來實現。
L298驅動電路圖
16×16點陣LED室內電子顯示屏的設計
單片機原理及應用課程設計
PWM調速器的硬件組成
在整個PWM調速器中,CPU既是運算處理中心,又是控制中心,是最關鍵的器件。本系統中選用與MCS-51系列完全兼容的AT89C52單片機,它是一種低功耗、高性能、CMOS八位微處理器。片內具有8K字節的在線可重復編程快擦快寫程序存儲器,128x8位內部RAM,AT89C52可構成真正的單片機最小應用系統,縮小系統體積,提高系統可靠性,降低系統成本。
電源模塊
電源中我們采用LM7805穩壓芯片將12v直流電源穩壓成5v直流源。方案1: 采用10節1.5V干電池供電,電壓達到15V,經7812穩壓后給支流電機供電,然后將12V電壓再次降壓、穩壓后給單片機系統和其他芯片供電。但干電池電量有限,使用大量的干電池給系統調試帶來很大的不便,因此,我們放棄了這種方案。
方案2:采用3節4.2V可充電式鋰電池串聯共12.6V給直流電機供電,經過7812的電壓變換后給支流電機供電,然后將12V電壓再次降壓、穩壓后給單片機系統和其他芯片供電。鋰電池的電量比較足,并且可以充電,重復利用,因此,這種方案比較可行。但鋰電池的價格過于昂貴,使用鋰電池會大大超出我們的預算,因此,我們放棄了這種方案。
方案3:采用12V蓄電池為直流電機供電,將12V電壓降壓、穩壓后給單片機系統和其他芯片供電。蓄電池具有較強的電流驅動能力以及穩定的電壓輸出性能。雖然蓄電池的體積過于龐大,在小型電動車上使用極為不方便,但由于我們的車體設計時留出了足夠的空間,并且蓄電池的價格比較低。因此我們選擇了此方案。下:
16×16點陣LED室內電子顯示屏的設計
單片機原理及應用課程設計
4.軟件設計
程序流程圖
5.系統調試
本系統的設計是首先完成每一小部分的設計,因此我們在沒完成一個模塊時就回檢測調試該模塊。在初次調試時我們采用的電源是又單片機開發板所帶的的電源來調試的。調試過程中我們就發現了很重要的問題,由于對本設計的很多模塊的沒有共同的接地使得很多模塊無法工作,我們的解決辦法是12v的直流源穩壓來供給所以的模塊,然后將所以的模塊連接共同的地。在驅動模塊的調試中發現當光耦芯片給定信號時對lm298的輸出沒有反應。我們在檢驗時發現是由于在光耦芯片后部焊接沒有焊好,出現了虛焊。在重新焊接好后,芯片正常工作。分
16×16點陣LED室內電子顯示屏的設計
單片機原理及應用課程設計
塊調試傳感器時,我們將傳感器導通,用黑色物體將傳感器發射部分蓋住檢測輸出,在將黑色物體移開,再檢測輸出。
6.設計總結
本文是關于基于單片機的智能小車的設計,在共同的努力下,各部分的設計均成功,在調試過程中都無誤。本次設計最終實現了直流電機的動態調壓,電源正常輸出供電,數碼管動態顯示數據,蜂鳴器播放美妙的音樂,小車實現簡單的轉彎功能。由于本次設計中尚存在些缺陷和對尋跡程序編寫困難,實現的功能不是很完美,但要求的所有功能基本實現。
本次設計中,從中的體會很多
1、本次的設計可以說設計到大學所學到的所有專業知識,是對大學所學知識的一個整體的回顧。
2、在設計中,不能一氣呵成,因為所有的電路圖都是自己設計的,圖中尚存在不足,所以要反復的琢磨和修改。
3、設計中要注意對每焊完一部分,都要獨立的進行檢查調試,及時的發現錯誤,及時的修改
4、本次最重要的收獲是從中我們看到了團隊合作的重要性,任何事都不是一個人所能完成的,需要大家的共同努力才能獲得最后的成功。
7.附 錄A;源程序
源程序代碼(主要語句要有注釋)。循跡的程序 #include
sbit R=P2^0;//右邊傳感器 sbit L=P2^1;//左邊傳感器 sbit RM1=P1^1;sbit RM2=P1^2;//右邊電機 sbit LM1=P1^3;sbit LM2=P1^4;//左邊電機 void main(){
16×16點陣LED室內電子顯示屏的設計
單片機原理及應用課程設計
RM1=1;
RM2=0;
LM1=1;
LM2=0;
delay(5);
while(1)
{
if((L==1)&&(R==1))//小車前進 {
RM1=1;
RM2=0;
LM1=1;
LM2=0;
delay(5);
}
else if((L==1)&&(R==0))//小車右偏
{
RM1=1;
RM2=0;
LM1=0;
LM2=1;
//左邊的電機停止轉動,右邊的電機轉動,這樣就實現了左轉
delay(10);
}
else if((L==0)&&(R==1))//小車左偏
{
RM1=0;
RM2=1;
LM1=1;
LM2=0;
//右邊的電機停止轉動,左邊的電機轉動,這樣就實現了右轉
delay(10);}
else if((L==0)&&(R==0))//小車停車
{
RM1=0;
RM2=1;
LM1=0;
LM2=1;delay(5);
}
16×16點陣LED室內電子顯示屏的設計
單片機原理及應用課程設計
else
//左右兩個電機同時啟動,直線前進
{
RM1=1;
RM2=0;
LM1=1;
LM2=0;
}
}
delay(10);
}
void delay(uint z)
{
uint a,b;for(a=z;a>0;a--)for(b=120;b>0;b--);}
8.附 錄B;作品實物圖片
16×16點陣LED室內電子顯示屏的設計
單片機原理及應用課程設計
9.參考文獻
[1] Mark Nelson著.瀟湘工作室譯.串行通信開發指南[M].中國水利水電出版社,2002.[2] 王宜懷.單片機原理及其嵌入式應用教程[M].北京希望電子出版社,2002.[3] 張毅剛.單片機原理及應用.高等教育出版社,2009 [4] 康華光.電子技術基礎(模擬部分).高等教育出版社.2006
第三篇:電磁智能小車設計報告
標題:電磁感應智能電動車
摘要:本系統以AVR單片機MEGAl6為核心器件,實現對驅動電路的控制,使電動小車自動行駛。利用電磁原理,在車模前上方水平方向固定兩個相距為L的電感,通過比較兩個電感中產生的感應電動勢大小即可判斷小車相對于導線的位置,進而做出調整,引導小車大致循線行駛。用PWM技術控制小車的直流電動機轉動,完成小車位置、速度、時間等的控制。利用干簧管來檢測跑道的起始和終點位置從而完成小車的起步及停車。
系統總體設計:
AVR單片機MEGAl6(該芯片能夠不需要外圍晶振和復位電路而獨立工作,非常適合智能尋跡車模的要求。)為核心,由單片機模塊、路徑識別模塊、直流電機驅動模塊、舵機驅動模塊等組成,如下圖所示。基于電磁感應的智能尋跡車模系統以
直流電動機為車輛的驅動裝置,轉向電動機用于控制車輛行駛方向。智能尋跡車模利用電磁感應在跑道上自主尋跡前進,轉向。
單片機模塊(控制模塊):
尋跡車模采用AVR內核的ATMEGAl6。該芯片能夠不需要外圍晶振和復位電路而獨立工作,非常適合智能尋跡車模的要求。
路徑識別模塊:
本方案就是在車模前上方水平方向固定兩個相距為L的電感。左邊的線圈的坐標為(x,h,z),右邊的線圈的位置(x-L,h,z)。由于磁場分布是以z軸為中心的同心圓,所以在計算磁場強度的時候我們僅僅考慮坐標(x,y)。由于線圈的軸線是水平的,所以感應電動勢反映了磁場的水平分量。計算感應電動勢:
圖 1 線圈中感應電動勢與它距導線水平位置x 的函數
如果只使用一個線圈,感應電動勢E 是位置x 的偶函數,只能夠反映到水平位置的絕對值x 的大小,無法分辨左右。為此,我們可以使用相距長度為L 的兩個感應線圈,計算兩個線圈感應電動勢的差值:
對于直導線,當裝有小車的中軸線對稱的兩個線圈的小車沿其直線行駛,即兩個線圈的位置關于導線對稱時,則兩個線圈中感應出來的電動勢大小應相同、且方向亦相同。若小車偏離直導線,即兩個線圈關于導線不對稱時,則通過兩個線圈的磁通量是不一樣的。這時,距離導線較近的線圈中感應出的電動勢應大于距離導線較遠的那個線圈中的。根據這兩個不對稱的信號的差值,即可調整小車的方向,引導其沿直線行駛。
對于弧形導線,即路徑的轉彎處,由于弧線兩側的磁力線密度不同,則當載有線圈的小車行駛至此處時,兩邊的線圈感應出的電動勢是不同的。具體的就是,弧線內側線圈的感應電動勢大于弧線外側線圈的,據此信號可以引導小車拐彎。
另外,當小車駛離導線偏遠致使兩個線圈處于導線的一側時,兩個線圈中感應電動勢也是不平衡的。距離導線較近的線圈中感應出的電動勢大于距離導線較遠的線圈。由此,可以引導小車重新回到導線上。
由于磁感線的閉合性和方向性,通過兩線圈的磁通量的變化方向具有一致性,即產生的感應電動勢方向相同,所以由以上分析,比較兩個線圈中產生的感應電動勢大小即可判斷小車相對于導線的位置,進而做出調整,引導小車大致循線行駛。
驅動模塊:
簡易智能小車有兩個電動機。其中一個小電動機控制前輪轉向,給電動機加正反向電壓,實現前輪的左右轉向;另一電動機控制后輪驅動力。控制轉向電動機需要較小的驅動力,經過實驗,選L293作為驅動芯片;由于后輪驅動功率較大,所以選用L298N,經過實驗發現小車行使過程中負載較大,導致L298N發熱較大,故給芯片添加散熱片以保護芯片正常工作。為了優化控制性能,采用PWM脈寬調速,并利用數模轉換芯片產生 模擬電壓,控制555生成占空比可調的脈沖從而控制L293B與L298N進行脈寬調速。
具體設計方案:
本設計使用一普通玩具小車作為車模,采用P W M 信號驅動,當PWM信號脈寬處于(1ms,1.5ms)區間時舵機控制小車向左行駛,脈寬處于(1.5ms,2ms)時小車向右行駛,脈寬約為1.5ms時小車沿直線行駛。本方案使用兩個10mH的電感置于車模頭部作為確定小車位置的傳感器。然后,設計了一個模擬電路,采集、調理、放大由電感得到的電動勢信號。具體電路如圖2所示。
該電路采用電壓并聯負反饋電路,電感信號從PL進入。考慮到單獨電感感應出的電動勢很小,本設計使用電感和電容諧振放大感應電動勢。由于使用的是10mH的電感,導線中電流頻率為20kHz,因此使用6.3nF的電容。這樣在電容上得到的電壓將會比較大,便于三極管進行放大。整個電路的具體放大倍數需要根據實際負載進行計算。本設計的小車控制電路如圖3所示。
首先,把由兩個電感得到的感應電動勢經調理、放大后得到的電壓輸出u1和u2送入由運放組成的減法器中進行減法運算,然后再經由運放組成的電壓跟隨器送給下一級電路。經過分析,這一級電路的輸出大致可由下式進行計算:
后一級電路由兩個555定時器組成,其中下方的555構成一個占空比非常接近于1的脈沖發生器,作為上方555的觸發脈沖。因為此觸發脈沖的低電平信號非常窄,所以能很好的保證上方555構成的單穩態電路正常運行。該脈沖信號頻率為:
上方的555定時器構成一個單穩型壓控振蕩器,它的脈寬受輸入V1的控制,輸出即PWM信號。當V1較大時,即兩個電感線圈中的感應電動勢相差較大時,亦即小車偏離導線向左行駛時,則脈寬較大,舵機將控制小車向右行駛;當V1適中時,接近,即小車沿導線行駛時,則脈寬接近1.5ms,小車按直線行駛;當V1較小時,即小車偏離導線向右行駛時,則脈寬較小,舵機將控制小車向左行駛。從而,控制小車大致循著導線行駛。另外,改變構成減法器的電阻的值,可以調整小車反應的靈敏度,進而防止出現小車以導線為中軸線左右搖擺的現象。
補充說明:跑道上的起始位置及終點位置用干簧管來檢測。
程序設計流程圖:
第四篇:智能循跡小車___設計報告
智能循跡小車設計
專 業: 自動化 班 級: 自動化132 姓 名:羅植升 莫柏源 梁桂賓 指導老師:
2014年4月——2010年6月
摘要: 本課題是基于STC89C52單片機的智能小車的設計與實現,小車完成的主要功能是能夠自主識別黑色引導線并根據黑線走向實現快速穩定的尋線行駛。小車系統以 STC89C52單片機為系統控制處理器; 采用紅外傳感獲取賽道的信息,來對小車的方向和速度進行控制。此外,對整個控制軟件進行設計和程序的編制以及程序的調試,并最終完成軟件和硬件的融合,實現小車的預期功能。
引 言 當今世界,傳感器技術和自動控制技術正在飛速發展,機械、電氣和電子信息已經不再明顯分家,自動控制在工業領域中的地位已經越來越重要,“智能”這個詞也已經成為了熱門詞匯。現在國外的自動控制和傳感器技術已經達到了很高的水平,特別是日本,比如日本本田制作的機器人,其仿人雙足行走已經做得十分逼真,而且具有一定的學習能力,還據說其智商已達到6歲兒童的水平。
作為機械行業的代表產品—汽車,其與電子信息產業的融合速度也顯著提高,呈現出兩個明顯的特點:一是電子裝置占汽車整車(特別是轎車)的價值量比例逐步提高,汽車將由以機械產品為主向高級的機電一體化方向發展,汽車電子產業也很有可能成為依托整車制造業和用車提升配置而快速成為新的增長點;二是汽車開始向電子化、多媒體化和智能化方向發展,使其不僅作為一種代步工具、同時能具有交通、娛樂、辦公和通訊等多種功能。
無容置疑,機電一體化人才的培養不論是在國外還是國內,都開始重視起來,主要表現在大學生的各種大型的創新比賽,比如:亞洲廣播電視聯盟亞太地區機器人大賽(ABU ROBCON)、全國大學生“飛思卡爾”杯智能汽車競賽等眾多重要競賽都能很好的培養大學生對于機電一體化的興趣與強化機電一體化的相關知識。但很現實的狀況是,國內不論是在機械還是電氣領域,與國外的差距還是很明顯的,所以作為機電一體化學生,必須加倍努力,為逐步趕上國外先進水平并超過之而努力。
為了適應機電一體化的發展在汽車智能化方向的發展要求,提出簡易智能小車的構想,目的在于:通過獨立設計并制作一輛具有簡單智能化的簡易小車,獲得項目整體設計的能力,并掌握多通道多樣化傳感器綜合控制的方法。所以立“智能循跡小車”一題作為嘗試。
此項設計是在以楊老師提供的小車為基礎上,采用AT89C52單片機作為控制核心,實現能夠自主識別黑色引導線并根據黑線走向實現快速穩定的尋線行駛。
一、實驗目的:
通過設計進一步掌握51單片機的應用,特別是在嵌入式系統中的應用。進一步學習51單片機在系統中的控制功能,能夠合理設計單片機的外圍電路,并使之與單片機構成整個系統。
二、設計方案:
該智能車采用紅外傳感器對賽道進行道路檢測,單片機根據采集到的信號的不同狀態判斷小車當前狀態,通過電機驅動芯片L9110發出控制命令,控制電機的工作狀態以實現對小車姿態的控制。
三、報告內容安排:
本技術報告主要分為三個部分。第一部分是對整個系統實現方法的一個概要說明,主要內容是對整個技術原理的概述;第二部分是對硬件電路設計的說明,主要介紹系統傳感器的設計及其他硬件電路的設計原理等;第三部分是對系統軟件設計部分的說明,主要內容是智能模型車設計中主要用到的控制理論、算法說明及代碼設計介紹等。
技術方案概要說明
本模型車的電路系統包括電源管理模塊、單片機模塊、傳感
器模塊、電機驅動模塊。
工作原理:
? 利用紅外采集模塊中的紅外發射接收對管檢測路面上的軌跡 ? 將軌跡信息送到單片機
? 單片機采用模糊推理求出轉向的角度和行走速度,然后去控制 行走部分
? 最終完成智能小車可以按照路面上的軌跡運行。
硬件電路的設計
1、最小系統:
小車采用STC89C52單片機作為控制芯片,圖1是其最小系統電路。主要包括:時鐘電路、電源電路、復位電路。其中各個部分的功能如下:
1、時鐘電路:給單片機提供一個外接的12MHz的石英晶振。
2、電源電路:給單片機提供5V電源。
3、復位電路:在電壓達到正常值時給單片機一個復位信號。
圖1
單片機最小系統原理圖
2、電源電路設計:
模型車通過自身系統,采集賽道信息,獲取自身速度信息,加以處理,由芯片給出指令控制其前進轉向等動作,各部分都需要由電路支持,電源管理尤為重要。在本設計中,51單片機使用5V電源,電機及舵機使用6V電源。考慮到電源為充電電池組,額定電壓為7.2V,實際充滿電后電壓則為6.5-6.8V,所以單片機及傳感器模塊采用7805穩壓后的5V電源供電,舵機及電機直接由電池供電。
3、傳感器電路:
光電尋線方案一般由多對TCRT5000紅外收發管組成,通過檢測接收到的反射光強,判斷黑白線。原理圖由紅外對管和電壓比較器兩部分組成,紅外對管輸出的模擬電壓通過電壓比較器轉換成數字電平輸出到單片機。
圖2
賽道檢測原理圖:
4、電機驅動電路:
電機驅動芯片L9110,內部包含4通道邏輯驅動電路。是一種二相和四相電機的專用驅動器,即內含二個H橋的高電壓大電流雙全橋式驅動器,接收標準TTL邏輯電平信號,可驅動46V、2A以下的電機。其引腳排列如圖1中U4所示,1腳和15腳可單獨引出連接電流采樣電阻器,形成電流傳感信號。L9110可驅動2個電機,OUT1、OUT2和OUT3、OUT4之間分別接2個電動機。5、7、10、12腳接輸入控制電平,控制電機的正反轉,ENA,ENB接控制使能端,控制電機的停轉。也利用單片機產生PWM信號接到ENA,ENB端子,對電機的轉速進行調節。L9110的邏輯功能:
表1 SHARP GP2D12實物圖
外形及封裝:
圖3 L9110實物圖
L9110電路原理圖:
由于一片L298N可以直接驅動兩個電機,但是為了加大驅動力,我們采用兩路并聯的方式來驅動電機。
圖3.3 L9110電路圖
小車循跡規則:
若小車偏左的時候,車輪將向右偏轉;若小車偏右,車輪將向左偏轉;若沒有偏移,小車將繼續向前;若小車完全偏離黑色軌跡,小車后退以尋找黑色軌跡。小車程序:
#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,用來讀取串口的數據
void delay(uint z)//一個帶參數的延時程序 {
}
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--);//將參數z賦值給j void qian()//左右輪協同前進子函數 {
} void zuo()//左右輪協同左轉子函數 {
you1=0;you2=1;zuo1=1;zuo2=0;delay(9);//pwm調速 此為pwm有效值 you1=1;you2=1;you1=0;you2=1;zuo1=0;zuo2=1;delay(6);//pwm調速 此為pwm有效值 you1=1;you2=1;zuo1=1;zuo2=1;delay(4);
} zuo1=1;zuo2=1;delay(1);
void mzuo()//左右輪協同左轉子函數 {
} void you()//左右輪協同右轉子函數 {
you1=1;you2=0;zuo1=0;you1=0;you2=1;zuo1=1;zuo2=0;delay(10);//pwm調速 此為pwm有效值 you1=1;you2=1;zuo1=1;zuo2=1;delay(5);
} zuo2=1;delay(9);//pwm調速 此為pwm有效值 you1=1;you2=1;zuo1=1;zuo2=1;delay(1);
void myou()//左右輪協同右轉子函數 {
} you1=1;you2=0;zuo1=0;zuo2=1;delay(10);//pwm調速 此為pwm有效值 you1=1;you2=1;zuo1=1;zuo2=1;delay(5);void hou()//左右輪協同前進子函數 {
}
void ting()//左右輪都停止轉動 {
} you1=1;you2=1;zuo1=1;zuo2=1;you1=1;you2=0;zuo1=1;zuo2=0;delay(9);//pwm調速 此為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,為讀狀態做準備、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;//選擇寫狀態 P0=combuf;//將命令字通過P0口送至DB E=1;//E高電平將命令字寫入1602液晶 E=0;//寫完以后,恢復E的電平} void LCD1602_Write_com_busy(unsigned char combuf){ LCD1602_busy();//調用忙檢測函數 LCD1602_Write_com(combuf);//調用忙檢測函數 } void LCD1602_Write_data_busy(unsigned char databuf){ LCD1602_busy();//調用忙檢測函數 RS=1;//選擇數據寄存器 RW=0;//選擇寫狀態 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);//調用延時函數 LCD1602_Write_com(0x38);//8位數據總線,兩行顯示模式,5*7點陣顯示 Delay1602(500);//調用延時函數 LCD1602_Write_com(0x38);//8位數據總線,兩行顯示模式,5*7點陣顯示 Delay1602(500);//調用延時函數 LCD1602_Write_com(0x38);//8位數據總線,兩行顯示模式,5*7點陣顯示 LCD1602_Write_com_busy(0x38);//8位數據總線,兩行顯示模式,5*7點陣顯示 LCD1602_Write_com_busy(0x08);//顯示功能關,無光標 LCD1602_Write_com_busy(0x01);//清屏 LCD1602_Write_com_busy(0x06);//寫入新的數據后,光標右移,顯示屏不移動 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);//再寫入要顯示的數據 } void Timer0(void)interrupt 1 { } flag=0;void xunji(){ qian();//調用前進子函數,使小車光電管不滿足以下幾個條件時都處于前進狀態 while((z==0)&&(y==1)&&(q==1))//判斷當左邊光電管遇到黑線,{ } while((z==1)&&(y==0)&&(q==1))//判斷當右邊光電管遇到黑線,{ } while((z==0)&&(y==0)&&(q==1))//判斷當左邊光電管遇到黑線,右邊 //左邊和前邊的光電管遇到白線時右轉 //右邊和前邊的光電管遇到白線時左轉 zuo();//調用左轉函數 zd=1;you();//調用右轉函數 yd=1;光電管也遇到黑線 { //前邊的光電管遇到白線時停止 ting();//調用停止函數 } hd=1;while((z==0)&&(y==0)&&(q==0))//判斷當左邊、右邊、前邊光電管同時遇到黑線 } void csb(){ long S;unsigned int i;unsigned int Timeout; { } //即遇到十字路口,小車前進 qian();//調用前進函數 LCD1602_init();//調用1602液晶初始化函數 //***定時器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; //發一個脈沖觸發信號 //維持約17US,符合不低于10US的要求 //維持約17US,符合不低于10US的要求 i=4; while(i>0)i--; TIRG=0;TR0=0; //維持約17US,符合不低于10US的要求 //撤銷觸發信號 //關閉定時器 //設置定時器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)); //等待回響高電平結束后 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();//調用初始化子程序 while(1)//死循環 { switch(a)//判斷a從串口讀取到的數據 { case 0x00://如果是0x1f就前進 xunji();break;case 0x01://如果是0x2f就后退 qian();break;case 0x02://如果是0x3f就左轉 csb();break; case 0x03://如果是0x4f就右轉 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;//讀取單片機串口接受的藍牙模塊發送的數據 結論 根據本次設計要求,我們小組系統地閱讀了大量的資料,并認真分析了設計課題的需求,還系統學習了51系列單片機的工作原理及其使用方法,并獨自設計智能小車的整個項目。 雖然條件艱苦,但經過不懈鉆研和努力,購買到了所有所需的元器件,并系統的進行了多項試驗,最終做出了整個小車的硬件系統,然后結合課題任務和小車硬件進行了程序的編制,本系統能夠基本滿足設計要求,能夠較快較平穩的是小車沿引導線行駛,但由于經驗能力有限,該系統還存在著許多不盡人意的地方有待于進一步的完善與改進。 通過本次課題設計,不僅是對我們課本所學知識的考查,更是對我的自學能力和收集資料能力以及動手能力的考驗。本次畢業設計使我們對一個項目的整體設計有了初步認識,還認識了幾種傳感器,并能獨立設計出其接口電路,再有對電路板的制作有了一定的了解,并學會了使用Protel設計電路。本次畢業設計使我們意識到了實驗的重要性,在硬件制作和軟件調試的過程中,出現了很多問題,最終都是通過實驗的方法來解決的。還有以前對程序只是一個很模糊的概念,通過這次的課題設計使我對程序完全有了一個新的認識,并能使用C熟練的進行編程了。通過本次課題設計,極大的鍛煉了我們的思考和分析問題的能力,并對單片機有了一個更深的認識。 總之,在課題設計的過程中,無論是對于學習方法還是理論知識,我們都有了新的認識,受益匪淺,這將激勵我們在今后再接再厲,不斷完善自己的理論知識,提高實踐運作能力。 智能小車設計文獻綜述 智能小車設計文獻綜述 摘要:隨著電子工業的發展,智能技術廣泛運用于各種領域,智能小車不僅在工業智能化上得到廣泛的應用,而且運用于智能家居中的產品也越來越受到人們的青睞。國外智能車輛的研究歷史較長。相比于國外,我國開展智能車輛技術方面的研究起步較晚,在智能車輛技術方面的研究總體上落后于發達國家但是也取得了一系列的成果。隨著人工智能技術、計算機技術、自動控制技術的迅速發展,智能控制將有廣闊的發展空間。本設計的智能小車利用紅外對管檢測黑線與障礙物,并以單片機為控制芯片控制電動小汽車的速度及轉向,從而實現自動循跡避障的功能。并對智能小車研究現狀以及未來的應用與發展前景做一個全方面的介紹。關鍵詞:智能技術,自動循跡,避障 前言 隨著電子技術、計算機技術和制造技術的飛速發展,數碼相機、DVD、洗衣機、汽車等消費類產品越來越呈現光機電一體化、智能化、小型化等趨勢。智能化作為現代社會的新產物,是以后的發展方向,他可以按照預先設定的模式在一個特定的環境里自動的運作,無需人為管理,便可以完成預期所要達到的或是更高的目標。智能小車,也稱輪式機器人,是一種以汽車電子為背景,涵蓋控制、模式識別、傳感技術、電子、電氣、計算機、機械等多科學的科技創意性設計,一般主要路徑識別、速度采集、角度控制及車速控制等模塊組成。一般而言,智能車系統要求小車在白色的場地上,通過控制小車的轉向角和車速,使小車能自動地沿著一條任意給定的黑色帶狀引導線行駛[1]。智能小車運用直流電機對小車進行速度和正反方向的運動控制,運用直流電機對小車進行速度和正反方向的運動控制,通過單片機來控制直流電機的工作,從而實現對整個小車系統的運動控制。智能小車的發展歷史、國內外研究現狀 2.1 國外研究現狀 國外智能車輛的研究歷史較長,始于上世紀50年代。它的發展歷程大體可以分成三個階段[2][3][4]: 第一階段,20世紀50年代是智能車輛研究的初始階段。1954年美國Barrett Electronics 公司研究開發了世界上第一臺自主引導車系統AGVS(Automated Guided Vehicle System)。該系統只是一個運行在固定線路上的拖車式運貨平臺,但它卻具有了智能車輛最基本得特征即無人駕駛。早期研制AGVS的目的是為了提高倉庫運輸的自動化水平,應用領域僅局限于倉庫內的物品運輸。隨著計算機的應用和傳感 智能小車設計文獻綜述 技術的發展,智能車輛的研究不斷得到新的發展。 第二階段,從80年代中后期開始,世界主要發達國家對智能車輛開展了卓有成效的研究。在歐洲,普羅米修斯項目于1986年開始了在這個領域的探索。在美洲,美國于1995年成立了國家自動高速公路系統聯盟(NAHSC),其目標之一就是研究發展智能車輛的可能性,并促進智能車輛技術進入實用化。在亞洲,日本于1996年成立了高速公路先進巡航/輔助駕駛研究會,主要目的是研究自動車輛導航的方法,促進日本智能車輛技術的整體進步。進入80年代中期,設計和制造智能車輛的浪潮席卷全世界,一大批世界著名的公司開始研制智能車輛平臺。 第三階段,從90年代開始,智能車輛進入了深入、系統、大規模研究階段。最為突出的是,美國卡內基.梅隆大學(Carnegie Mellon University)機器人研究所一共完成了Navlab系列的10臺自主車(Navlab1—Navlab10)的研究,取得了顯著的成就。 目前,智能車輛的發展正處于第三階段。這一階段的研究成果代表了當前國外智能車輛的主要發展方向。在世界科學界和工業設計界中,眾多的研究機構研發的智能車輛具有代表性的有: 德意志聯邦大學的研究,1985年,第一輛VaMoRs智能原型車輛在戶外高速公路上以100km/h的速度進行了測試,它使用了機器視覺來保證橫向和縱向的車輛控制。1988年,在都靈的PROMRTHEUS項目第一次委員會會議上,智能車輛維塔(VITA,7t)進行了展示,該車可以自動停車、行進,并可以向后車傳送相關駕駛信息。這兩種車輛都配備了UBM視覺系統。這是一個雙目視覺系統,具有極高的穩定性。 荷蘭鹿特丹港口的研究,智能車輛的研究主要體現在工廠貨物的運輸。荷蘭的Combi road系統,采用無人駕駛的車輛來往返運輸貨物,它行駛的路面上采用了磁性導航參照物,并利用一個光陣列傳感器去探測障礙。荷蘭南部目前正在討論工業上利用這種系統的問題,政府正考慮已有的高速公路新建一條專用的車道,采用這種系統將貨物從鹿特丹運往各地。 日本大阪大學的研究,大阪大學的Shirai實驗室所研制的智能小車,采用了航位推測系統(Dead Reckoning System),分別利用旋轉編碼器和電位計來獲取智能小車的轉向角,從而完成了智能小車的定位。另外,斯特拉斯堡實驗中心、英國國防部門的研究、美國卡內基梅隆大學、奔馳公司、美國麻省理工學院、韓國理工大學對智能車輛也有較多的研究。 智能小車設計文獻綜述 2.2 國內研究現狀 相比于國外,我國開展智能車輛技術方面的研究起步較晚,開始于20世紀80年代。而且大多數研究處在于針對某個單項技術研究的階段。雖然我國在智能車輛技術方面的研究總體上落后于發達國家,并且存在一定得技術差距,但是我們也取得了一系列的成果[5 ],主要有: (1)中國第一汽車集團公司和國防科技大學機電工程與自動化學院與2003年研制成功我國第一輛自主駕駛轎車。該自主駕駛轎車在正常交通情況下的高速公路上,行駛的最高穩定速度為13km/h,最高峰值速度達170km/h,并且具有超車功能,其總體技術性能和指標已經達到世界先進水平。 (2)南京理工大學、北京理工大學、浙江大學、國防科技大學、清華大學等多所院校聯合研制了7B.8軍用室外自主車,該車裝有彩色攝像機、激光雷達、陀螺慣導定位等傳感器。計算機系統采用兩臺Sun10完成信息融合、路徑規劃,兩臺PC486完成路邊抽取識別和激光信息處理,8098單片機完成定位計算和車輛自動駕駛。其體系結構以水平式結構為主,采用傳統的“感知-建模-規劃-執行”算法,其直線跟蹤速度達到20km/h,避障速度達到5-10km/h。 智能車輛研究也是智能交通系統ITS的關鍵技術。目前,國內的許多高校和科研院所都在進行智能交通系統ITS(Intelligent Transport System)關鍵技術、設備的研究。隨著ITS研究的興起,我國已形成一支ITS技術研究開發的技術專業隊伍。并且各交通、汽車企業越來越加大了對ITS及智能車輛技術研發的投入,整個社會的關注程度在不斷提高。交通部已將ITS研究列入“十五”科技發展計劃和2010年長期規劃。相信經過相關領域的共同努力,我國ITS及智能車輛的技術水平一定會得到很大提高。 目前學術界對智能小車的研究也很多,桂林理工大學黃建能等[2]設計的無線遙控小車,其由四部分組成:主控模塊、無線通信模塊、電機驅動模塊和電源模塊。主控模塊采用STC89C52單片機作為處理器;無線通信模塊采用芯片 PT2262和 PT2272實現無線收發;用內置兩個H橋的 L298芯片驅動直流電機實現對小車的控制,實現前進、后退,左轉、右轉以及加速、減速的動作。整個無線遙控小車系統具有體積小、成本低、操作簡單等優點,并具有一定的可擴展性。 于連國、李偉等[6]設計了自動往返的智能電動車,其采用 STC89C51 單片機作為小車的檢測和控制核心;使用紅外傳感器檢測跑道黑線并把反饋到的信號傳給單片機,能夠使小車在各區域均能按預定的速度行駛。 智能小車設計文獻綜述 葛廣軍,楊帆[7]設計了一種能夠自動循跡的智能小車。該智能小車的控制系統以單片機MC912DG128為核心,由路徑識別、車速檢測、舵機控制、直流電機、電機驅動芯片LMD18200和電壓轉換芯片LM7525等模塊組成,并詳細闡述了控制系統的組成原理和軟硬件設計。實驗的結果表明:該控制系統具有循跡效果好、性能穩定等優點。 董濤,劉進英等[8]設計并制作了一種具有紅外遙控、自動避障、智能尋徑等功能的智能小車,該車以玩具小車為車體,直流電機及其控制電路為整個系統的驅動部分,STC89C52單片機為整個系統的控制核心,采用IRM-2638紅外一體接收頭接收控制信號實現對小車的遙控,加以多種傳感器以實現小車的自動避障與智能尋徑等功能,該小車還配備了兩塊數碼顯示管,以便實時觀察小車狀態。該小車工作穩定,還可用于各種機器人比賽。 姜寶華、齊強等[9]基于STC89C52RC單片機設計了一種遙控智能小車。小車具有自動、遙控兩種模式。該小車在遙控模式下小車可在1公里范圍遙控到達指定位置,并在手持設備上顯示小車位置坐標;自動模式下在封閉環境輸入任意坐標,小車可自動運行到該位置。 可以預計,我國飛速發展的經濟實力將為智能車輛的研究提供一個更加廣闊的前景。我們要結合我國國情,在某一方面或某些方面,對智能車進行深入細致的研究,為它今后的發展及實際應用打下堅實的基礎。智能小車設計構想 智能車輛是集環境感知、規劃決策、多等級輔助駕駛等功能于一體的綜合系統,是智能交通系統的一個重要組成部分。本次設計對智能小車的控制系統進行了研究,設計實現一個基于路徑規劃處理的智能小車控制系統,實現智能小車最基本的兩個功能:循跡、避障。 3.1 主控系統 方案1:采用可編程邏輯器件CPLD作為控制器。CPLD可以實現各種復雜的 邏輯功能、規模大、密度高、體積小、穩定性高、IO資源豐富、易于進行功能擴展。采用并行的輸入輸出方式,提高了系統的處理速度,適合為大規模控制系統的控制核心。但本設計不需要復雜的邏輯功能,對數據的處理速度要求也不是非常高。且從使用及經濟角度考慮我放棄了此方案。 方案2:采用51單片機作為整個系統的核心[7],用其控制行進中的小車,以實現其既定的性能指標。充分分析我們的系統,其關鍵在于實現小車的自動控制,而 智能小車設計文獻綜述 在這一點上,單片機就顯現出來它的優勢——控制簡單、方便、快捷。這樣一來,單片機就可以充分發揮其資源豐富、有較為強大的控制功能及可位尋址操作功能、價格低廉等優點。因此,這種方案是一種較為理想的方案。 綜上所述,我采用了方案二。 3.2 電機驅動模塊 方案1:采用繼電器對電動機的開或關進行控制,通過開關的切換對小車的速度進行調整.此方案的優點是電路較為簡單,缺點是繼電器的響應時間慢,易損壞,壽命較短,可靠性不高。 方案2:采用電阻網絡或數字電位器調節電動機的分壓,從而達到分壓的目的。但電阻網絡只能實現有級調速,而數字電阻的元器件價格比較昂貴。更主要的問題在于一般的電動機電阻很小,但電流很大,分壓不僅回降低效率,而且實現很困難。 方案3:采用功率三極管作為功率放大器的輸出控制直流電機。線性型驅動的電路結構和原理簡單,加速能力強,采用由達林頓管組成的 H型橋式電路。用單片機控制達林頓管使之工作在占空比可調的開關狀態下,精確調整電動機轉速。這種電路由于工作在管子的飽和截止模式下,效率非常高,H型橋式電路保證了簡單的實現轉速和方向的控制,電子管的開關速度很快,穩定性也極強,是一種廣泛采用的 PWM調速技術。 這種調速方式有調速特性優良、調整平滑、調速范圍廣、過載能力大,能承受頻繁的負載沖擊,還可以實現頻繁的無級快速啟動、制動和反轉等優點。因此決定采用使用功率三極管作為功率放大器的輸出控制直流電機。 綜合考慮,本設計選擇了方案三。 3.3 循跡模塊 方案1:采用簡易光電傳感器結合外圍電路探測,但實際效果并不理想,對行駛過程中的穩定性要求很高,且誤測幾率較大、易受光線環境和路面介質影響。在使用過程極易出現問題,而且容易因為該部件造成整個系統的不穩定。故最終未采用該方案。 方案2:采用兩只紅外對管,分別置于小車車身前軌道的兩側,根據兩只光電開關接受到白線與黑線的情況來控制小車轉向來調整車向,測試表明,只要合理安裝好兩只光電開關的位置就可以很好的實現循跡的功能。 方案3:采用三只紅外對管,一只置于軌道中間,兩只置于軌道外側,當小車脫離軌道時,即當置于中間的一只光電開關脫離軌道時,等待外面任一只檢測到黑 智能小車設計文獻綜述 線后,做出相應的轉向調整,直到中間的光電開關重新檢測到黑線(即回到軌道)再恢復正向行駛。現場實測表明,小車在尋跡過程中有一定的左右搖擺不定,雖然可以正確的循跡但其成本與穩定性都次于第二種方案。 綜合考慮,本設計選擇方案二。 3.4 避障模塊 方案1:采用一只紅外對管置于小車中央。其安裝簡易,也可以檢測到障礙物的存在,但難以確定小車在水平方向上是否會與障礙物相撞,也不易讓小車做出精確的轉向反應。 方案2:采用二只紅外對管分別置于小車的前端兩側,方向與小車前進方向平行,對小車與障礙物相對距離和方位能作出較為準確的判別和及時反應。 方案3:采用一只紅外對管置于小車右側。通過測試此種方案就能很好的實現小車避開障礙物,且充分的利用資源而不浪費。 綜合考慮,本設計選擇方案二。設計原理簡述 4.1 循跡原理 這里的循跡是指小車在白色地板上循黑線行走,通常采取的方法是紅外探測法。紅外探測法,即利用紅外線在不同顏色的物體表面具有不同的反射性質的特點,在小車行駛過程中不斷地向地面發射紅外光,當紅外光遇到白色紙質地板時發生漫反射,反射光被裝在小車上的接收管接收;如果遇到黑線則紅外光被吸收,小車上的接收管接收不到紅外光。單片機就是否收到反射回來的紅外光為依據來確定黑線的位置和小車的行走路線。紅外探測器探測距離有限,一般最大不應超過15cm。對于發射和接收紅外線的紅外探頭,可以自己制作或直接采用集成式紅外探頭。 當小車在白色地面行駛時,裝在車下的紅外發射管發射紅外線信號,經白色反射后,被接收管接收,一旦接收管接收到信號,那么圖中光敏三極管將導通,比較器輸出為低電平;當小車行駛到黑色引導線時,紅外線信號被黑色吸收后,光敏三極管截止,比較器輸出高電平,從而實現了通過紅外線檢測信號的功能。將檢測到的信號送到單片機I/O口,當I/O口檢測到的信號為高電平時,表明紅外光被地上的黑色引導線吸收了,表明小車處在黑色的引導線上;同理,當I/O口檢測到的信號為低電平時,表明小車行駛在白色地面上。 循跡流程框圖如圖4.1所示。 智能小車設計文獻綜述 開始前進N是否檢測到黑線Y左轉Y判斷是否是左邊檢測到黑線N右轉 圖4.1 循跡流程框圖 4.2 紅外避障原理 避障傳感器基本原理,和循跡傳感器工作原理基本相同,利用物體的反射性質。在一定范圍內,如果沒有障礙物,發射出去的紅外線,因為傳播距離越遠而逐漸減弱,最后消失。如果有障礙物,紅外線遇到障礙物,被反射到達傳感器接收頭。傳感器檢測到這一信號,就可以確認正前方有障礙物,并送給單片機,單片機進行一系列的處理分析,協調小車兩輪工作,完成一個漂亮的躲避障礙物動作傳。 躍遷到導帶,成為自由電子,同時產生空穴,電子—空穴對的出現使電阻率變小。光照愈強,光生電子—空穴對就越多,阻值就愈低。當光敏電阻兩端加上電壓后,流過光敏電阻的電流隨光照增大而增大。入射光消失,電子-空穴對逐漸復合,電阻也逐漸恢復原值,電流也逐漸減小。 紅外避障流程框圖如圖4.2所示。 智能小車設計文獻綜述 開始前進N左轉是否檢測到障礙物NY左紅外是否檢測到障礙物N左右紅外對管都檢測到障礙物YY右轉后退 圖4.2 紅外避障流程圖 總結及展望 智能小車的研究、開發和應用涉及傳感技術、電氣技術、電氣控制技術、智能控制等學科,智能控制技術是一門跨科學的綜合性技術,當代研究十分活躍,應用日益廣泛的領域。智能作為現代社會的新產物,是以后的發展方向,它可以按照預先設定的模塊在一個特定的環境里自動的運行,可運用于科學勘探等用途,無需人為的管理,便可以完成預期所要達到的或更高的目標。智能機器人正在代替人們完成這些任務,凡不宜有人直接承擔的任務,均可由智能機器人代替,可以適應不同環境,不受溫度、濕度等條件的影響,完成危險地段,人類無法介入等特殊情況下的任務,智能小車就是其中的一個體現。對于智能小車研究還可以從以下方向展開:在小車上裝攝像頭進行實時視頻監控采集,通過無線傳給遠端的主機,主機可以發送命令給小車,執行相應的動作等等。還可以擴展其他的模塊。就可以廣泛的應用于科學研究、地質勘探、危險搜索、智能救援等。 智能小車設計文獻綜述 參考文獻 [1] 趙海蘭.基于單片機的紅外遙控智能小車的設計[J].無線互聯科技, 2011年3期 [2] Dickmanns E D,etc.The Seeing Passenger Car “Vamors-P” Proc 1994 IEEE Symposia on Intelligent Vehicles.IEEE Press Piscataway,1994,10(5):68-73 [3] Maurer M.Vamors-p——An Advanced Platform for Visual Autonomous Road Vehicl Guidance.In:SPIEConfon Mobile Robots IX.Boston,1994,12(3):239-248 [4] Broggi A, Bertozzi M, Faseioli A et al.Automatic vehicle guidance:the experience of the ARGO autonomous vehicle.Singapore:World Scientific PubllshingCo, 1998:23-24 [5] 尹念東.智能車輛的研究及前景[J].上海汽車,2002.2 [6] 于連國,李偉,王妍瑋.基于單片機的智能小車設計[J]林業機械與木工設備,2011, Vol.39,No.4:39-41.[7] 葛廣軍,楊帆.基于單片機的智能小車控制系統設計.[J]河南城建學院學報, 2011, Vol.20,No.3:47-50.[8] 董濤,劉進英,蔣蘇.基于單片機的智能小車的設計與制作[J]計算機測量與控制, 2009, Vol.17,No.2:380-382.[9] 姜寶華,齊強.基于單片機的無線遙控智能小車的設計與制作[J]計算機測量與控制, 2013,(2):24-25.[10] 王晶.智能小車運動控制技術研究.碩士論文,武漢:武漢理工大學,2009第五篇:智能小車設計文獻綜述