畢業設計基于PIC單片機的智能小車設計_第1頁
畢業設計基于PIC單片機的智能小車設計_第2頁
畢業設計基于PIC單片機的智能小車設計_第3頁
畢業設計基于PIC單片機的智能小車設計_第4頁
畢業設計基于PIC單片機的智能小車設計_第5頁
已閱讀5頁,還剩44頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、摘 要PIC16F877A單片機是MicroChip公司生產一款八位單片機,它的易用性和多功能性受到了廣大使用者的好評,它的豐富的外圍功能模塊為我們的設計提供了便利。這里介紹的是如何用紅外線傳感器采集信號并通過單片機控制來實現避障尋線小車功能的設計,該設計是結合科研項目而確定的設計類課題。本系統以設計題目的要求為目的,并進行了小車功能的拓展。小車采用PIC16F877A單片機為控制核心,實現智能小車的智能控制,包括智能避障、路面尋線、PWM調速、測速并實時顯示速度等功能。整個系統的電路結構簡單,可靠性能高。實驗測試結果滿足要求,本文著重介紹了該系統的方案論證、硬件設計方法及測試結果分析。關鍵詞

2、:PIC16F877A; 紅外線傳感器; 避障尋線系統; PWM調速; 智能小車 ABSTRACTPIC16F877A microcontroller is an 8 bit MCU made by MicroChip company, its ease of use and versatility are the majority of users praise,its rich peripheral function modules for our design provides convenience. Here is how to capture the signal using in

3、frared sensors and through MCU control to achieve obstacle avoidance function of line-tracking car design, the design is a combination of scientific research and to determine the design of class topics. The system design requirements for the purpose of the subject and had a car function expansion. P

4、IC16F877A microcontroller to control the car using the core, intelligent car of the intelligent control, including the Smart obstacle avoidance, road hunting, PWM speed control, speed and real-time display speed and other functions. A simple circuit structure of the system reliability can be high. E

5、xperimental test results meet the requirements, this article highlights the program demonstration of the system, hardware design methods and test results analysis.Key words:PIC16F877A single chip computer; Infrared sensors; Obstacle avoidance seekingline system; PWM speed; Smart car 目 錄前言11 方案設計與論證2

6、1.1 總體方案選擇21.2 各模塊方案選擇與論證21.2.1 控制器模塊21.2.2 避障模塊31.2.3 尋線模塊31.2.4 直流調速模塊61.2.5 車速檢測模塊71.2.6 電機驅動模塊81.2.7 電源模塊81.3 系統各模塊最終方案82 硬件系統的設計與實現92.1 電源電路設計92.2 檢測電路設計92.3 電機控制電路設計102.4 PWM調速設計112.5 舵機方向控制設計123 軟件系統的設計與實現133.1系統軟件設計與調試133.2 軟件抗干擾技術133.2.1 數字濾波技術143.2.2開關量的軟件抗干擾技術143.2.3指令冗余技術143.2.4軟件陷阱技術154

7、 系統測試與調整164.1電路硬件測試164.2系統實現功能測試164.3整車測試16總結 17致謝 18參考文獻19附錄 20前 言當今社會,科學技術日新月異,時代前進的步伐越邁越寬,應用自動化設備,計算機處理,現代化通訊,數字化信息,現代化顯示設備等高新技術而建立的現代化智能,監控等系統已經得到充分的發展與應用,智能機器人也就應運而生。同時,在建設以人為本的和諧社會的過程中,智能服務機器人能夠完成考古發掘,海底揭密,宇宙探索等危險作業,以保證人身安全。國家中長期科學和技術發展規劃綱要一文指出:智能服務機器人是在非結構環境下為人類提供必要服務的多種高技術集成的智能化裝備。以服務機器人和危險作

8、業機器人應用需求為重點,研究設計方法、制造工藝、智能控制和應用系統集成等共性基礎技術。重點研究低成本的自組織網絡,個性化的智能機器人和人機交互系統、高柔性免受攻擊的數據網絡和先進的信息安全系統。由于單片機具有多功能、低價位及小型化等優勢,它們已被廣泛地應用在消費電子、汽車電子、辦公室自動化、通信及一般工業產品上。近些年來,單片機技術的發展已達到了相當高的水平,一些新型單片機層出不窮,技術日新月異。傳統單片機(MCU)主要由外圍部件、微控制器和存儲器構成。新型單片機為了更好靈活地適應不同領域的應用,除了具有這些傳統的數字功能外,還提供模擬功能,甚至射頻功能,它們不僅是可編程的,而且是可動態重構的

9、。它們是具有PsoC或SoPC特性的、真正的單片機。做單片機項目開發,首先應該關注的是項目的功能和性能要求,即做需求分析.通過需求分析,明確實現這些功能和性能指標所需芯片的功能和結構資源、綜合成本核算和產品集成度等要求,才能從琳瑯滿目、特色各異的芯片中選擇合適的貨架產品。20062020年,既是國家中長期技術發展計劃實現階段,也是我們最具有活力和最激情洋溢的時段。于是,我們五個人認識到自己的位置,都對智能機器人的研發和制作有著強烈的好奇心,有著共同愛好和理想,想用自己的青春和智慧揮寫這段煥發青春活力的樂譜。隨著生產自動化的發展,機器人已經越來越廣泛地應用到生產自動化上,隨著科學技術的發展,機器

