目錄
摘 要........................................... I ABSTRACT........................................ II 第1章緒論....................................... 1 1.1研究意義和發展趨勢............................................ 1 1.2研究內容...................................................... 1 第2章智能車系統結構介紹............................ 3 2.1整體設計概述.................................................. 3 2.2系統硬件模塊方案分析.......................................... 3 2.2.2電機驅動模塊方案分析...................................... 4 2.2.3測速方法分析.............................................. 4 第3章硬件設計與仿真............................... 5 3.1硬件設計總體框圖.............................................. 5 3.2電源電路設計.................................................. 5 3.3主控電路設計.................................................. 6 3.3.1 AT89C51單片機介紹........................................ 6 3.3.2最小系統介紹.............................................. 8 3.3.3主控電路.................................................. 9 3.4電機驅動模塊.................................................. 9 3.4.1驅動電路設計.............................................. 9 3.4.2 H橋電機驅動電路......................................... 10 3.5路徑識別模塊設計............................................. 11 3.6 電機轉向電路設計............................................ 11 3.7避障模塊設計................................................. 12 3.8驅光模塊設計................................................. 13 3.9報警模塊設計................................................. 14 3.10顯示電路設計................................................ 14 第4章系統軟件設計和編程........................... 16 4.1主程序框圖設計............................................... 16 4.2循跡子程序設計............................................... 17 4.3避障子程序設計............................................... 22 4.4驅光子程序設計............................................... 25 第5章系統軟件仿真與分析........................... 27 5.1仿真軟件介紹................................................. 27 5.1.1 PROTUSE軟件介紹......................................... 27 5.1.2 MULTISIM軟件的介紹...................................... 27 5.2仿真結果及分析............................................... 28 5.2.1基于PROTUES平臺仿真結果分析............................. 28 5.2.2基于MULTISIM仿真平臺結果分析............................ 29 第6章總結及展望.................................. 31 致謝............................................ 32 參考文獻........................................ 33 附錄一基于PROTUES仿真程序........................ 34
第1章 緒論1.1 研究意義和發展趨勢近年來,隨著科學技術不斷進步,汽車逐漸成為人們生活出行方式的主要交通工具,越來越受到消費者的青睞,導致道路上的車輛越來越多,交通事故發生的頻率在生活中越來越多,給人們的生活帶來了很大的影響,給社會造成了無法彌補的經濟損失。政府有關部門對事故的分析普遍認為是由以下幾個因素造成:駕駛人對周邊環境判斷不足,駕駛人本身素質和管理法則等。在汽車的智能化方向的探索與研究由此受到人們的廣泛關注與重視。智能車系統是一種集路徑識別、決策規劃、自動駕駛等功能于一體的綜合智能系統。它更加注重于駕駛人員的舒適性和安全性以及汽車本身的智能性。 智能車就是一種輪式移動機器人,它能夠獲取周邊環境的信息、決策規劃軌跡來選擇最佳的行駛模式。智能化汽車綜合運用了計算機、電氣、機械、汽車電子、自動控制、傳感器技術等一系列技術。計算機技術、信息技術和控制技術的進步帶動了智能車在日常生活和工業生產中的使用。在國內,很多高校和企業建立起校企合作產學研相結合的模式,這都充分突出車輛的智能化研究有著重大的意義和廣闊的前景。隨著控制技術和計算機技術等高新技術的不斷提高,汽車在智能化方面的研究將會得到很大程度的突破和進展。在未來汽車的研究方面將會越來越智能化,汽車對環境的適應能力將會越來越強。 1.2 研究內容本課題研究的目標是使小車具有按照路面的黑色軌道循跡行駛功能,尋找前方點光源并行駛到位的趨光功能及聲光報警功能,這就需要小車對道路信息的獲取、識別,以及對信息的處理和反饋等具有很強的能力。通過查找相關資料總結前人的經驗教訓,研究并設計了智能車的硬件電路以及控制方法,使小車能夠高速穩定的運行。主要有以下幾個方面。 首先,通過介紹智能車的系統結構,設計并選擇一個較好的方案使智能車系統的各個模塊能夠維持小車高速穩定的狀態。 然后,在硬件控制電路方面進行了模塊化設計,主要有電源電路設計、主控電路設計、電機驅動模塊、電機轉向電路設計、路徑識別模塊、避障模塊、驅光模塊、報警模塊和顯示電路模塊等。其中,電源能夠提供系統各個模塊所需的電壓和電流,保證了各個模塊正常工作。選擇符合實際需求的穩定可靠的穩壓芯片才能保證智能車具有較好的速度,選擇驅動效果較好的驅動電路才能保證小車高速穩定的運行。 最后,通過編程和使用仿真軟件對硬件電路和軟件電路進行仿真和調試。
第2章 智能車系統結構介紹2.1 整體設計概述本課題所設計的小車要求具有自動循跡、驅光、避障等功能,能在預訂的軌跡上快速穩定的行駛。小車的行駛軌跡是以白色地面為背景以中間30mm寬度連續黑色作為引導線,遇到障礙物能夠避開障礙物,同時遇到點光源能夠進行驅光行駛,針對這樣的路況小車能夠自動決策運行狀態的自動控制系統。其中,通過激光傳感器檢測到的道路信息傳送到單片機內,單片機對接收到的數據進行分析和處理,分別輸出舵機的控制量和電機的控制量,來控制舵動電機的轉角和舵機的轉向轉角。另外,通過速度檢測部分,將電機轉速傳遞到單片機內,對智能車速度實現閉環控制,以提高單片機對電機的控制。因此,設計的智能小車不僅要按照要求正常行駛,還必須能夠穩定、快速的運行。 智能車設計的關鍵器件是自動控制器。在保證智能車正常行駛的前提下,應優先考慮電路設計簡單明了,以減輕系統不必要的負載,也要應堅持充分創新的原則,以提高智能車的靈活性,同時,以清晰明了但功能完美為出發點,同時充分考慮小車的穩定性,實現智能車快速穩定行駛。 作為能夠自動獲取周邊道路信息、識別路徑穩定運行的智能小車,控制器和車模可以看作一個自動控制系統。一般情況下由傳感器、信息處理、控制算法和執行機構四個部分構成。其中,單片機作為核心器件。控制系統的硬件主要由傳感器、執行器和驅動電路組成;控制系統的軟件主要由單片機完成信息處理和控制算法設計。因此,自動控制器設計包括硬件電路設計和軟件控制算法兩部分。 2.2系統硬件模塊方案分析
2.2.1 顯示方案分析 方案一:液晶顯示屏(LCD)具有重量輕,功耗低,無輻射危險,平板顯示器和視覺區域影像穩定等優點,屏幕效果好、分辨率高、抗干擾能力強。但是液晶顯示是以點陣的形式來顯示各種字符,內置芯片要有大量的字符庫,需要大量程序控制而本顯示功能只需要顯示時間等簡單的信息,不需要占用控制芯片的大量資源。此外液晶顯示芯片容易受到靜電干擾造成芯片損壞,使用液晶顯示屏成本要高。 方案二:使用數碼管顯示。數碼管具有低能耗,低電壓,使用壽命長,抗老化、防曬、防潮,對環境要求低,維護方便。數碼管是采用BCD編碼顯示數字,其優點是程序占用資源少,編譯程序工作量小。 綜上所述,選用方案二。 2.2.2 電機驅動模塊方案分析方案一:將電力晶體管作為功率放大器的輸出控制直流電機使用。該方案所需成本不高,驅動電路結構簡單,但驅動能力較弱,低速運行時連接晶體管的電阻會產生一定的功率損失,甚至發熱發燙,很難保證小車經過很長時間依舊維持高速穩定的運行的狀態。 方案二:采用由雙極性管組成的H橋電路,用單片機輸出控制PWM脈沖來控制晶體管的開關狀態從而調整電機轉速。H橋電路在晶體管工作處于飽和或截止狀態下工作狀態較好;它能夠實現簡單的轉速和方向的控制;晶體管開關速度很快,有很好的穩定性,并且此調速方案應用于很多領域。 根據兩個方案的優缺點,選擇方案二。 2.2.3 測速方法分析方案一:利用霍爾開關器件A44E檢測輪子上的磁鐵輸出轉動圈數信號輸出給單片機,達到測量回送速度的作用。霍爾元件外圍電路簡單、占用體積小,動態特性好,價格相對便宜等特點,電源要求高,安裝方便。霍爾開關的原理是在一定磁場強度范圍內起到控制作用,因此其抗干擾能力非常的強。將磁鐵安裝在車輪上,將霍爾器件安裝在固定軸上,有霍爾元件感應磁鐵來產生脈沖(當霍爾器件靠近磁場時輸出高電平,其它情況下是低電平),只需將四個磁鐵均勻的安放在一個輪子上四個磁鐵,通過測得一秒所得的脈沖數,計算出一秒車輪轉動的圈數,再測出車輪的周長就能夠計算出小車運行時的所對應速度,再結合脈沖時間計算可得到當前路程。 方案二:采用紅外傳感器進行測速。對射式紅外傳感器以及反射式紅外傳感器都容易受到環境因素的影響,穩定性相對較低,且在價格方面相對較高。 綜合方案一和方案二,決定采用方案一。
第3章 硬件設計與仿真3.1 硬件設計總體框圖file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif
圖3.1系統設計框圖 原理框圖介紹:系統把89C51單片機作為主控制器,將傳感器模塊獲取的值進行處理,然后控制驅動電機,實現左右轉和前進后退的功能。并在小車行駛過程中所測得的時間和路程顯示在數碼管上,這樣便于我們觀察小車的運行狀態。當運行過程中檢測到點光源時,單片機控制報警模塊進行報警,并驅光行駛。當小車在行駛過程中檢測到障礙物時自動發出報警。 電源部分的作用是給單片機系統各個模塊進行供電,本設計系統將電機驅動部分和單片機等數字器件分開,獨立進行供電。分開獨立供電有利于提高小車運行的穩定。 3.2 電源電路設計file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image003.gif 圖3.2電源電路 電源電路是系統的核心部分,它給系統各個模塊供電使各個模塊能夠工作并維持正常穩定的狀態。在本設計中,系統需要的供電模塊有:傳感器模塊、單片機模塊、顯示模塊、報警模塊、電機驅動模塊等。本設計除了要考慮電壓范圍和電流大小外,還需要考慮外圍電路的簡單性和電源轉化損耗及干擾、噪聲問題。選用適當的方案選擇電源能夠維持系統穩定的運行。 系統的總電源選擇7.2v,2A/h可充電的鎳鎘電池組,根據電路中各個模塊對電路中電壓的要求不同,因此電源模塊需要使用多個穩壓電路,將充電電池電壓轉換成各個模塊所需電壓。 各模塊所需電源如圖所示
|
| file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image004.gif |
圖3.3系統所需電源 電源電路我們采用LM317AH作為穩壓芯片進行穩壓。LM317AH作為集成三端穩壓塊,具有改變輸出電壓的能力,使用非常方便而且應用范圍非常廣。穩壓電源的輸出電壓可根據公式Vo=1.25(1+R2/R1)進行計算。7.2V電源由兩節鋰離子電池串聯得到,7.2V電壓經過穩壓芯片LM317AH轉換得到5V電壓,給其它模塊供電,7.2V提供給電機。分開供電的目的是最大程度減少電機運行過程中對其它模塊和器件產生干擾。 3.3 主控電路設計3.3.1 AT89C51單片機介紹89C51單片機是把所有具有控制應用所必須的模塊都集成在一個大小有限的集成電路芯片上。如果按功能劃分,它由如下功能部件組成,即微處理器、數據存儲器、程序存儲器、并行I\O口、串行口、定時器/計數器、中斷系統及特殊功能存儲器。它們是由單一總線連接而成,其基本結構是CPU加上外圍電路芯片的傳統結構模式,但對各種功能部件的控制是采用特殊功能寄存器的集中控制方式。 1微處理器 該單片機中包含一個與通用的微處理器基本相同的八位的微處理器,同時包含了控制器和運算器兩大部分,提高了單片機控制的處理功能的能力,它可以處理位變量和處理數據。 2數據存儲器 其內部為128個字節,片外最多擴至64k字節,在程序運行的時候運算中間結果、工作變量、緩沖、標志位和數據暫存等,所以稱為數據存儲器。 3程序存儲器 由于受集成度限制,片內只讀存儲器容量不夠時可擴展至片外只讀存儲器,片外最多可外擴至64k字節。 4中斷系統 具有5個中斷源。2級中斷優先權。 5定時器/計數器 片內有2個16位的定時器/計數器,具有四種工作方式。 6串行口 1個全雙工的串行口,具有四種工作方式。可用來進行串行通訊,擴展并行I/O口,甚至與多個單片機相連構成多級系統,從而使單片機的功能更強且應用更廣。 7P0口、P1口、P2口、P3口 為4個并行8位I/O口 8特殊功能寄存器 共有21個,用于對片內的各功能部件進行管理、控制、監視。實際上是一些控制寄存器和狀態寄存器,是一個具有特殊功能的RAM區。 89C51是一種低功耗、低電壓、高性能的8位單片機。它采用了CMOS和高密度非易失性的存儲器技術,而且其輸出引腳和指令系統都與MCS-51兼容;片內的FlashROM允許在系統內改編程序或用常規的非易失性存儲器編程。因此89C51是一種功能強、靈活性高且價格合理的單片機,可方便地應用在各種控制領域。 3.3.2 最小系統介紹file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image006.gif 圖3.4單片機控制電路 1.電源 89C51單片機的電壓為4.0-5.5V。我們選擇LM317AH穩壓芯片對系統進行供電,其中C為瓷片電容,主要起退耦作用,保證單片機穩定工作,維持各模塊的正常工作使小車能夠高速穩定的運動。 2.晶振 晶振和單片機內部的電路相結合,產生單片機需要的時鐘頻率,單片機的所有指令都是通過在這個基礎上執行的。晶振提供時鐘頻率,單片機運行速度隨著時鐘頻率的變化而變化,時鐘頻率越高單片機運行速度就越快。本系統主要采用頻率為12M的晶振,再配合使用2個30Pf的電容構成晶體振蕩電路。 3.復位 復位電路能夠確保系統中各個電路模塊的正常工作穩定運行,因此是電路部分不可缺少的部分。復位電路首先是要進行上電復位,復位電路中的1uF電容在上電瞬間給RST端一個瞬時的高電平脈沖,當這個電容上的電量充滿時高電平的信號將變低,即RST端的高電平保持的時間是由外部這個充電電容決定的。 3.3.3 主控電路本系統采用AT89C51作為控制核心,P2口主要接電機驅動和報警電路,P0口接數碼管的段選,P1口低四位接四位數碼管的位選,高四位接傳感器模塊。18、19接單片機的晶振,9腳接復位。電容C起退耦作用,防止電源波動對單片機的影響。 3.4 電機驅動模塊file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image008.gif 圖3.5電機驅動電路圖 驅動電路主要是控制電機的轉向和停車。本設計采用H橋驅動電路,L298N內部集成了H橋式驅動電路,單片機給予L298N電路PWM信號控制小車的速度和啟停,單片機通過I/O口向L298N的17、18腳發送驅動控制信號實現電機的速度和正反轉及啟停。 3.4.1 驅動電路設計 電機驅動采用L298作為主要的驅動芯片,比較常見的15腳Multiwatt封裝,內部有4通道邏輯驅動電路。 利用L298及其外部輔助電路和電機構成驅動電路。LM298的六個輸入控制端IN1、IN2、IN3、IN4以及ENA和ENB接單片機I/O口,L298的輸出端OUT1、OUT2和OUT3、OUT4分別與MOTO1,MOTO2兩個電機相接。D2-D9主要是保護電路,保護LM298防止被燒壞,由于當系統斷電時,LM298停止工作,但是電機由于慣性仍然繼續運動,此時電機相當與一個發電機,向外部電源發電。這個電壓如果直接加到LM298的輸出端就可能引起LM298燒壞。所以,必須在這個上面加上8個二極管,把電機斷電時產生的電能吸收掉,保護LM298不被燒壞。 3.4.2 H橋電機驅動電路如圖3.6所示是一個常用的電機驅動控制電路。因為它的形狀和字母H非常相似,因此叫做“H橋驅動電路”。4個三極管組成這個電機驅動電路。電機驅動電路H橋式通常包括4個三極管和一個電機。導通時分別為對角線上的一對三極管,相應電機會正反轉。判斷不同三極管對的導通與否,然后判斷電流的流向,根據電流的流向控制電機的轉向。 file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg 圖3.6 H橋結構圖 對角線上的一對三極管導通則電機轉動。例如,如圖3.7所示,當Q1管和Q4管同時導通時,電流就從三極管Q1從左至右如黑線所示順時針流過電機,圖中箭頭所示為電流流過的方向,這時電流將驅動電機正轉。 file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image012.jpg 圖3.7 H橋控制電機正轉 圖3.8所示為三極管Q2和Q3導通時的電流流向,電流將從右至左逆時針方向流過電機。當三極管Q2和Q3同時導通時,電流將從右至左流過電機,驅動電機將反轉。 file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image014.jpg 圖3.8 H橋控制電機反轉 3.5 路徑識別模塊設計光電傳感器通過發射管發射光線再通過接收管接受反射回來的光線的強度的判斷來確定周圍的道路情況。本設計中,光線在白色地面上反射回來的輕度較強,而在黑色地面上反射的光線較弱,經過接收管兩端輸出電阻不同區分開黑白路面。 將激光傳感器的發射管和調制管連接,通過載波來改變發射管的發光頻率。接收管通過接收的光線通過放大、比較將信號傳遞給單片機,從而控制單片機輸出高低電平判斷線路的軌跡。 3.6 電機轉向電路設計舵機的結構包括減速齒輪組、位置反饋電位計和直流電機等控制電路。減速齒輪組由電機驅動,其輸出軸帶動一個線性的比例電位器作位置檢測。該電位器把轉角線性地轉換為電壓并反饋給控制線路板,然后控制線路板將其與輸入的控制脈沖信號比較,產生糾正脈沖,并驅動電機正、反轉,使齒輪組的輸出位置與期望值相符,從而達到使伺服電機精確定位的目的。 舵機工作原理框圖如圖3.9所示: file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image015.gif
圖3.9舵機的控制工作原理框圖 舵機的輸入線共三條:白線是控制信號線。紅線是電源線,黑線的地線,這兩根線給舵機提供基本的能源保證,主要是電機的轉動消耗。 三線連接法: 黑線:地線 紅線:電源線(7.2V) 白線:信號線(PWM信號)
|
|
|
|
| file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image016.gif |
|
| |
|
舵機插頭 小車在實際的運行過程中,當提供給舵機7.2V電源會發現小車轉向非常靈敏,如果電壓電源低于7.2V會明顯發現舵機反應遲鈍。正常情況下電機反應較靈敏,能夠順利完成小車運行所需的靈敏度要求。并且舵機內部有過載保護作用,不會造成過電壓而損壞電機。 3.7 避障模塊設計采用一只紅外對管置于小車右側,當檢測到障礙物時,控制芯片輸出報警信號并調用控制小車避障程序,從而達到避障的目的。通過測試發現小車能夠很好的避開障礙,且充分的利用資源而不浪費。 這里我們選用TCRT5000型光電對管,該紅外光電傳感器采用高發射功率紅外光電二極管和高靈敏度光電晶體管組成,輸出信號經施密特電路整形,穩定可靠。原理圖如下: file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image018.jpg 圖3.10避障原理圖
電路工作時,傳感器的紅外發射二極管不斷發射紅外線,當接收端沒有接收到反射回來的紅外線或接收到的紅外線強度不大時,光敏三極管一直保持關斷狀態,此時模塊的輸出端為低電平,指示二極管一直處于熄滅狀態;被檢測物體出現在檢測范圍內時,接收紅到的外線強度足夠大,光敏三極管飽和,此時模塊的輸出端為高電平,指示二極管被點亮。 3.8 驅光模塊設計感光電路采用光敏電阻和ADC0832組合電路。通過A/D轉換后的電壓變換量反饋到單片機里執行尋光處理程序。 感光模塊主要由光敏電阻和ADC0832組成。正常情況下ADC0832與單片機的接口應為4條數據線,分別為CS,CLK,D0,DI.但由于D0和DI端在通信時并未同時有效并與單片機的接口是雙向的,因此在電路設計過程中可以將D0和DI并聯在一根數據線上使用。當ADC0832未工作時,CS端應為高電平,此時芯片禁用,CLK和D0/DI的電平不需要確定。當要進行A/D轉換時,必須將CS端置于低電平并保持到轉換結束。此時芯片開始轉換工作,同時由處理器向芯片時鐘輸入端CLK輸入時鐘脈沖,D0/DI端則使用DI端輸入通道功能選擇的數據信號。在第1個時鐘脈沖的下沉之前,DI端必須置于高電平,表示起始信號。在第2,3個脈沖下沉之前DI端應輸入2位數據用于選擇通道功能,此時2位數據為“1”“0”時,只對CHO進行單通道轉換。當2位數據為“1”“1”時,只對CH1進行單通道轉換。當2位數據為“0”“0”時,將CH0作為正輸入端,CH1為負輸入端進行輸入。當2位數據為“0”“1”時,將CH1作為正輸入端,CH0作為負輸入端進行輸入。到第3個脈沖的下沉之后,DI端的輸入電平就失去輸入作用,此后D0/DI端則開始利用數據輸出D0進行轉換數據的讀取。從第4個脈沖下沉開始由D0端輸出轉換數據最高位DATA7,隨后每一個脈沖下沉D0端輸出下一位數據。直到第11個脈沖時發出最低位數據DATA0,一個字節的數據輸出完成。也正是從此位開始輸出下一個相反字節的數據,即從第11個字節的下沉輸出DATA0。隨后輸出8位數據,到第19個脈沖是數據輸出完成,也標志一次A/D轉換的完成。最后將CS置高電平禁用芯片,直接將轉換后的數據進行處理就可以了。 3.9 報警模塊設計在單片機的I/O口里會輸出高低電平,在p21和p23分別接上LED指示燈而p25接上了蜂鳴器外接個9012的三極管起到開關的作用,當三極管達到飽和狀態下就驅動了蜂鳴器工作了。 file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image020.jpg 圖3.11報警電路原理圖 3.10 顯示電路設計單片機的顯示通常需要多位顯示。大多數時候選擇多位數碼動態顯示來完成。 在數碼管顯示電路中,數碼管8段每一段都會占用單片機的一個I/O口,本次設計采用4位數碼管,則需要32個I/O接口,而單片機的I/O口只有32個,必然導致接口不夠用,動態顯示則剛好解決這個問題。 所有數碼管的段選全部連接在一起,如何不同內容的同時顯示呢?動態顯示的原理是利用多位數碼管交替來顯示,利用人的視覺短暫停留效果使人的視覺上看到好像多個數碼管同時在顯示。 在編程時,要用單片機控制和段選,所謂段選是指選中其中一個數碼管,然后通過單片機輸出段碼,要顯示的數字就能在相應的數碼管上顯示出來,延時一段時間后,再選中另一個數碼管,再顯示出對應的段碼,高速交替。 在動態顯示程序中,各個位的延時時間的設置也是非常關鍵的,如果延時時間太長就會出現閃爍的現象;如果時間太短就會出現顯發暗且有重影。 靜態驅動就是單獨為每一個LED提供電流。這樣每個LED都能夠正常發光,亮度相對較高。 動態掃描驅動就是把電流供給所有的LED燈,燈的顯示亮度在相當短的時間內會顯得暗一點,由于供給給每個LED的電流并不是相同的,而是根據各LED間掃描頻率的電流不斷交替變化,掃描的頻率依據程序具體的設定,實際上每位數碼管是根據掃描頻率一次給每一個LED單獨供電。 第4章 系統軟件設計和編程4.1 主程序框圖設計
|
| file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image021.gif |
圖4.1主程序設計流程圖 程序設計主要包括電機的程序控制設計、舵機的程序控制設計以及道路信息檢測程序設計等幾個部分。所有的控制程序編程思路,除了模塊的初始化之外,都是以激光傳感器采集到的道路信息作為控制策略制定的基礎,以編碼器測得的實際行駛速度作為智能車的速度反饋信息,利用PID控制和模糊控制等思想,軟件和硬件有機結合,共同實現智能車自動尋跡形式的目的。主程序的控制流程圖如上面圖4.1所示。
4.2 循跡程序設計file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image022.gif
圖4.2循跡流程框圖 小車在行駛過程中通過激光傳感器采集小車周圍的道路信息反饋給單片機,單片機作出相應的反應。當檢測到小車偏離路線時,單片機通過控制電機的轉速使小車回到正確的路線,然后單片機再控制電機加速使小車高速行駛,當檢測到終點時,單片機控制小車減速直至小車在終點處停止運動。
4.3 避障程序設計file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image023.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image024.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image025.gif file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image026.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image027.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image028.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image029.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image030.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image031.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image032.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image033.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image034.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image035.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image036.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image037.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image038.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image037.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image039.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image040.gif
圖4.3避障程序流程圖 在小車行駛過程中,當激光傳感器檢測到小車前方有障礙物時,通過傳遞信息給單片機,使單片機執行相應的動作。通過控制電機轉速使小車減速,通過舵機實現小車轉向,當小車避過障礙物后再通過舵機使小車回到原來的軌跡上行駛。當激光傳感器未檢測到障礙物時,小車正常行駛,通過控制電機轉速使小車加速,直至小車高速穩定運行。
第5章 系統硬件和軟件的仿真5.1 仿真軟件介紹5.1.1 PROTUSE軟件介紹本系統使用protuse仿真軟件進行仿真,并結合Keil C進行聯合調試。它是一款著名的EDA仿真軟件,從畫原理圖、調試代碼到單片機和外圍電路協同仿真,一鍵切換到PCB設計,實現了從概念到產品的完整設計。是一款集電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件于一體設計軟件,其處理器模型支持HC11、PIC10/12/16/18/24/30/DsPIC33、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續增加其它系列處理器模型。它同時還支持IAR、Keil和MPLAB等多種編譯器進行編譯。 元器件種類多:器件庫中含有2700多種元器件,創建新元件也非常的容易;智能的器件搜索:對于比較模糊的元器件還可以通過模糊搜索迅速的找到所需的元器件的位置;它的連線功能也非常的智能化,連線時方便快捷,大大減短了繪圖所需要時間;支持總線結構:使用器件和總線布局使電路變得清晰明了。 在該軟件中繪制完成電路圖后,再調入已經編譯好的目標代碼文件就能夠清晰的觀察到模擬的實物運行的整個狀態過程。它不僅可以將單片機的功能形象化,同時還可以將實例運行的過程形象化。前者可以在一定程度上得到實物演示實驗的效果,后者則是實物演示實驗難以達到的效果。它的元器件、連接線路等卻和傳統的單片機實驗硬度高度對應。這在相當程度上替代了傳統的單片機教學實驗的功能。而且數據庫提供了大量的元器件,這是實驗室無法與之相比的。在修改電路設計上更加的方便,它具有設計靈活,結果、過程統一的特點。且使設計時間變短,降低工程制造的風險和成本。 5.1.2 MULTISIM軟件的介紹Multisim軟件用于電路設計和仿真,是一款EDA軟件。它擁有一個完整的集成化設計環境。Multisim計算機仿真與虛擬儀器技術不僅可以節省學校購買儀器的成本還能夠讓學生隨時進行相關實驗。學生能夠很方便的使用該軟件進行繪圖和進行仿真,通過理論與實踐相結合提高獨立思考的能力,增強自己的專業知識。Multisin軟件的特點: (1)清晰的圖形界面:整個操作界面就像一個電子實驗工作平臺,繪制出電路所需要的元器件和仿真所需要的儀器都能夠直接拖放到操作界面,點擊鼠標就能使用導線連接功能將它們連接起來,軟件儀器的控制面板和操作方式都與實物相似,測量實物、波形和特性曲線都能夠在儀器的控制面板上顯示出來,和在實驗室使用真實儀器一樣。 (2)元器件種類繁多:Multisim在EWB的元器件庫原有基礎上又增加了很多元器件,包括基本元件、半導體器件、運算放大器及其它各種部件,用戶還能夠使用元件編輯庫的功能編輯自己所需要的元件模型,還可以通過LiT公司網站或其代理商獲得元件模型的擴充和更新服務。 (3)接近完美的分析方法: EWB不僅提供了直流工作點分析、交流分析、瞬態分析、傅里葉分析、噪聲分析、失真分析、最壞情況分析等等外,Multisim還添加了很多的分析手段,包括直流掃描分析、批處理分析、等,一定程度上滿足了需求者對一般電子電路的分析設計要求。 5.2 仿真結果及分析5.2.1 基于PROTUES平臺仿真結果分析該系統的鍵盤顯示與電機驅動是在KEIL C編程下使用PROTUES仿真。最終實現其設計與仿真的。 鍵盤顯示仿真部分是由單片機AT89C51仿真、4*4鍵盤矩陣鍵盤、電阻、LCD1602液晶顯示屏組成。電機驅動仿真部分是由單片機AT89C51、L298驅動芯片、直流電機以及部分保護電路組成。本電路對鍵盤的八個鍵設置了電機和顯示的一系列功能。通過對4*4的鍵盤進行掃描,將鍵盤信號輸入到單片機,由單片機的P0口輸入到顯示屏,通過P2口來控制電機驅動芯片實現電機的正轉、反轉、停止、加速、減速等功能。 如圖5.1所示,4*4矩陣鍵盤上key1鍵控制第一個電機正轉傳屏幕顯示“one run right”,key2控制第一個電機反轉屏幕顯示“one run left”;key3控制第二個電機正轉屏幕顯示“two run right”;key4控制第二個電機反轉屏幕顯示“two run left”,key5和key6控制第一個和第二個電機停止并顯示“one stop”和“two stop”;key7和key8分別控制第一個電機正轉加減速,并分別顯示“one right quick”和“one right slow”。 file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image042.gif 圖5.1電機驅動電路仿真圖 5.2.2 基于MULTISIM仿真平臺結果分析當開關J1閉合,J2B打開時,電機正轉;當開關J1打開,J2B閉合時電機反轉, H橋電路仿真圖: file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image044.jpg 5.2H橋電路仿真圖
電源管理模塊仿真結果: file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image046.jpg 5.3電源電路仿真圖
|