版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 2013年 7 月12日</p><p> 一、緒論.......................................................................4 </p><p> 1.1智能小車的作用和意義.............................................................
2、.....4 </p><p> 二、方案設(shè)計與論證 ................................................ 4 </p><p> 2.1 總體方案設(shè)計 ...............................................................................4 </p>&l
3、t;p> 2.2主控系統(tǒng) ........................................................................................5</p><p> 2.3傳感器選擇方案 ............................................................................6 &l
4、t;/p><p> 2.4電機(jī)驅(qū)動芯片選擇方案..................................................................6 </p><p> 2.5電機(jī)方案選擇..................................................................................6<
5、;/p><p> 2.6電源方案選擇..................................................................................7 </p><p> 三、主要器件介紹 .....................................................7</p><p>
6、 3.1 STC89C52的介紹 .........................................................................7 </p><p> 3.2 L298N的介紹 ...............................................................................8</p>
7、<p> 3.2.1 L298N的引腳功能 ................................................................................... 9 </p><p> 3.2.2 L298N的運(yùn)行參數(shù) .................................................................
8、..................10</p><p> 3.2.3 L298N的邏輯控制 ................................................................................... 10 </p><p> 3.3 TCRT5000的介紹 ..................................
9、...................................... 11</p><p> 3.4LM339的介紹 ................................................................................12</p><p> 3.5 L7805CV和L7806CV的介紹.................
10、........................................12</p><p> 四、硬件設(shè)計 ............................................................... 14 </p><p> 4.1 主控芯片STC89C52單片機(jī)最小系統(tǒng)板電路 ........................... 14
11、 </p><p> 4.2 電機(jī)驅(qū)動模塊電路..........................................................................15</p><p> 4.3紅外對黑線檢測模塊電路...............................................................16 </
12、p><p> 4.4穩(wěn)壓電源電路...................................................................................18</p><p> 五、程序設(shè)計 ............................................................. 19 </p>&
13、lt;p> 5.1主程序 .............................................................................................19</p><p> 六、調(diào)試....................................................................... 28 </p
14、><p> 6.1硬件調(diào)試 .........................................................................................28</p><p> 6.1.1元件的固定 ......................................................................
15、..... 28</p><p> 6.1.2TCRT5000探頭 ..................................................................... 29 </p><p> 6.1.3 L298N馬達(dá)驅(qū)動模塊 ...........................................................
16、 29 </p><p> 6.2軟件調(diào)試 ........................................................................................ 29 </p><p> 6.2.1調(diào)試平臺介紹 ..........................................................
17、............... 29</p><p> 6.2.2程序調(diào)試.....................................................................................29</p><p> 6.3 測試結(jié)果與分析 ................................................
18、........................... 30</p><p> 七、心得體會.................................................................................. 30</p><p><b> 附件 元件清單 </b></p><p><b
19、> 參考文獻(xiàn)</b></p><p><b> 一、緒論</b></p><p> 1.1智能小車的作用和意義 </p><p> 自第一臺工業(yè)機(jī)器人誕生以來,機(jī)器人的發(fā)展已經(jīng)遍及機(jī)械、電子、冶金、交通、宇航、國防等領(lǐng)域。近年來機(jī)器人的智能水平不斷提高,并且迅速地改變著人們的生活方式。人們在不斷探討、改造、認(rèn)識自然的
20、過程中,制造能替代人勞動的機(jī)器一直是人類的夢想。</p><p> 隨著科學(xué)技術(shù)的發(fā)展,機(jī)器人的感系統(tǒng),對于視覺的各種技術(shù)而言圖像處理技術(shù)已相當(dāng)發(fā)達(dá),而基于圖像的理解技術(shù)還很落后,機(jī)器視覺需要通過大量的運(yùn)算也只能識別一些結(jié)構(gòu)化環(huán)境簡單的目標(biāo)。視覺傳感器的核心器件是攝像管或CCD,目前的CCD已能做到自動聚焦。但CCD傳感器的價格、體積和使用方式上并不占優(yōu)勢,因此在不要求清晰圖像只需要粗略感覺的系統(tǒng)中考慮使用接近
21、覺傳感器是覺傳感器種類越來越多,其中視覺傳感器成為自動行走和駕駛的重要部件。視覺的典型應(yīng)用領(lǐng)域為自主式智能導(dǎo)航一種實用有效的方法。</p><p> 機(jī)器人要實現(xiàn)自動導(dǎo)引功能和避障功能就必須要感知導(dǎo)引線和障礙物,感知導(dǎo)引線相當(dāng)給機(jī)器人一個視覺功能。避障控制系統(tǒng)是基于自動導(dǎo)引小車(AVG—auto-guide vehicle)系統(tǒng),基于它的智能小車實現(xiàn)自動識別路線,判斷并自動避開障礙,選擇正確的行進(jìn)路線。使用傳感
22、器感知路線和障礙并作出判斷和相應(yīng)的執(zhí)行動作。</p><p> 該智能小車可以作為機(jī)器人的典型代表。它可以分為三大組成部分:傳感器檢測部分、CPU、執(zhí)行部分。機(jī)器人要實現(xiàn)自動避障功能,還可以擴(kuò)展循跡等功能,感知導(dǎo)引線和障礙物??梢詫崿F(xiàn)小車自動識別路線,選擇正確的行進(jìn)路線,并檢測到障礙物自動躲避?;谏鲜鲆螅瑐鞲袡z測部分考慮到小車一般不需要感知清晰的圖像,只要求粗略感知即可。智能小車的執(zhí)行部分,是由直流電機(jī)來充
23、當(dāng)?shù)?,主要控制小車的行進(jìn)方向和速度。 </p><p><b> 二、方案設(shè)計與論證</b></p><p> 2.1 總體方案設(shè)計 </p><p> 本系統(tǒng)基于AT89C52單片機(jī)的小車尋跡系統(tǒng),該系統(tǒng)采用兩組高靈敏度的紅外反射式光電傳感器,對路面的黑色軌跡進(jìn)行檢測,將檢測的數(shù)據(jù)送入單片機(jī)進(jìn)行處理,并利用單片機(jī)產(chǎn)生PWM波,并以最短時
24、間完成尋跡。同時采用紅外傳感器對障礙物進(jìn)行躲避功能,遇到對于交通燈的檢測采用固定頻率的紅外線信號表示不同的交通指示燈,使控制系統(tǒng)更加智能。在軟件程序上采用一定的控制算法,使得小車在通道上第一次遇到十字黑線時候減速行駛,在第二次遇到十字黑線可以實現(xiàn)減速轉(zhuǎn)彎,因此,本系統(tǒng)由紅外光電傳感器,單片機(jī)和驅(qū)動單元共同作用,保證小車能在預(yù)先設(shè)定的軌跡上行駛。 </p><p> 本設(shè)計的主要特色本設(shè)計的主要特色本設(shè)計的主
25、要特色本設(shè)計的主要特色: </p><p> 1.自制的四個輪結(jié)構(gòu)小車,采用PWM調(diào)速。</p><p> 2.采用6V電池供電,直流穩(wěn)壓電路工作穩(wěn)定。 </p><p> 3.采用紅外發(fā)射傳感器接收對黑線標(biāo)志進(jìn)行識別,具有高精度和高靈敏度。 </p><p><b> 2.2主控系統(tǒng)</b></p>
26、<p> 根據(jù)設(shè)計要求,我認(rèn)為此設(shè)計屬于多輸入量的復(fù)雜程序控制問題。據(jù)此,擬定了以下兩種方案并進(jìn)行了綜合的比較論證,具體如下: </p><p> 方案一: 選用一片CPLD(如EPM7128LC84-15)作為系統(tǒng)的核心部件,實現(xiàn)控制與處理的功能。CPLD具有速度快、編程容易、資源豐富、開發(fā)周期短等優(yōu)點,可利用VHDL語言進(jìn)行編寫開發(fā)。但CPLD在控制上較單片機(jī)有較大的劣勢。同時,CPLD的處
27、理速度非??欤≤嚨男羞M(jìn)速度不可能太高,那么對系統(tǒng)處理信息的要求也就不會太高,在這一點上,MCU就已經(jīng)可以勝任了。若采用該方案,必將在控制上遇到許許多多不必要增加的難題。為此,我們不采用該種方案,進(jìn)而提出了第二種設(shè)想。 </p><p> 方案二: 采用單片機(jī)作為整個系統(tǒng)的核心,用其控制行進(jìn)中的小車,以實現(xiàn)其既定的性能指標(biāo)。充分分析我們的系統(tǒng),其關(guān)鍵在于實現(xiàn)小車的自動控制,而在這一點上,單片機(jī)就顯現(xiàn)出來它的優(yōu)
28、勢——控制簡單、方便、快捷。這樣一來,單片機(jī)就可以充分發(fā)揮其資源豐富、有較為強(qiáng)大的控制功能及可位尋址操作功能、價格低廉等優(yōu)點。因此,這種方案是一種較為理想的方案。 針對本設(shè)計特點——多開關(guān)量輸入的復(fù)雜程序控制系統(tǒng),需要擅長處理多開關(guān)量的標(biāo)準(zhǔn)單片機(jī),而不能用精簡I/O口和程序存儲器的小體積單片機(jī),D/A、A/D功能也不必選用。根據(jù)這些分析,我選定了STC89C52RA單片機(jī)作為本設(shè)計的主控裝置,52單片機(jī)具有功能強(qiáng)大的位操作指令,I/O口
29、均可按位尋址,程序空間多達(dá)8K,對于本設(shè)計也綽綽有余,更可貴的是52單片機(jī)價格非常低廉。 在綜合考慮了傳感器、兩部電機(jī)的驅(qū)動等諸多因素后,我們決定采用一片單片機(jī),充分利用STC89C52單片機(jī)的資源。</p><p> 2.3傳感器選擇方案 </p><p> 方案一:采用發(fā)光二極管發(fā)光,用光敏二極管接收; 發(fā)光二極管發(fā)出的可見光照射到黑帶時,光線被黑帶吸收,光敏二極管為檢測到信號。呈
30、高阻抗,使輸出端為低電平。當(dāng)發(fā)光二極管發(fā)出的可見光照射到地面時,它發(fā)出的可見光反射回來被光敏二極管檢測到,其阻抗迅速降低,此時輸出端為高電平。但是由于光敏二極管受環(huán)境中可見光影響較大,電路的穩(wěn)定性很差,但可以通過運(yùn)放對檢測信號進(jìn)行處理。</p><p> 方案二: 采用反射式紅外光電傳感器。 用TCRT5000型反射式紅外對管組成的路徑識別傳感器模塊,檢測距離和靈敏度均能達(dá)到系統(tǒng)要求,該器件具有如下特點:當(dāng)發(fā)光
31、二極管發(fā)出的光反射回來時,三極管導(dǎo)通輸出低電平,該光電對管調(diào)理電路簡單,工作性能穩(wěn)定。 綜上所述,本設(shè)計采用發(fā)光二極管進(jìn)行檢測,原因是性價比較合理。</p><p> 2.4電機(jī)驅(qū)動芯片選擇方案</p><p> 方案一:采用分立元件的H橋驅(qū)動電路。 </p><p> 方案二:采用集成的H橋驅(qū)動電路芯片。 由于集成的H橋驅(qū)動電路芯片體積小,穩(wěn)定性高,因此選用
32、集成的驅(qū)動電路芯片作為電機(jī)的驅(qū)動芯片,型號為L298N。</p><p> 2.5電機(jī)方案選擇 </p><p> 方案一: 采用步進(jìn)電機(jī),步進(jìn)電機(jī)的一個顯著特點就是具有快速啟停能力可實現(xiàn)電機(jī)正反轉(zhuǎn)及調(diào)速,啟動性能好,啟動轉(zhuǎn)矩大。工作電壓可達(dá)到36V,4A??赏瑫r驅(qū)動兩臺直流電機(jī)。適合應(yīng)用于機(jī)器人設(shè)計及智能小車的設(shè)計中,如果符合不超過步進(jìn)電機(jī)所能提供的動態(tài)轉(zhuǎn)矩值,就能夠立即使步進(jìn)電
33、機(jī)的啟功或者反轉(zhuǎn)。調(diào)速方式:直流電動機(jī)采用PWM信號平滑調(diào)速。</p><p> 方案二: 采用普通直流減速電機(jī),直流電動機(jī)具有優(yōu)良的調(diào)速特性,調(diào)速平滑,方便,調(diào)整范圍廣,過載能力強(qiáng),能承受頻繁的沖擊負(fù)載,可實現(xiàn)頻繁的無極快速啟動,制動,和反轉(zhuǎn),能滿足各種不同的特殊運(yùn)行要求。 綜上所訴,我們選擇直流減速電機(jī)。</p><p><b> 2.6電源方案選擇</b>&
34、lt;/p><p> 方案一: 直接使用AA干電池進(jìn)行供電它的結(jié)構(gòu)十分簡單,但是供電能力差,不易長時間供電。 </p><p> 方案二: 使用3500mA干電池配合直流穩(wěn)壓整流電路輸入端口接9mA的干電池,經(jīng)電容濾波和L7805和L7806穩(wěn)壓后輸出約5V,6V電壓。可保證長時間穩(wěn)定的輸出電壓。這樣可以提供持久穩(wěn)定的電流,穩(wěn)壓后給單片機(jī)系統(tǒng)和其他芯片供電??紤]到系統(tǒng)穩(wěn)定工作的要求,所以選
35、擇方案一。</p><p><b> 三 主要器件介紹</b></p><p> 3.1 STC89C52的介紹 </p><p> STC89C52引腳功能說明</p><p> VCC(40引腳):電源電壓 VSS(20引腳):接地</p><p> P0端口(P0.0~P0.7,3
36、9~32引腳):P0口是一個漏極開路的8位雙向I/O口。作為輸出端口,每個引腳能驅(qū)動8個TTL負(fù)載,對端口P0寫入“1”時,可以作為高阻抗輸入。在訪問外部程序和數(shù)據(jù)存儲器時,P0口也可以提供低8位地址和8位數(shù)據(jù)的復(fù)用總線。此時,P0口內(nèi)部上拉電阻有效。在Flash ROM編程時,P0端口接收指令字節(jié);</p><p> 而在校驗程序時,則輸出指令字節(jié)。驗證時,要求外接上拉電阻。</p><p
37、> P1端口(P1.0~P1.7,1~8引腳):P1口是一個帶內(nèi)部上拉電阻的8位雙向I/O口。P1的輸出緩沖器可驅(qū)動(吸收或者輸出電流方式)4個TTL輸入。對端口寫入1時,通過內(nèi)部的上拉電阻把端口拉到高電位,這是可用作輸入口。P1口作輸入口使用時,因為有內(nèi)部上拉電阻,那些被外部拉低的引腳會輸出一個電流。</p><p> 此外,P1.0和P1.1還可以作為定時器/計數(shù)器2的外部技術(shù)輸入(P1.0/T2)
38、和定時器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體參見下表:</p><p> 在對Flash ROM編程和程序校驗時,P1接收低8位地址。表XX P1.0和P1.1引腳復(fù)用功能</p><p> 在對Flash ROM編程或程序校驗時,P3還接收一些控制信號。 P3口除作為一般I/O口外,還有其他一些復(fù)用功能,如下表所示: 表XX P3口引腳復(fù)用功能</p>&l
39、t;p> 來完成單片機(jī)單片機(jī)的復(fù)位初始化操作??撮T狗計時完成后,RST引腳輸出96個晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。</p><p> XTAL1(19引腳):振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。</p><p> XTAL2(18引腳):振蕩器反相放大器的輸入端。 特殊功能寄
40、存器</p><p> 3.2 L298N的介紹</p><p> L298N是一種高電壓、大電流電機(jī)驅(qū)動芯片。該芯片的主要特點是:工作電壓高,最高工作電壓可達(dá)46V;輸出電流大,瞬間峰值電流可達(dá)3A,持續(xù)工作電流為2A;內(nèi)含兩個H橋的高電壓大電流全橋式驅(qū)動器,可以用來驅(qū)動直流電動機(jī)和步進(jìn)電動機(jī)、繼電器、線圈等感性負(fù)載;采用標(biāo)準(zhǔn)TTL邏輯電平信號控制;具有兩個使能控制端,在不受輸入信號
41、影響的情況下允許或禁止器件工作;有一個邏輯電源輸入端,使內(nèi)部邏輯電路部分在低電壓下工作;可以外接檢測電阻,將變化量反饋給控制電路。</p><p> 3.2.1 L298N的引腳功能</p><p> 3.2.2 L298N的運(yùn)行參數(shù)</p><p> 3.2.3 L298N的邏輯控制</p><p> 主要采用L298N,通過單片機(jī)
42、的I/O輸入改變芯片控制端的電平,即可以對電機(jī)進(jìn)行正反轉(zhuǎn),停止的操作,輸入引腳與輸出引腳的邏輯關(guān)系圖為</p><p> 表3.3 L298N對直流電機(jī)控制的邏輯真值表</p><p> 3.3 TCRT5000的介紹</p><p> TCRT5000光電傳感器模塊是基于TCRT5000紅外光電傳感器設(shè)計的一款紅外反射式光電開關(guān)。傳感器采用高發(fā)射功率紅外光電
43、二極管和高靈敏度光電晶體管組成,輸出信號經(jīng)施密特電路整形,穩(wěn)定可靠。</p><p> +:接直流DC5V正極</p><p> -:接直流DC5V負(fù)極</p><p> S:信號輸出端,光敏三極管飽和,此時模塊的輸出端為高電平,指示二極管被點亮。</p><p><b> 應(yīng)用場合: </b><
44、/p><p> 電度表脈沖數(shù)據(jù)采樣、 傳真機(jī)碎紙機(jī)紙張檢測、 障礙檢測 黑白線檢測 </p><p><b> 基本參數(shù): </b></p><p> 外形尺寸: 長 32mm~37 mm;寬 7.5mm;厚 5mm</p&g
45、t;<p> 工作電壓: DC 3V~5.5V,推薦工作電壓為5V </p><p> 檢測距離: 1mm~8mm適用,焦點距離為2.5mm</p><p> 傳感器的紅外發(fā)射二極管不斷發(fā)射紅外線,當(dāng)發(fā)射出的紅外線沒有被反射回來或被反射回來但強(qiáng)度不夠大時,光敏三極管一直處于關(guān)斷狀態(tài),此時模塊的輸出端為低電平,指示二極管一直處于熄滅
46、狀態(tài);被檢測物體出現(xiàn)在檢測范圍內(nèi)時,紅外線被反射回來且強(qiáng)度足夠大,光敏三極管飽和,此時模塊的輸出端為高電平,指示二極管被點亮。</p><p> 靈敏度可調(diào)的循跡電路。當(dāng)比較器的正向輸入端電壓低于反向輸入端的電壓時輸出低電平,LED 亮,表示接收到反射光。</p><p> 3.4 LM339的介紹</p><p> 智能小車中運(yùn)用于電路分析模塊&l
47、t;/p><p> LM339引腳圖與功能簡介</p><p> LM339集成塊內(nèi)部裝有四個獨立的電壓比較器。LM339類似于增益不可調(diào)的運(yùn)算放大器。每個比較器有兩個輸入端和一個輸出端。兩個輸入端一個稱為同相輸入端,用“+”表示,另一個稱為反相輸入端,用“-”表示。用作比較兩個電壓時,任意一個輸入端加一個固定電壓做參考電壓(也稱為門限電平,它可選擇LM339輸入共模范圍的任何一點),另一
48、端加一個待比較的信號電壓。當(dāng)“+”端電壓高于“-”端時,輸出管截止,相當(dāng)于輸出端開路。當(dāng)“-”端電壓高于“+”端時,輸出管飽和,相當(dāng)于輸出端接低電位。兩個輸入端電壓差別大于10mV就能確保輸出能從一種狀態(tài)可靠地轉(zhuǎn)換到另一種狀態(tài),因此,把LM339用在弱信號檢測等場合是比較理想的。LM339的輸出端相當(dāng)于一只不接集電極電阻的晶體三極管,在使用時輸出端到正電源一般須接一只電阻(稱為上拉電阻,選3-15K)。選不同阻值的上拉電阻會影響輸出端高
49、電位的值。因為當(dāng)輸出晶體三極管截止時,它的集電極電壓基本上取決于上拉電阻與負(fù)載的值。另外,各比較器的輸出端允許連接在一起使用。</p><p> 3.5 L7805CV和L7806CV的介紹</p><p><b> L7805</b></p><p> L7805是我們最常用到的穩(wěn)壓芯片了,他的使用方便,用很簡單的電路即可以輸入一個直流
50、穩(wěn)壓電源他的輸出電壓恰好為5v,剛好是51系列單片機(jī)運(yùn)行所需的電壓,他有很多的系列如ka7805,ads7805,cw7805等,性能有微小的差別,用的最多的還是LM7805,下面我簡單的介紹一下他的3個引腳以及用它來構(gòu)成的穩(wěn)壓電路的資料。 </p><p> <L7805引腳圖> </p><p> 其中1接整流器輸出的+電壓,2為公共地(也就是負(fù)
51、極),3就是我們需要的正5V輸出電壓了.</p><p><b> L7806</b></p><p> L7806為固定正電壓穩(wěn)壓電路,屬三端正電源穩(wěn)壓電路系列(3Terminals positive Voltage Regulator Series)。產(chǎn)品應(yīng)用非常廣泛,涉及到各種穩(wěn)壓電源、充電器、數(shù)碼產(chǎn)品以及家電領(lǐng)域等。</p><p>
52、; L7806芯片參數(shù):</p><p><b> 封裝</b></p><p><b> 四、硬件設(shè)計</b></p><p><b> .</b></p><p> 4.1 主控芯片AT89C52單片機(jī)最小系統(tǒng)板電路</p><p> 本
53、智能小車采用的單片機(jī)最小系統(tǒng)板是自己制做的AT89C52單片機(jī)最小系統(tǒng)板,它具有體積小,質(zhì)量輕,使用方便等優(yōu)點,能夠很好的放置在智能小車中。原理圖如下。 </p><p><b> 小系統(tǒng)PCB板</b></p><p> 4.2 電機(jī)驅(qū)動模塊電路</p><p> 電機(jī)驅(qū)動模塊采用專用驅(qū)動芯片L298N作為電機(jī)的驅(qū)動芯片。L298N是
54、一種具有高電壓大電流的全橋驅(qū)動芯片,它的響應(yīng)頻率高,一片L298N可以分別控制兩個直流減速電機(jī),而且還帶有控制使能端,用它作為驅(qū)動芯片,操作方便,穩(wěn)定,性能優(yōu)良。L298N的5、7引腳為一個電機(jī)的控制信號輸入端,10、12引腳為另一個電機(jī)的控制信號輸入端,2、3引腳為一個電機(jī)的控制信號輸出端,13、14引腳為另一個電機(jī)的控制信號輸出端,通過單片機(jī)對L298N的輸入端進(jìn)行指令控制,就能實現(xiàn)直流減速電機(jī)的正轉(zhuǎn)和反轉(zhuǎn),從而控制小車前進(jìn)和后退。
55、</p><p> 電機(jī)驅(qū)動電路原理圖如下。</p><p><b> 驅(qū)動模塊PCB板</b></p><p> 4.3紅外對黑線檢測模塊電路</p><p> 由于有6個紅外傳感器排成一排均勻的安裝在小車底部,當(dāng)光線照射到路面并反射,由于黑線和白紙的反射系數(shù)不同,根據(jù)接收到的反射光強(qiáng)度判斷是否眼黑線前進(jìn)。在一
56、般情況下,當(dāng)黑線位于中間的兩個紅外傳感器之間,不管小車偏向哪一邊,都能檢測出小車的偏移方向?;蛘弋?dāng)小車偏向左邊時,右邊的傳感器檢測到黑線,輸出低電平給電機(jī),否則,輸出高電平。</p><p> 紅外作循跡電路原理圖</p><p><b> 紅外作循跡PCB板</b></p><p> 采用紅外對管制作循跡電路,當(dāng)檢測到黑線時,紅外接受管
57、導(dǎo)通,否則紅外對管截止,通過比較器LM339電壓比較,把電平狀態(tài)送給單片機(jī)進(jìn)而單片機(jī)處理。原理圖如下。 </p><p><b> 電路分析原理圖</b></p><p> 紅外電路分析PCB板</p><p><b> 4.4穩(wěn)壓電源電路</b></p><p><b> 電機(jī)
58、驅(qū)動電路模塊:</b></p><p> 本題目要求小車的機(jī)械系統(tǒng)穩(wěn)定、靈活、簡單,可選用兩輪式,考慮到現(xiàn)在的汽車多采用兩輪式我選用兩輪式的設(shè)計,使設(shè)計更貼近生活需求。驅(qū)動部分:直流驅(qū)動電機(jī),由L298N雙通道馬達(dá)驅(qū)動模塊驅(qū)動前后兩個馬達(dá),其力矩完全可以達(dá)到模擬效果。 電池的安裝:將電池放置在車體的下面,降低車體重心,提高穩(wěn)定性,同時可增加驅(qū)動輪的抓地力,減小輪子空轉(zhuǎn)所引起的誤差。 電源模塊:采用2
59、支3500mA電池給電機(jī)供電,再用穩(wěn)壓芯片對電池電壓進(jìn)行降壓給單片機(jī)。采用一套電源可減少小車的負(fù)重。</p><p> 電機(jī)動力電路應(yīng)用說明:</p><p> 基本思路為使能端輸入使能信號,即接高電平,控制輸入端A端輸入PWM 信號,控制輸出端B輸入方向信號,在一個PWM周期內(nèi),電動機(jī)只承受單極性的電壓,電機(jī)的選擇方向由控制信號決定,電機(jī)的速度由PWM決定,PWM占空比為0%-100
60、%對應(yīng)于電機(jī)轉(zhuǎn)速0-MAX。因此,當(dāng)接收到由檢測模塊的信號時,單片機(jī)處理該信號,根據(jù)該信號產(chǎn)生對應(yīng)的PWM 波,從而可以根據(jù)調(diào)節(jié)電機(jī)的轉(zhuǎn)速與方向。</p><p><b> 穩(wěn)壓電源電路圖</b></p><p><b> 穩(wěn)壓電源PCB板</b></p><p><b> 五、程序設(shè)計 </b>
61、;</p><p><b> 5.1主程序 </b></p><p> #include<reg52.h></p><p> #defineuchar unsigned char</p><p> #defineuint unsigned int</p><p> uch
62、ar pwm_left =0;//變量定義,與速度比較的變量</p><p> uchar push_left =0;// 左電機(jī)占空比N/10 調(diào)速</p><p> uchar pwm_right =0;//與速度比較的變量</p><p> uchar push_right=0;// 右電機(jī)占空比N/10 調(diào)速</p><p
63、> bit Right_moto_stop=1;</p><p> bit Left_moto_stop =1;</p><p> uint time=0;</p><p> uint a=0,flag=0,flag1=0;</p><p> sbit Left_1_led=P1^0; //四路尋跡模塊接口第一路
64、</p><p> sbit Left_2_led=P1^1; //四路尋跡模塊接口第二路</p><p> sbit Right_1_led=P1^2; //四路尋跡模塊接口第二路</p><p> sbit Right_2_led=P1^3; //四路尋跡模塊接口第三路</p><p> uin
65、t a,d,y,z,q,w,c;</p><p> sbit out1 = P2^0;</p><p> sbit out2 = P2^1;</p><p> sbit out3 = P2^2;</p><p> sbit out4 = P2^3;</p><p> sbit ena = P1^6;<
66、/p><p> sbit enb = P1^7;</p><p> sbit inright = P2^4;</p><p> sbit inleft = P2^5;</p><p> delay(uint a);</p><p> intturnleft(uint z) </p><
67、;p><b> {</b></p><p><b> ena=1;</b></p><p><b> enb=1;</b></p><p><b> out1=1;</b></p><p><b> out2=0;</b&g
68、t;</p><p><b> out3=1;</b></p><p><b> out4=0;</b></p><p><b> delay(z);</b></p><p><b> return 0;</b></p><p&
69、gt;<b> }</b></p><p> int turnright(uint y)</p><p><b> {</b></p><p><b> ena=1;</b></p><p><b> enb=1;</b></p>
70、<p><b> out1=0;</b></p><p><b> out2=1;</b></p><p><b> out3=0;</b></p><p><b> out4=1;</b></p><p><b> dela
71、y(y);</b></p><p><b> return 0;</b></p><p><b> }</b></p><p> int dengdai (uint d) </p><p><b> {</b></p><p><
72、;b> ena=0;</b></p><p><b> enb=0;</b></p><p><b> out1=0;</b></p><p><b> out2=0;</b></p><p><b> out3=0;</b>&
73、lt;/p><p><b> out4=0; </b></p><p><b> delay(d);</b></p><p><b> return 0;</b></p><p><b> }</b></p><p> voi
74、d go(uint q)</p><p><b> {</b></p><p><b> ena=1;</b></p><p><b> enb=1; </b></p><p><b> out1=0;</b></p><p&g
75、t;<b> out2=1;</b></p><p><b> out3=1;</b></p><p><b> out4=0;</b></p><p><b> delay(q);</b></p><p><b> }</b&g
76、t;</p><p> intback(uint w) </p><p><b> {</b></p><p><b> ena=1;</b></p><p><b> enb=1;</b></p><p><b> out1=
77、1;</b></p><p><b> out2=0;</b></p><p><b> out3=0;</b></p><p><b> out4=1;</b></p><p><b> delay(w);</b></p>
78、<p><b> return 0;</b></p><p><b> }</b></p><p> int backright(int c)</p><p><b> {</b></p><p><b> ena=0;</b>&l
79、t;/p><p><b> enb=1;</b></p><p><b> out1=0;</b></p><p><b> out2=0;</b></p><p><b> out3=0;</b></p><p><b&
80、gt; out4=1;</b></p><p><b> delay(c);</b></p><p> return 0; </p><p><b> }</b></p><p> voidbizhang()</p><p><b> {&
81、lt;/b></p><p> if(inright==1&&inleft==1)</p><p><b> {</b></p><p><b> go(50);</b></p><p><b> }</b></p><p>
82、; if(inright==0)</p><p><b> {</b></p><p> turnright(50);</p><p><b> }</b></p><p> if(inleft==0)</p><p><b> {</b>&
83、lt;/p><p> turnleft(50);</p><p><b> }</b></p><p> if(inright==0&&inleft==0)</p><p><b> {</b></p><p> backright(2000);<
84、/p><p><b> }</b></p><p><b> }</b></p><p> void xunji()</p><p><b> {</b></p><p> { if(Left_1_led==0&&Left_
85、2_led==0&&Right_1_led==0&&Right_2_led==0) //0</p><p><b> {</b></p><p><b> go(50);</b></p><p><b> }</b></p><p>
86、 else if(Left_1_led==0&&Left_2_led==0&&Right_1_led==0&&Right_2_led==1)//0001</p><p><b> {</b></p><p> turnright(20);</p><p><b> delay(5
87、);</b></p><p><b> }</b></p><p> else if(Left_1_led==0&&Left_2_led==0&&Right_1_led==1&&Right_2_led==0)//0010</p><p><b> {</b>
88、;</p><p> turnright(20); //(9,6)</p><p><b> delay(1);</b></p><p><b> }</b></p><p> else if(Left_1_led==0&&Left_2_led==0&&
89、Right_1_led==1&&Right_2_led==1) //0011</p><p><b> {</b></p><p> turnright(20);</p><p><b> delay(3);</b></p><p><b> }&l
90、t;/b></p><p> else if(Left_1_led==0&&Left_2_led==1&&Right_1_led==0&&Right_2_led==0) //0100</p><p><b> {</b></p><p> turnleft(30);<
91、/p><p><b> delay(3);</b></p><p><b> }</b></p><p> else if(Left_1_led==0&&Left_2_led==1&&Right_1_led==0&&Right_2_led==1) //0101&
92、lt;/p><p> {turnright(30);</p><p><b> delay(2);</b></p><p><b> }</b></p><p> else if(Left_1_led==0&&Left_2_led==1&&Right_1_led
93、==1&&Right_2_led==1) //0111</p><p><b> {</b></p><p> turnleft(30);</p><p> delay(1);</p><p><b> }</b></p><p> else
94、 if(Left_1_led==1&&Left_2_led==0&&Right_1_led==0&&Right_2_led==0) //1000</p><p><b> {</b></p><p> turnleft(30);</p><p><b> delay(3);&l
95、t;/b></p><p><b> }</b></p><p> else if(Left_1_led==1&&Left_2_led==0&&Right_1_led==0&&Right_2_led==1) //1001</p><p><b> {</b>&
96、lt;/p><p><b> go(30);</b></p><p> delay(3); //本來延時6</p><p><b> }</b></p><p> else if(Left_1_led==1&&Left_2_led==0&&Right_1_led
97、==1&&Right_2_led==0) //1010</p><p><b> {</b></p><p> turnleft(30);</p><p><b> delay(3);</b></p><p><b> }</b></p>
98、<p> else if(Left_1_led==1&&Left_2_led==0&&Right_1_led==1&&Right_2_led==1) //1011</p><p><b> {</b></p><p> turnright(20);</p><p><
99、b> delay(3);</b></p><p><b> }</b></p><p> else if(Left_1_led==1&&Left_2_led==1&&Right_1_led==0&&Right_2_led==0) //1100</p><p><b
100、> {</b></p><p> turnleft(20);</p><p><b> delay(5);</b></p><p><b> }</b></p><p> else if(Left_1_led==0&&Left_2_led==0&&
101、amp;Right_1_led==0&&Right_2_led==1) // 1101</p><p> {turnleft(20);</p><p><b> delay(5);</b></p><p><b> }</b></p><p> else if(Left
102、_1_led==1&&Left_2_led==1&&Right_1_led==1&&Right_2_led==0) // 1110</p><p> {turnleft(20);</p><p><b> delay(5);</b></p><p><b> } <
103、;/b></p><p> //else if(Left_1_led==1&&Left_2_led==1&&Right_1_led==1&&Right_2_led==1) // 1111</p><p> //{ //tiaosu();</p><p> // go(20);&l
104、t;/p><p> // delay(5);</p><p><b> //}</b></p><p><b> } </b></p><p><b> } </b></p><p> int delay(uint
105、a)</p><p><b> {</b></p><p><b> uint x,y;</b></p><p> for(x=a;x>0;x--)</p><p> for(y=110;y>0;y--);</p><p><b> retu
106、rn 0;</b></p><p><b> }</b></p><p> /************************************************************************/</p><p> /* PWM調(diào)制電機(jī)轉(zhuǎn)速
107、 */</p><p> /************************************************************************/</p><p> /* 左電機(jī)調(diào)速 */</
108、p><p> /*調(diào)節(jié)push_val_left的值改變電機(jī)轉(zhuǎn)速,占空比 */</p><p> void pwm_out_left_moto(void)</p><p><b> { </b></p><p> if(Left_moto_stop)</p><p>&
109、lt;b> {</b></p><p> if(pwm_left<=push_left)</p><p><b> ena=1; </b></p><p><b> else </b></p><p><b> ena=0;</b></p
110、><p> if(pwm_left>=100)</p><p> pwm_left=0;</p><p><b> }</b></p><p> else ena=0;</p><p><b> }</b></p><p> /****
111、**************************************************************/</p><p> /* 右電機(jī)調(diào)速 */ </p><p> void pwm_out_right_moto(void)</p><p
112、><b> { </b></p><p> if(Right_moto_stop)</p><p><b> { </b></p><p> if(pwm_right<=push_right)</p><p><b> enb=1; </b></p&
113、gt;<p><b> else </b></p><p><b> enb=0;</b></p><p> if(pwm_right>=100)</p><p> pwm_right=0;</p><p><b> }</b></p>
114、<p> else enb=0;</p><p><b> }</b></p><p> /*******************************************************************/</p><p> /*
115、 */</p><p> /* 定時器初值化 */</p><p> /*******************************************************************/</p&g
116、t;<p> void init0(void)</p><p><b> {</b></p><p> TMOD=0X01;</p><p> TH0= 0XF8; //1ms定時TH0= 0XF8; TL0= 0X30;</p><p> TL0= 0X30;</p>
117、<p><b> TR0= 1;</b></p><p><b> ET0= 1;</b></p><p><b> EA = 1;</b></p><p><b> }</b></p><p> void init1(void)&
118、lt;/p><p><b> {</b></p><p> TMOD=0x10; //設(shè)置定時器0工作模式1</p><p> TH1=(65536-50000)/256; //定時器裝初值</p><p> TL1=(65536-50000)%256;</p>
119、<p><b> IT0=1;</b></p><p><b> IT1=1;</b></p><p> EX0=1;//開外部中斷0</p><p> EX1=1;//開外部中斷1</p><p> ET1=1;//開定時器0中斷</p>&l
120、t;p> TR1=1;//啟動定時器0</p><p> EA=1;//開總中斷</p><p><b> }</b></p><p> /******************************************************************/</p><p>
121、///*TIMER0中斷服務(wù)子函數(shù)產(chǎn)生PWM信號*/</p><p> void timer0()interrupt 1 using 2</p><p><b> {</b></p><p> TH0=0XF8; //1Ms定時</p><p><b> TL0=0X30;</b>&
122、lt;/p><p><b> time++;</b></p><p> pwm_left++;</p><p> pwm_right++;</p><p> pwm_out_left_moto();</p><p> pwm_out_right_moto();</p><
123、p><b> }</b></p><p> void run(int m,int n)</p><p><b> { </b></p><p> push_left =m; //PWM 調(diào)節(jié)參數(shù)1-10 1為最慢,10是最快 改這個值可以改變其速度</p><p>
124、push_right =n; //PWM 調(diào)節(jié)參數(shù)1-10 1為最慢,10是最快 改這個值可以改變其速度</p><p> out1=0; //左電機(jī)前進(jìn)</p><p><b> out2=1;</b></p><p><b> out3=1;</b></p><p> out
125、4=0; //右電機(jī)前進(jìn)</p><p><b> }</b></p><p> void tiaosu()</p><p> { while(flag==1)</p><p> {run(30,30);</p><p> delay(30);</p><p&
126、gt;<b> xunji(); </b></p><p> if(Left_1_led==1&&Left_2_led==1&&Right_1_led==1&&Right_2_led==1) { a=1;flag=0;}</p><p><b> }</b></p>
127、<p> while(a==1)</p><p> {run(99,99);</p><p> delay(30);</p><p><b> xunji();</b></p><p> if(Left_1_led==1&&Left_2_led==1&&Right_1
128、_led==1&&Right_2_led==1) { a=2;}</p><p><b> }</b></p><p><b> }</b></p><p> void main()</p><p> { init0();</p><
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能循跡小車設(shè)計【畢業(yè)論文】
- 畢業(yè)論文---智能循跡避障小車
- 智能循跡避障小車畢業(yè)論文
- 智能循跡小車論文
- arduino循跡小車畢業(yè)論文
- 自動循跡小車-畢業(yè)論文
- 畢業(yè)論文-開題報告-文獻(xiàn)綜述智能循跡小車設(shè)計
- 智能循跡小車-職業(yè)學(xué)院畢業(yè)論文開題報告
- 畢業(yè)論文-開題報告-文獻(xiàn)綜述智能循跡小車設(shè)計
- 循跡小車的設(shè)計畢業(yè)論文
- 智能循跡澆水小車論文
- 基于單片機(jī)的智能循跡小車設(shè)計畢業(yè)論文
- 智能循跡小車
- 電氣自動化循跡小車畢業(yè)論文
- 智能小車畢業(yè)論文
- 循跡小車畢業(yè)設(shè)計論文
- 畢業(yè)論文--基于gt2440的智能循跡小車的研究與設(shè)計
- 循跡小車畢業(yè)設(shè)計--循跡小車設(shè)計
- 畢業(yè)論文--利用接近開關(guān)實現(xiàn)小車的循跡問題
- 智能小車設(shè)計畢業(yè)論文
評論
0/150
提交評論