10、人的感覺傳感器種類越來越多,其中視覺傳感器成為自動行走和駕駛的重要部件。視覺的典型應用領域為自主式智能導航系統,對于視覺的各種技術而言圖像處理技術已相當發達,而基于圖像的理解技術還很落后,機器視覺需要通過大量的運算也只能識別一些結構化環境簡單的目標。視覺傳感器的核心器件是攝像管或CCD,但其價格、體積和使用方式上并不占優勢,因此在不要求清晰圖像只需要粗略感覺的系統中考慮使用接近覺傳感器是一種實用有效的方法。機器人要實現自動導引功能和避障功能就必須要感知導引線和障礙物,感知導引線相當給機器人一個視覺功能。故對機器人的研究已成為必要。 智能循線和避障是基于智能導引小車系統,采用紅外傳感器實現小車速

11、度檢測,判斷并檢測障礙物。本文對智能小車的循線,避障以及速度的采集進行了研究。第一章 方案設計與論證1.1 總體方案選擇本設計的小車具有自動避障,路面尋線的功能,小車在運行過程中,能夠顯示當前的運行模式(避障模式和尋線模式),小車設有09檔共十個檔位的速度調節并能顯示當前的檔位,并且在運行過程中能夠實時顯示速度,而且本小車還設有兩種模式自動切換的功能。由題目分析可得:本設計需要一個由控制器模塊、尋線前進模塊、紅外避障模塊、電機驅動模塊、電源模塊等幾部分組成的系統來實現題目要求。為實現本系統的功能,下面分別對幾種不同的設計方案進行了具體的分析論證。方案一:避障模式時,使用超聲波進行避障。把超聲波

12、模塊裝在小車上,通過超聲波接收到的信號,判斷出障礙物的位置情況來進行多個方向的避障,在行進過程中,小車對前方障礙物進行檢測并根據障礙物情況進行相應轉彎,進行相應方向轉彎重復前邊的行進過程,尋線模式時,通過光電傳感器傳回的信息,判斷小車是否偏離軌跡,再作出相應的處理,在軌跡上行走中。小車采用雙電機驅動,根據速度差實現小車的前進和轉彎。方案二:避障模式時,在小車左前、前、右前、左后、后、右后各安裝一個紅外傳感器,當小車處于前進狀態時,對前方3個紅外傳感器傳送的信號進行檢測分析,當有傳感器檢查到信號時,進行停車處理并根據檢測到的信號情況進行相應的轉彎后退,后退3S后自動前進,在后退的過程中對后3個紅

13、外線傳感器進行信號檢測,若檢測到信號,就立即剎停后前進。尋線模式時,單片機根據兩排尋線的紅外線傳感器采集的信號情況進行相應的轉彎使小車保持在黑線中央行進。尋線過程中打開前面的紅外傳感器,時時檢測,防止小車碰到附近的墻壁。 兩個方案比較,方案一的超聲波傳感器受環境的影響較大,故放棄了此種方案。而方案二,采用普遍應用的傳感器采集信號,且舵機控制方向精準、反映速度快、轉彎平緩靈活等優點,故選擇了方案二。這種方案能實現對電動車的運動狀態進行實時控制,控制靈活、可靠,精度高,可滿足對系統的各項要求。1.2 各模塊方案選擇與論證1.2.1 控制器模塊單片機控制模塊在本系統中處于核心地位,其工作包括采集傳感

14、器的信號,進行數據處理,控制執行機構的運行等。對單片機控制模塊的基本要求是具有較高的速度、資源配置滿足要求。方案一:采用傳統的8位89C51單片機作為運動物體的控制核心。經典51單片機具有價格低廉,使用簡單等特點,但其運算速度低,功能單一,外圍模塊少等缺點。若采用51單片機,將增加軟件的設計難度。方案二:采用8位單片機PIC16F877A作為小車運動的控制中心。PIC16F877A具有豐富的硬件資源:RAM,ROM空間大、指令周期短、運算速度快、低功耗、低電壓、外圍功能模塊多,單片機PIC16F877A的晶振頻率為4MHz,最高運算速度可達20MHz;有8K的FLASH,5V供電,兩個8位和一

15、個16位的可編程定時/計數器,可以自動設置預設處置,具有運行/ 睡眠方式,并且芯片自帶看門狗維護功能。程序具有易于編寫和調試等優點。綜合考慮,采用方案二。1.2.2 避障系統方案一:采用超聲波避障,超聲波受環境影響較大,電路復雜,而且墻壁對超聲波的反射,會影響系統對障礙物的判斷。方案二:采用紅外傳感器避障(包括發射管和接收管),紅外線發射管發射信號,發射出的紅外線遇到障礙物反射,紅外線接受管對反射回的信號處理,經高低電平轉換電路轉換成相應的電壓信號送入單片機進行處理,完成避障功能。外界對紅外信號的干擾較小,易于實現,故采用方案二。1.2.3 尋線系統 紅外檢測模塊用以實現小車沿著場地上標出的黑

