救援小車的設(shè)計含程序及CAD圖
救援小車的設(shè)計含程序及CAD圖,救援,救濟,營救,小車,設(shè)計,程序,cad
編號:
設(shè)計說明書
題 目: 救援小車
學(xué) 院:
專 業(yè):
學(xué)生姓名:
學(xué) 號:
指導(dǎo)教師:
職 稱:
題目類型: 理論研究 實驗研究 t工程設(shè)計 工程技術(shù)研究 軟件開發(fā)
20XX年 5 月 20 日
救援小車的設(shè)計
摘 要
自動循跡避障小車在工業(yè)和生產(chǎn)上都有廣泛運用,為了培養(yǎng)大學(xué)生對循跡避障的運用,循跡避障機器人最近幾年一直是各類全國大學(xué)生機電類比賽的主要題目。而本次題目要求小車能根據(jù)外部環(huán)境的變化而做出智能的判斷并成功執(zhí)行題目要求的循跡、避障和發(fā)現(xiàn)目標(biāo)的任務(wù)。
本設(shè)計采用單片機控制技術(shù)為核心,通過對各類傳感器的合理運用以達到設(shè)計要求。本系統(tǒng)主要由單片機、紅外傳感器、光電接近開關(guān)、直流電機、穩(wěn)壓芯片組成。系統(tǒng)采用可充電電池作為總電源,并通過穩(wěn)壓芯片進行穩(wěn)壓分別對各部分電路進行供電。其中系統(tǒng)的數(shù)據(jù)采集部分采用5組紅外對管對地面信息進行數(shù)據(jù)收集,并且再利用兩組光電接近開關(guān)對障礙物進行數(shù)據(jù)的收集;然后將收集到的外部數(shù)據(jù)信息傳輸?shù)絾纹瑱C上根據(jù)程序進行相應(yīng)的數(shù)據(jù)處理,從而使小車系統(tǒng)能準確、快速地采集處理外部環(huán)境信息并反饋到小車系統(tǒng)執(zhí)行部分去。最后根據(jù)單片機對外部信息的處理結(jié)果對兩個直流電機進行控制從而實現(xiàn)小車根據(jù)外部環(huán)境自動進行循跡、避障、發(fā)現(xiàn)目標(biāo)的操作;并通過單片機對蜂鳴器和LED的控制實現(xiàn)光電報警。
整個系統(tǒng)的電路機構(gòu)簡單,可靠性好。并且本救援小車系統(tǒng)具有執(zhí)行效率高、反應(yīng)快速和低成本等優(yōu)點。根據(jù)小車調(diào)試運行情況來說,本次設(shè)計能很好地根據(jù)外部環(huán)境的變化執(zhí)行預(yù)定任務(wù)。
關(guān)鍵詞:救援小車;L298N;紅外對管;STC89C52;直流電機;光電開關(guān)
Abstract
Automatic tracking obstacle avoidance for car industry and production, widely used, in order to develop the use of college students on the tracking of obstacle avoidance, tracking, obstacle avoidance robot in recent years has been the main subject of thevarious types of National College Students of machinery and electronic game. The subject car changes in the external environment and to make intelligent judgments andthe successful implementation of the subject requirements tracking, obstacle avoidance,and found the target task.
This design uses a single-chip control technology as the core, through the rational use ofvarious types of sensors to meet the design requirements. The system mainly consists of the microcontroller, infrared sensors, photoelectric proximity switches, DC motors,voltage regulator chip. The system uses a rechargeable battery as the total power supplyvoltage regulator and the regulator chip on the part of the circuit power supply. The system includes data acquisition part of group of infrared tubes on the ground information data collection, and use of two sets of photoelectric proximity switch on the obstacles to data collection; then collected from the external data transmission to the MCU according to the procedures the corresponding data processing, so that the car system can accurately and quickly collecting and processing the external environment for information and feedback to the operative part to go to the car system. The last two DC motor control in order to achieve the car is automatically carried out according to theexternal environment, tracking, obstacle avoidance, found that the operation of the target;and photoelectric alarm buzzer and LED control by the microcontroller according to the results of single-chip processing of external information.
Circuit body of the whole system is simple and good reliability. And the rescue vehicle system with high efficiency in the implementation, fast response and low cost advantages. For debugging and running under the car, the design changes in theexternal environment perform the intended task.
Key words: Rescue car ; L298N; nfrared Emitting Diode ; STC89C52; DC motor ;Photoelectric switch
救援小車的設(shè)計
摘 要
自動循跡避障小車在工業(yè)和生產(chǎn)上都有廣泛運用,為了培養(yǎng)大學(xué)生對循跡避障的運用,循跡避障機器人最近幾年一直是各類全國大學(xué)生機電類比賽的主要題目。而本次題目要求小車能根據(jù)外部環(huán)境的變化而做出智能的判斷并成功執(zhí)行題目要求的循跡、避障和發(fā)現(xiàn)目標(biāo)的任務(wù)。
本設(shè)計采用單片機控制技術(shù)為核心,通過對各類傳感器的合理運用以達到設(shè)計要求。本系統(tǒng)主要由單片機、紅外傳感器、光電接近開關(guān)、直流電機、穩(wěn)壓芯片組成。系統(tǒng)采用可充電電池作為總電源,并通過穩(wěn)壓芯片進行穩(wěn)壓分別對各部分電路進行供電。其中系統(tǒng)的數(shù)據(jù)采集部分采用5組紅外對管對地面信息進行數(shù)據(jù)收集,并且再利用兩組光電接近開關(guān)對障礙物進行數(shù)據(jù)的收集;然后將收集到的外部數(shù)據(jù)信息傳輸?shù)絾纹瑱C上根據(jù)程序進行相應(yīng)的數(shù)據(jù)處理,從而使小車系統(tǒng)能準確、快速地采集處理外部環(huán)境信息并反饋到小車系統(tǒng)執(zhí)行部分去。最后根據(jù)單片機對外部信息的處理結(jié)果對兩個直流電機進行控制從而實現(xiàn)小車根據(jù)外部環(huán)境自動進行循跡、避障、發(fā)現(xiàn)目標(biāo)的操作;并通過單片機對蜂鳴器和LED的控制實現(xiàn)光電報警。
整個系統(tǒng)的電路機構(gòu)簡單,可靠性好。并且本救援小車系統(tǒng)具有執(zhí)行效率高、反應(yīng)快速和低成本等優(yōu)點。根據(jù)小車調(diào)試運行情況來說,本次設(shè)計能很好地根據(jù)外部環(huán)境的變化執(zhí)行預(yù)定任務(wù)。
關(guān)鍵詞:救援小車;L298N;紅外對管;STC89C52;直流電機;光電開關(guān)
Abstract
Automatic tracking obstacle avoidance for car industry and production, widely used, in order to develop the use of college students on the tracking of obstacle avoidance, tracking, obstacle avoidance robot in recent years has been the main subject of thevarious types of National College Students of machinery and electronic game. The subject car changes in the external environment and to make intelligent judgments andthe successful implementation of the subject requirements tracking, obstacle avoidance,and found the target task.
This design uses a single-chip control technology as the core, through the rational use ofvarious types of sensors to meet the design requirements. The system mainly consists of the microcontroller, infrared sensors, photoelectric proximity switches, DC motors,voltage regulator chip. The system uses a rechargeable battery as the total power supplyvoltage regulator and the regulator chip on the part of the circuit power supply. The system includes data acquisition part of group of infrared tubes on the ground information data collection, and use of two sets of photoelectric proximity switch on the obstacles to data collection; then collected from the external data transmission to the MCU according to the procedures the corresponding data processing, so that the car system can accurately and quickly collecting and processing the external environment for information and feedback to the operative part to go to the car system. The last two DC motor control in order to achieve the car is automatically carried out according to theexternal environment, tracking, obstacle avoidance, found that the operation of the target;and photoelectric alarm buzzer and LED control by the microcontroller according to the results of single-chip processing of external information.
Circuit body of the whole system is simple and good reliability. And the rescue vehicle system with high efficiency in the implementation, fast response and low cost advantages. For debugging and running under the car, the design changes in theexternal environment perform the intended task.
Key words: Rescue car ; L298N; nfrared Emitting Diode ; STC89C52; DC motor ;Photoelectric switch 目 錄
引言 1
1 方案的設(shè)計與論證 2
1.1 小車車體結(jié)構(gòu) 2
1.2 主控系統(tǒng) 2
1.3 電機模塊 3
1.4 電機驅(qū)動模塊 4
1.5 電源模塊 5
1.6 穩(wěn)壓模塊 6
1.7 循跡傳感器模塊 6
1.8 避障模塊 7
2 硬件設(shè)計 8
2.1 總體設(shè)計思路和方案的確定 8
2.2 聲光報警電路設(shè)計 9
2.3小車驅(qū)動部分的電路設(shè)計 10
2.4小車傳感部分的電路設(shè)計 12
2.5主控電路設(shè)計 13
3 軟件設(shè)計 14
3.1 主程序流程框圖 15
3.2 電機驅(qū)動 15
3.3 循跡模塊 15
3.4 避障模塊 16
4 制作安裝與調(diào)試 18
4.1 PCB的設(shè)計制作與安裝 18
4.2 小車的調(diào)試 18
5 結(jié)論 19
致 謝 20
參考文獻 21
附 錄 22
引言
隨著科技的發(fā)展,機器人的運用和發(fā)展已經(jīng)遍及機械,冶金,電子,交通,宇航,國防等領(lǐng)域。隨著科技的發(fā)展,機器人的智能水平也在不斷發(fā)展著,并且在不斷的影響著人們的生活方式。人們探索,發(fā)展機器人技術(shù)的最終夢想是能制造出替代人們勞動并且從各方面服務(wù)人們生活的機器人,并且堅信著未來這個夢想會慢慢實現(xiàn)的。
隨著科學(xué)技術(shù)的發(fā)展和現(xiàn)實生產(chǎn)的需求,機器人的種類也越來越多,而作為機器人中重要的感覺器傳感器的種類也隨之越來越多,機器人中的傳感器就相當(dāng)于人的感覺器官,是機器人自動行動和智能完成任務(wù)的重要部件。視覺的典型應(yīng)用領(lǐng)域為自主式智能導(dǎo)航系統(tǒng),對于視覺的各種技術(shù)而言圖像處理技術(shù)已經(jīng)相當(dāng)發(fā)達,而基于圖像的理解技術(shù)還很落后,機器的視覺要通過大量的運算才能識別一些簡單的目標(biāo)。就目前而言視覺傳感器的核心器件是攝像管或CCD,目前的CCD已經(jīng)能自動聚焦,但從價格,使用方式等各方面而言在機器人運用中CCD并不占優(yōu)勢。因此在只要求粗略感覺的機器人運用中使用普通傳感器無論從編程還是價格上更有優(yōu)勢。
作為機器人的核心技術(shù)是CPU和軟件系統(tǒng)的執(zhí)行效率和智能化程度,經(jīng)過人們不斷的開發(fā)和積累并隨著科技和嵌入式系統(tǒng)的不斷發(fā)展優(yōu)化,現(xiàn)在的機器人已經(jīng)具有了很大程度的智能,并且能初步具有自主學(xué)習(xí)能力,在這方面日本做的比較好,已經(jīng)能生產(chǎn)用于生活實用的智能機器人。同時在開發(fā)機器人的同時開發(fā)出來的技術(shù)有很多也在不斷被用于生活生產(chǎn)的各方面。
本次設(shè)計的機器人要實現(xiàn)自動導(dǎo)引和避障功能就必須要感知導(dǎo)引線和障礙物,就相當(dāng)也要給機器人一個視覺功能。循跡避障系統(tǒng)是救援小車的智能系統(tǒng),使小車能根據(jù)傳感器收集到的外部環(huán)境數(shù)據(jù)實現(xiàn)自動識別路線,判斷并自動避開障礙物,選擇正確的進行路線,并根據(jù)傳感器收集到的信息完成任務(wù)。
作為循跡小車,可以分為三大組成部分:傳感器檢測部分,執(zhí)行部分,CPU。小車要實現(xiàn)自動循跡,自動避障等功能,要能感知引導(dǎo)線和障礙物。實現(xiàn)小車自動尋線,選擇正確的路線,并在檢測到障礙物時能自動避障。基于上述要求,小車傳感器就不要求有清晰的圖像,只要求能粗略感知。因此可考慮紅外反射式傳感器。在小車執(zhí)行部分,由直流電機來充當(dāng),主要控制小車的行進速度和轉(zhuǎn)向。單片機驅(qū)動直流電機有兩種方案:第一,不占用單片機資源,選擇帶有PWM功能的單片機;第二,通過程序,模擬PWM輸出調(diào)劑,占用一定的資源,但單片機型號比較多,利于應(yīng)用。所以考慮實際情況,本次選擇第二種方案。CPU選用國產(chǎn)的stc12C5A60S2就已經(jīng)能很好完成任務(wù)了。
現(xiàn)智能小車發(fā)展很快,從智能玩具到各行各業(yè)到有運用。其基本上功能有循跡,避障,檢測,入庫等。隨著傳感器的發(fā)展和嵌入式技術(shù)的發(fā)展,智能小車已經(jīng)獲得越來越多的人工智能,并且智能小車的體積也越來越小,功能趨于集成化,智能化。在人工智能方面做的比較好的是日本方面,并且有很多技術(shù)運用到了實際生活生產(chǎn)中了。就智能小車現(xiàn)狀來說,雖然說運用的并不是十分多但生產(chǎn)中還是扮演著很重要的角色,并在一些危險工作地方一定程度上代替人的工作,去完成危險繁瑣重復(fù)的工作。
1 方案的設(shè)計與論證
根據(jù)要求,確定如下方案:在現(xiàn)有玩具車的基礎(chǔ)上,加裝紅外光電檢測器。通過傳感器實現(xiàn)對電動車的速度、位置、運行狀況的實時測量,并將測量數(shù)據(jù)傳送至單片機進行處理,然后由單片機根據(jù)所檢測的各種數(shù)據(jù)執(zhí)行預(yù)先編寫好的程序以應(yīng)對外部環(huán)境變化以實現(xiàn)對電動車的智能控制完成在相對復(fù)雜的環(huán)境下的任務(wù)。這種方案能實現(xiàn)對電動車的運動狀態(tài)進行實時控制,控制靈活、可靠,精度高,可滿足對系統(tǒng)的各項要求。
1.1 小車車體結(jié)構(gòu)
方案一:
四輪式。利用現(xiàn)成的玩具車,現(xiàn)在市場上有完整的車模購買,能直接拿來就可以用,能減小小車的制造時間和整個小車的制造復(fù)雜程度。小車四個輪全部采用獨立驅(qū)動輪,采用四輪獨立驅(qū)動雖然在控制方面比較復(fù)雜但是在路況比較復(fù)雜和要進行各種轉(zhuǎn)向時比較容易做到精確操作和轉(zhuǎn)向快速的特點,四輪使小車具有無可比擬的行進平穩(wěn)性。
方案二:
三輪式。三輪式是小車常用的車體結(jié)構(gòu),后輪用兩輪獨立驅(qū)動,前輪用萬向輪構(gòu)成輔助輪,機構(gòu)組成簡單,可任意旋轉(zhuǎn),容易控制。小車前進的時候左右驅(qū)動輪和萬向輪,構(gòu)成三點結(jié)構(gòu),小車相對平穩(wěn),為防止小車重心偏移,車前的萬向輪起到支撐的作用。
針對本次要求,從簡單,易制做和執(zhí)行任務(wù)速度等的角度出發(fā),選擇方案二,車體采用現(xiàn)成三輪式車模,具有容易控制,編程簡單的優(yōu)點。
1.2 主控系統(tǒng)
根據(jù)小車的設(shè)計要求,認為本次設(shè)計屬于多輸入量的復(fù)雜程序控制問題??紤]到對數(shù)據(jù)的處理速度和單片機所提供的片內(nèi)內(nèi)存和I/O接口等綜合性能,據(jù)此,擬定了以下三種方案并進行了綜合的比較論證:
方案一:
選用一片CPLD(如EPM7128LC84-15)作為系統(tǒng)的核心部件,實現(xiàn)控制與處理的功能。CPLD具有速度快、編程容易、資源豐富、開發(fā)周期短等優(yōu)點,可利用VHDL語言進行編寫開發(fā)。但CPLD在控制上較單片機有較大的劣勢。同時,CPLD的處理速度非???,而小車的行進速度不可能太高,那么對系統(tǒng)處理信息的要求也就不會太高,在這一點上,MCU就已經(jīng)可以勝任了。另外,考慮對VHDL語言的不熟悉,若采用該方案,必須得學(xué)習(xí)VHDL語言,并且在控制上遇到許許多多不必要增加的難題。為此,本設(shè)計不采用該種方案,進而提出了第二種設(shè)想。
方案二:
采用Atmel公司的ATmaga32L單片機作為主控制器。ATmaga32L是一個低功耗,高性能的8位單片機,片內(nèi)含32k空間的可反復(fù)擦些100,000次的Flash只讀存儲器,具有2Kbytes的隨機存取數(shù)據(jù)存儲器(RAM),32個IO口,2個8位可編程定時計數(shù)器,1個16位可編程定時計數(shù)器,四通道PWM,內(nèi)置8路10 位ADC。且maga系列的單片機可以在線編程、調(diào)試,方便地實現(xiàn)程序的下載與整機的調(diào)試。但考慮到我們對ATmaga32L的不熟悉,在編程和運用時會遇到很多不必要的麻煩,并且ATmaga32L相當(dāng)于本設(shè)計要求來說有相當(dāng)一部分性能沒發(fā)揮出來,造成浪費,還有就是價格比普通51單片機貴挺多的。為此,本設(shè)計不采用該種方案,進而提出了第三種設(shè)想。
方案三:
采用普通51單片機作為整個系統(tǒng)的核心,用其控制行進中的小車,以實現(xiàn)其既定的性能指標(biāo)。充分分析我們的系統(tǒng),其關(guān)鍵在于實現(xiàn)小車的自動控制,而在這一點上,單片機就顯現(xiàn)出來它的優(yōu)勢——控制簡單、方便、快捷。這樣一來,單片機就可以充分發(fā)揮其資源豐富、有較為強大的控制功能及可位尋址操作功能、價格低廉等優(yōu)點。因此,這種方案是一種較為理想的方案。
針對本設(shè)計特點:多開關(guān)量輸入的控制系統(tǒng),需要擅長處理多開關(guān)量的標(biāo)準單片機,而不能用精簡I/O口和程序存儲器的小體積單片機。根據(jù)這些分析,我選定了單片機作為本設(shè)計的主控裝置,51單片機具有功能強大的位操作指令,I/O口均可按位尋址,程序空間多達8K,對于本設(shè)計也足夠了,更主要的是stc12C5A60S2單片機價格非常低廉。
綜合考慮后,決定采用stc12C5A60S2單片機作為主控芯片。
1.3 電機模塊
本系統(tǒng)為智能電動車,對于電動車來說,其驅(qū)動輪的驅(qū)動電機的選擇就顯得十分重要。由于本實驗要實現(xiàn)對路徑的準確定位和精確測量并考慮電機相應(yīng)速度,綜合考慮了一下兩種方案。
方案一:
采用步進電機作為該系統(tǒng)的驅(qū)動電機。由于其轉(zhuǎn)過的角度可以精確的定位,并被大多數(shù)對轉(zhuǎn)動經(jīng)典要求高的設(shè)備運用所以可以實現(xiàn)小車前進路程和位置的精確定位。雖然采用步進電機有諸多優(yōu)點,但步進電機的輸出力矩較低,隨轉(zhuǎn)速的升高而下降,且在較高轉(zhuǎn)速時會急劇下降,其轉(zhuǎn)速較低,不適用于小車等有一定速度要求的系統(tǒng),并且步進電機的價格比較貴,從性價比方面來說比較低。經(jīng)綜合比較考慮,本設(shè)計放棄了此方案。
方案二:
采用直流減速電機。直流減速電機轉(zhuǎn)動力矩大,體積小,重量輕,裝配簡單,使用方便,在市場方面容易采購到合適的直流電機,不容易受型號的限制,并且價格比步進電機便宜。而對于直流電機的速度控制我們可以通過軟編程的方法可以很好的控制直流電機的轉(zhuǎn)動,使之處在我們需要的狀態(tài)下。由于其內(nèi)部由高速電動機提供原始動力,帶動變速(減速)齒輪組,可以產(chǎn)生較大扭力。
我們所選用的直流電機減速比為1:74,減速后電機的轉(zhuǎn)速為100r/min。我們的車輪直徑為6cm,因此小車的最大速度可以達到
V=2πr·v=2*3.14*0.03*100/60=0.314m/s
能夠較好的滿足系統(tǒng)的要求,因此小車電機選擇了此方案。
1.4 電機驅(qū)動模塊
方案一:
采用電阻網(wǎng)絡(luò)或數(shù)字電位器調(diào)節(jié)電動機的分壓,從而達到分壓的目的。但電阻網(wǎng)絡(luò)只能實現(xiàn)有級調(diào)速,調(diào)速范圍比較狹窄,而且數(shù)字電阻的元器件價格比較昂貴。更主要的問題在于一般的電動機電阻很小,但電流很大,分壓不僅會降低效率,而且實現(xiàn)很困難。
方案二:
對于直流電機采用分立元件構(gòu)成驅(qū)動電路。由分立元件構(gòu)成電機驅(qū)動電路,結(jié)構(gòu)簡單,價格低廉,在實際應(yīng)用中應(yīng)用廣泛。但是這種電路工作性能不夠穩(wěn)定,造成電機速度波動大,不利于電機的控制,容易造成小車碰到障礙物和增加小車的不可靠性。
方案三:
采用專用芯片L298N作為電機驅(qū)動芯片。L298N是一個具有高電壓大電流的全橋驅(qū)動芯片,它相應(yīng)頻率高,一片L298N可以分別控制兩個直流電機,而且還帶有控制使能端。用該芯片作為電機驅(qū)動,操作方便,穩(wěn)定性好,性能優(yōu)良且市場上容易購買得到,在實際應(yīng)用中應(yīng)用廣泛技術(shù)也非常成熟。
本次設(shè)計選用方案三,這種調(diào)速方式有調(diào)速特性優(yōu)良、調(diào)整平滑、調(diào)速范圍廣、過載能力大,能承受頻繁的負載沖擊,還可以實現(xiàn)頻繁的無級快速啟動、制動和反轉(zhuǎn)等優(yōu)點并且功耗低。因此決定使用1個功率三極管L298N作為功率放大器的輸出控制2個直流電機,以達到電路的簡單化和控制的簡單有效性。
由L298組成的H橋電路,電機平均功率滿足如下關(guān)系
(1)
其中P為電機的平均功率,為電動機全速運轉(zhuǎn)功率。A為脈寬,可見,電機的平均功率與脈寬成正比。
小車行駛后其平均功率
(2)
單片機發(fā)出脈沖信號的比即可決定PWM放大器輸出的電壓平均值的大小。表1-1為L298驅(qū)動電機控制方式表,可以通過下表配合軟件編程可以很好的實現(xiàn)對小車的有效控制。
表1-1 L298驅(qū)動電機控制方式
IN1
IN2
OUT1
OUT2
方式
1
1
1 0
1 0
前進
1
1
0 1
0 1
后退
1
1
1 0
0 1
掉頭
0
0
0 0
0 0
停止
1.5 電源模塊
從小車的體積,重量和功耗等方面綜合考慮,為使小車體積小行動靈活動力充足,本系統(tǒng)決定采用電池供電,本設(shè)計考慮了如下幾種方案為系統(tǒng)供電。
方案一:
采用6節(jié)1.5V干電池供電,電壓達到9V,經(jīng)7812穩(wěn)壓后給支流電機供電,然后將9V電壓再次降壓、穩(wěn)壓后給單片機系統(tǒng)和其他芯片供電。但干電池電量有限,使用大量的干電池給系統(tǒng)調(diào)試帶來很大的不便,同時會使的小車的體積變的過于龐大和比較重,顯的很笨重不利于小車的靈活性使電機的負載增加。同時因為小車的耗電量比較大,用干電池供電費用比較大。但卻具有容易獲得,更換電池方便的特點。
方案二:
采用3節(jié)4.2V可充電式鋰電池串聯(lián)共12.6V給直流電機供電,經(jīng)過7812的電壓變換后給支流電機供電,然后將12V電壓再次降壓、穩(wěn)壓后給單片機系統(tǒng)和其他芯片供電。鋰電池的電量比較足質(zhì)量輕體積小,并且可以充電,重復(fù)利用,時比較理想的供電源。因此,這種方案比較可行。但鋰電池的價格過于昂貴,使用鋰電池會大大超出我們的預(yù)算,因此,放棄了這種方案。
方案三:
采用12V蓄電池為直流電機供電,將12V電壓降壓、穩(wěn)壓后給單片機系統(tǒng)和其他芯片供電。蓄電池具有較強的電流驅(qū)動能力以及穩(wěn)定的電壓輸出性能。雖然蓄電池的體積過于龐大,在小型電動車上使用極為不方便,但由于我們的車體設(shè)計時留出了足夠的空間,并且蓄電池的價格比較低可以重復(fù)充電利用,實用起來也比較方便。
綜上考慮,電源模塊選擇了方案一。
1.6 穩(wěn)壓模塊
方案一:
采用兩片7812將電壓穩(wěn)壓至12V后給直流電機供電,然后采用一片7809將電壓穩(wěn)定至9V,最后經(jīng)7805將電壓穩(wěn)至5V,給單片機系統(tǒng)和其他芯片供電,但7809和7805壓降過大,使7809和7805消耗的功率過大,導(dǎo)致7809和7805發(fā)熱量過大,因此,穩(wěn)壓模塊放棄了這種方案。
方案二:
采用兩片LM2596將電壓穩(wěn)壓至12V后給直流電機供電,LM2596系列是美國國家半導(dǎo)體公司生產(chǎn)的3A電流輸出降壓開關(guān)型集成穩(wěn)壓芯片,它內(nèi)含固定頻率振蕩器(150KHZ),和基準穩(wěn)壓器(1.23v),并具有完善的保護電路:電流限制、熱關(guān)斷電路等。利用該器件只需極少的外圍器件便可構(gòu)成高效穩(wěn)壓電路。 對單片機供電時采用L7805CV將電壓穩(wěn)至5V,用L7805CV組成穩(wěn)壓電源所需的外圍元件極少,電路內(nèi)部還有過流、過熱及調(diào)整管的保護電路,使用起來可靠、方便,而且價格便宜。L7805CV的輸出電流最大可至3A,完全滿足系統(tǒng)要求。
綜上考慮,穩(wěn)壓模塊設(shè)計選擇了方案二。
1.7 循跡傳感器模塊
傳感器對于本設(shè)計小車來說就相當(dāng)于眼睛,是系統(tǒng)和外界聯(lián)系的關(guān)鍵部件,可以說是智能小車的運行的基礎(chǔ)。所以選擇合適的傳感器對于本設(shè)計來說很重要,合適的傳感器能使小車達到高的分辨率,提高小車適應(yīng)外部環(huán)境轉(zhuǎn)變的能力,有利于小車的控制精度,以便快速準確的完成任務(wù)。
方案一:
采用簡易光電傳感器結(jié)合外圍電路探測,雖然說電路簡單制作方便但實際效果并不理想,對行駛過程中的穩(wěn)定性要求比較高,且易受光線環(huán)境和路面介質(zhì)影響,而智能小車的基本要求是能不斷適應(yīng)變化的環(huán)境,所以要求傳感部分要有較高的穩(wěn)定性,以準確獲取必要的信息。并且該傳感器方法在使用過程很容易出現(xiàn)問題,而且容易因為該部件造成整個系統(tǒng)的不穩(wěn)定,不能滿足小車的穩(wěn)定性要求。
方案二:
采用兩只紅外對管,分別置于小車車身前軌道的兩側(cè),根據(jù)兩只紅外光電開關(guān)接受到白線與黑線的情況來控制小車轉(zhuǎn)向來調(diào)整車向,如果左邊的傳感器檢測到黑線小車就向右轉(zhuǎn),同理右邊的檢測的黑線時一樣。只要合理安裝好兩只光電開關(guān)的位置就可以很好的實現(xiàn)循跡的功能。該電路具有結(jié)構(gòu)簡單調(diào)試容易等特點但卻無法檢測黑線上的情況不滿足本設(shè)計的要求。
方案三:
用光敏電阻組成光敏探測器。光敏電阻的阻值可以跟隨周圍環(huán)境光線的變化而變化。當(dāng)光線照射到白線上面時,光線發(fā)射強烈,光線照射到黑線上面時,光線發(fā)射較弱。因此光敏電阻在白線和黑線上方時,阻值會發(fā)生明顯的變化。將阻值的變化值經(jīng)過比較器就可以輸出高低電平。但光敏電阻受環(huán)境光線影響太大,容易產(chǎn)生錯誤信息,且要運用比較器進行高低電平比較會增加電路的設(shè)計復(fù)雜程度,增加小車系統(tǒng)的功耗。
方案四:
采用五只紅外對管,三只置于軌道中間,兩只置于軌道外側(cè),當(dāng)小車脫離軌道時,即當(dāng)置于中間的三個紅外對管中的一只紅外對管脫離軌道時,等待外面任一只檢測到黑線后,做出相應(yīng)的轉(zhuǎn)向調(diào)整,直到中間的紅外對管重新回到軌道并檢測到黑線再恢復(fù)正向行駛。雖然小車在尋跡過程中有一定的左右搖擺不定并且小車行進速度較慢,并且成本和穩(wěn)定性相對于方案二都較次,但方案三能檢測黑線上的白點,雖說該方案有諸多缺點但卻能配合軟件設(shè)計完成本小車設(shè)計的基本要求。
根據(jù)本設(shè)計要求,循跡傳感器模塊用方案四的。
1.8 避障模塊
避障和循跡傳感器一樣都是小車的基本,好的避障傳感器能準確的識別障礙物,為小車系統(tǒng)提供優(yōu)質(zhì)的外部環(huán)境數(shù)據(jù),以實現(xiàn)小車快速精準躲避障礙物,另外傳感器的安裝方式也影響著傳感器的工作效率和編寫程序的工作量和復(fù)雜程度。為此為小車提供了三種方案如下。
方案一:
紅外對管采用一只紅外對管置于小車中央。雖然電路設(shè)計和安裝簡易,也可以檢測到前方的障礙物,并通過軟件可以做出躲避行為但很難確保小車在水平方向上是否會與障礙物相撞,也不容易讓小車做出精確快速的轉(zhuǎn)向反應(yīng)并且很難控制小車避過未知大小的障礙物,達不到自動避障回到黑線上,所以該方案并不符合設(shè)計要求。
方案二:
采用二個紅外對管置于小車的前端左右兩側(cè),方向與小車前進方向相同,對小車與障礙物相對距離和方位能作出較為準確的判別和及時反應(yīng)。此方案過于依賴硬件、缺乏創(chuàng)造性,而且置于小車左方的紅外對管用到的幾率很小。體現(xiàn)不出設(shè)計的最優(yōu)化。
方案三:
采用一只光電開關(guān)置于小車中央,一個可調(diào)光電傳感器裝在小車右側(cè),這樣不但能測試到小車前方的障礙物,并可以用于測試到小車右側(cè)的障礙物并通過調(diào)整測試距離保持小車與障礙物之間的距離,通過程序的優(yōu)化小車可以智能的識別障礙物大小并選擇合適的路線繞過障礙物回到循跡線上。通過測試此種方案就能很好的實現(xiàn)小車避開障礙物,且充分的利用資源而不浪費。能從各方面優(yōu)化設(shè)計和電路的簡易化并使程序編寫的復(fù)雜程度有所降低。
通過比較選方案三比較容易實現(xiàn)小車的要求。
2 硬件設(shè)計
2.1 總體設(shè)計思路和方案的確定
救援小車采用四輪驅(qū)動,通過兩個L298控制四個直流電機實現(xiàn)小車的各種運動,將紅外探頭裝在車體下的左中右以實現(xiàn)循跡和發(fā)現(xiàn)白點的要求。電機的快慢是通過單片機根據(jù)傳感器收集到的信息產(chǎn)生的PWM波的占空比高低來調(diào)節(jié)的,占空比高電機轉(zhuǎn)慢,反之則轉(zhuǎn)的快。電機的正轉(zhuǎn)反轉(zhuǎn)是通過L298固定的高低電平進行對電機轉(zhuǎn)動的有效控制的。轉(zhuǎn)向時,小轉(zhuǎn)向時為一個電機轉(zhuǎn)慢一個電機轉(zhuǎn)快。大轉(zhuǎn)向時時為一個電機正轉(zhuǎn)一個電機反轉(zhuǎn)。循跡基本功能是通過紅外探頭檢測黑線來實現(xiàn)的,如果左邊的探頭檢測到黑線,向右慢轉(zhuǎn),反之亦然。
避障原理和循跡原理基本相同也是根據(jù)光電對管收集到的信息通過單片機來進行電機轉(zhuǎn)向和調(diào)速的。
經(jīng)過反復(fù)論證,我們最終確定了如下方案:
(1)車體直接用現(xiàn)成車模。
(2)采用stc89C52單片機作為主控制器。
(3)采用兩個直流電機作為動力源驅(qū)動小車運行。
(4)用RPR220型光電對管進行尋跡。
(5)2個L298N作為直流電機的驅(qū)動芯片。
系統(tǒng)的結(jié)構(gòu)框圖如圖2-1所示
圖 2-1 電路系統(tǒng)的結(jié)構(gòu)總框圖
小車硬件系統(tǒng)所需的基礎(chǔ)元件如表2-1
表2-1 元器件件清單
元件
數(shù)量
元件
數(shù)量
元件
數(shù)量
直流電機
2個
電阻
若干
電容
若干
電位器
若干
紅外調(diào)制光電傳感器
2個
紅外探頭
3個
單片機
1個
蜂鳴器
1個
電位器
若干
12M晶振
1個
杜邦線
若干
二極管
若干
車模
1個
光電開關(guān)
2個
2.2 聲光報警電路設(shè)計
本設(shè)計采用蜂鳴器和發(fā)光二極管實現(xiàn)聲光報警,根據(jù)采集到的外部環(huán)境數(shù)據(jù)的變化用單片機I/O口通過三極管輸出高低電平來直接對蜂鳴器和二極管進行控制,聲光報警可以很好的反映當(dāng)前小車的運行狀況。如下圖2-2所示。
圖2-2 聲光報警原理圖
2.3小車驅(qū)動部分的電路設(shè)計
電機驅(qū)動多數(shù)采用H橋式驅(qū)動電路,L298N內(nèi)部集成了H橋式驅(qū)動電路,從而可以采用L298N電路來驅(qū)動電機相當(dāng)比較簡單和容易。L298N是內(nèi)含二個H橋的高電壓大電流雙全橋式驅(qū)動器可驅(qū)動46v,2A以下電機,。L298N是一個具有高電壓大電流的全橋驅(qū)動芯片,響應(yīng)頻率高,一片L298N可以分別控制兩個直流電機,而且還帶有控制使能端。用該芯片作為電機驅(qū)動,操作方便,穩(wěn)定性好,性能優(yōu)良。本芯片的缺點是由于工作電流比較大,發(fā)熱量也比較大,所以在本芯片的散熱片上又連接了一塊鋁合金,以增大它的散熱面積。以致在運用是要注意電路的散熱。引腳圖如2-3所示,電機驅(qū)動電路原理圖如2-4所示
圖2-3 L298引腳圖
圖2-4 電機驅(qū)動電路原理圖
在小車中正在用L298N驅(qū)動小車的兩個直流減速電機,其實它很好用,1和15和8引腳直接接地,4管腳VS接2.5到46的電壓,它是用來驅(qū)動電機的,9引腳是用來接4.5到7V的電壓的,它是用來驅(qū)動L298芯片的,記住,L298需要從外部接兩個電壓,一個是給電機的,另一個給L298芯片的,6和11引腳是它的使能端,一個使能端控制一個電機,至于那個控制那個你自己焊接,你可以把它理解為總開關(guān),只有當(dāng)它們都是高電平的時候兩個電機才有可能工作,5,7,10,12是298的信號輸入端和單片機的IO口相連,2,3,13,14是輸出端,輸入5和7控制輸出2和3, 輸入的10,12控制輸出的13,14。L298N的5、7、10、12四個引腳接到單片機上,通過對單片機的編程就可以實現(xiàn)兩個直流電機的PWM調(diào)速以及正反轉(zhuǎn)等功能。
2.4 小車傳感部分的電路設(shè)計
小車的傳感模塊主要負責(zé)對外部環(huán)境的監(jiān)測和處理。小車循跡原理是小車在畫有黑線的路面上行駛,因為黑線和地面對光線的反射系數(shù)不同,可根據(jù)接收到的反射光的強弱來判斷道路。我在該模塊中利用了簡單、應(yīng)用也比較普遍的檢測方法——紅外探測法。
紅外探測法就是利用紅外線照射在不同顏色的表面具有不同的反射率的特點。在小車行駛過程中不斷地通過紅外探頭向地面發(fā)射紅外線。紅外線照射到地面時發(fā)生漫反射,小車上的接收管接收到信號;紅外線照射到黑線上則紅外光被吸收,則小車上的接收管接收不到信號,從而實現(xiàn)信號的檢測并通過一定的電路輸送到運算核心判斷路線。避障的原理和循跡的原理相同。
針對紅外探測法,本方案考慮并論證了兩種光電對管檢測及調(diào)理電路方法,并通過這兩種方法的比較選出合適小車小系統(tǒng)的電路。電路原理圖分別如圖2-5和圖2-6所示。
圖2-5 光電對管檢測電路1
如圖2.5所示電路中,R1起限流電阻的作用,當(dāng)有光反射回來時,光電對管中的三極管導(dǎo)通,R2的上端變?yōu)楦唠娖?,此時VT1飽和導(dǎo)通,三極管集電極輸出低電平。當(dāng)沒有光反射回來時,光電對管中的三極管不導(dǎo)通,VT1截至,其集電極輸出高電平。該電路的優(yōu)點是電路不叫簡單,應(yīng)用到的原理也比較簡單。
但在該電路中起到濾波整形的作用的是VT1。該電路工作性能一般,輸出有雜散干擾波的成分。并且這種電路有一個比較大的缺點是用電量大,給此種傳感器調(diào)理電路供電的電池壓降較快。其原因是因為光敏三極管和三極管VT1導(dǎo)通時的導(dǎo)通電流較大。
圖2-6 光電對管檢測電路2
如圖2.6所示電路中是通過比較器采集高低電平,從而實現(xiàn)信號的檢測。在圖中,可調(diào)電阻R3可以調(diào)節(jié)比較器的門限電壓,經(jīng)示波器觀察,輸出波形相當(dāng)規(guī)則,可以直接夠單片機查詢使用。而且經(jīng)試驗驗證給此電路供電的電池的壓降較小。電路的穩(wěn)定性主要取決于比較器的穩(wěn)定性和精確性,就現(xiàn)在市場上的比較器來說比較器的穩(wěn)定性都很高所以采用該光電對管檢測電路相當(dāng)穩(wěn)定。因此本次設(shè)計中選擇此電路作為小車系統(tǒng)的傳感器檢測與調(diào)理電路。
2.5主控電路設(shè)計
本電路采用stc12C5A60S2作為系統(tǒng)電路核心。本電路主要起對傳感器采集到的信號進行分析,同時產(chǎn)生控制電機轉(zhuǎn)動速度和停止的PWM信號,是小車的硬件核心部分,實現(xiàn)躲避障礙物和發(fā)現(xiàn)白點時發(fā)出光電報警。根據(jù)要求,我們組成單片機最小系統(tǒng)以實現(xiàn)設(shè)計要求,最小系統(tǒng)主要由復(fù)位電路、時鐘電路、電源電路和一個USB下載口組成。
在開發(fā)過程中使用開發(fā)版,方便程序的調(diào)試和整機的測試,待系統(tǒng)調(diào)試完成后,將單片機從開發(fā)板上取下,安裝在小車系統(tǒng)板的單片機座中,再進行實際驗證。這樣做能實現(xiàn)開放和調(diào)試的簡易和快速性。
其電路圖如下圖2-7所示。
圖2-7 主控電路板電路圖
3 軟件設(shè)計
為了在任務(wù)中完成循跡,避障和發(fā)現(xiàn)白點的任務(wù),小車一方面需要具有探測周圍環(huán)境的能力并完成前進、轉(zhuǎn)彎、停止和發(fā)出光聲報警等動作這是建立在必要的硬件基礎(chǔ)之上的;另一方面還要具有自動循跡,自動避障并回到線上,還要在發(fā)現(xiàn)白點時停下并發(fā)出光聲報警這一體現(xiàn)了小車的智能化,即軟件的編寫是這部分的核心,可以說軟件編程是人們賦予機器智能的過程,軟件的優(yōu)異決定了小車的智能程度和執(zhí)行任務(wù)的速度。其中前一功能依賴于硬件設(shè)計并貫穿小車運行始終,為底層任務(wù),。后一功能是并不依賴于硬件,而是建立在硬件收集到的周圍環(huán)境信息并基于這些信息上的軟件設(shè)計和信息處理上。所以軟件算法的優(yōu)化在智能小車中扮演著很重要的角色。
3.1 主程序流程框圖
我們所設(shè)計的軟件的主程序流程圖如下圖所示:
圖 3-1 主程序流程圖
3.2 電機驅(qū)動
本設(shè)計中對直流電機進行調(diào)速是通過軟編程使單片機產(chǎn)生有一定占空比的PWM波。并通過配合L298芯片進行對電機的實時控制調(diào)速。
3.3 循跡模塊
循跡流程框圖
圖3-2 小車循跡流程框圖
3.4 避障模塊
避障流程框圖
N
Y
N
N
Y
Y
右側(cè)光電管是否檢測到障礙
小車左轉(zhuǎn)
結(jié)束
紅外探頭是否檢測到黑線
小車右轉(zhuǎn)
小車左轉(zhuǎn) 90度
是否檢測到障礙
開始
4 制作安裝與調(diào)試
4.1 PCB的設(shè)計制作與安裝
在硬件方案確定下來后,我們通過采用DXP2004來繪制原理圖與PCB板,DXP2004是一款十分強大的軟件,相比較于Protel99或者protel99se 它帶給我們更高的繪制效率,并且能很大程度上減輕布線的繁雜。布線的過程中必須注意焊盤的大小與銅線的寬度,因為焊盤的大小直接影響的后期電子元件的安裝質(zhì)量和難易程度,而銅線的大小會影響到電流傳送的質(zhì)量進而影響小車系統(tǒng)的精度。我們選取的焊盤內(nèi)徑為0.8mm,外徑2mm;銅線寬1mm。從做板的情況來看基本達到制作得要求。
采用螺絲將循跡板安裝在車頭底盤上同時調(diào)整好它們之間的角度和位置以更好的工作。把避障板安裝在車頭上,主板直接安裝在車模上的板上,而電機是車模自帶的只要把線接好就行了。
4.2 小車的調(diào)試
小車的調(diào)試是看看小車個硬件系統(tǒng)是否運轉(zhuǎn)正常,并根據(jù)情況具體調(diào)整以使小車處于比較佳的狀態(tài),而調(diào)試中最重要的部分是調(diào)整傳感器的傳感精度等各項功能。在調(diào)整循跡傳感器時通過改變循跡板滑動變阻器器的大小來調(diào)試紅外對管的靈敏度以使之達到要求精度。在調(diào)整避障傳感器時也是通過改變變阻器的大小來改變傳感器傳感器距離,這一個距離對于小車來說是個十分重要的數(shù)據(jù),直接影響到小車是否會碰到障礙物,是否能成功完成任務(wù)。以上的基本都是針對于硬件方面的調(diào)試,而軟件方面的調(diào)試是根據(jù)實際運行結(jié)果來進行調(diào)整,對速度的調(diào)整是通過改變延時程序來改變速度的大小。下表為小車的實際運行情況:
表4-1 小車調(diào)試情況表
小車運行次數(shù)
成功循跡次數(shù)
成功避障次數(shù)
1
1
1
2
2
2
3
3
2
4
4
3
5
5
4
經(jīng)過不斷的調(diào)試小車已經(jīng)具有不錯的執(zhí)行任務(wù)的可靠性。對于一個系統(tǒng)來說執(zhí)行任務(wù)的可靠性是一個至關(guān)重要的數(shù)據(jù),是判斷一個產(chǎn)品的好壞的主要依據(jù),而我們的調(diào)試的任務(wù)就是在不斷試驗中發(fā)現(xiàn)問題不斷修改使之不斷完美。
5 結(jié)論
整個系統(tǒng)的設(shè)計是以單片機為核心,利用了多種傳感器,將軟件和硬件相結(jié)合的智能小系統(tǒng)。其中涉及到很多傳感器和電子運用方面的知識,同時軟件和硬件的結(jié)合也是一個很重要的方面。本系統(tǒng)能相當(dāng)智能地實現(xiàn)如下功能:
1. 自動沿預(yù)設(shè)軌道行駛小車在行駛過程中,能夠自動檢測預(yù)先設(shè)好的軌道,實現(xiàn)直道和弧形軌道的前進。若有偏離,能夠自動糾正,返回到預(yù)設(shè)軌道上來。
2. 當(dāng)小車探測到前進前方的障礙物時,可以自動調(diào)整行進速度,自動選擇合適路線躲避障礙物,從無障礙區(qū)通過。小車通過障礙區(qū)后,能夠自動循跡回到預(yù)先設(shè)定好的軌道上繼續(xù)前進。
3. 當(dāng)檢測到黑色軌道線上的白色標(biāo)志時小車能停下來并發(fā)出光聲報警,5秒后能繼續(xù)前進。
從運行情況來看循跡的效果比較好達到預(yù)期要求,避障的效果不是很好,我認為是由于電源不夠穩(wěn)定導(dǎo)致的小車的速度不好控制,也有可能是避障傳感器安裝配置的不夠好,不能準確檢測到障礙物的準確距離和位置。這也是我這次設(shè)計最大的誤區(qū),沒有選取穩(wěn)定的電源,沒有很好的調(diào)整好避障傳感器的傳感精度。我相信如果實驗條件和時間的允許下我肯定能解決這一問題。
通過本次設(shè)計我掌握了很多以前不熟練的東西,認識了很多以前不熟悉得東西,特別是電子和單片機的運用上。以前的我對電子和單片機的運用只停留在課本的知識層面上,根本不知道在運用時會有很多的注意事項。特別是軟件編程方面,在認知中課本的知識和編程都是挺簡單的,但到了實際編程運用時會遇到很多從未遇到過的難題,程序的調(diào)試是一件很繁雜的事情。而傳感器方面的知識,對于以前的我來說是一件空白,但通過智能小車的設(shè)計,對傳感器的運用有了一定的了解。通過這次制作使我認識到很多的不足。
致 謝
本設(shè)計能夠順利完成,還承蒙李老師以及身邊的很多同學(xué)的指導(dǎo)和幫助,特別是機器人中心的同學(xué)的鼎力支持和全力幫助。在設(shè)計過程中,李老師給予了悉心的指導(dǎo),最重要的是給了我解決問題的思路和方法,為我解決了很多思路上的誤區(qū)和迷惑,從原理的層面上解決設(shè)計上遇到的問題。而在設(shè)計環(huán)境和器材方面和電路設(shè)計制作方面機器人中心的同學(xué)給予了大力的幫助和支持,他們運用他們的優(yōu)勢在我所不是很了解的電子制作方面給予了很大幫助,一直指導(dǎo)著我如何去完成一個電路的設(shè)計和制作。當(dāng)我們在知識的探索中,在面對不熟悉的領(lǐng)域時,向朋友向老師向了解的人請教是一個很重要的過程,這在我看來是一個很愉快的過程,達者為師。在此,我對李老師表示最真摯的感謝!同時感謝所有幫助過我的同學(xué)!
參考文獻
[1] 胡偉,季曉衡.單片機C程序設(shè)計及應(yīng)用實例[M]. 北京:人民郵電出版社,2003.
[2] 趙景波,王勁松,滕敦朋. Protel 2004電路設(shè)計從基礎(chǔ)到實踐[M]. 北京:電子工業(yè)出版社,
2007.
[3] 求是科技.單片機典型外圍器件及應(yīng)用實例[M]. 北京:人民郵電出版社,2006.
[4] 王曉明.電動機的單片機控制[J].學(xué)術(shù)期刊,2002,13(15):1322-1755.
[5] 趙亮,侯國銳.單片機C語言編程與實例[M]. 北京:人民郵電出版社,2003.
[6] 龔運新.單片機C語言開發(fā)技術(shù)[M].北京:清華大學(xué)出版社,2006.
[7] Peter Spasov.微控制器原理與應(yīng)用[M]. 北京:清華大學(xué)出版社,2006.
[8] Scott MacKenzie.The 8051 Microcontroller[M]. Prentice Hall. 1998.
[9] 林克明, 陳羽, 郭從良.微控制器系統(tǒng)原理與應(yīng)用[M]. 北京:科學(xué)出版社,2007.1.
[10] 裴亞男, 付智輝.數(shù)字邏輯[M].成都:西南交通大學(xué)出版社,2005.
[11] 何道清.傳感器與傳感器技術(shù)[M].北京:科學(xué)出版社,2004.
[12] 白延敏.51單片機典型系統(tǒng)開發(fā)實例精講[M].北京:電子工業(yè)出版社,2009,1.
[13] Spasov,Peter. Microcontroller technology[M]. Prentice Hall,2004.
[14] Yamato I,et al 1 New conversion system for UPS using high fre2 quency link[J] 1 IEEE
PESC ,1988 :210-320.
[15] Italian Conference on Sensors and Microsystems Di Natale,C.Proceeding of the 7th Italian
Conference:sensors and microsystems:Bologna,Italy,4-6 February 2002[M] Singapore;River
Edge.N.J.:World Scientific,c2002.
附 錄
以下是本次設(shè)計的小車執(zhí)行的程序:
#include
int dr; //標(biāo)志位
int flag1=0;
int flag2=0;
int flag3=0;
int flag4=0;
int stop=0;
int stop2=0;
sbit guangdian3=P2^5;
sbit guangdian1=P2^6; //光電管接口
sbit guangdian2=P2^7;
sbit left2=P2^0; //循跡接口
sbit left1=P2^1;
sbit middle=P2^2;
sbit right1=P2^3;
sbit right2=P2^4;
sbit fengming=P0^5; //蜂鳴器接口
sbit led=P0^4; //LED接口
sbit motor_left=P0^0; //電機接口
sbit motor_left_gnd=P0^1;
sbit motor_right=P0^2;
sbit motor_right_gnd=P0^3;
void delay(unsigned int x) //延時毫秒程序
{
int i,j;
for(i=x;i>0;i--)
{
for(j=110;j>0;j--);
}
}
void delay1(unsigned int x) //延時輔助程序
{
for(x;x>0;x--)
{
;
};
}
void main()
{
int i,j; //初始化
fengming=0;
led=1;
guangdian1=1; //光電管接口
guangdian2=1;
TMOD=0X01;
TH0= 0XF8; //1ms定時
TL0= 0X30;
TR0= 1;
ET0= 1;
EA = 1;
delay(100);
motor_left_gnd=0;
motor_right_gnd=0;
while(1)
{
if(flag1==0) //正常循跡
{
if(middle==0&&left2==1&&right2==1)
{
motor_left=0;
motor_right=0;
led=0; //燈閃爍,蜂鳴器叫
fengming=1;
delay(1000);
led=1;
fengming=1;
delay(1000);
led=0;
fengming=1;
delay(1000);
led=1;
fengming=1;
delay(1000);
fengming=0;
while(1)
{
motor_left=0;
motor_right=0;
//檢測到人時,停止
}
}
switch(dr)
{
case 0:
motor_left=0,motor_right=0,motor_left_gnd=0,motor_right_gnd=0;
delay1(40);
motor_left=1,motor_right=1,motor_left_gnd=0,motor_right_gnd=0; //直走
delay1(60);
break;
case 2: motor_left=1,motor_right=0,motor_left_gnd=0,motor_right_gnd=0;
delay1(60);
motor_left=1,motor_right=1,motor_left_gnd=0,motor_right_gnd=0;
delay1(2);
motor_left=0,motor_right=0,motor_left_gnd=0,motor_right_gnd=0;
delay1(10);
break; //右轉(zhuǎn)
case 1: motor_left=0,motor_right=1,motor_left_gnd=0,motor_right_gnd=0;
delay1(60);
motor_left=1,motor_right=1,motor_left_gnd=0,motor_right_gnd=0;
delay1(2);
motor_left=0,motor_right=0,motor_left_gnd=0,motor_right_gnd=0;
delay1(10);
break; //左轉(zhuǎn)
}
}
if(flag1==1) //壁障過程
{
for(i=200;i>0;i--)
{
for(j=110;j>0;j--)
{
motor_left=0;
motor_right=0;
motor_left_gnd=0;
motor_right_gnd=0;
}
}
while(right1==0)
{
if(guangdian3==1)
{
motor_left=1,motor_right=1,motor_left_gnd=0,motor_right_gnd=0; //右轉(zhuǎn)
delay1(20);
motor_left=1,motor_right=0,motor_left_gnd=0,motor_right_gnd=0;
delay1(100);
motor_left=0,motor_right=0,motor_left_gnd=0,motor_right_gnd=0;
delay1(40);
}
if(guangdian3==0)
{
motor_left=1,motor_right=1,motor_left_gnd=0,motor_right_gnd=0; //左轉(zhuǎn)
delay1(20);
motor_left=0,motor_right=1,motor_left_gnd=0,motor_right_gnd=0;
delay1(100);
motor_left
收藏