版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> .</b></p><p> 智能巡線小車的設(shè)計(A)</p><p> [摘要] 本次畢業(yè)設(shè)計分為四個模塊:電源模塊、路面檢測模塊、單片機最小系統(tǒng) 、電機驅(qū)動模塊。電源模塊是采用12V電源雙路供電,一路直接供給電機,一路經(jīng)過穩(wěn)壓電路輸出5V電源給LM324、單片機和L298N。循跡模塊是采用三個單反射式紅外傳感器TCRT5000并排
2、安裝,來檢測路面情況,輸出給單片機TTL電平信號。單片機最小系統(tǒng)是滿足單片機工作的系統(tǒng)。電機驅(qū)動選擇的是驅(qū)動芯片L298直接驅(qū)動兩個直流減速電機,并采用PWM調(diào)節(jié)速度,達到兩個電極不同速度,從而控制小車的行駛速度。</p><p> [關(guān)鍵詞] 單片機電源路面檢測電機驅(qū)動PWM</p><p> Smart Patrol Line Vehicle</p><
3、p> Abstract:The graduation project is divided into four modules: power supply module, the road detection module, the smallest single chip system, the motor drive module. 12V power supply module is the use of dual pow
4、er supply, direct supply of the motor all the way, all the way through the 5V output voltage regulator to power the LM324, MCU and L298N. Tracking module is the use of three single-reflection infrared sensor TCRT5000 sid
5、e by side, to detect the road conditions, the output TTL level sign</p><p> Key words:MCU power supply the road detection Motor driver PWM</p><p><b> 目 錄</b></p><p
6、><b> 1引言1</b></p><p> 1.1智能小車的意義和作用1</p><p> 1.2智能小車的現(xiàn)狀2</p><p> 1.3 論文各部分的主要內(nèi)容2</p><p> 2 方案論證與選擇3</p><p><b> 2.1 任務(wù)3<
7、/b></p><p> 2.2 電源模塊的設(shè)計3</p><p> 2.3 路面檢測模塊的設(shè)計4</p><p> 2.3.1 傳感器類型選擇4</p><p> 2.3.2 紅外傳感器方案4</p><p> 2.3.3 電壓比較器選擇5</p><p> 2.4
8、 控制電機方案比較5</p><p> 2.5 電機驅(qū)動方案的比較5</p><p> 2.6 主控制芯片選擇6</p><p> 2.7 本章小結(jié)6</p><p> 3 硬件電路的設(shè)計7</p><p> 3.1 總體設(shè)計7</p><p> 3.2 單片機最小系統(tǒng)
9、7</p><p> 3.2.1 時鐘電路8</p><p> 3.2.2 復(fù)位及復(fù)位電路9</p><p> 3.3路面檢測模塊12</p><p> 3.3.1 傳感器TCRT5000介紹12</p><p> 3.3.2 比較器LM32413</p><p> 3.3
10、.3 具體電路14</p><p> 3.3.5 TTL電平16</p><p> 3.4 電源模塊17</p><p> 3.5 電機驅(qū)動模塊18</p><p> 3.5.1 電機驅(qū)動芯片L298N18</p><p><b> 4 軟件設(shè)計20</b></p>
11、;<p> 4.1 PWM20</p><p> 4.2 主函數(shù)程序設(shè)計22</p><p> 4.3 尋跡子函數(shù)程序設(shè)計23</p><p> 4.4 調(diào)速子程序25</p><p><b> 5 整體調(diào)試28</b></p><p> 5.1 測試方法及儀
12、器:28</p><p><b> 致謝30</b></p><p><b> 參考文獻31</b></p><p><b> 外文翻譯32</b></p><p> 附錄A 硬件連接圖44</p><p> 附錄B 硬件清單45&
13、lt;/p><p> 附錄C 程序清單46</p><p><b> 1引言</b></p><p> 1.1 智能小車的意義和作用</p><p> 自第一臺工業(yè)機器人誕生以來,機器人的發(fā)展已經(jīng)遍及機械、電子、冶金、交通、宇航、國防等領(lǐng)域。近年來機器人的智能水平不斷提高,并且迅速地改變著人們的生活方式。人們在不
14、斷探討、改造、認識自然的過程中,制造能替代人勞動的機器一直是人類的夢想。</p><p> 隨著科學(xué)技術(shù)的發(fā)展,機器人的感覺傳感器種類越來越多,其中視覺傳感器成為自動行走和駕駛的重要部件。視覺的典型應(yīng)用領(lǐng)域為自主式智能導(dǎo)航系統(tǒng),對于視覺的各種技術(shù)而言圖像處理技術(shù)已相當(dāng)發(fā)達,而基于圖像的理解技術(shù)還很落后,機器視覺需要通過大量的運算也只能識別一些結(jié)構(gòu)化環(huán)境簡單的目標。視覺傳感器的核心器件是攝像管或CCD,目前的CC
15、D已能做到自動聚焦。但CCD傳感器的價格、體積和使用方式上并不占優(yōu)勢,因此在不要求清晰圖像只需要粗略感覺的系統(tǒng)中考慮使用接近覺傳感器是一種實用有效的方法。</p><p> 機器人要實現(xiàn)自動導(dǎo)引功能和避障功能就必須要感知導(dǎo)引線和障礙物,感知導(dǎo)引線相當(dāng)給機器人一個視覺功能。避障控制系統(tǒng)是基于自動導(dǎo)引小車(AVG—auto-guide vehicle)系統(tǒng),基于它的智能小車實現(xiàn)自動識別路線,判斷并自動避開障礙,選擇
16、正確的行進路線。使用傳感器感知路線和障礙并作出判斷和相應(yīng)的執(zhí)行動作。</p><p> 該智能小車可以作為機器人的典型代表。它可以分為三大組成部分:傳感器檢測部分、執(zhí)行部分、CPU。機器人要實現(xiàn)自動避障功能,還可以擴展循跡等功能,感知導(dǎo)引線和障礙物??梢詫崿F(xiàn)小車自動識別路線,選擇正確的行進路線,并檢測到障礙物自動躲避?;谏鲜鲆?,傳感檢測部分考慮到小車一般不需要感知清晰的圖像,只要求粗略感知即可,所以可以舍棄
17、昂貴的CCD傳感器而考慮使用價廉物美的紅外反射式傳感器來充當(dāng)。智能小車的執(zhí)行部分,是由直流電機來充當(dāng)?shù)模饕刂菩≤嚨男羞M方向和速度。單片機驅(qū)動直流電機一般有兩種方案:第一,勿需占用單片機資源,直接選擇有PWM功能的單片機,這樣可以實現(xiàn)精確調(diào)速;第二,可以由軟件模擬PWM輸出調(diào)制,需要占用單片機資源,難以精確調(diào)速,但單片機型號的選擇余地較大。考慮到實際情況,本文選擇第二種方案。CPU使用STC89C52單片機,配合軟件編程實現(xiàn)。<
18、/p><p> 1.2 智能小車的現(xiàn)狀</p><p> 現(xiàn)智能小車發(fā)展很快,從智能玩具到其它各行業(yè)都有實質(zhì)成果。其基本可實現(xiàn)循跡、避障、檢測貼片、尋光入庫、避崖等基本功能,這幾屆的電子設(shè)計大賽智能小車又在向聲控系統(tǒng)發(fā)展。比較出名的飛思卡爾智能小車更是走在前列。我此次的設(shè)計主要實現(xiàn)循跡、檢測鐵片、顯示小車行走時間這三個功能。</p><p> 1.3 論文各部分的
19、主要內(nèi)容</p><p> 第1章對智能循跡小車意義和作用,現(xiàn)狀進行簡單闡述。</p><p> 第2章介紹了該智能循跡小車系設(shè)計方案比較和選擇,分析了各模塊的功能。</p><p> 第3章闡述了智能小車系統(tǒng)的硬件電路的設(shè)計,其中包括電源模塊、路面檢測模塊、單片機最小系統(tǒng)、電機驅(qū)動模塊,以及一些輔助電路。</p><p> 第4章首
20、先介紹了該系統(tǒng)的軟件編程,以及程序調(diào)試過程中所用到的程序調(diào)試軟件及其調(diào)試環(huán)境。</p><p> 最后總結(jié)部分說明了本論的主要內(nèi)容,舉出了在系統(tǒng)測試過程中所發(fā)現(xiàn)的問題,并提出了可能的解決方案。</p><p><b> 2 方案論證與選擇</b></p><p><b> 2.1 任務(wù)</b></p>
21、<p> 設(shè)計一個基于單片機控制的自動尋跡小車,使小車能夠自動檢測地面黑色軌跡,并沿著黑色車軌跡行駛。系統(tǒng)方案方框圖如圖2.1所示</p><p> 圖2.1 小車工作原理框圖</p><p><b> 設(shè)計要求:</b></p><p> 基本要求:實現(xiàn)小車的自動循跡,能前進、左轉(zhuǎn)彎、右轉(zhuǎn)彎、后退,檢測沿途的鐵片并顯示鐵片數(shù)
22、目跟小車行走時間。(按照程序預(yù)設(shè));</p><p> 擴展部分:實現(xiàn)小車的避障功能(如時間充足);</p><p><b> 主要的設(shè)計內(nèi)容:</b></p><p> 1:電源模塊的設(shè)計。</p><p> 2:路面檢測模塊的設(shè)計。</p><p> 3:單片機最小系統(tǒng)的設(shè)計。<
23、;/p><p> 4:電機驅(qū)動模塊的設(shè)計。</p><p> 2.2 電源模塊的設(shè)計</p><p> 方案1:采用單電源供電,通過單電源同時對單片機和直流電機進行供電,此方案的優(yōu)點是,減少機身的重量,操作簡單,其缺點是,這樣會使單片機的波動變大,影響單片機的性能,穩(wěn)定性比較弱。</p><p> 方案2:采用雙電源供電,通過兩個獨立的電
24、源分別對單片機和直流電機進行供電,此方案的優(yōu)點是,減少波動,穩(wěn)定性比較好,可以讓小車更好的運作起來,唯一的缺點就是會增加小車的重量。</p><p> 綜合以上的優(yōu)缺點,本設(shè)計決定采用第二種方案。</p><p> 2.3 路面檢測模塊的設(shè)計</p><p> 2.3.1 傳感器類型選擇</p><p> 循跡模塊對于智能巡線小車來說
25、就像來說有如人的眼睛對于人,是提供給小車的“眼睛”,此類光電傳感器可以分為:可見光傳感器、紅外傳感器、紫外線傳感器等(此處不考慮光電耦合器件和位置敏感器件,由于它們占用太多的MCU資源,用起來不方便)。</p><p> 方案1:可見光傳感器是基于可見光源的傳感器,它結(jié)構(gòu)簡單、設(shè)計成熟,但是它工作在可見光波段,容易被外界干擾。</p><p> 方案2:紅外光傳感器。紅外線是波長為 8
26、30nm~950nm 的電磁波,自然環(huán)境物理在該波段的輻射量是很微弱的,所以紅外反射式傳感器受外界干擾較小,可靠性高。設(shè)計技術(shù)成熟,應(yīng)用廣泛。</p><p> 方案3:紫外線傳感器。在自然環(huán)境下該類傳感器很難受干擾,可靠性高,但是它價格昂貴。所以我們最終選擇方案二,即紅外光傳感器作為傳感器檢測模塊的基本器件。</p><p> 2.3.2 紅外傳感器方案</p><
27、;p> 循跡主要是檢測路面情況,利用光的反射原理,當(dāng)光線照射在白在線,反射量比較大,反之,照在黑在線,由于黑色對光的吸收,反射回來的量比較少,這樣就可以判斷黑帶軌道的走向。為此我們產(chǎn)生以下三種方案。</p><p> 方案1:用光敏電阻組成光敏探測器。光敏電阻的阻值可以跟隨周圍環(huán)境光線的變化而變化。當(dāng)光線照射到白線上面時,光線發(fā)射強烈,光線照射到黑線上面時,光線發(fā)射較弱。因此光敏電阻在白線和黑線上方時,
28、阻值會發(fā)生明顯的變化。將阻值的變化值經(jīng)過比較器就可以輸出高低電平。</p><p> 但是這種方案受光照影響很大,不能夠穩(wěn)定的工作。因此我們考慮其它更加穩(wěn)定的方案。</p><p> 方案2:用紅外發(fā)射管和接收管自己制作光電對管尋跡傳感器。紅外發(fā)射管發(fā)出紅外線,當(dāng)發(fā)出的紅外線照射到白色的平面后反射,若紅外接收管能接收到反射回的光線則檢測出白線繼而輸出低電平,若接收不到發(fā)射管發(fā)出的光線則
29、檢測出黑線繼而輸出高電平。這樣自己制作組裝的尋跡傳感器基本能夠滿足要求,但是工作不夠穩(wěn)定,且容易受外界光線的影響,因此我們放棄了這個方案。</p><p> 方案3:采用TCRT50000光電傳感器,該傳感器模塊是基于TCRT5000紅外光電傳感器設(shè)計的一款紅外反射式光電開關(guān),傳感器采用高發(fā)射功率紅外光電二極管和高靈敏度光電晶體管組成,輸出的信號經(jīng)施密特電路整形,穩(wěn)定可靠。</p><p&g
30、t; 2.3.3 電壓比較器選擇</p><p> 市場上可以做電壓比較器的運放,實在是太多,根據(jù)實驗室現(xiàn)有條件以及器件選擇經(jīng)濟并且能滿足使用要求的原則,本次電壓比較器選擇實驗室現(xiàn)有的LM324,此器件價格便宜,并且?guī)в姓娌顒虞斎氲乃倪\算放大器。</p><p> 2.4 控制電機方案比較</p><p> 方案1:采用步進電機作為該系統(tǒng)的驅(qū)動電機。由于其轉(zhuǎn)
31、過的角度可以精確的定位,可以實現(xiàn)小車前進路程和位置的精確定位。雖然采用步進電機有諸多優(yōu)點,步進電機的輸出力矩較低,隨轉(zhuǎn)速的升高而下降,且在較高轉(zhuǎn)速時會急劇下降,其轉(zhuǎn)速較低,不適用于小車等有一定速度要求的系統(tǒng)。經(jīng)綜合比較考慮,我們放棄了此方案。</p><p> 方案2:采用小型直流減速電機。直流減速電機轉(zhuǎn)動力矩大,體積小,重量輕,裝配簡單,使用方便。由于其內(nèi)部由高速電動機提供原始動力,帶動變速(減速)齒輪組,可
32、以產(chǎn)生較大扭力。</p><p> 為了能夠較好的滿足系統(tǒng)的要求,我們選擇了方案2。</p><p> 2.5 電機驅(qū)動方案的比較</p><p> 方案1:采用繼電器對電動機的開或關(guān)進行控制,通過開關(guān)的切換對小車的速度進行調(diào)整.此方案的優(yōu)點是電路較為簡單,缺點是繼電器的響應(yīng)時間慢,易損壞,壽命較短,可靠性不高。</p><p> 方
33、案2:采用電阻網(wǎng)絡(luò)或數(shù)字電位器調(diào)節(jié)電動機的分壓,從而達到分壓的目的。但電阻網(wǎng)絡(luò)只能實現(xiàn)有級調(diào)速,而數(shù)字電阻的元器件價格比較昂貴。更主要的問題在于一般的電動機電阻很小,但電流很大,分壓不僅回降低效率,而且實現(xiàn)很困難。</p><p> 方案3:采用功率三極管作為功率放大器的輸出控制直流電機。線性型驅(qū)動的電路結(jié)構(gòu)和原理簡單,加速能力強,采用由達林頓管組成的 H型橋式電路(如圖2.1a)。用單片機控制達林頓管使之工作
34、在占空比可調(diào)的開關(guān)狀態(tài)下,精確調(diào)整電動機轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,效率非常高,H型橋式電路保證了簡單的實現(xiàn)轉(zhuǎn)速和方向的控制,電子管的開關(guān)速度很快,穩(wěn)定性也極強,是一種廣泛采用的 PWM調(diào)速技術(shù)?,F(xiàn)市面上有很多此種芯片,我選用了L298N(如圖2.1b)。</p><p> 這種調(diào)速方式有調(diào)速特性優(yōu)良、調(diào)整平滑、調(diào)速范圍廣、超載能力大,能承受頻繁的負載沖擊,還可以實現(xiàn)頻繁的無級快速啟動、制動和
35、反轉(zhuǎn)等優(yōu)點。因此決定采用使用功率三極管作為功率放大器的輸出控制直流電機。</p><p> a H型橋式電路 b L298N實物圖</p><p><b> 圖2.1</b></p><p> 2.6 主控制芯片選擇</p><p> 方案1:可以采用ARM為系統(tǒng)的控制器,優(yōu)點是該系統(tǒng)功能強大,
36、片上外設(shè)集成度搞密度高,提高了穩(wěn)定性,系統(tǒng)的處理速度也很高,適合作為大規(guī)模實時系統(tǒng)的控制核心。</p><p> 方案2:選用51系列的單片機,AT89S52單片機算術(shù)運算功能強,軟件編程靈活、自由度大,功耗低、體積小、技術(shù)成熟,成本也比ARM低。</p><p> 根據(jù)自己的知識能力,實驗室現(xiàn)有條件,選用STC89C52RC單片機作為本次畢業(yè)設(shè)計的主控芯片,而且此芯片燒程序也不需要專
37、用的下載器,另一方面節(jié)省了成本,只要安裝USB轉(zhuǎn)串口驅(qū)動,在普通的計算機上就可以燒寫程序,很方便。</p><p><b> 2.7 本章小結(jié)</b></p><p> 經(jīng)過積極論證,最后采用以STC89C52單片機為控制核心,黑白線信號經(jīng)過TCRT5000輸出高低電壓信號,再經(jīng)過LM324電壓比較器輸出給單片機標準TTL電平信號,而單片機根據(jù)輸入口高低電平的變化
38、來執(zhí)行相對應(yīng)指令,使小車達到穩(wěn)定的行駛。</p><p><b> 3 硬件電路的設(shè)計</b></p><p><b> 3.1 總體設(shè)計</b></p><p> 智能小車采用前輪驅(qū)動,后輪左右兩邊各用一個直流電機驅(qū)動,調(diào)制前面兩個輪子的轉(zhuǎn)速起停從而達到控制轉(zhuǎn)向的目的,前輪是萬象輪,起支撐的作用。將循跡光電對管分別
39、裝在車體下的左中右,分別檢測來自路面的信息,比如當(dāng)只有左邊的傳感器檢測到黑線的時候(即對應(yīng)的輸出是高電平的時候),通過主控制器控制左邊的電機速度慢一點,同時右邊的速度快一點,就可以完成小車的轉(zhuǎn)彎,為了使小車平穩(wěn)的過渡彎道,可以將相應(yīng)的電機的占空比調(diào)節(jié)范圍小一點,這樣可以避免急轉(zhuǎn)彎,對小車的穩(wěn)定行駛也有作用的。</p><p> 圖3.1 硬件總體電路框圖</p><p> 3.2 單片
40、機最小系統(tǒng)</p><p> 此次設(shè)計所用的STC89C52是一種帶8K字節(jié)閃爍可編程可檫除只讀存儲器(FPEROM-Flash Programmable and Erasable Read Only Memory )的低電壓,高性能COMOS8的微處理器,俗稱單片機。該器件采用ATMEL搞密度非易失內(nèi)存制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。</p><p>
41、圖3.2 STC89C52單片機</p><p> 3.2.1 時鐘電路</p><p> STC89C52內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。時鐘可以由內(nèi)部方式產(chǎn)生或外部方式產(chǎn)生。內(nèi)部方式的時鐘電路如圖3.3(a) 所示,在XTAL1和XTAL2引腳上外接定時組件,內(nèi)部振蕩器就產(chǎn)生自激振蕩。定時組件通常采用石英晶體和電
42、容組成的并聯(lián)諧振回路。晶體振蕩頻率可以在1.2~12MHz之間選擇,電容值在5~30pF之間選擇,電容值的大小可對頻率起微調(diào)的作用。</p><p> 外部方式的時鐘電路如圖3—3(b)所示,XTAL1接地,XTAL2接外部振蕩器。對外部振蕩信號無特殊要求,只要求保證脈沖寬度,一般采用頻率低于12MHz的方波信號。片內(nèi)時鐘發(fā)生器把振蕩頻率兩分頻,產(chǎn)生一個兩相時鐘P1和P2,供單片機使用。</p>
43、<p> ?。╝)內(nèi)部方式時鐘電路 (b)外部方式時鐘電路</p><p><b> 圖3.3 時鐘電路</b></p><p> 本次采用的是內(nèi)部方式。C1,C2為30PF的瓷片電容。</p><p> 3.2.2. 復(fù)位及復(fù)位電路</p><p><b> ?。?)
44、復(fù)位操作</b></p><p> 復(fù)位是單片機的初始化操作。其主要功能是把PC初始化為0000H,使單片機從0000H單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當(dāng)由于程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需按復(fù)位鍵重新啟動。</p><p> 除PC之外,復(fù)位操作還對其它一些寄存器有影響,它們的復(fù)位狀態(tài)如表一所示。</p><
45、p> 表3.1 一些寄存器的復(fù)位狀態(tài)</p><p> (2)復(fù)位信號及其產(chǎn)生</p><p> RST引腳是復(fù)位信號的輸入端。復(fù)位信號是高電平有效,其有效時間應(yīng)持續(xù)24個振蕩周期(即二個機器周期)以上。若使用頗率為12MHz的晶振,則復(fù)位信號持續(xù)時間應(yīng)超過2us才能完成復(fù)位操作。</p><p> 產(chǎn)生復(fù)位信號的電路邏輯如圖3.4所示:</p&
46、gt;<p> 圖3.4 復(fù)位信號的電路邏輯圖</p><p> 整個復(fù)位電路包括芯片內(nèi)、外兩部分。外部電路產(chǎn)生的復(fù)位信號(RST)送至施密特觸發(fā)器,再由片內(nèi)復(fù)位電路在每個機器周期的S5P2時刻對施密特觸發(fā)器的輸出進行采樣,然后才得到內(nèi)部復(fù)位操作所需要的信號。</p><p> 復(fù)位操作有上電自動復(fù)位相按鍵手動復(fù)位兩種方式。</p><p>
47、上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實現(xiàn)的,其電路如圖3.5(a)所示。這佯,只要電源Vcc的上升時間不超過1ms,就可以實現(xiàn)自動上電復(fù)位,即接通電源就成了系統(tǒng)的復(fù)位初始化。</p><p> 按鍵手動復(fù)位有電平方式和脈沖方式兩種。其中,按鍵電平復(fù)位是通過使復(fù)位端經(jīng)電阻與Vcc電源接通而實現(xiàn)的,其電路如圖3.5(b)所示;而按鍵脈沖復(fù)位則是利用RC微分電路產(chǎn)生的正脈沖來實現(xiàn)的,</p>&l
48、t;p> 其電路如圖3.5(c)所示:</p><p> ?。╝)上電復(fù)位 (b)按鍵電平復(fù)位 (c)按鍵脈沖復(fù)位</p><p><b> 圖3.5復(fù)位電路</b></p><p> 上述電路圖中的電阻、電容參數(shù)適用于6MHz晶振,能保證復(fù)位信號高電平持續(xù)時間大于2個機器周期。</p><
49、p> 本系統(tǒng)的復(fù)位電路采用圖3.5(a)上電復(fù)位方式。</p><p> STC89C52具體引腳介紹如下:</p><p> ① 主電源引腳(2根)</p><p> VCC(Pin40):電源輸入,接+5V電源</p><p> GND(Pin20):接地線</p><p> ?、谕饨泳д褚_(2根
50、)</p><p> XTAL1(Pin19):片內(nèi)振蕩電路的輸入端</p><p> XTAL2(Pin20):片內(nèi)振蕩電路的輸出端</p><p><b> ?、劭刂埔_(4根)</b></p><p> RST/VPP(Pin9):復(fù)位引腳,引腳上出現(xiàn)2個機器周期的高電平將使單片機復(fù)</p>&
51、lt;p> 圖3.6 STC89C52引腳圖</p><p><b> 位。</b></p><p> ALE/PROG(Pin30):地址鎖存允許信號</p><p> PSEN(Pin29):外部內(nèi)存讀選通信號</p><p> EA/VPP(Pin31):程序內(nèi)存的內(nèi)外部選通,接低電平從外部程序內(nèi)存
52、讀指令,如果接高電平則從內(nèi)部程序內(nèi)存讀指令。</p><p> ?、芸删幊梯斎?輸出引腳(32根)</p><p> STC89C52單片機有4組8位的可編程I/O口,分別位P0、P1、P2、P3口,每個口有8位(8根引腳),共32根。</p><p> PO口(Pin39~Pin32):8位雙向I/O口線,名稱為P0.0~P0.7</p><
53、;p> P1口(Pin1~Pin8):8位準雙向I/O口線,名稱為P1.0~P1.7 </p><p> P2口(Pin21~Pin28):8位準雙向I/O口線,名稱為P2.0~P2.7 </p><p> P3口(Pin10~Pin17):8位準雙向I/O口線,名稱為P3.0~P3.7</p><p> STC89C52主要內(nèi)部資源如表二所示。<
54、;/p><p> 表3.2 STC89C52內(nèi)部資源</p><p> 3.3 路面檢測模塊</p><p> 3.3.1 傳感器TCRT5000介紹</p><p> TCRT5000紅外光電傳感器是一款紅外反射式光電開關(guān)。傳感器采用高發(fā)射功率紅外光電二極管和高靈敏度光敏三極管組成,其輸出信號經(jīng)過施密特電路整形,穩(wěn)定可靠。</p
55、><p> 圖3.7 紅外光電傳感器TCRT5000</p><p> 傳感器的紅外發(fā)射二極管不斷的發(fā)射紅外線,當(dāng)發(fā)射出的紅外線照射在黑色的物體上,由于黑顏色的物體反射基數(shù)低,沒有反射回來或者反射回來的強度不夠大時,光敏三極管一直處于關(guān)斷狀態(tài),此時圖3.6中4跟5之間的壓降就比較大,經(jīng)過穩(wěn)定測試之后的壓降大約在4.62V左右,當(dāng)發(fā)射到白顏色的物體上的時候,由于白顏色反射基數(shù)大,足以是光敏三
56、極管飽和,所以此時的上圖中4跟6之間的壓降比較低,經(jīng)過穩(wěn)定測試之后的壓降在0.56V左右,變化較為明顯。</p><p> 圖3.8紅外光電傳感器的模型</p><p> 3.3.2比較器LM324</p><p> LM324為四運放集成電路,采用14腳雙列直插塑料封裝。內(nèi)部有四個運算放大器,有相位補償電路。電路功耗很小,工作電壓范圍寬,可用正電源3~3
57、2V,或正負雙電源±1.5V~±15V工作。</p><p> 在黑線檢測電路中用來確定紅外接收信號電平的高低,以電平高低判定黑線有無。在電路中,LM324的一個輸入端需接滑動變阻器,通過改變滑動變阻器的阻值來提供合適的比較電壓。</p><p> 圖3.9 LM324引腳圖</p><p><b> 3.3.3具體電路</
58、b></p><p> 通過TCRT5000檢測黑線,輸出接收到的信號給LM324,接收電壓與比較電壓比較后,輸出信號變?yōu)闃藴蔜TL高低電平,再輸入到單片機中,用以判定是否檢測到黑線。</p><p> 圖3.10 路面檢測模塊具體電路圖</p><p><b> 參數(shù)解說:</b></p><p> 1:
59、前面說到TCRT5000是由一個紅外線發(fā)光二極管和一個光敏三極管組成,</p><p> 圖3.11TCRT5000的紅外發(fā)光二極管的伏安曲線(20攝氏度時)</p><p> 如圖所示,當(dāng)紅外發(fā)光管的電壓達到1.3V左右的時候,流經(jīng)紅外發(fā)光管的電流是最大的,即此時的紅外發(fā)光管的發(fā)射功率最大。傳感器安裝在小車的地盤,距離路面距離很短,再者對于小車的續(xù)航能力來說,功耗低的話續(xù)航能力好一
60、點,鑒于此兩方面的考慮,我們選擇紅外發(fā)射管壓降在1.1V左右,也經(jīng)過反復(fù)測試,此時的發(fā)射功率檢測1cm左右距離的黑白線,效果較為明顯,如果電源電壓為5V,則分流電阻R=(5-1.2)/0.01=380奧姆,考慮到發(fā)光二極管發(fā)熱以及二極管的阻抗,對于限流電阻R1,我們選擇150奧姆,經(jīng)過測試,TCRT5000也工作很穩(wěn)定。</p><p> 2:對于分壓電阻R2的選擇,由于R2跟光敏三極管串聯(lián),所以R2的大小和接
61、收管的電壓變化有關(guān)系。初步選擇R2=20k,經(jīng)過測試,我們得出下面一組資料,當(dāng)發(fā)光二極管的發(fā)射的紅外光照射到黑線的時候,黑線將光線吸收,導(dǎo)致光敏三極管截止,此時加在圖中的4、5點的壓降為4.69V,當(dāng)為白線時,4、5兩點的壓降在0.76V,那么輸出給電壓比較器異相端的電壓就是在黑白兩種狀態(tài)下此分壓電阻的壓降,即黑線時為(5-4.69)=0.31V,白線時為(5-0.76)=4.24V,經(jīng)過現(xiàn)場測試兩者的電壓出入不大,基本符合預(yù)想。<
62、;/p><p> 3:參考電壓的選擇,從上面的測試,我們得出R1,R2為150,20k時TCRT5000檢測黑線的時候輸入給電壓比較器的電壓為0.27V,白線的時候是4.38V,所以我們將參考電壓定為2V,即檢測到白線的時候,參考電壓小于異相端電壓,所以輸出為低電平,反之則為高電平。對于參考電壓,我們選擇10k電位器輸出,要輸出2V電壓給電壓比較器同相端,那么電位器的阻值分配為6k和4k,經(jīng)過測試,為3.6k,分析
63、原因,一是因為10k的電位器的全部阻值并不是很標準的10k,我拿到的為9.6k左右,還有此時加在電位器上的電壓也并不是很準確的5V電壓,所以才出現(xiàn)這樣的情況。</p><p> 3.3.4傳感器安裝</p><p> 在小車具體的循跡行走過程中,為了能精確測定黑線位置并確定小車行走,需要再車底盤安置三個傳感器,裝置位置如圖3.6所示, 三個傳感器,那就意味著八種1,0組合的狀態(tài),為了使
64、小車平穩(wěn)的轉(zhuǎn)彎,設(shè)置“大拐”“小拐”,意思有左大拐,左小拐,右大拐,右小拐,直線前進,后退,還有兩種無效的狀態(tài)(101,111),下來有必要說下傳感器的安裝距離,為了檢測的方便我們使小車的兩個傳感器之間的距離剛好大于黑線的距離,這樣的目的就是,當(dāng)一個傳感器檢測不到的時候,它旁邊的傳感器就要檢測到黑線呢,這樣就使傳感器無盲區(qū)。</p><p> 圖3.12 傳感器安裝布局圖</p><p>
65、; 3.3.5TTL電平</p><p> TTL電平信號被利用的最多是因為通常數(shù)據(jù)表示采用二進制規(guī)定,+5V等價于邏輯“1”,0V等價于邏輯“0”,這被稱做TTL信號系統(tǒng)。TTL電平VCC是5V。當(dāng)光電對管檢測到黑線時,輸出高電平,高于電壓比較器的“+”輸入端設(shè)定比較電壓,相當(dāng)于5V,等價于邏輯“1”; 當(dāng)光電對管檢測到白線時,輸出低電平,低于電壓比較器的“+”輸入端設(shè)定比較電壓,相當(dāng)于0V,等價于邏輯“
66、0”。TTL電路是電流控制器件,一般提供25毫安的驅(qū)動能力。TTL電路的速度快,傳輸延遲時間短(5-10ns),但是功耗大。</p><p> TTL輸出低電平<0.8V ;輸出低電平>2.4V。在室溫下,一般輸出高電平是3.5V,輸出低電平是0.2V。 TTL輸入低電平 <1.2V ;輸入高電平>2.0V。所以,TTL器件輸出的低電平要小于0.8V,高電平要大于2.4V。輸入時,低于1
67、.2V就認為是0,高于2.0V就認為是1。 </p><p><b> 3.4電源模塊</b></p><p> 電源對于一個系統(tǒng)來說作用是巨大的,它是系統(tǒng)工作穩(wěn)定的前提。下表是整個方案中需要的電源及電源值。</p><p> 表3.3本系統(tǒng)供電項目及數(shù)值</p><p> 對于電壓比較器,我們希望比較出來
68、的電平是TTL電平,這個輸出電平高電平的電壓值跟LM324的供電電壓有關(guān),如果供電電壓為5V,由于比較器內(nèi)部晶體管壓降,則它輸出高電平的電壓值應(yīng)該小于5V,大約保持在4.5V左右,所以我們選擇給LM324+5V電壓供電,此電壓可以供給STC89C52、L298也很合適.對于電機,我們選擇+12V電壓。一路供給直流減速電機,一路經(jīng)過穩(wěn)壓芯片LM2576輸出+5V電壓給LM324、L298、單片機(考慮到散熱,我們選擇LM2576,而放棄L
69、M7805)</p><p> 下圖就是電源原理圖,輸入是12V,輸出是+5V。</p><p> 圖3.13 12V電源轉(zhuǎn)5V電源電路原理圖</p><p><b> 3.5電機驅(qū)動模塊</b></p><p> 3.5.1電機驅(qū)動芯片L298N</p><p> 電機驅(qū)動芯片L29
70、8N是SGS公司的產(chǎn)品,內(nèi)部包含4信道邏輯驅(qū)動電路。是一種二相和四相電機的專用驅(qū)動器,即內(nèi)含二個H橋的高電壓大電流雙全橋式驅(qū)動器,接收標準TTL邏輯電平信號,可驅(qū)動46V、2A以下的電機。其引腳排列如圖3.14所示,1腳和15腳可單獨引出連接電流采樣電阻器,形成電流傳感信號。L298可驅(qū)動2個電機,OUT1、OUT2和OUT3、OUT4之間分別接2個電動機。5、7、10、12腳接輸入控制電平,控制電機的正反轉(zhuǎn),ENA,ENB接控制使能端
71、,控制電機的停轉(zhuǎn)。也利用單片機產(chǎn)生PWM信號接到ENA,ENB端子,對電機的轉(zhuǎn)速進行調(diào)節(jié)。</p><p> 圖3.14 L298N引腳圖</p><p> 通過單片機的I/O口輸入改變芯片控制端的電平,即可以對電機進行正反轉(zhuǎn),停止的操作,輸入引腳與輸出引腳的邏輯關(guān)系圖為下表</p><p> 表3.4L298N輸入輸出也邏輯表</p><
72、;p> 用一個L298N驅(qū)動左右兩個電機,In1、In2控制左電機,In3、In4控制右電機,而使能端一直為高電平,采用In1、In2、In3、In4同時為0來達到電機的停止,從而是小車停止。</p><p> 圖3.15 電機驅(qū)動電路圖</p><p><b> 4 軟件設(shè)計</b></p><p> 在進行單片機控制系統(tǒng)設(shè)計時
73、,除了系統(tǒng)硬件設(shè)計以外,大量的工作就是如何讓根據(jù)系統(tǒng)每一個現(xiàn)象或者作用設(shè)計應(yīng)用程序。因此,軟件設(shè)計在單片機控制系統(tǒng)設(shè)計中占有重要的地位。對于本系統(tǒng),軟件更為重要。本次軟件設(shè)計需要完成以下兩個任務(wù)。</p><p> 1:單片機根據(jù)傳感器I/O口的輸入狀態(tài),來相應(yīng)的執(zhí)行判斷程序,來達到小車的前進,后退,停止;</p><p> 2:單片機兩個I/O口同時產(chǎn)生兩個占空比不相同的方波,來控制
74、小車電機的車速,來達到小車的左轉(zhuǎn)彎、右轉(zhuǎn)彎;</p><p> 為了完成上述任務(wù),在進行軟件設(shè)計時,通常把整個過程分成若干個部分,每一部分叫做一個模塊。所謂“模塊”,實際上就是完成一定功能,相對獨立的程序段,這中程序設(shè)計方法叫做模塊化程序設(shè)計法。</p><p> 模塊化程序設(shè)計方法的主要優(yōu)點是:</p><p> 單個模塊化起一個完整的程序易編寫及調(diào)試;&l
75、t;/p><p> 模塊可以共存,一個模塊可以被多個任務(wù)在不同條件下調(diào)用;</p><p> 模塊程序允許設(shè)計者分割任務(wù)和利用已有程序,為設(shè)計者提供方便。</p><p> 本系統(tǒng)軟件采用模塊化結(jié)構(gòu),由主程序,尋跡子程序,調(diào)速子程序等構(gòu)成。</p><p><b> 4.1PWM</b></p>&l
76、t;p> 脈沖寬度調(diào)制(PWM),是英文“Pulse Width Modulation”的縮寫,簡稱脈寬調(diào)制,是利用微處理器的數(shù)字輸出來對模擬電路進行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測量、通信到功率控制與變換的許多領(lǐng)域中。脈沖寬度調(diào)制是一種模擬控制方式,其根據(jù)相應(yīng)載荷的變化來調(diào)制晶體管柵極或基極的偏置,來實現(xiàn)開關(guān)穩(wěn)壓電源輸出晶體管或晶體管導(dǎo)通時間的改變,這種方式能使電源的輸出電壓在工作條件變化時保持恒定,是利用微處理器的數(shù)
77、字輸出來對模擬電路進行控制的一種非常有效的技術(shù)。</p><p> 隨著電子技術(shù)的發(fā)展,出現(xiàn)了多種PWM技術(shù),其中包括:相電壓控制PWM、脈寬PWM法、隨機PWM、SPWM法、線電壓控制PWM等,而在鎳氫電池智能充電器中采用的脈寬PWM法,它是把每一脈沖寬度均相等的脈沖列作為PWM波形,通過改變脈沖列的周期可以調(diào)頻,改變脈沖的寬度或占空比可以調(diào)壓,采用適當(dāng)控制方法即可使電壓與頻率協(xié)調(diào)變化??梢酝ㄟ^調(diào)整PWM的周
78、期、PWM的占空比而達到控制充電電流的目的。</p><p> 模擬信號的值可以連續(xù)變化,其時間和幅度的分辨率都沒有限制。9V電池就是一種仿真器件,因為它的輸出電壓并不精確地等于9V,而是隨時間發(fā)生變化,并可取任何實數(shù)值。與此類似,從電池吸收的電流也不限定在一組可能的取值范圍之內(nèi)。模擬信號與數(shù)字信號的區(qū)別在于后者的取值通常只能屬于預(yù)先確定的可能取值集合之內(nèi),例如在{0V, 5V}這一集合中取值。模擬電壓和電流可
79、直接用來進行控制,如對汽車收音機的音量進行控制。在簡單的模擬收音機中,音量旋鈕被連接到一個可變電阻。擰動旋鈕時,電阻值變大或變小;流經(jīng)這個電阻的電流也隨之增加或減少,從而改變了驅(qū)動揚聲器的電流值,使音量相應(yīng)變大或變小。與收音機一樣,模擬電路的輸出與輸入成線性比例。盡管模擬控制看起來可能直觀而簡單,但它并不總是非常經(jīng)濟或可行的。其中一點就是,模擬電路容易隨時間漂移,因而難以調(diào)節(jié)。能夠解決這個問題的精密模擬電路可能非常龐大、笨重(如老式的家
80、庭立體聲設(shè)備)和昂貴。模擬電路還有可能嚴重發(fā)熱,其功耗相對于工作組件兩端電壓與電流的乘積成正比。模擬電路還可能對噪聲很敏感,任何擾動或噪聲都肯定會改變電流值的大小。 </p><p> 通過以數(shù)字符方式控制模擬電路,可以大幅度降低系統(tǒng)的成本和功耗。此外,許多微控制器和DSP已經(jīng)在芯片上包含了PWM控制器,這使數(shù)字控制的實現(xiàn)變得更加容易了。脈沖寬度調(diào)制(PWM)是一種對模擬信號電平進行數(shù)字編碼的方法。通過高分辨率
81、計數(shù)器的使用,方波的占空比被調(diào)制用來對一個具體模擬信號的電平進行編碼。PWM信號仍然是數(shù)字的,因為在給定的任何時刻,滿幅值的直流供電要么完全有(ON),要么完全無(OFF)。電壓或電流源是以一種通(ON)或斷(OFF)的重復(fù)脈沖序列被加到模擬負載上去的。通的時候即是直流供電被加到負載上的時候,斷的時候即是供電被斷開的時候。只要帶寬足夠,任何模擬值都可以使用PWM進行編碼。多數(shù)負載(無論是電感性負載還是電容性負載)需要的調(diào)制頻率高于10H
82、z,通常調(diào)制頻率為1kHz到200kHz之間。 </p><p> 許多微控制器內(nèi)部都包含有PWM控制器。例如,Microchip公司的PIC16C67內(nèi)含兩個PWM控制器,每一個都可以選擇接通時間和周期。占空比是接通時間與周期之比,調(diào)制頻率為周期的倒數(shù)。執(zhí)行PWM操作之前,這種微處理器要求在軟件中完成以下工作: </p><p> 1、設(shè)置提供調(diào)制方波的片上定時器/計數(shù)器的周期 &l
83、t;/p><p> 2、 在PWM控制寄存器中設(shè)置接通時間 </p><p> 3、設(shè)置PWM輸出的方向,這個輸出是一個通用I/O管腳 </p><p><b> 4、啟動定時器 </b></p><p> 5、使能PWM控制器本系統(tǒng)采用PWM來調(diào)節(jié)直流電機的速度。</p><p> PWM
84、是通過控制固定電壓的直流電源開關(guān)頻率,從而改變負載兩端的電壓,進而達到控制要求的一種電壓調(diào)整方法。PWM可以應(yīng)用在許多方面,如電機調(diào)速、溫度控制、壓力控制等。</p><p> 在PWM驅(qū)動控制的調(diào)整系統(tǒng)中,按一個固定的頻率來接通和斷開電源,并根據(jù)需要改變一個周期內(nèi)“接通”和“斷開”時間的長短。通過改變直流電機電樞上電壓的“占空比”來改變平均電壓的大小,從而控制電動機的轉(zhuǎn)速。因此,PWM又被稱為“開關(guān)驅(qū)動裝置”
85、。</p><p> 在脈沖作用下,當(dāng)電機通電時,速度增加;電機斷電時,速度逐漸減少。只要按一定規(guī)律,改變通、斷電的時間,即可讓電機轉(zhuǎn)速得到控制。</p><p> 4.2 主函數(shù)程序設(shè)計</p><p> 對于小車的行駛,我這樣設(shè)想的,整個系統(tǒng)供上電之后,就不停的執(zhí)行掃描端口,當(dāng)此輸入口為低電平時,意味著小車的開關(guān)已經(jīng)按下,小車已經(jīng)發(fā)動起來了,單片機執(zhí)行相應(yīng)
86、的子程序,否則就一直掃描。這樣比較貼合實際一些。同樣的,當(dāng)此輸入口為高電平時,小車停止行駛。前面第2章講到,L298N與單片機相連接的6個I/O口,in1~in4是輸出控制電機的端口,in5~in6是使能端,in5控制in1和in2,in6控制in3和in4,只有當(dāng)它們?yōu)楦唠娖綍r,in1~in4才輸出有效,那么要達到兩個電機同時轉(zhuǎn)動,就必須使in5~in6同時為高電平。</p><p> 對于小車停止,預(yù)想的是
87、,當(dāng)開關(guān)按下時,小車開始行駛,計數(shù)器也開始計數(shù),當(dāng)不再檢測到黑線的時候就停止,這樣,對于B部分的時間顯示來說,可以設(shè)定外部中斷,停止的時候定時器停止計數(shù),在數(shù)碼管上就顯示當(dāng)前計數(shù)值,即為小車行駛的時間。</p><p> 所以主函數(shù)可以這樣寫:</p><p> Void mian()</p><p><b> {</b></p&g
88、t;<p><b> In5=1;</b></p><p> In6=1; //L28N使能端,只有兩者都為高電平時,in1~in4輸入的高低電平才有效//</p><p> While(kaiguan==0)//“發(fā)動機鑰匙”//</p><p><b> {</b></p><
89、p> Xunji();//循跡程序//</p><p><b> }</b></p><p><b> }</b></p><p><b> 總體程序流程圖:</b></p><p> 圖4.1 程序主體流程圖</p><p> 4.3
90、 尋跡子函數(shù)程序設(shè)計</p><p> 尋跡,顧名思義,就是單片機尋找準確的路線,以達到精準的行駛,本設(shè)計采用黑</p><p> 線行駛,三個TCRT5000紅外傳感器,分別連接STC單片機的P1.0、P1.1、P1.2口,對于三個傳感器就有=8種狀態(tài),根據(jù)現(xiàn)實情況,在下表中給予統(tǒng)一編碼。</p><p> 表4.1傳感器輸出信號編碼</p>
91、<p> 根據(jù)上表,得出尋跡子程序流程圖</p><p> 圖4.2 轉(zhuǎn)向子程序流程圖</p><p> 基于上面所述,尋跡程序可以這樣編寫。</p><p> void xunji() </p><p><b> { </b></p><p> if((sensera==
92、0)&&(senserb==0)&&(senserc==0))</p><p> stop();//停止吧,因為沒有黑線啦//</p><p> else if((sensera==0)&&(senserb==0)&&(senserc==1))</p><p> PWMqianjin(7,3);
93、//小車即將向左偏離黑線,右大轉(zhuǎn)彎吧//</p><p> else if((sensera==0)&&(senserb==1)&&(senserc==1))</p><p> PWMqianjin(6,4);//小車較偏離左邊,希望右小轉(zhuǎn)彎//</p><p> else if((sensera==1)&&(s
94、enserb==0)&&(senserc==0))</p><p> PWMqianjin(3,7); //小車即將向右偏離黑線,左大轉(zhuǎn)彎吧//</p><p> else if((sensera==1)&&(senserb==1)&&(senserc==1))</p><p> houtui(5,5);//小車
95、可能橫跨在黑線上啦,此時后退吧,但是一般此種情況很難出現(xiàn),早就被我扼殺在萌芽狀態(tài)啦//</p><p> else if((sensera==1)&&(senserb==1)&&(senserc==0))</p><p> PWMqianjin(4,6); //小車較偏離右邊,希望左小轉(zhuǎn)彎//</p><p> else PWM
96、qianjin(5,5); //此刻,黑線被壓在小車的中央,全速前進//</p><p><b> }</b></p><p><b> 4.4 調(diào)速子程序</b></p><p> 小車能穩(wěn)定行駛,轉(zhuǎn)彎是在所難免的,對于調(diào)速,采用P2^0~P2^3輸出不同占空比的方波,來控制小車兩個輪子的速度,對于轉(zhuǎn)彎的方案,有以
97、下幾種。</p><p> 方案1:遇到轉(zhuǎn)彎的時候,一個輪子降低速度,另外一個停止,優(yōu)點是轉(zhuǎn)彎的時候一個輪子行駛,不需要考慮同時輸出不同占空比的方波的問題,這樣單片機控制簡單一些,缺點則是,小車在轉(zhuǎn)彎的時候一直有個電機會停止與啟動,電機頻繁啟動對電機壽命會有影響,另外小車行駛起來讓人感覺比較“沖”,就是轉(zhuǎn)彎過程中不細膩。</p><p> 方案2:遇到需要轉(zhuǎn)彎的時候,將一個輪子的速度降
98、低,另一個輪子速度提高,只要兩個輪子的占空比之差在一個合理的范圍之內(nèi),轉(zhuǎn)彎就合情合理啦。</p><p> 接下來就是要解決怎么樣使單片機兩個I/O口同時產(chǎn)生不同占空比的方波,根據(jù)自己此段時間的努力,</p><p> 1:采用定時器,開始就開啟定時,當(dāng)傳感器輸出口達到某一狀態(tài)時,給計數(shù)器裝在一定的數(shù)值,此數(shù)值代表不同的占空比,在定時器中斷程序里面取反。</p><
99、p> 2:采用賦值延時,給驅(qū)動芯片端口分別賦值,延時使相應(yīng)的端口輸出不同占空比的方波。</p><p> 綜合系統(tǒng)難易程度,本次選擇賦值延時方案產(chǎn)生兩個不同占空比的方波。所以調(diào)速子程序可以這樣編寫。</p><p> void PWMqianjin(uchar x1,uchar x2)//前進程序,x1,x2代表左右電機的占空比//</p><p>&l
100、t;b> {</b></p><p> uchar a,b,n=100;</p><p><b> in1=0;</b></p><p> in4=0;//左電機反轉(zhuǎn),右電機正轉(zhuǎn)=前進,意味著in1=in4=0,in2和in3輸出方波//</p><p> while(n--)</p&g
101、t;<p><b> {in2=1;</b></p><p><b> in3=0;</b></p><p> for(a=x1;a>0;a--);</p><p><b> in2=0;</b></p><p><b> in3=1;&
102、lt;/b></p><p> for(b=x2;b>0;b--);</p><p><b> }</b></p><p><b> }</b></p><p> void houtui(uchar x1,uchar x2)//后退函數(shù)//</p><p>
103、;<b> {</b></p><p> uchar c,d,m=100;</p><p><b> in2=0;</b></p><p> in3=0;//左電機正轉(zhuǎn),右電機反轉(zhuǎn)=后退,意味著in2=in3=0,in1和in4輸出方波//</p><p> while(m--)</
104、p><p><b> {in1=0;</b></p><p><b> in4=1;</b></p><p> for(c=x1;c>0;c--);</p><p><b> in1=1;</b></p><p><b> in4=
105、0;</b></p><p> for(d=x2;d>0;d--);</p><p><b> }</b></p><p><b> }</b></p><p> void stop()//停車函數(shù),采用軟件和硬件停車,“鑰匙”關(guān)跟檢測不到黑線的時候,就停車//</p
106、><p><b> {</b></p><p><b> in1=0;</b></p><p><b> in2=0;</b></p><p><b> in3=0;</b></p><p><b> in4=0;&
107、lt;/b></p><p><b> }</b></p><p><b> 5 整體調(diào)試</b></p><p> 5.1 測試方法及儀器:</p><p><b> 測試儀器</b></p><p> 測試儀器暴扣數(shù)字萬用表,示波器,
108、直流穩(wěn)壓電源等。</p><p><b> 測試方法</b></p><p> 數(shù)字萬用表主要用來測試分立元件的電阻、壓降、漏電流、截止/導(dǎo)通狀態(tài)等參數(shù);</p><p> 示波器用于測試PWM輸出口的波形。直流穩(wěn)壓電源主要用來給系統(tǒng)提供精準的電壓源。 </p><p> 此設(shè)計是單片機應(yīng)用系統(tǒng)的開發(fā)性實驗。通
109、過此設(shè)計可知在單片機系統(tǒng)開發(fā)過程應(yīng)注意以下事項。</p><p> 1)硬件的選擇。選擇適合設(shè)計目地的元器件是一個重要的方設(shè)計環(huán)節(jié)。不能以元器件是否是最高性能作為選擇元器件的標準。往往高性能器件的價格也是較高的。應(yīng)根據(jù)項目設(shè)計的需要選擇元器件,能夠滿足設(shè)計需要作為標準選擇元器件。</p><p> 2)因為單片機系統(tǒng)設(shè)計是硬件和軟件相結(jié)合的設(shè)計,所以系統(tǒng)和硬件和軟件必須緊密配合,協(xié)調(diào)一
110、致。應(yīng)不斷調(diào)整硬軟件設(shè)計,以提高系統(tǒng)工作效率。</p><p> 單片機的應(yīng)用如今已經(jīng)是在工業(yè),電子等方面展示出了它的優(yōu)越性,利用單片機在設(shè)計電路逐漸成了趨勢,它與外圍電路再加上軟件程序就可以構(gòu)建任意的產(chǎn)品,使得本設(shè)計成為現(xiàn)實。隨著單片機的日益發(fā)展,它必將在未來顯示出更大的活力,為電子設(shè)計更多精彩。對于數(shù)字電壓表而言,功能將會越來越強大。</p><p> 我們在設(shè)計的過程中發(fā)現(xiàn)了自身
111、知識的不足,也發(fā)現(xiàn)我們必須具備專業(yè)基礎(chǔ)知識才能成功的設(shè)計出一件合格的東西。這次課程設(shè)計收獲很多,體會也很深刻,并且對我們所學(xué)的東西也產(chǎn)生了濃厚的興趣。在設(shè)計過程中,也學(xué)會了很多新的東西,如對一些初次使用的模塊的認識與掌握。當(dāng)然最重要的是學(xué)到了關(guān)于基本電子設(shè)計的一些方法,同時也加深了對一些常用的電子元件的理解以及其基本用法的掌握。</p><p> 通過多次調(diào)試,發(fā)現(xiàn)小車有以下幾方面的問題及因素影響:</p
112、><p> ?。?)自制導(dǎo)線不合格。究其原因,一方面是對壓線鉗的熟練及合理運用方面不夠靈活,另一方面是對專業(yè)基本功掌握不夠。</p><p> ?。?)程序邏輯方面不夠嚴謹,導(dǎo)致在行駛過程中不按預(yù)期的路線去行駛。究其原因,一方面由于電路自身缺陷導(dǎo)致程序有誤,另一方面由于C語言掌握不夠,需要加強。</p><p> 針對以上問題,改進方案如下:</p>&
113、lt;p> ?。?)解決方案:先用萬用表對自制導(dǎo)線進行測量,檢測合格則使用。</p><p> ?。?)解決方案:先對程序進行軟件調(diào)試,進行單步運行,軟件調(diào)試成功在進行硬件調(diào)試,最終實現(xiàn)預(yù)期要求。</p><p> 通過本次畢業(yè)設(shè)計,不僅是對我們課本所學(xué)知識的考查,更是對我的自學(xué)能力和收集資料能力以及動手能力的考驗。本次畢業(yè)設(shè)計使我們對一個項目的整體設(shè)計有了初步認識,還認識了幾種傳
114、感器,并能獨立設(shè)計出其接口電路,本次畢業(yè)設(shè)計使我們意識到了實驗的重要性,在硬件制作和軟件調(diào)試的過程中,出現(xiàn)了很多問題,最終都是通過實驗的方法來解決的。還有以前對程序只是一個很模糊的概念,通過這次的課題設(shè)計使我對程序完全有了一個新的認識,并能使用C熟練的進行編程了。通過本次課題設(shè)計,極大的鍛煉了我們的思考和分析問題的能力,并對單片機有了一個更深的認識。</p><p> 總之,在畢業(yè)設(shè)計的過程中,無論是對于學(xué)習(xí)方
115、法還是理論知識,我們都有了新的認識,受益匪淺,這將激勵我們在今后再接再厲,不斷完善自己的理論知識,提高實踐運作能力。</p><p><b> 致謝</b></p><p> 歷時三個月的畢業(yè)設(shè)計已告一段落。進過自己不斷的搜索努力以及梁老師的耐心指導(dǎo)和熱情幫助,本設(shè)計已經(jīng)基本完成。在這段時間里,梁老師嚴謹?shù)闹螌W(xué)態(tài)度和熱忱的工作作風(fēng)令我十分欽佩,他的指導(dǎo)使我受益匪淺
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能小車課程設(shè)計--智能循跡小車
- 智能巡線滅火小車論文
- 智能控制小車課程設(shè)計
- 遙控智能小車課程設(shè)計
- 智能汽車巡線系統(tǒng)課程設(shè)計
- 嵌入式課程設(shè)計--智能循跡小車設(shè)計
- 單片機課程設(shè)計--智能小車—硬件設(shè)計
- 單片機課程設(shè)計---電動智能小車
- 課程設(shè)計-- 智能小車循跡控制系統(tǒng)
- 單片機智能藍牙小車課程設(shè)計
- 智能小車課程設(shè)計說明書
- 課程設(shè)計--智能小車控制信號的fpga實現(xiàn)
- 智能小車的設(shè)計
- 綜合電子課程設(shè)計----智能循跡避障小車
- 電動智能小車的設(shè)計
- 單片機課程設(shè)計基于pic24智能小車設(shè)計
- 智能小車畢業(yè)設(shè)計
- wifi智能小車設(shè)計論文
- 智能避障小車設(shè)計
- 智能循跡小車設(shè)計報告
評論
0/150
提交評論