16、色路線運動。題目中路徑和周圍場地黑白對比明顯,可用傳感器來感知前進軌跡。方案一:可見光發光二極管與光敏二極管組成得發射接收電路。這種方案的缺點在于其他環境光源會對光敏二極管工作產生很大干擾,環境要求比較高。外界環境條件改變,很可能造成誤判和漏判,因此沒有采用這個方案。方案二:采用紅外線傳感器。當紅外線照射到下方的場地會發生反射,由于黑色膠皮和白色膠皮的反射系數不同,紅外線傳感器可根據接收到的反射光強弱判斷是否有黑線。可使用雙排反射式紅外線傳感器控制,達到更高的控制精度。綜合考慮,選擇了抗干擾能力強且易于實現的紅外線電傳感器,即確定方案二。本系統采用雙排傳感器作為尋線系統的信號采集,目前,大多數

17、智能車采用單排傳感器的道路檢測方式,這種方式獲得的道路信息少,對智能車的狀態和道路的狀況都不能很好地區別,造成控制上的麻煩。為了彌補不足,形成了大前瞻的單排傳感器的道路檢測方式,這種方式檢測的距離更遠,能夠更早地判斷出道路的走向,在一定程度上彌補了檢測精度低的缺點,但也無法有效地區分智能車狀態與道路狀況。比賽的車模可選用攝像頭或傳感器的方式進行道路信息檢測,我們的車模采用的是雙排紅外的循跡方式,采用大前瞻雙排傳感器可以得到更多的賽道信息,更早地采取策略處理,形成更好的行車軌跡。是采用復雜的攝像頭方案的一種替代方式。可以在直道中實現穩定控制,加速順暢的能力;在S彎中以小曲線的方式前進,減少行進路

18、線和舵機調整次數。在大彎中實現提前轉彎,切內彎的效果。尤其是在轉彎方面,通過前后排共同對彎道的預測,達到延伸物理識別距離的能力,從而做出提前的動作,減少由于檢測距離近而帶來的負面影響,達到上述效果。傳感器陣列布局如圖1-1所示,圖中僅以接受管示意傳感器位置。圖1-1 傳感器陣列布局布局方式說明:前排傳感器伸出距離較遠,小車中心偏離黑線后,會在前排傳感器上產生較大偏移量。后排傳感器伸出距離較近,小車中心偏離黑線后,會在后排傳感器上產生較小偏移量。利用前后排傳感器對小車偏移時不同的敏感度對小車進行控制。為了使前后排體現出更明確的分工和采集到更遠處的信息,我們把前排傳感器傾斜約45°角,使

19、前排的前瞻距離更大,更能體現出前排的優勢和特點。直道識別方式、控制策略:采用此種方式布局雙排紅外,對于直道的判別方法可有以下5種物理方式,每種方式應用的時機列于后。圖1-2 第一種直道情況在左轉大彎后,出彎時最可能出現的前后排傳感器檢測到黑線時的組合情況。適用于左轉 90°彎、180°彎。提前得到出彎信息,舵機向左轉動較小角度,并在此時采取加速動作,起到彌補前瞻不足的作用。此情況在賽道的s彎出現時,不滿足直道的第二種識別方式,故不會加速。圖1-3 第二種直道情況此情況是對第一種情況的再確認,左轉大彎并經過第一種情況后,再經歷此種情況,可確認無誤前方為直道,繼續提升小車的加速

20、能力。控制程序由彎道程序切換到直線穩定程序。圖1-4 第三種直道情況此時采取直線穩定控制。由于前兩種情況已經明確識別為直道,此種情況只是增加直道識別的成功率。圖1-5 第四種直道情況與第二種情況類似,對第五種情況的再確認,右轉轉大彎并經過第五種情況后,再經歷此種情況,可確認無誤前方為直道,繼續提升小車的加速能力。控制程序由彎道程序切換到直線穩定程序。圖1-6 第五種直道情況在右轉大彎后,出彎時最可能出現的前后排傳感器檢測到黑線時的組合情況。適用于右轉轉 90°彎、180°彎。提前得到出彎信息,舵機向右轉動較小角度,并在此時采取加速動作,起到彌補前瞻不足的作用。在賽道的s彎出

21、現時,不滿足直道的第二種識別方式,故不會加速。直道識別,程序輔助確認:進入彎道后,隨著小車的行進,會發生振蕩,致使出彎時不一定滿足上述5種情況。為了提高直道的識別成功率,增加第二種直道判別方法。兩者同時起作用,滿足第一種后經過最多15ms確認是直道。程序是循環執行,我們的程序執行頻率是2KHz。采用定時中斷(15ms)的方式,對前排中間3個傳感器(編號為3、4、5)使用3個計數器分別計數,每次執行程序若是其中一個檢測到黑線,相對應的計數器加1。經過計算,15ms內所能計數的最大值為31。我們設定計數的最大值,若在15ms內達到所要求的計數值,就認為是直道,切換直道程序并將計數器清零;若15ms

