蔽障循跡智能小車586299
《蔽障循跡智能小車586299》由會(huì)員分享,可在線閱讀,更多相關(guān)《蔽障循跡智能小車586299(31頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 一、緒論.......................................................................4 1.1智能小車的作用和意義..................................................................4 二、方案設(shè)計(jì)與論證 ................................................ 4 2.1 總體方案設(shè)計(jì) .......
2、........................................................................4 2.2主控系統(tǒng) ........................................................................................5 2.3傳感器選擇方案 ............................................................................6 2.4電機(jī)驅(qū)動(dòng)芯片選擇方案.....................
3、.............................................6 2.5電機(jī)方案選擇..................................................................................6 2.6電源方案選擇..................................................................................7 三、主要器件介紹 .....................................................
4、7 3.1 STC89C52的介紹 .........................................................................7 3.2 L298N的介紹 ...............................................................................8 3.2.1 L298N的引腳功能 ................................................................................... 9 3.2.
5、2 L298N的運(yùn)行參數(shù) ...................................................................................10 3.2.3 L298N的邏輯控制 ................................................................................... 10 3.3 TCRT5000的介紹 ........................................................................ 11 3
6、.4LM339的介紹 ................................................................................12 3.5 L7805CV和L7806CV的介紹.........................................................12 四、硬件設(shè)計(jì) ............................................................... 14 4.1 主控芯片STC89C52單片機(jī)最小系統(tǒng)板電路 ...................
7、........ 14 4.2 電機(jī)驅(qū)動(dòng)模塊電路..........................................................................15 4.3紅外對(duì)黑線檢測模塊電路...............................................................16 4.4穩(wěn)壓電源電路...................................................................................18 五、程序設(shè)計(jì) ..........
8、................................................... 19 5.1主程序 .............................................................................................19 六、調(diào)試....................................................................... 28 6.1硬件調(diào)試 ..................................................
9、.......................................28 6.1.1元件的固定 ........................................................................... 28 6.1.2TCRT5000探頭 ..................................................................... 29 6.1.3 L298N馬達(dá)驅(qū)動(dòng)模塊 .........................................................
10、.. 29 6.2軟件調(diào)試 ........................................................................................ 29 6.2.1調(diào)試平臺(tái)介紹 ......................................................................... 29 6.2.2程序調(diào)試.....................................................................................29 6.
11、3 測試結(jié)果與分析 ........................................................................... 30 七、心得體會(huì).................................................................................. 30 附件 元件清單 參考文獻(xiàn) 一、緒論 1.1智能小車的作用和意義 自第一臺(tái)工業(yè)機(jī)器人誕生以來,機(jī)器人的發(fā)展已經(jīng)遍及機(jī)械、電子、冶金、交通、宇航、國防等領(lǐng)域。近年來機(jī)器人的智
12、能水平不斷提高,并且迅速地改變著人們的生活方式。人們?cè)诓粩嗵接憽⒏脑?、認(rèn)識(shí)自然的過程中,制造能替代人勞動(dòng)的機(jī)器一直是人類的夢(mèng)想。 隨著科學(xué)技術(shù)的發(fā)展,機(jī)器人的感系統(tǒng),對(duì)于視覺的各種技術(shù)而言圖像處理技術(shù)已相當(dāng)發(fā)達(dá),而基于圖像的理解技術(shù)還很落后,機(jī)器視覺需要通過大量的運(yùn)算也只能識(shí)別一些結(jié)構(gòu)化環(huán)境簡單的目標(biāo)。視覺傳感器的核心器件是攝像管或CCD,目前的CCD已能做到自動(dòng)聚焦。但CCD傳感器的價(jià)格、體積和使用方式上并不占優(yōu)勢,因此在不要求清晰圖像只需要粗略感覺的系統(tǒng)中考慮使用接近覺傳感器是覺傳感器種類越來越多,其中視覺傳感器成為自動(dòng)行走和駕駛的重要部件。視覺的典型應(yīng)用領(lǐng)域?yàn)樽灾魇街悄軐?dǎo)航一種實(shí)用有效
13、的方法。 機(jī)器人要實(shí)現(xiàn)自動(dòng)導(dǎo)引功能和避障功能就必須要感知導(dǎo)引線和障礙物,感知導(dǎo)引線相當(dāng)給機(jī)器人一個(gè)視覺功能。避障控制系統(tǒng)是基于自動(dòng)導(dǎo)引小車(AVG—auto-guide vehicle)系統(tǒng),基于它的智能小車實(shí)現(xiàn)自動(dòng)識(shí)別路線,判斷并自動(dòng)避開障礙,選擇正確的行進(jìn)路線。使用傳感器感知路線和障礙并作出判斷和相應(yīng)的執(zhí)行動(dòng)作。 該智能小車可以作為機(jī)器人的典型代表。它可以分為三大組成部分:傳感器檢測部分、CPU、執(zhí)行部分。機(jī)器人要實(shí)現(xiàn)自動(dòng)避障功能,還可以擴(kuò)展循跡等功能,感知導(dǎo)引線和障礙物??梢詫?shí)現(xiàn)小車自動(dòng)識(shí)別路線,選擇正確的行進(jìn)路線,并檢測到障礙物自動(dòng)躲避?;谏鲜鲆?,傳感檢測部分考慮到小
14、車一般不需要感知清晰的圖像,只要求粗略感知即可。智能小車的執(zhí)行部分,是由直流電機(jī)來充當(dāng)?shù)模饕刂菩≤嚨男羞M(jìn)方向和速度。 二、方案設(shè)計(jì)與論證 2.1 總體方案設(shè)計(jì) 本系統(tǒng)基于AT89C52單片機(jī)的小車尋跡系統(tǒng),該系統(tǒng)采用兩組高靈敏度的紅外反射式光電傳感器,對(duì)路面的黑色軌跡進(jìn)行檢測,將檢測的數(shù)據(jù)送入單片機(jī)進(jìn)行處理,并利用單片機(jī)產(chǎn)生PWM波,并以最短時(shí)間完成尋跡。同時(shí)采用紅外傳感器對(duì)障礙物進(jìn)行躲避功能,遇到對(duì)于交通燈的檢測采用固定頻率的紅外線信號(hào)表示不同的交通指示燈,使控制系統(tǒng)更加智能。在軟件程序上采用一定的控制算法,使得小車在通道上第一次遇到十字黑線時(shí)候減速行駛,在第二次遇到十
15、字黑線可以實(shí)現(xiàn)減速轉(zhuǎn)彎,因此,本系統(tǒng)由紅外光電傳感器,單片機(jī)和驅(qū)動(dòng)單元共同作用,保證小車能在預(yù)先設(shè)定的軌跡上行駛。 本設(shè)計(jì)的主要特色本設(shè)計(jì)的主要特色本設(shè)計(jì)的主要特色本設(shè)計(jì)的主要特色: 1.自制的四個(gè)輪結(jié)構(gòu)小車,采用PWM調(diào)速。 2.采用6V電池供電,直流穩(wěn)壓電路工作穩(wěn)定。 3.采用紅外發(fā)射傳感器接收對(duì)黑線標(biāo)志進(jìn)行識(shí)別,具有高精度和高靈敏度。 2.2主控系統(tǒng) 根據(jù)設(shè)計(jì)要求,我認(rèn)為此設(shè)計(jì)屬于多輸入量的復(fù)雜程序控制問題。據(jù)此,擬定了以下兩種方案并進(jìn)行了綜合的比較論證,具體如下: 方案一: 選用一片CPLD(如EPM7128LC84-15)作為系統(tǒng)的核心部件,實(shí)現(xiàn)控制與處
16、理的功能。CPLD具有速度快、編程容易、資源豐富、開發(fā)周期短等優(yōu)點(diǎn),可利用VHDL語言進(jìn)行編寫開發(fā)。但CPLD在控制上較單片機(jī)有較大的劣勢。同時(shí),CPLD的處理速度非??欤≤嚨男羞M(jìn)速度不可能太高,那么對(duì)系統(tǒng)處理信息的要求也就不會(huì)太高,在這一點(diǎn)上,MCU就已經(jīng)可以勝任了。若采用該方案,必將在控制上遇到許許多多不必要增加的難題。為此,我們不采用該種方案,進(jìn)而提出了第二種設(shè)想。 方案二: 采用單片機(jī)作為整個(gè)系統(tǒng)的核心,用其控制行進(jìn)中的小車,以實(shí)現(xiàn)其既定的性能指標(biāo)。充分分析我們的系統(tǒng),其關(guān)鍵在于實(shí)現(xiàn)小車的自動(dòng)控制,而在這一點(diǎn)上,單片機(jī)就顯現(xiàn)出來它的優(yōu)勢——控制簡單、方便、快捷。這樣一來,單片機(jī)
17、就可以充分發(fā)揮其資源豐富、有較為強(qiáng)大的控制功能及可位尋址操作功能、價(jià)格低廉等優(yōu)點(diǎn)。因此,這種方案是一種較為理想的方案。 針對(duì)本設(shè)計(jì)特點(diǎn)——多開關(guān)量輸入的復(fù)雜程序控制系統(tǒng),需要擅長處理多開關(guān)量的標(biāo)準(zhǔn)單片機(jī),而不能用精簡I/O口和程序存儲(chǔ)器的小體積單片機(jī),D/A、A/D功能也不必選用。根據(jù)這些分析,我選定了STC89C52RA單片機(jī)作為本設(shè)計(jì)的主控裝置,52單片機(jī)具有功能強(qiáng)大的位操作指令,I/O口均可按位尋址,程序空間多達(dá)8K,對(duì)于本設(shè)計(jì)也綽綽有余,更可貴的是52單片機(jī)價(jià)格非常低廉。 在綜合考慮了傳感器、兩部電機(jī)的驅(qū)動(dòng)等諸多因素后,我們決定采用一片單片機(jī),充分利用STC89C52單片機(jī)的資源。
18、 2.3傳感器選擇方案 方案一:采用發(fā)光二極管發(fā)光,用光敏二極管接收; 發(fā)光二極管發(fā)出的可見光照射到黑帶時(shí),光線被黑帶吸收,光敏二極管為檢測到信號(hào)。呈高阻抗,使輸出端為低電平。當(dāng)發(fā)光二極管發(fā)出的可見光照射到地面時(shí),它發(fā)出的可見光反射回來被光敏二極管檢測到,其阻抗迅速降低,此時(shí)輸出端為高電平。但是由于光敏二極管受環(huán)境中可見光影響較大,電路的穩(wěn)定性很差,但可以通過運(yùn)放對(duì)檢測信號(hào)進(jìn)行處理。 方案二: 采用反射式紅外光電傳感器。 用TCRT5000型反射式紅外對(duì)管組成的路徑識(shí)別傳感器模塊,檢測距離和靈敏度均能達(dá)到系統(tǒng)要求,該器件具有如下特點(diǎn):當(dāng)發(fā)光二極管發(fā)出的光反射回來時(shí),三極管導(dǎo)通輸
19、出低電平,該光電對(duì)管調(diào)理電路簡單,工作性能穩(wěn)定。 綜上所述,本設(shè)計(jì)采用發(fā)光二極管進(jìn)行檢測,原因是性價(jià)比較合理。 2.4電機(jī)驅(qū)動(dòng)芯片選擇方案 方案一:采用分立元件的H橋驅(qū)動(dòng)電路。 方案二:采用集成的H橋驅(qū)動(dòng)電路芯片。 由于集成的H橋驅(qū)動(dòng)電路芯片體積小,穩(wěn)定性高,因此選用集成的驅(qū)動(dòng)電路芯片作為電機(jī)的驅(qū)動(dòng)芯片,型號(hào)為L298N。 2.5電機(jī)方案選擇 方案一: 采用步進(jìn)電機(jī),步進(jìn)電機(jī)的一個(gè)顯著特點(diǎn)就是具有快速啟停能力可實(shí)現(xiàn)電機(jī)正反轉(zhuǎn)及調(diào)速,啟動(dòng)性能好,啟動(dòng)轉(zhuǎn)矩大。工作電壓可達(dá)到36V,4A??赏瑫r(shí)驅(qū)動(dòng)兩臺(tái)直流電機(jī)。適合應(yīng)用于機(jī)器人設(shè)計(jì)及智能小車的設(shè)計(jì)中,如果符合不超過步進(jìn)電機(jī)
20、所能提供的動(dòng)態(tài)轉(zhuǎn)矩值,就能夠立即使步進(jìn)電機(jī)的啟功或者反轉(zhuǎn)。調(diào)速方式:直流電動(dòng)機(jī)采用PWM信號(hào)平滑調(diào)速。 方案二: 采用普通直流減速電機(jī),直流電動(dòng)機(jī)具有優(yōu)良的調(diào)速特性,調(diào)速平滑,方便,調(diào)整范圍廣,過載能力強(qiáng),能承受頻繁的沖擊負(fù)載,可實(shí)現(xiàn)頻繁的無極快速啟動(dòng),制動(dòng),和反轉(zhuǎn),能滿足各種不同的特殊運(yùn)行要求。 綜上所訴,我們選擇直流減速電機(jī)。 2.6電源方案選擇 方案一: 直接使用AA干電池進(jìn)行供電它的結(jié)構(gòu)十分簡單,但是供電能力差,不易長時(shí)間供電。 方案二: 使用3500mA干電池配合直流穩(wěn)壓整流電路輸入端口接9mA的干電池,經(jīng)電容濾波和L7805和L7806穩(wěn)壓后輸出約5V,6V電
21、壓??杀WC長時(shí)間穩(wěn)定的輸出電壓。這樣可以提供持久穩(wěn)定的電流,穩(wěn)壓后給單片機(jī)系統(tǒng)和其他芯片供電??紤]到系統(tǒng)穩(wěn)定工作的要求,所以選擇方案一。 三 主要器件介紹 3.1 STC89C52的介紹 STC89C52引腳功能說明 VCC(40引腳):電源電壓 VSS(20引腳):接地 P0端口(P0.0~P0.7,39~32引腳):P0口是一個(gè)漏極開路的8位雙向I/O口。作為輸出端口,每個(gè)引腳能驅(qū)動(dòng)8個(gè)TTL負(fù)載,對(duì)端口P0寫入“1”時(shí),可以作為高阻抗輸入。在訪問外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也可以提供低8位地址和8位數(shù)據(jù)的復(fù)用總線。此時(shí),P0口內(nèi)部上拉電阻有效。在Flash R
22、OM編程時(shí),P0端口接收指令字節(jié); 而在校驗(yàn)程序時(shí),則輸出指令字節(jié)。驗(yàn)證時(shí),要求外接上拉電阻。 P1端口(P1.0~P1.7,1~8引腳):P1口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口。P1的輸出緩沖器可驅(qū)動(dòng)(吸收或者輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫入1時(shí),通過內(nèi)部的上拉電阻把端口拉到高電位,這是可用作輸入口。P1口作輸入口使用時(shí),因?yàn)橛袃?nèi)部上拉電阻,那些被外部拉低的引腳會(huì)輸出一個(gè)電流。 此外,P1.0和P1.1還可以作為定時(shí)器/計(jì)數(shù)器2的外部技術(shù)輸入(P1.0/T2)和定時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體參見下表: 在對(duì)Flash ROM編程和程序校驗(yàn)時(shí),P1
23、接收低8位地址。表XX P1.0和P1.1引腳復(fù)用功能 在對(duì)Flash ROM編程或程序校驗(yàn)時(shí),P3還接收一些控制信號(hào)。 P3口除作為一般I/O口外,還有其他一些復(fù)用功能,如下表所示: 表XX P3口引腳復(fù)用功能 來完成單片機(jī)單片機(jī)的復(fù)位初始化操作??撮T狗計(jì)時(shí)完成后,RST引腳輸出96個(gè)晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。 XTAL1(19引腳):振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。 XTAL2(18引腳):振蕩器反相放大器的輸入端。 特殊功能寄存器 3.2 L298N的
24、介紹 L298N是一種高電壓、大電流電機(jī)驅(qū)動(dòng)芯片。該芯片的主要特點(diǎn)是:工作電壓高,最高工作電壓可達(dá)46V;輸出電流大,瞬間峰值電流可達(dá)3A,持續(xù)工作電流為2A;內(nèi)含兩個(gè)H橋的高電壓大電流全橋式驅(qū)動(dòng)器,可以用來驅(qū)動(dòng)直流電動(dòng)機(jī)和步進(jìn)電動(dòng)機(jī)、繼電器、線圈等感性負(fù)載;采用標(biāo)準(zhǔn)TTL邏輯電平信號(hào)控制;具有兩個(gè)使能控制端,在不受輸入信號(hào)影響的情況下允許或禁止器件工作;有一個(gè)邏輯電源輸入端,使內(nèi)部邏輯電路部分在低電壓下工作;可以外接檢測電阻,將變化量反饋給控制電路。 3.2.1 L298N的引腳功能 3.2.2 L298N的運(yùn)行參數(shù) 3.2.3 L298N的邏輯控制
25、 主要采用L298N,通過單片機(jī)的I/O輸入改變芯片控制端的電平,即可以對(duì)電機(jī)進(jìn)行正反轉(zhuǎn),停止的操作,輸入引腳與輸出引腳的邏輯關(guān)系圖為 表3.3 L298N對(duì)直流電機(jī)控制的邏輯真值表 3.3 TCRT5000的介紹 TCRT5000光電傳感器模塊是基于TCRT5000紅外光電傳感器設(shè)計(jì)的一款紅外反射式光電開關(guān)。傳感器采用高發(fā)射功率紅外光電二極管和高靈敏度光電晶體管組成,輸出信號(hào)經(jīng)施密特電路整形,穩(wěn)定可靠。 +:接直流DC5V正極 -:接直流DC5V負(fù)極 S:信號(hào)輸出端,光敏三極管飽和,此時(shí)模塊的輸出端為高電平,指示二極管被點(diǎn)亮。 應(yīng)用場合: 電度表脈沖數(shù)據(jù)采樣、傳
26、真機(jī)碎紙機(jī)紙張檢測、障礙檢測黑白線檢測 基本參數(shù): 外形尺寸:長32mm~37mm;寬7.5mm;厚5mm 工作電壓:DC3V~5.5V,推薦工作電壓為5V 檢測距離:1mm~8mm適用,焦點(diǎn)距離為2.5mm 傳感器的紅外發(fā)射二極管不斷發(fā)射紅外線,當(dāng)發(fā)射出的紅外線沒有被反射回來或被反射回來但強(qiáng)度不夠大時(shí),光敏三極管一直處于關(guān)斷狀態(tài),此時(shí)模塊的輸出端為低電平,指示二極管一直處于熄滅狀態(tài);被檢測物體出現(xiàn)在檢測范圍內(nèi)時(shí),紅外線被反射回來且強(qiáng)度足夠大,光敏三極管飽和,此時(shí)模塊的輸出端為高電平,指示二極管被點(diǎn)亮。 靈敏度可調(diào)的循跡電路。當(dāng)比較器的正向輸入端電壓低于反向輸入端的電壓時(shí)輸出低
27、電平,LED亮,表示接收到反射光。 3.4 LM339的介紹 智能小車中運(yùn)用于電路分析模塊 LM339引腳圖與功能簡介 LM339集成塊內(nèi)部裝有四個(gè)獨(dú)立的電壓比較器。LM339類似于增益不可調(diào)的運(yùn)算放大器。每個(gè)比較器有兩個(gè)輸入端和一個(gè)輸出端。兩個(gè)輸入端一個(gè)稱為同相輸入端,用“+”表示,另一個(gè)稱為反相輸入端,用“-”表示。用作比較兩個(gè)電壓時(shí),任意一個(gè)輸入端加一個(gè)固定電壓做參考電壓(也稱為門限電平,它可選擇LM339輸入共模范圍的任何一點(diǎn)),另一端加一個(gè)待比較的信號(hào)電壓。當(dāng)“+”端電壓高于“-”端時(shí),輸出管截止,相當(dāng)于輸出端開路。當(dāng)“-”端電壓高于“+”端時(shí),輸出管飽和,相當(dāng)于輸出
28、端接低電位。兩個(gè)輸入端電壓差別大于10mV就能確保輸出能從一種狀態(tài)可靠地轉(zhuǎn)換到另一種狀態(tài),因此,把LM339用在弱信號(hào)檢測等場合是比較理想的。LM339的輸出端相當(dāng)于一只不接集電極電阻的晶體三極管,在使用時(shí)輸出端到正電源一般須接一只電阻(稱為上拉電阻,選3-15K)。選不同阻值的上拉電阻會(huì)影響輸出端高電位的值。因?yàn)楫?dāng)輸出晶體三極管截止時(shí),它的集電極電壓基本上取決于上拉電阻與負(fù)載的值。另外,各比較器的輸出端允許連接在一起使用。 3.5 L7805CV和L7806CV的介紹 L7805 L7805是我們最常用到的穩(wěn)壓芯片了,他的使用方便,用很簡單的電路即可以輸入一個(gè)直流穩(wěn)壓電源他的輸出電
29、壓恰好為5v,剛好是51系列單片機(jī)運(yùn)行所需的電壓,他有很多的系列如ka7805,ads7805,cw7805等,性能有微小的差別,用的最多的還是LM7805,下面我簡單的介紹一下他的3個(gè)引腳以及用它來構(gòu)成的穩(wěn)壓電路的資料。
30、片參數(shù): 封裝 四、硬件設(shè)計(jì) . 4.1 主控芯片AT89C52單片機(jī)最小系統(tǒng)板電路 本智能小車采用的單片機(jī)最小系統(tǒng)板是自己制做的AT89C52單片機(jī)最小系統(tǒng)板,它具有體積小,質(zhì)量輕,使用方便等優(yōu)點(diǎn),能夠很好的放置在智能小車中。原理圖如下。 小系統(tǒng)PCB板 4.2 電機(jī)驅(qū)動(dòng)模塊電路 電機(jī)驅(qū)動(dòng)模塊采用專用驅(qū)動(dòng)芯片L298N作為電機(jī)的驅(qū)動(dòng)芯片。L298N是一種具有高電壓大電流的全橋驅(qū)動(dòng)芯片,它的響應(yīng)頻率高,一片L298N可以分別控制兩個(gè)直流減速電機(jī),而且還帶有控制使能端,用它作為驅(qū)動(dòng)芯片,操作方便,穩(wěn)定,性能優(yōu)良。L298N的5、7引腳為
31、一個(gè)電機(jī)的控制信號(hào)輸入端,10、12引腳為另一個(gè)電機(jī)的控制信號(hào)輸入端,2、3引腳為一個(gè)電機(jī)的控制信號(hào)輸出端,13、14引腳為另一個(gè)電機(jī)的控制信號(hào)輸出端,通過單片機(jī)對(duì)L298N的輸入端進(jìn)行指令控制,就能實(shí)現(xiàn)直流減速電機(jī)的正轉(zhuǎn)和反轉(zhuǎn),從而控制小車前進(jìn)和后退。 電機(jī)驅(qū)動(dòng)電路原理圖如下。 驅(qū)動(dòng)模塊PCB板 4.3紅外對(duì)黑線檢測模塊電路 由于有6個(gè)紅外傳感器排成一排均勻的安裝在小車底部,當(dāng)光線照射到路面并反射,由于黑線和白紙的反射系數(shù)不同,根據(jù)接收到的反射光強(qiáng)度判斷是否眼黑線前進(jìn)。在一般情況下,當(dāng)黑線位于中間的兩個(gè)紅外傳感器之間,不管小車偏向哪一邊,都能檢測出小車的偏移方向?;蛘弋?dāng)小
32、車偏向左邊時(shí),右邊的傳感器檢測到黑線,輸出低電平給電機(jī),否則,輸出高電平。 紅外作循跡電路原理圖 紅外作循跡PCB板 采用紅外對(duì)管制作循跡電路,當(dāng)檢測到黑線時(shí),紅外接受管導(dǎo)通,否則紅外對(duì)管截止,通過比較器LM339電壓比較,把電平狀態(tài)送給單片機(jī)進(jìn)而單片機(jī)處理。原理圖如下。 電路分析原理圖 紅外電路分析PCB板 4.4穩(wěn)壓電源電路 電機(jī)驅(qū)動(dòng)電路模塊: 本題目要求小車的機(jī)械系統(tǒng)穩(wěn)定、靈活、簡單,可選用兩輪式,考慮到現(xiàn)在的汽車多采用兩輪式我選用兩輪式的設(shè)計(jì),使設(shè)計(jì)更貼近生活需求。驅(qū)動(dòng)部分:直流驅(qū)動(dòng)電機(jī),由L298N雙通道馬達(dá)驅(qū)動(dòng)模塊驅(qū)動(dòng)前后
33、兩個(gè)馬達(dá),其力矩完全可以達(dá)到模擬效果。 電池的安裝:將電池放置在車體的下面,降低車體重心,提高穩(wěn)定性,同時(shí)可增加驅(qū)動(dòng)輪的抓地力,減小輪子空轉(zhuǎn)所引起的誤差。 電源模塊:采用2支3500mA電池給電機(jī)供電,再用穩(wěn)壓芯片對(duì)電池電壓進(jìn)行降壓給單片機(jī)。采用一套電源可減少小車的負(fù)重。 電機(jī)動(dòng)力電路應(yīng)用說明: 基本思路為使能端輸入使能信號(hào),即接高電平,控制輸入端A端輸入PWM 信號(hào),控制輸出端B輸入方向信號(hào),在一個(gè)PWM周期內(nèi),電動(dòng)機(jī)只承受單極性的電壓,電機(jī)的選擇方向由控制信號(hào)決定,電機(jī)的速度由PWM決定,PWM占空比為0%-100%對(duì)應(yīng)于電機(jī)轉(zhuǎn)速0-MAX。因此,當(dāng)接收到由檢測模塊的信號(hào)時(shí),單片機(jī)處理
34、該信號(hào),根據(jù)該信號(hào)產(chǎn)生對(duì)應(yīng)的PWM 波,從而可以根據(jù)調(diào)節(jié)電機(jī)的轉(zhuǎn)速與方向。
穩(wěn)壓電源電路圖
穩(wěn)壓電源PCB板
五、程序設(shè)計(jì)
5.1主程序
#include
35、// 右電機(jī)占空比N/10 調(diào)速 bit Right_moto_stop=1; bit Left_moto_stop =1; uint time=0; uint a=0,flag=0,flag1=0; sbit Left_1_led=P1^0; //四路尋跡模塊接口第一路 sbit Left_2_led=P1^1; //四路尋跡模塊接口第二路 sbit Right_1_led=P1^2; //四路尋跡模塊接口第二路 sbit Right_2_led=P1^3; //四路尋跡模塊接口第三路 uint
36、a,d,y,z,q,w,c; sbit out1 = P2^0; sbit out2 = P2^1; sbit out3 = P2^2; sbit out4 = P2^3; sbit ena = P1^6; sbit enb = P1^7; sbit inright = P2^4; sbit inleft = P2^5; delay(uint a); int turnleft(uint z) { ena=1; enb=1; out1=1; out2=0; out3=1; out4=0; delay(z); return
37、0; } int turnright(uint y) { ena=1; enb=1; out1=0; out2=1; out3=0; out4=1; delay(y); return 0; } int dengdai (uint d) { ena=0; enb=0; out1=0; out2=0; out3=0; out4=0; delay(d); return 0; } void go(uint q) { ena=1; enb=1; out1=0; out2=1
38、; out3=1; out4=0; delay(q); } int back(uint w) { ena=1; enb=1; out1=1; out2=0; out3=0; out4=1; delay(w); return 0; } int backright(int c) { ena=0; enb=1; out1=0; out2=0; out3=0; out4=1; delay(c); return 0; } void bizhang() { if(inright==1
39、&&inleft==1) { go(50); } if(inright==0) { turnright(50); } if(inleft==0) { turnleft(50); } if(inright==0&&inleft==0) { backright(2000); } } void xunji() { { if(Left_1_led==0&&Left_2_led==0&&Right_1_led==0&&Right_2_led==
40、0) //0 { go(50); } else if(Left_1_led==0&&Left_2_led==0&&Right_1_led==0&&Right_2_led==1) //0001 { turnright(20); delay(5); } else if(Left_1_led==0&&Left_2_led==0&&Right_1_led==1&&Right_2_led==0) //0010 { turnright(20); //(
41、9,6) delay(1); } else if(Left_1_led==0&&Left_2_led==0&&Right_1_led==1&&Right_2_led==1) //0011 { turnright(20); delay(3); } else if(Left_1_led==0&&Left_2_led==1&&Right_1_led==0&&Right_2_led==0) //0100 { turnleft(
42、30); delay(3); } else if(Left_1_led==0&&Left_2_led==1&&Right_1_led==0&&Right_2_led==1) //0101 { turnright(30); delay(2); } else if(Left_1_led==0&&Left_2_led==1&&Right_1_led==1&&Right_2_led==1) //0111 { turnleft(30); delay(1); } else
43、 if(Left_1_led==1&&Left_2_led==0&&Right_1_led==0&&Right_2_led==0) //1000 { turnleft(30); delay(3); } else if(Left_1_led==1&&Left_2_led==0&&Right_1_led==0&&Right_2_led==1) //1001 { go(30); delay(3); //本來延時(shí)6 } else if(Left_1_led==1&&Left_2_l
44、ed==0&&Right_1_led==1&&Right_2_led==0) //1010 { turnleft(30); delay(3); } else if(Left_1_led==1&&Left_2_led==0&&Right_1_led==1&&Right_2_led==1) //1011 { turnright(20); delay(3); } else if(Left_1_led==1&&Left_2_led==1&&Right_1_led==0&&Right_2_l
45、ed==0) //1100 { turnleft(20); delay(5); } else if(Left_1_led==0&&Left_2_led==0&&Right_1_led==0&&Right_2_led==1) // 1101 { turnleft(20); delay(5); } else if(Left_1_led==1&&Left_2_led==1&&Right_1_led==1&&Right_2_led==0) // 1110 { turnleft(20);
46、 delay(5); } // else if(Left_1_led==1&&Left_2_led==1&&Right_1_led==1&&Right_2_led==1) // 1111 // { //tiaosu(); // go(20); // delay(5); // } } } int delay(uint a) { uint x,y; for(x=a;x>0;x--) for(y=110;y>0;y--);
47、 return 0; } /************************************************************************/ /* PWM調(diào)制電機(jī)轉(zhuǎn)速 */ /************************************************************************/ /* 左電機(jī)調(diào)速
48、 */ /*調(diào)節(jié)push_val_left的值改變電機(jī)轉(zhuǎn)速,占空比 */ void pwm_out_left_moto(void) { if(Left_moto_stop) { if(pwm_left<=push_left) ena=1; else ena=0; if(pwm_left>=100) pwm_left=0; } else ena=0; } /************************************************
49、******************/ /* 右電機(jī)調(diào)速 */ void pwm_out_right_moto(void) { if(Right_moto_stop) { if(pwm_right<=push_right) enb=1; else enb=0; if(pwm_right>=100) pwm_right=0; } else enb=0; } /*******
50、************************************************************/ /* */ /* 定時(shí)器初值化 */ /*******************************************************************/ void init0(void) { TMOD=0X0
51、1; TH0= 0XF8; //1ms定時(shí) TH0= 0XF8; TL0= 0X30; TL0= 0X30; TR0= 1; ET0= 1; EA = 1; } void init1(void) { TMOD=0x10; //設(shè)置定時(shí)器0工作模式1 TH1=(65536-50000)/256; //定時(shí)器裝初值 TL1=(65536-50000)%256; IT0=1; IT1=1; EX0=1; //開外部中斷0 EX1=1; //開外部中斷1 ET1=1;
52、 //開定時(shí)器0中斷 TR1=1; //啟動(dòng)定時(shí)器0 EA=1; //開總中斷 } /******************************************************************/ ///*TIMER0中斷服務(wù)子函數(shù)產(chǎn)生PWM信號(hào)*/ void timer0()interrupt 1 using 2 { TH0=0XF8; //1Ms定時(shí) TL0=0X30; time++; pwm_left++; pwm_right++; pwm_out_left_moto(); pw
53、m_out_right_moto(); } void run(int m,int n) { push_left =m; //PWM 調(diào)節(jié)參數(shù)1-10 1為最慢,10是最快 改這個(gè)值可以改變其速度 push_right =n; //PWM 調(diào)節(jié)參數(shù)1-10 1為最慢,10是最快 改這個(gè)值可以改變其速度 out1=0; //左電機(jī)前進(jìn) out2=1; out3=1; out4=0; //右電機(jī)前進(jìn) } void tiaosu() {
54、while(flag==1) {run(30,30); delay(30); xunji(); if(Left_1_led==1&&Left_2_led==1&&Right_1_led==1&&Right_2_led==1) { a=1;flag=0; } } while(a==1) {run(99,99); delay(30); xunji(); if(Left_1_led==1&&Left_2_led==1&&Right_1_led==1&&Right_2_led==1) { a=2;} } } void
55、main() { init0(); init1(); P1=0xff; P2=0xff; while(1) { if(Left_1_led==1&&Left_2_led==1&&Right_1_led==1&&Right_2_led==1) {flag=1;} //1111 else flag=0; delay(3); if(flag==0) xunji(); else tiaosu(); } } 六
56、、調(diào)試: 6.1硬件調(diào)試 6.1.1 元件的固定 小車主要有5大模塊的電路板組成的,板和板之間是靠導(dǎo)線連接。小車在循跡運(yùn)動(dòng)的時(shí)候時(shí)常顛簸,導(dǎo)致電路板移位致使電路板上面的元件受到干擾,使小車不穩(wěn)定運(yùn)動(dòng),特別是L298N.所以我們除了在板上打孔鎖上螺絲,還在板和板之間用熱熔膠再固定,減少震動(dòng)。 6.1.2 TCRT5000探頭 由TCRT5000組成的軌跡識(shí)別電路是本次設(shè)計(jì)成敗的關(guān)鍵,在初次調(diào)試時(shí)小車的搖頭動(dòng)作(即轉(zhuǎn)向)時(shí)常出現(xiàn)不靈的情況。后來用電壓表測量了電壓比較器量輸入端的電壓發(fā)現(xiàn)基準(zhǔn)電壓到了3.5V,而紅外探頭在檢測到黑線時(shí)才3.6V。兩者電壓相差
57、無幾,所以遇到黑線顏色較淺或反光的區(qū)域單片機(jī)會(huì)發(fā)生誤判的現(xiàn)象。于是我們測量了紅外探頭在黑白兩種極限情況下的電壓輸出情況。在測量了紅外探頭在黑色和白色兩種極限情況下的電壓后,調(diào)節(jié)電阻我把基準(zhǔn)電壓調(diào)到5V,這個(gè)電壓值距黑色或白色情況下輸出的電壓值都很大,單片機(jī)會(huì)減少誤判的現(xiàn)象。改良過后測試正常,小車能靈活的搖頭,更功能實(shí)現(xiàn)。 6.1.3 L298N馬達(dá)驅(qū)動(dòng)模塊 第一次給L298N馬達(dá)驅(qū)動(dòng)模塊通電實(shí)現(xiàn)簡單的馬達(dá)單向驅(qū)動(dòng),發(fā)現(xiàn)馬達(dá)時(shí)跑時(shí)不跑。經(jīng)過檢測發(fā)現(xiàn)是一根信號(hào)線接觸不良,重新接好后運(yùn)行正常。此模塊是用的市面上可以買到的模塊所以性能比較穩(wěn)定,調(diào)試很成功。 6.2軟件調(diào)試 6.2.
58、1調(diào)試平臺(tái)介紹 此次編程采用了keil V4。KeilSoftware公司推出的uVision4是一款可用于多種8051MCU的集成開發(fā)環(huán)境(IDE),該IDE同時(shí)也是PK51及其它開發(fā)套件的一個(gè)重要組件。除增加了源代碼、功能導(dǎo)航器、模板編輯以及改進(jìn)的搜索功能外,uVision4還提供了一個(gè)配置向?qū)Чδ埽铀倭藛?dòng)代碼和配置文件的生成。此外其內(nèi)置的仿真器可模擬目標(biāo)MCU,包括指令集、片上外圍設(shè)備及外部信號(hào)等。uVision4提供邏輯分析器,可監(jiān)控基于MCUI/O引腳和外設(shè)狀態(tài)變化下的程序變量。uVision4提供對(duì)多種最新的8051類微處理器的支持,包括AnalogDevices的ADuC
59、83x和ADuC84x,以及Infineon的XC866等。其界面如下圖 所示 。 6.2.2程序調(diào)試 在調(diào)試好硬件之后我第一次把軟件下載到系統(tǒng)里面進(jìn)行實(shí)際測試,發(fā)現(xiàn)小車在彎道比較急的地方?jīng)]辦法繞過去,會(huì)發(fā)生脫軌現(xiàn)象。后來仔細(xì)分析了自己的算法,原本我是設(shè)定小車在遇到彎道后全力轉(zhuǎn)向繞過彎道,但是有些急得彎道小車無法繞過。此時(shí)我就想如何去解決在轉(zhuǎn)向角度有限的情況下解決轉(zhuǎn)急彎的問題。聯(lián)想到日常汽車在狹窄的小路上轉(zhuǎn)彎的情景我想到了倒退調(diào)整車體位置的方法。即在發(fā)現(xiàn)小車以現(xiàn)有的轉(zhuǎn)向角度無法完成轉(zhuǎn)彎時(shí)使小車反相倒退,這樣即可很很快的調(diào)整小車的位置。改進(jìn)算法后我在進(jìn)行了一次測試,這次小車成功的繞過了9
60、0度的彎道。 根據(jù)測試結(jié)果,可以看出小車循跡避障功能基本實(shí)現(xiàn)。但是測試還是存在失敗的現(xiàn)象。分析其原因有兩點(diǎn)。一,小車熟讀過快在轉(zhuǎn)彎時(shí)未及時(shí)剎車。二,畫在紙上的跑道會(huì)存在褶皺的地方,而這些地方容易產(chǎn)生誤判的現(xiàn)象。得知這些原因以后我降低現(xiàn)車速度,再次進(jìn)行了測試。結(jié)果表明,小車能很好的完成循跡,即使循跡軌道發(fā)生改變也不影響。但是小車不能根據(jù)賽道的情況自主的改變速度。這也是本次設(shè)計(jì)的一個(gè)缺陷。在實(shí)際調(diào)試過程中小車發(fā)生過程序跑飛的情況,經(jīng)調(diào)整改進(jìn)程序后,小車運(yùn)行狀態(tài)穩(wěn)定。能很好的完成沿黑色軌道前進(jìn),改變軌道的形狀及轉(zhuǎn)彎角度,小車仍可完成循跡。 七、心得體會(huì) 在智能小車系統(tǒng)的設(shè)計(jì)、調(diào)試及論文的寫作過
61、程中,感謝很多同學(xué)給予了無數(shù)的指導(dǎo)和大力的支持。在這個(gè)過程中我們不僅學(xué)會(huì)了知識(shí),還學(xué)會(huì)了治學(xué)的態(tài)度,那就是嚴(yán)謹(jǐn),把知識(shí)變?yōu)榧河?,棄其糟粕留其精華,用自己的方式去解決問題,而不是人云亦云。 智能小車是傳感技術(shù)和自動(dòng)化控制技術(shù)飛速發(fā)展的產(chǎn)物,使得機(jī)械和電子信息不再明顯分家,自動(dòng)控制在工業(yè)領(lǐng)域中得地位越來越重要,智能這個(gè)詞是我們科技發(fā)展的重要產(chǎn)物。這次實(shí)踐中涉及的主要部分有傳感器檢測車部分、驅(qū)動(dòng)部分、單片機(jī)為核心的控制芯片部分穩(wěn)壓及電路分析部分。各個(gè)部分的涉及,相互之間的連接協(xié)調(diào)等得成功,都是要建立在系統(tǒng)的閱讀大量資料,并且認(rèn)真的分析課題的需求,還系統(tǒng)的學(xué)習(xí)的單片機(jī)的工作原理及其使用方法。并且學(xué)習(xí)
62、了相關(guān)軟件,如仿真、程序燒寫等得應(yīng)用。通過本次課題設(shè)計(jì),不僅是對(duì)我們課本所學(xué)知識(shí)的考查,更是對(duì)我的自學(xué)能力和收集資料能力以及動(dòng)手能力的考驗(yàn)。我們對(duì)一個(gè)項(xiàng)目的整體設(shè)計(jì)有了初步認(rèn)識(shí)并能獨(dú)立設(shè)計(jì)出其接口電路,再有對(duì)電路板的制作有了一定的了解,并學(xué)會(huì)了使用Protel99設(shè)計(jì)電路。課程設(shè)計(jì)使我們意識(shí)到了實(shí)驗(yàn)的重要性,在硬件制作和軟件調(diào)試的過程中,出現(xiàn)了很多問題,最終都是通過實(shí)驗(yàn)的方法來解決的。還有以前對(duì)程序只是一個(gè)很模糊的概念,通過這次的課題設(shè)計(jì)使我對(duì)程序完全有了一個(gè)新的認(rèn)識(shí),并能使用C熟練的進(jìn)行編程了。通過本次課題設(shè)計(jì),極大的鍛煉了我們的思考和分析問題的能力,并對(duì)單片機(jī)有了一個(gè)更深的認(rèn)識(shí)。 小車的
63、設(shè)計(jì)制作工作量飽滿,體現(xiàn)了團(tuán)隊(duì)合作精神。在這次設(shè)計(jì)中也有很多的不足之處,我們?nèi)鄙賹?shí)際經(jīng)驗(yàn),更多的是依靠網(wǎng)絡(luò)資源來解決問題,特別是各模塊的程序編寫,在軟件設(shè)計(jì)方面花費(fèi)了很多的時(shí)間。特別是在最后調(diào)試階段,程序的控制問題給我們帶來了很大的困難,小車設(shè)計(jì)的硬件部分完成相對(duì)順利些,在軟件領(lǐng)域顯得不足,今后會(huì)更多的學(xué)習(xí)軟件。設(shè)計(jì)過程中單片機(jī)知識(shí)頗有設(shè)計(jì),我們還應(yīng)加強(qiáng)理論知識(shí)的學(xué)習(xí)。本次設(shè)計(jì)涉及到了一系列光機(jī)電一體化的技術(shù)。其中機(jī)械結(jié)構(gòu)是小車能否穩(wěn)定運(yùn)行的基礎(chǔ),硬件電路決定了小車實(shí)現(xiàn)的功能,軟件部分是控制的靈魂,而同伴們鍥而不舍的精神則是整個(gè)設(shè)計(jì)的支柱! 總之,在課題設(shè)計(jì)的過程中,無論是對(duì)于學(xué)習(xí)方法還是理
64、論知識(shí),我們都有了新的認(rèn)識(shí),受益匪淺,這將激勵(lì)我們?cè)诮窈笤俳釉賲?,不斷完善自己的理論知識(shí),提高實(shí)踐運(yùn)作能力。 附件 元件清單: 1. 電機(jī)驅(qū)動(dòng)芯片L298N 2. 穩(wěn)壓芯片L7805一個(gè),L7806一個(gè) 3. 單片機(jī)STC89C52 4. 晶振12M 5. 輕觸開關(guān)和點(diǎn)觸開關(guān)各一個(gè) 6.電解電容220uF/25v、100uf/16v若干, 電容104若干,103電容若干 7. 10K滑動(dòng)變阻器、470歐電阻若干 8. 電阻330歐若干,1K的若干個(gè), 9.上拉電阻472歐一個(gè) 10. 紅外線傳感器TCRT5000 4個(gè) 11. 散熱片一個(gè) 12.杜邦線
65、若干(杜邦頭,焊片,包括線) 13. 萬用表 14. 插針和插排若干 15. 發(fā)光二極管若干 16. 二極管IN4007八個(gè) 17.車底盤模具 18. LM339芯片 19.TR18650 3000mAh 3.7v電源 20. 各種芯片底座若干 21.驅(qū)動(dòng)直流電機(jī)4個(gè) 參考文獻(xiàn) [1]郭惠,吳迅.單片機(jī)C語言程序設(shè)計(jì)完全自學(xué)手冊(cè)[M].電子工業(yè)出版社,2008.10:1-200. [2]王東鋒,王會(huì)良,董冠強(qiáng). 單片機(jī)C語言應(yīng)用100例[M]. 電子工業(yè)出版社,2009.3:145-300. [3]韓毅,楊天. 基于HCS12單片機(jī)的智能尋跡模型車的設(shè)計(jì)與實(shí)現(xiàn)
66、[J].學(xué)術(shù)期刊,2008,29(18):1535-1955. [4] 王曉明. 電動(dòng)機(jī)的單片機(jī)控制[J]. 學(xué)術(shù)期刊,2002,13(15):1322-1755. [5]宏晶科技,《STC89C51RC/RD+系列單片機(jī)器件手冊(cè)》,2011年9月8號(hào)更新版本 [6求是科技,《單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航(第2版)》,人民郵電出版社,2008年7月出版 [7]李全利,《單片機(jī)原理及應(yīng)用技術(shù)》,高等教育出版社,2009年1月出版 [8]丁明亮,《51單片機(jī)應(yīng)用設(shè)計(jì)與仿真-基于keilC與Proteus》,北京航空航天大學(xué)出版社,2009年2月出版 [9]張鑫,《單片機(jī)原理及應(yīng)用(第2版)》,電子工業(yè)出版社,2010年出版6.張毅剛,《單片機(jī)原理與應(yīng)用設(shè)計(jì)》,電子工業(yè)出版社,2008年出版 31
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識(shí)競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案