22、內沒有達到所要求的計數值,計數器清零,重新計數。例如小車為2m/s的速度,小車行進3cm。我們只要判斷22.5cm內為直道即可。所以設最大計數值為2025即認為是直道,跳出彎道程序。當然也可以采用更嚴格的方法來判斷,只需調整定時中斷的時間和計數值即可。此條件在進入直道后總能滿足,所以作為第一種直道判別方式的補充,保證直道的穩定可靠識別。直線穩定控制策略:小車出彎后,由于舵機的反應不靈敏,智能車會發生振蕩,隨后才能達到穩定,為了盡早減小振蕩,采用如下方式控制小車出彎后的動作:在彎道策略中設置標志位,進入直線程序后,識別標志位,對控制舵機轉向的公式采取修正設置。公式為:q=K1q1+K2q2;其中

23、q為最終送給舵機的控制量,q1為前排光電傳感器的返回轉角值,q2為后排紅外返回轉角值。K1、K2分別為前后排傳感器的加權比例值。當小車從彎道進入直道并成功識別出直道后,減小K1的值,由于后排傳感器距離小車的前輪(轉向輪)很近,小車中心偏離黑線時,不會在后排傳感器橫向位置產生很大位移(相對于前排傳感器),故小車在直線上舵機調整的次數就會明顯減少,直線的穩定性會好。同時,根據前后排不同傳感器的組合,給出不同的轉角策略(在程序中以列表的方式體現),近一步提高直線的穩定控制能力。1.2.4 直流調速系統方案一:串電阻調速系統:旋轉變流系統由交流發電機拖動直流電動機實現變流,由發電機給需要調速的直流電動

24、機供電,調節發電機的勵磁電流即可改變其輸出電壓,從而調節電動機的轉速。改變勵磁電流的方向則輸出電壓的極性和電動機的轉向都隨著改變,所以G-M系統的可逆運行是很容易實現的。該系統需要旋轉變流機組,至少包含兩臺與調速電動機容量相當的旋轉電機,還要一臺勵磁發電機,設備多、體積大、費用高、效率低、維護不方便等缺點。且技術落后,因此擱置不用。方案二:靜止可控整流器。簡稱V-M系統:V-M系統是當今直流調速系統的主要形式。它可以是單相、三相或更多相數,半波、全波、半控、全控等類型,可實現平滑調速。V-M系統的缺點是晶閘管的單向導電性,它不允許電流反向,給系統的可逆運行造成困難。它的另一個缺點是運行條件要求

25、高,維護運行麻煩。最后,當系統處于低速運行時,系統的功率因數很低,并產生較大的諧波電流危害附近的用電設備。采用晶閘管的直流斬波器基本原理與整流電路不同的是,在這里晶閘管不受相位控制,而是工作在開關狀態。當晶閘管被觸發導通時,電源電壓加到電動機上,當晶閘管關斷時,直流電源與電動機斷開,電動機經二極管續流,兩端電壓接近于零。脈沖寬度調制(Pulse Width Modulation),簡稱PWM。脈沖周期不變,只改變晶閘管的導通時間,即通過改變脈沖寬度來進行直流調速。方案三:脈寬調速系統:與V-M系統相比,PWM調速系統有下列優點:(1)由于PWM調速系統的開關頻率較高,僅靠電樞電感的濾波作用就可

26、以獲得脈動很小的直流電流,電樞電流容易連續,系統的低速運行平穩,調速范圍較寬,可達1:10000左右。由于電流波形比V-M系統好,在相同的平均電流下,電動機的損耗和發熱都比較小。(2)同樣由于開關頻率高,若與快速響應的電機相配合,系統可以獲得很寬的頻帶,因此快速響應性能好,動態抗擾能力強。(3)由于電力電子器件只工作在開關狀態,主電路損耗較小,裝置效率較高。根據以上綜合比較,以及本設計中受控電機的容量和直流電機調速的發展方向,本設計采用了H型單極型可逆PWM變換器進行調速。脈寬調速系統的主電路采用脈寬調制式變換器,簡稱PWM變換器。脈寬調速也可通過單片機控制繼電器的閉合來實現,但是驅動能力有限

27、。為順利實現電動小汽車的前行與倒車,本設計采用了可逆PWM變換器。可逆PWM變換器主電路的結構式有H型、T型等類型。我們在設計中采用了常用的雙極式H型變換器,它是由4個三極電力晶體管和4各續流二極管組成的橋式電路。1.2.5 車速檢測系統由于紅外檢測具有反應速度快、定位精度高,可靠性強以及可見光傳感器所不能比擬的優點,故采用紅外光電碼盤測速方案。具體電路同圖1-7所示。 圖1-1-7 行車速度檢測電路 紅外測速由測速輪,遮光盤,紅外光電耦合器及凹槽型支架組成的。測長輪的周長為記數的單位,最好取有效值為單一的數值(如0.1米),精度根據電動車控制的需要確定。測距輪安裝在車輪上,這樣能使記數值準確

28、一些。遮光盤有一缺口,盤下方的凹形物為槽型光電耦合器,其兩端高出部分的里面分別裝有紅外發射管和紅外接收管。遮光盤在凹槽中轉動時,缺口進入凹槽時,紅外線可以通過,缺口離開凹槽紅外線被阻擋。由此可見,測距輪每轉一周,紅外光接收管均能接收到一個脈沖信號經過整形器后送入計數器或直接送入單片機中。為實現可逆記數功能,我們在測距儀中并列放置了兩個槽型光電耦合器,遮光盤先后通過凹槽可產生兩個脈沖信號。根據兩個脈沖信號發生的先后順序與兩個光電耦合器的位置關系,即可計算出玩具車的行駛方向(前進或后退)。遮光盤及槽型光電耦合器均安裝在不透光的盒子里,以避免外界光線的干擾,使電路不能正常工作。測速原理:將光柵安裝在

29、電機軸上,當電機轉動時,光柵也隨之轉動,同時安裝在光柵一側的紅外發光二極管點亮,在光柵的另一側設有紅外三極管,用于接收紅外發光二極管發出的紅外線信號。由于光柵隨電機高速轉動,則紅外線三極管接收到的就是一系列脈沖信號。將該信號傳輸到PIC16F877A單片機的內部計數器計數,根據預先實測的數據換算關系即可計算出小車的行車速度。1.2.6 電機驅動模塊小車電機驅動模塊是本系統的執行機構,用于控制小車的運行。方案一:采用舵機和直流電機分別控制小車轉向和驅動。舵機控制兩個前輪的轉向,不能為小車提供前進的動力,為使小車前進,在后輪裝了個驅動馬達,從而使小車既能前進又能轉彎。方案二:小車采用雙電機實現驅動

30、和轉向。利用電機差速原理控制小車轉向,能夠實現原地任意角度的轉向。首先在小車的后方安裝一萬向輪,兩側為雙動力電機。由于舵機控制具有靈活、靈敏度高、反映速度快等優點,極易實現小車的快速而精確轉彎,在尋線模式時優勢更加明顯。基于上述分析,采用了方案一。1.2.7 電源模塊方案一:采用普通電池,選用7節電池給直流電機供電,經7805穩壓管對單片機、光電傳感器、金屬接觸傳感器等供電,但對直流電機影響很大,電機轉速變化大,對任務的完成極為不利。方案二:采用10節可充電式鎳氫電池組共12V給直流電機供電,經7805電壓轉換為單片機、紅外線傳感器等額定電壓為5V器件供電。單片機和傳感器工作正常,直流電機轉速

31、變化不大且平穩行進,且電池體積較小,重量較輕,能夠滿足系統要求。上述論證可知,電池組可保持系統穩定,選取方案二。1.3 系統各模塊的最終方案經過論證,得到各個模塊的最終應用方案,方案如下:(1) 控制器模塊:采用MicroChip公司單片機PIC16F877A作為小車運動的控制核心;(2) 尋線前進和障礙物檢測躲避模塊:采用ST168型紅外線傳感器來進行信號采集;(3) 小車電機驅動模塊:采用了L298N電機驅動芯片控制電機;(4) 小車方向調整模塊:采用舵機的PWM波控制;(5) 電源模塊:采用12V電池組經7805穩壓后作為單片機、紅外傳感器、舵機等的電源,12V電池組直接作為直流電機的電

32、源;(6) 直流調速系統:由單片機的CCP模塊產生的PWM波控制電機的速度。第二章 硬件系統的設計與實現2.1 電源電路的設計本系統所有芯片都需要+5V的工作電壓,而一節電池只能提供的電壓為12V的倍數的電壓,10節電池電壓為12V,則需要7805穩壓芯片。L7805能提供小于1.5A的電流,足以滿足芯片供電的要求。雖然微處理器和微控制器不需要支持電路,功耗也很低,但必須要加以考慮。由于直流電機的額定電壓大且額定電流大,可直接由12V而不經降壓為其供電,電機驅動電源由它來提供的。圖2-1為12V電壓經7805穩壓后得到5V電壓的穩壓電路。圖2-1 電源穩壓電路2.2 檢測電路設計智能小車速度檢

33、測的傳感器采用紅外對射式,尋路避障用的傳感器采用紅外反射式。 ST系列反射式光電傳感器是經常使用的傳感器。這個系列的傳感器種類齊全、價格便宜、體積小、使用方便、質量可靠、用途廣泛。我們采用ST168作為小車傳感器。信號檢測電路如圖2-2所示,在電機測速中,使用較多的有編碼盤與色碼盤,不同的是,色碼盤在一個扇形區域里只有一種顏色,而編碼盤在同樣的扇形區域有多種顏色,假設黑色表示0,白色表示1,則這樣的扇形組成二進制編碼,并且相鄰的區域編碼連續。這樣我們就可以據此判斷電機的速度和方向了,但是它需要的傳感器較多,使用較復雜,而小車的空間很緊張,并且對方向要求不高,所以在小車上使用不多,我們采用手工制

34、作的碼盤。如果發射管和接收管之間的障礙物時有時無,則接收管的狀態就呈現0和1的交替,形成脈沖信號。只要對這個脈沖信號計數,就可以得到小車車輪的轉速。我們在車輪的軸上安裝手工制作的碼盤與車輪同軸同步旋轉,就可以得到車輪旋轉的脈沖信號。在避障的測試中,室內無障礙的情況下,發射管發射的紅外線沒有反射到接收管,測量接收管的電壓為4.8V,有白色障礙物情況下,接收管接受到發射管發射的紅外線,電阻發生變化,所分得的電壓也就隨之發生變化,測的接收管的電壓為0.5V,避障的測試基本滿足要求。圖2-2 紅外檢測電路2.3電機控制電路設計電機的選擇,有以下幾種電機可供選擇:步進電機,伺服電機,直流電機,直流減速電

35、機。根據實際的情況和要求,由于伺服電機在市面上很難買到,價格過于昂貴,直流電機雖說價格低易于購買,但我們須增加減速機構,而直流減速電機省去了設計復雜減速機構的麻煩,且輸出力矩大,雖說須設計速度反饋電路,但速度反饋比較易于設計,所以我們選擇直流減速電機,電機的控制部分采用直流H橋集成功放電路,直流H橋功放電路是用于控制直流電機雙向運動的基本電路,該電路使電機在單電源供電下可以雙向運轉。圖2-4所示電路為用三極管構成的H橋集成功放電路基本形式。為使電機順時針轉,應接通三極管A和D,對電機而言,其電壓右負左正,通過改變不同的三極管導通狀況,可改變電機兩端電壓,達到反轉目的。由主控程序控制這幾個腳就可

36、以達到控制電機正反轉的目的。L298N是內部集成了兩個H橋的電機驅動芯片,圖2-3所示為邏輯電平與電機轉動情況表,圖2-5所示電路為用L298N設計的電機驅動電路。ENA接單片機的PWM輸出,當PWM的占空比改變時,電機的電樞電壓改變,從而達到控制電機的轉速的目的。IN1和IN2接單片機的兩個引腳,當單片機兩引腳輸出不同的電平時,電機有不同的動作,其關系如表一所示。 圖2-3 邏輯電平與電機轉動情況表 圖2-4 H橋功放電路圖2-5 L298N電機驅動電路2.4 PWM調速實現脈寬調制器本身是一個由運算放大器和幾個輸入信號組成的電壓比較器。運算放大器工作在開換狀態,稍微有一點輸入信號就可使其輸

37、出電壓達到飽和值,當輸入電壓極性改變時,輸出電壓就在正、負飽和值之間變化,這樣就完成了把連續電壓變成脈沖電壓的轉換作用。加在運算放大器反相輸入端上的有三個輸入信號。一個輸入信號是鋸齒波調制信號,另一個是控制電壓,其極性大小可隨時改變,與鋸齒波調制信號相減,從而在運算放大器的輸出端得到周期不變、脈寬可變的調制輸出電壓。只要改變控制電壓的極性,也就改變了PWM變換器輸出平均電壓的極性,因而改變了電動機的轉向。改變控制電壓的大小,則調節了輸出脈沖電壓的寬度,從而調節電動機的轉速。只要鋸齒波的線性度足夠好,輸出脈沖的寬度是和控制電壓的大小成正比的。利用PIC16F877A的I/O口資源,CCP模塊產生

38、380Hz的PWM波,通過調節PWM的占空比來實現電機轉速的調整。此時加在電機兩端的平均電壓為:通過調整PWM波的占空比,改變Th和Tl的比值,從而改變了加在電機兩端的平均電壓U的大小,最終實現直流電機的調速。其原理圖如圖2-6所示。圖2-6 PWM調速原理圖2.5 舵機的方向控制實現舵機的控制信號為周期是20ms的脈寬調制(PWM)信號,其中脈沖寬度從0.5ms-2.5ms,相對應舵盤的位置為0180度,呈線性變化。也就是說,給它提供一定的脈寬,它的輸出軸就會保持在一個相對應的角度上,無論外界轉矩怎樣改變,直到給它提供一個另外寬度的脈沖信號,它才會改變輸出角度到新的對應的位置上。舵機內部有一

39、個基準電路,產生周期20ms,寬度1.5ms的基準信號,有一個比較器,將外加信號與基準信號相比較,判斷出方向和大小,從而產生電機的轉動信號。舵機的控制一般需要一個20ms左右的時基脈沖,該脈沖的高電平部分一般為0.5ms2.5ms范圍內的角度控制脈沖部分。以180度角度伺服為例,那么對應的控制關系是這樣的:    0.5ms-0度;    1.0ms-45度;    1.5ms-90度;    2.0ms-135度;    2.5ms-180度;

40、圖2-7 舵機控制原理圖其控制原理如圖2-7所示,由此可見,舵機是一種位置伺服的驅動器,轉動范圍不能超過180度,適用于那些需要角度不斷變化并可以保持的驅動當中。比方說機器人的關節、飛機的舵面等。正是因為舵機的控制信號是一個脈寬調制信號,所以很方便和數字系統進行接口。只要能產生標準的控制信號的數字設備都可以用來控制舵機,比方PLC、單片機等。本系統利用單片機產生舵機的控制信號來進行控制。第三章 軟件系統的設計與實現3.1 系統軟件設計與調試在進行微機控制系統設計時,除了系統硬件設計外,大量的工作就是如何根據每個生產對象的實際需要設計應用程序。因此,軟件設計在微機控制系統設計中占重要地位。對于本

41、系統,軟件更為重要。在單片機控制系統中,大體上可分為數據處理、過程控制兩個基本類型。數據處理包括:數據的采集、數字濾波、標度變換等。過程控制程序主要是使單片機按一定的方法進行計算,然后再輸出,以便控制生產。為了完成上述任務,在進行軟件設計時,通常把整個過程分成若干個部分,每一部分叫做一個模塊。所謂“模塊”,實質上就是所完成一定功能,相對獨立的程序段,這種程序設計方法叫模塊程序設計法。模塊程序設計法的主要優點是:1、 單個模塊比起一個完整的程序易編寫及調試;2、 模塊可以共存,一個模塊可以被多個任務在不同條件下調用;3、 模塊程序允許設計者分割任務和利用已有程序,為設計者提供方便。本系統軟件采用

42、模塊化結構,由主程序定時子程序、避障子程序中斷子程序顯示子程序調速子程序算法子程序構成。 本系統的軟件設計方法是各個獨立模塊程序分布設計,然后所有程序連接組成系統程序,程序調試方法采用自上而下的調試方法,即對單獨調試好每一個模塊進行調用,然后連接成一個完整的系統調試。本系統可分為以下幾個模塊:(1) 小車避障程序;(2) 小車巡線程序;(3) 舵機控制程序;(4) 電機控制程序;(5) 速度檢測程序;(6) PWM調速程序; (小車系統模塊示意圖見附錄一,小車程序清單見附錄三)3.2 軟件抗干擾技術提高玩具車智能控制的可靠性,僅靠硬件抗干擾是不夠的,需要進一步借助于軟件抗干擾技術來克服某些干擾

43、。在單片機控制系統中,如能正確的采用軟件抗干擾技術,與硬件干擾措施構成雙道抗干擾防線,無疑為了將大大提高控制系統的可靠性。經常采用的軟件抗干擾技術是數字濾波技術、開關量的軟件抗干擾技術、指令冗余技術、軟件陷阱技術等。3.2.1 數字濾波技術一般單片機應用系統的模擬輸入信號中,均含有種種噪音和干擾,它們來自被測量本身、傳感器、外界干擾等。為了進行準確測量和控制,必須消除被測信號中的噪音和干擾。對于這類信號,采用積分時間等于20ms的整數倍的雙積分A/D轉換器,可有效的消除其影響。后者為隨機信號,它不是周期信號。對于隨機干擾,我們可以用數字濾波方法予以削弱或濾除。所謂數字濾波,就是通過一定的計算或

44、判斷程序減少干擾在有用信號中的比重。故實質上它是一種程序濾波。數字濾波克服了模擬濾波器的不足,它與模擬濾波器相比 ,有以下幾個優點:(1)數字濾波是用程序實現的,不需要增加硬設備,所以可靠性高,穩定性好。(2)數字濾波可以根據信號的不同,采用不同的濾波方法或濾波參數,具有靈活、方便,功能強的特點。(3)數字濾波可以對頻率很低的信號實現濾波,克服了模擬濾波器的缺陷。(4)由于數字濾波器具有以上優點,所以數字濾波在微機應用系統中得到了廣泛的應用。3.2.2 開關量的軟件抗干擾技術干擾信號多呈毛刺狀,作用時間短,利用這一點,我們在采集某一開關量信號時,可多次重復采集,直到連續兩次或兩次以上結果完全一

45、致方為有效。若多次采樣后,信號總是變化不定,可停止采集,給出報警信號,由于開關量信號主要是來自各類開關型狀態傳感器,如限位開關、操作按鈕、電氣觸點等,對這些信號的采集不能用多次平均的方法,必須絕對一致才行。如果開關量信號超過8個,可按8個一組進行分組處理,也可定義多字節信息暫存區,按類似方法處理。在滿足實時性要求的前提下,如果在各次采集數字信號之間接入一段延時,效果會好一些,就能對抗較寬的干擾。輸出設備是電位控制型還是同步鎖存型,對干擾的敏感性相對較大。前者有良好的抗毛刺干擾能力,后者不耐干擾,當鎖存線上出現干擾時,它就會盲目鎖存當前的數據,也不管此時數據是否有效。輸出設備和慣性(響應速度)與

46、干擾的耐受能力也有很大關系。慣性大的輸出設備(如各類電磁執行機構)對毛刺干擾有一定的耐受能力。慣性小的輸出設備(如通行口、顯示設備)耐受能力就小一些。在軟件上,最為有效的方法就是重復輸出同一個數據。只要有可能,其重復周期盡可能短些。外設設備接受到一個被干擾的錯誤信息后,還來不及作出有效的反應,一個正確的信息又來了,就可及時防止錯誤動作的產生。另外,各類數據鎖存器盡可能和CPU安裝在同一電路板上,使傳輸線上傳送的都是鎖存好的電位控制信號,對于重要的輸出設備,最好建立檢測通道,CPU可以檢測通道來確定輸出結果的正確性。3.2.3 指令冗余技術當CPU受到干擾后,往往將一些操作數當作指令碼來執行,引

47、起程序混亂。當程序彈飛到某一字節指令上時,便自動納入正軌。當彈飛到某一雙字節指令上時,有可能落到其操作數上,從而繼續出錯。當程序彈飛到三字節指令上時,因它有兩個操作數,繼續出錯的機會就更大。因此,我們應多采用單字節指令(NOP)或將單字節指令重復書寫,這便是指令冗余。指令冗余無疑會降低系統的效率,但在絕大多數情況下,CPU還不至于忙到不能多執行幾條指令的程度,故這種方法還是被廣泛采用。在一些對程序流向起決定作用的指令之前插入兩條NOP指令,以保證彈飛的程序迅速納入正確軌道。在某些對系統工作狀態重要的指令前也可插入兩條NOP指令,以保證正確執行。指令冗余技術可以減少程序彈飛的次數,使其很快進入程

48、序軌道,但這并不能保證在失控期間不干壞事,更不能保證程序納入正常軌道后就太平無事了,解決這個問題必須采用軟件容錯技術。3.2.4 軟件陷阱技術指令冗余使彈飛的程序安定下來是有條件的。首先,彈飛的程序必須落到程序區;其次,必須執行到冗余指令。所謂軟件陷阱,就是一套引導指令,強行將捕獲的程序引向一個指定的地址,在那里有一段專門對程序出錯進行處理的程序。如果我們把這段程序的入口標號記為 ERR 的話,軟件陷阱即為一條無條件轉移指令,為了加強其捕捉效果,一般還在它前面加兩條 NOP 指令,因此真正的軟件陷阱由3條指令構成:NOPNOPERR軟件陷阱安排在以下四種地方: (1)未使用的中斷向量區。 (2

49、)未使用的大片ROM空間 (3)表格 (4)程序區由于軟件陷阱都安排在正常程序執行不到的地方,故不影響程序執行效率,在當前EPROM容量不成問題的條件下,還是多多益善。第四章 系統測試與調整4.1 電路硬件測試測試方法與儀器:1、 測試儀器測試儀器包括秒表、數字萬用表、信號發生器、示波器、仿真軟件、直流穩壓電源等。2、測試方法數字萬用表主要用來測試分立元件的電阻、壓降、漏電流、截止/導通狀態等參數;信號發生器與示波器用于測試各光電傳感器信號的接收與傳輸;直流穩壓電源在測試期間為各待測系統供電;秒表用于產品測試,按照任務書的基本要求對制成的電動車進行產品測試;軟件仿真測試各模塊程序。3、測試數據

50、及測試結果分析: 計時精度分析 計時系統采用了新型顯示芯片。理論上的誤差不到1秒/年。 測距精度分析 測速系統采用了電機軸光電碼盤檢測技術。電機軸與車輪軸之間采用了齒輪箱二級減速,變比1/16。車輪周長135mm,光電碼盤與電機軸安裝在一起,電機軸每一轉產生2個脈沖,車輪每轉產生32個脈沖,理論測量精度可達135mm/32=4.22mm<4.5mm 定位精度分析 本設計采用實際測量與軟件補償技術,理論上可使定位精度提高到誤差<10mm。4.2 系統實現功能測試系統主要實現在障礙物行進,黑線巡線前進,行進速度顯示,調速系統。其中,對各部分進行獨立測試,對其他功能放在整車測試中進行。4

51、.3 整車測試整車測試過程中,不斷進行調試和改裝。尤其在建筑物行進過程和尋線過程中,不斷修改參數,保證小車平穩前行。實驗測試結果滿足要求。總 結本文提出了一種經濟實用的智能小車系統設計方法,采用了直流減速電機作為執行元件,ST系列紅外傳感器作為檢測元件,PIC16F877A單片機作為主控芯片,完成了智能機器人硬件制作及軟件設計,成功實現了自動巡路避障功能,在無軌自動物料小車及工業智能機器人領域也具有一定的實用價值。在設計過程中,力求電路簡單,外形美觀,軟件方面,力求穩定卡可靠。最終順利完成了題目中所有的基本要求并發揮了題外部分,系統更加智能化,人性化。 致 謝歷時兩個月的科技創新設計已經告一段

52、落。經過自己不斷的搜索努力以及夏老師的耐心指導和熱情幫助,本設計已經基本完成。在這段時間里,夏老師嚴謹的治學態度和熱忱的工作作風令我十分欽佩,他的指導使我受益非淺。同時本系實驗室的開放也為我的設計提供了實習場地。通過這次科技創新設計,使我深刻地認識到學好專業知識的重要性,也理解了理論聯系實際的含義,并且檢驗了大學學習成果。雖然在這次設計中對于知識的運用和銜接還不夠熟練。但是我將在以后的工作和學習中繼續努力、不斷完善。這兩個月的設計是對過去所學知識的系統提高和擴充的過程,為今后的發展打下了良好的基礎。由于自身水平有限,設計中一定存在很多不足之處,敬請各位老師批評指正。參考文獻1 閻石 數字電路技術基礎 高等教育出版社, 20072 童詩白,華成英 模擬電路技術基礎 高等教育出版社, 20063 劉

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論