便攜式傳感器巡檢儀實習報告羅長海_第1頁
便攜式傳感器巡檢儀實習報告羅長海_第2頁
便攜式傳感器巡檢儀實習報告羅長海_第3頁
便攜式傳感器巡檢儀實習報告羅長海_第4頁
便攜式傳感器巡檢儀實習報告羅長海_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、PAGE PAGE 21實訓題目:基于STM32的智能小車設計 201002411201002411羅長海羅長??刂乒こ炭刂乒こ腾w建敏趙建敏2011目 錄 TOC o 1-3 h z u HYPERLINK l _Toc293642951 第一章 引言1 HYPERLINK l _Toc293642952 1.1 緒論1 HYPERLINK l _Toc293642953 1.2 課題研究的背景 PAGEREF _Toc293642953 h 1 HYPERLINK l _Toc293642954 1.3 國外智能車研究概況 PAGEREF _Toc293642954 h 2 HYPERLIN

2、K l _Toc293642955 1.3 選題的目的及意義 PAGEREF _Toc293642955 h 3 HYPERLINK l _Toc293642956 1.4 課題研究的內容 PAGEREF _Toc293642956 h 3 HYPERLINK l _Toc293642957 第二章 硬件的電路設計部分 PAGEREF _Toc293642957 h 3 HYPERLINK l _Toc293642958 2.1 系統(tǒng)整體結構圖 PAGEREF _Toc293642958 h 4 HYPERLINK l _Toc293642959 2.2主控芯片STM32 PAGEREF _T

3、oc293642959 h 4 HYPERLINK l _Toc293642960 2.2.1 STM32的介紹 PAGEREF _Toc293642960 h 4 HYPERLINK l _Toc293642961 2.2.2 STM32的AD模塊 PAGEREF _Toc293642961 h 5 HYPERLINK l _Toc293642962 2.2.3 STM32的通用定時器 PAGEREF _Toc293642962 h 5 HYPERLINK l _Toc293642963 2.3 直流電機的驅動 PAGEREF _Toc293642963 h 5 HYPERLINK l _T

4、oc293642964 2.4 轉向伺服電機的設計 PAGEREF _Toc293642964 h 6 HYPERLINK l _Toc293642965 2.5 轉速檢測電路設計 PAGEREF _Toc293642965 h 7 HYPERLINK l _Toc293642966 2.6 光電傳感器探測頭的排列安裝 PAGEREF _Toc293642966 h 8 HYPERLINK l _Toc293642967 2.7電源電路的設計 PAGEREF _Toc293642967 h 8 HYPERLINK l _Toc293642968 第三章 軟件的設計部分 PAGEREF _Toc

5、293642968 h 10 HYPERLINK l _Toc293642969 3.1 光電傳感器路徑的識別 PAGEREF _Toc293642969 h 11 HYPERLINK l _Toc293642970 3.1.1 路徑識別的方案的選擇及比較 PAGEREF _Toc293642970 h 11 HYPERLINK l _Toc293642971 3.1.2 紅外傳感器型號的選擇 PAGEREF _Toc293642971 h 12 HYPERLINK l _Toc293642972 3.1.3 對光電傳感器輸出模擬量的轉換 PAGEREF _Toc293642972 h 12

6、HYPERLINK l _Toc293642973 3.1.4 光電傳感器的狀態(tài)分析 PAGEREF _Toc293642973 h 13 HYPERLINK l _Toc293642974 3.1.5 數字濾波(經AD轉換成的數字量) PAGEREF _Toc293642974 h 14 HYPERLINK l _Toc293642975 3.1.6 求的光電傳感器處在黑線上的個數 PAGEREF _Toc293642975 h 15 HYPERLINK l _Toc293642976 3.1.7 黑線的中心點的判定 PAGEREF _Toc293642976 h 15 HYPERLINK

7、l _Toc293642977 3.1.8路徑識別的彎道策略分析 PAGEREF _Toc293642977 h 15 HYPERLINK l _Toc293642978 3.1.9 路徑識別的概括 PAGEREF _Toc293642978 h 16 HYPERLINK l _Toc293642979 3.2 PID控制算法在本智能車上的應用 PAGEREF _Toc293642979 h 16 HYPERLINK l _Toc293642980 3.3 STM32定時器的PWM的輸出實現 PAGEREF _Toc293642980 h 17 HYPERLINK l _Toc29364298

8、1 3.4 智能小車總的程序框圖 PAGEREF _Toc293642981 h 18 HYPERLINK l _Toc293642982 第四章 總結 PAGEREF _Toc293642982 h 19第一章 引言1.1 緒論智能車作為智能交通系統(tǒng)的關鍵技術,是許多高新技術綜合集成的載體,而汽車自主駕駛技術的研究在公路管理、交通運輸等方面有著廣闊的應用前景,受到廣泛的重視。自主駕駛任務的自動完成將給人類社會帶來很大的影響,例如能夠切實地提高道路網絡利用效率、降低車輛的燃油消耗量,尤其是在改進道路交通安全等方面提供了新的解決途徑。除了在增加駕駛安全和減少道路交通安全等方面表現出來的優(yōu)勢外,智

9、能車的研究有利于提高道路的通行能力,從而實現交通環(huán)保節(jié)能。近十年來,智能交通系統(tǒng)(ITS)方面的研究工作已經得到了世界上許多研究機構的關注,同時己經研發(fā)出了一些智能化的原型車輛,并進行了路面測試。在智能化原型車研發(fā)過程中,得益于一些交叉學科的相關領域知識,如機器人技術、人工智能、自動控制、電子通訊、信號處理技術等,從中得到許多新觀點,新方法。1.2 課題研究的背景90年代以來,計算機、電子、圖像處理等技術飛速發(fā)展,在這種背景下,將各種先進技術運用到汽車工程中,減少交通事故,減輕駕駛員勞動負荷的思想就應運而生,一門新興的交叉學科智能車輛系統(tǒng)IVS(Intelligent Vehicle Syst

10、em)產生了。智能車廣義上屬于移動機器人范疇,是集環(huán)境感知、規(guī)劃決策等功能于一體的綜合系統(tǒng),能夠在出發(fā)點和目標點之間自主駕駛移動。移動機器人在各個領域都具有廣泛的應用前景。例如,在工業(yè)生產中,可以代替人類完成惡劣環(huán)境下的貨物搬運、設備檢測等任務;在軍事上,可以在危險地帶代替人類完成偵察、排雷等任務;在民用上,可以作為導盲車為盲人提供幫助;在科學研究方面,可以代替人類完成外星球勘探或者礦藏勘探等。智能車輛技術具有廣闊的市場前景,這吸引著各大汽車公司的大力投入,大大加速了智能車輛的適用化進程。目前,在歐洲和日本的某些轎車上,已經應用了適應性巡航控制,本田、尼桑和豐田公司各自在先進安全性車輛計劃中發(fā)

11、展了車道定位系統(tǒng),通過路邊標識信息進行車輛導航,并自動控制車輛速度。2003年,由國防科技大學和中國第一汽車集團公司聯合研制的我國第一輛自主駕駛紅旗轎車在長春問世。我國在智能車輛技術領域的研究與工業(yè)發(fā)達國家有很大的差距,但無論是從學科發(fā)展、理論研究的角度,還是從發(fā)展汽車工業(yè)以及市場競爭的角度看,超前研究都是必要的。在某一方面或某些方面,進行深入、細致的研究,為今后智能車輛的發(fā)展及實際應用打下堅實的基礎,無疑具有深遠意義。1.3 國外智能車研究概況目前,世界上智能車的研究主要有以下3個大的研究方向:1監(jiān)控、警告系統(tǒng):這部分主要研究智能車前方碰撞警告、盲點警告、行車道偏離警告、換道警告、十字路口防

12、撞警告、行人檢測、倒車警告等方面的問題。2半自主式車輛控制系統(tǒng):與上一部分相比,此部分具有更高級的車輛自動化。如當駕駛員對警告來不及反應時,系統(tǒng)接管車輛的控制,通過控制車輛的轉向、制動、扭矩等使車輛回復到安全狀態(tài)。3自主車輛控制系統(tǒng):此部分具有完全的車輛自動化,研究包括車輛路況識別自主導航、低速等距行駛、排隊行駛等方面的問題。道路導航方面的研究是自主車輛控制研究領域的重點研究方向,目前,國內外智能車輛一般采用視覺導航方式為主的技術路線,視覺導航將成為未來機器人導航的一個主要發(fā)展方向。但現有的視覺導航技術還沒達到實際應用的水平,存在檢測實時性不夠,應用范圍有限,設備造價高等問題。因此在這個領域的

13、研究前景很廣闊。吉林大學1992年起開始智能車輛方面的研究,先后開發(fā)出JUTIV系列智能車輛,JUTIV-3型為實用型視覺導航車,已投入工廠進行測試,JUTIV-4型高速智能車輛已完成整車安裝調試,利用多傳感器信息融合、人工智能、最優(yōu)控制理論,深入研究在非結構化道路環(huán)境下的道路導航和跟蹤、安全車距保持、換道超車等技術。在國防科工委和國家863計劃的資助下,清華大學自1988年開始研制THMR(Tsinghua Mobile Robot)系列移動機器人系統(tǒng)。其中,THMR-V系統(tǒng)是清華大學計算機系研制的新一代智能移動機器人,兼有面向高速公路和一般道路的功能。車上裝備有彩色攝像機、光電碼盤、激光測

14、距儀等,采用基于模糊控制的局部路徑規(guī)劃及導航控制。1.3 選題的目的及意義智能車融合了嵌入式系統(tǒng)應用、光電檢測、圖像處理與路徑識別、自動控制和電機控制等多種技術,其研究成果應用到很多領域中,例如擁有路徑跟蹤功能的自動導引車便廣泛應用于自動倉庫、柔性加工生產線、柔性轉配線等領域,在一些惡劣的地面工作環(huán)境中,具有一定的危險的工作就可以利用智能車來完成任務,基于機器視覺的智能車路徑跟蹤控制系統(tǒng)能夠更全面地獲取道路信息,利用各種有效的圖像處理算法對路徑進行識別,提高了路徑識別的準確性,拓寬智能車的視野,能對更遠的路徑提前做好判斷,提高了智能車路徑跟蹤的平均速度和車身穩(wěn)定。作為能夠自動進行路徑跟蹤的智能

15、車,車身與控制器本身就是一個自動控制系統(tǒng),有些控制理論與算法已非常成熟,且在實際應用中效果非常好,一些新的控制算法在靈活性上也有很大的提高,因此對各種控制算法的靈活運用能夠提高智能車路徑跟蹤系統(tǒng)的整體性能。目前,基于智能車模型的主要研究意在更快、更穩(wěn)地使智能車行駛在跑道規(guī)定范圍內,在盡可能短的時間里跑完指定路程。在本課題中,通過采用何種方式對道路作出合理響應,能夠準確的在道路上更快、更穩(wěn)地行駛在跑道規(guī)定的范圍內是智能車研究的難點。1.4 課題研究的內容 在本課題中研究的目的是使智能小車在特定的賽道上能夠穩(wěn)定而且快速的行駛。課題的研究內容分為兩個方面硬件方面和軟件方面:(1).硬件方面主要是包括

16、智能小車的控制核心、直流電機的驅動、轉向伺服電機、速度的檢測裝置、路徑的檢測裝置和電源的管理等方面。(2).軟件方面包括智能小車路徑的識別、PID在智能小車上的應用以及控制直流電機和轉向伺服電機的PWM的產生。這個三個方面路徑識別是智能小車研究的重點,對于智能小車只有正確采集路徑的信息才能平穩(wěn)而快速的行駛。路徑的識別涉及到傳感器的對路徑信息的采集、路徑信息的AD轉換以及針對路徑識別精確性的算法,除此之外路徑識別需要控制核心有高運算速度和實時性,因而路徑識別是本課題研究的難點及重點。第二章 硬件的電路設計部分2.1 系統(tǒng)整體結構圖智能小車控制系統(tǒng)以單片機為核心,包括了轉向伺服電機和為小車提供動力

17、的直流電機、裝在小車前方的路徑識別傳感器、以及安裝在后輪上的測速傳感器、還有為系統(tǒng)各部分提供電源的電源管理模塊等。智能小車控制系統(tǒng)的整體結構參見圖2-1所示。 圖2-1 系統(tǒng)組成框圖 系統(tǒng)的工作流程:光電傳感器采集到的路徑信息(即模擬量),傳遞給STM32經過內部AD模塊轉換成數字量,轉換成的數字量通過一定比較,分別取各通道檢測黑線的最小值和檢測白線的最大值作為判斷是黑線還是白線的標準,這樣可以保證光線對紅外光電傳感器的影響減少到最小,通過判斷黑線的位置,進而通過舵機調整小車的方向,同時通過光電編碼器采集小車的速度,將反饋速度值通過PID運算來控制小車的行駛速度,使小車能夠更加平穩(wěn)的在賽道上行

18、駛。 主控芯片STM322.2.1 STM32的介紹STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應用專門設計的ARM Cortex-M3內核。按性能分成兩個不同的系列:STM32F103是增強型系列和STM32F101是基本型系列。增強型系列時鐘頻率達到72MHz,是同類產品中性能最高的產品;基本型時鐘頻率為36MHz,以16位產品的價格得到比16位產品大幅提升的性能,是十六位產品用戶的最佳選擇。兩個系列都內置32K到128K的內存,不同的是SRAM的最大容量和外設接口的組合。時鐘頻率72MHz時,從閃存執(zhí)行代碼,STM32功耗36mA,是32位市場上功耗最低的產品,相當于0.5m

19、A/MHz。以下是STM32單片機的特點簡介:最高72MHz的工作頻率,具有單周期乘法和硬件除法功能。512K字節(jié)的閃存程序存儲器;高達64K字節(jié)的SRAM;帶4個片選的靈活的靜態(tài)存儲器控制器;2通道12位D/A轉換器。12通道DMA控制器。支持定時器、ADC、DAC、USART等外設。2個控制定時器,6個通用計時器,滿足軟件中時序控制和定時的需求。多個USART外設,方便與外界溝通。符合2.0A和2.0B協(xié)議的主動式CAN控制器。2.2.2 STM32的AD模塊針對AD轉換本設計充分利用STM32芯片自帶的AD轉換模塊,由于STM32內部有3個ADC,每個ADC是12 位的逐次逼近型模擬數字

20、轉換器,最短轉換時間只有1s;它有18 個通道,可測16 個外部和2 個內部信號源;各通道的A/D 轉換可以單次、連續(xù)、掃描或間斷模式執(zhí);ADC的結果可由轉換完成中斷處理由DMA傳送到指定緩沖區(qū),對齊方式可以左對齊或右對齊方式存儲在16 位數據寄存器中,由此可以看出STM32的高性能完全適合對路徑識別信息的處理。2.2.3 STM32的通用定時器STM32中有多達8個定時器,其中TIM1和TIM8是能夠產生三對PWM互補輸出的高級定時器。每個定時器都有一個16 位的自動加載遞加/遞減計數器、一個16 位的預分頻器和4 個獨立的通道,每個通道都可用于輸入捕獲、輸出比較、PWM 和單脈沖模式輸出,

21、在最大的封裝配置中可提供最多12 個輸入捕獲、輸出比較或PWM 通道。它們還能通過定時器鏈接功能與高級控制定時器共同工作,提供同步或事件鏈接功能。 在本設計中采用STM32通用定時器的PWM模式,來產生PWM進而達到對直流電機和轉向伺服電機的控制。2.3 直流電機的驅動在對直流電機進行速度控制,在本設計中采用的是通過PWM調速方式,通過改變PWM的占空比,不同的占空比來改變直流電機的速度,進而控制小車行駛速度。為了使單片機實現對直流電機的控制,在本設計中使用MOTOROLA公司的H橋芯片MC33886。該芯片的供電電壓在5V至40V之間均可,MOSFET管的導通電阻為120m, PWM的最高頻

22、率可達10kHz,同時具有短路保護功能和故障信號的輸出。V+是為直流電機供電的電源。IN1和IN2兩個邏輯電平輸入端分別控制輸出端OUT1和OUT2。當IN1輸入高電平時,OUT1輸出也為高電平即通過H橋與V+導通;當IN1輸入低電平時,OUT1輸出也為低電平即通過H橋與GND導通。IN2和OUT2的關系與此相同。FS為故障信號開漏極輸出,低電平有效。當D1是高電平或者D2是低電平時,同時禁用OUT1和OUT2的輸出,使OUT1和OUT2同時變?yōu)楦咦钁B(tài)。通過控制IN1和IN2的電平,即可控制電機正轉、反轉、停轉。直流電機驅動電路如圖2-2所示。圖2-2 MC33886驅動直流電機圖2.4 轉向

23、伺服電機的設計轉向伺服電機采用三線連接方法,即灰線為地線,紅線為電源線(電源可以采用4.8V、6V兩種標準),黃線為控制信號線。轉向伺服電機的控制信號采用PWM脈寬調制波,在特定的頻率(20ms的周期)和占空比下轉向伺服電機會轉動特定的角度。表1述了在不同占空比的條件下,轉向伺服電機所轉過的角度。表1 不同占空比的轉向角度控制轉向伺服電機的占空比(周期20ms)轉向伺服電機轉過的角度0.5ms/20ms=2.5%- 901.0ms/20ms=5% - 45 1.5ms/20ms=7.5% 0 2.0ms/20ms=10% 45 2.5ms/20ms=12.5% 90由于小車前輪轉向只能在度范圍

24、內,所以用于小車轉向的PWM波的占空比范圍為5%-10%之間,右轉極限位置時PWM波占空比為5%,左轉極限占空比為10%,頻率為50HZ。在了解了轉向伺服電機的控制方法后,利用單片機的PWM通道產生相應頻率和占空比的PWM波形即可實現對轉向伺服電機的控制,進而實現對小車轉向的控制。2.5 轉速檢測電路設計速度檢測電路的基本原理為:在很短的時間內,通過光電傳感器來測量固定在后輪的軸上的碼盤通過的孔數,輸送到單片機的脈沖累加器外部引腳,經過換算計算出智能車的實際速度,為速度PID控制環(huán)節(jié)提供可靠的數據。光電傳感器是經過改造制成的。以智能車原來所攜帶的安裝在后輪的軸上的齒輪作為碼盤,齒輪本身具有76

25、個齒,即相當于光電碼盤上有76個孔,具有相當的精確度。另外自己制作基本的支架,通過光電傳感器來實現對后輪電機的速度采集。光電傳感器的供電電壓為5V,外加1K的上拉電阻,輸出信號的是05V高低電平。具有齒槽結構的圓盤固定在后輪驅動電機輸出軸上,采用直射式紅外光傳感器讀取齒槽圓盤轉動脈沖,再通過PB0(TIM2采集)返回給STM32單片機,STM32單片機通過通用內部定TIM2采集脈沖數,經過換算成小車的速度,為速度PID控制提供反饋速度。小車后輪的一圈的周長是,安裝在后輪軸上的齒輪具有76個齒,即小車后輪轉動一圈將引起76個脈沖數累積,假設對脈沖數的累積時間是t,在這段時間內共獲得n個脈沖數累積

26、,則小車的速度為: 2.6 光電傳感器探測頭的排列安裝 智能車的傳感器排列如圖2-3所示,13個紅外傳感器均勻排列,每兩個傳感器之間的距離為20mm,這樣做的目的是,并排列的兩個光電管可以同時比賽的黑線(25mm),這樣當賽車在直道行駛時,通過中間的兩個傳感器可以使小車牢牢鉗住黑線,使小車順利沿直線行走,加速行駛。為了防止紅外接收管受到漫反射的作用而受到干擾,不能準確探測預定點的位置,采取了用分別點亮光電管的方法,這樣,使得其抗干擾能力大大加強。 圖2-3 模型車激光傳感器一字排布圖電源電路的設計 電源電路為系統(tǒng)其它各個模塊提供所需要的電源。在設計中,除了需要考慮電壓范圍和電流容量等基本參數之

27、外,還要在電源轉換效率、降低噪聲、防止干擾和電路簡單等方面進行優(yōu)化。但是,由于電池提供的電壓是7.2V,而舵機需要6V電壓供電,單片機模塊,路徑識別模塊和測速模塊需要5V電壓供電,動力電機驅動模塊需要使用7.2V和5伏兩種電壓。因此需要電壓轉換電路來得到相應的電壓。(1)電壓管理方案選擇與比較方案一:采用普通的電源管理芯片7805和7806。但由于驅動電機會引起電壓瞬間下降的現象,且產生大量熱量,容易誘發(fā)不安全因素。所以,沒有采用此方案。方案二:采用專用低壓降的電壓調節(jié)器LM2940和LM1117。由LM2940來得到穩(wěn)定的5V電壓,而由LM1117來得到穩(wěn)定的6V電壓,這樣可以在整個過程中,

28、為智能車的各部分提供穩(wěn)定電源。我們采用方案二。(2)電壓管理模塊正5V電壓源設計主要為單片機、光電傳感器、測速編碼盤的工作,電壓要求穩(wěn)定、噪聲小、電路容量在1A左右。最常見的電源管理芯片是7805,價格低廉,電路成熟,但是考慮到驅動電機啟動瞬間會引起電壓瞬間下降的現象,所以電源管理系統(tǒng)中采用了低壓降的電壓調節(jié)器LM2940來產生5V電壓。如圖2-4示圖2-4 5V電源圖正3.3V電壓源設計 主要為STM32為微控制器提供工作電壓。 圖2-5 3.3V電源圖正6V電壓源設計主要為舵機提供工作電壓。實際工作的時候舵機所需要的工作電流一般在幾十毫安左右,電壓無需要十分穩(wěn)定,在這里我們選用的是TPS7

29、350電源管理芯片如圖2-5所示圖2-6 6V電源圖正7.2V電源這部分直接取自電池兩端電壓,主要為后輪電機驅動模塊提供電源。如下圖2-6所示系統(tǒng)電源分配圖圖2-6 系統(tǒng)總電源分配圖第三章 軟件的設計部分軟件設計根據以下依據,首先,賽車系統(tǒng)通過光電傳感器采集賽道信息,同時通過直射式紅外傳感器模塊實時獲取賽車的速度,然后在根據采集來的賽道信息提取賽道黑線,求得賽車于黑線位置的偏差,由STM32產生PWM相應的控制舵機使小車沿著黑線行駛,接著采用PID方法對直流電機的速度進行反饋控制,使小車能夠以最快的速度行駛。系統(tǒng)總的組成結構如圖3-1所示:圖3-1 系統(tǒng)總的程序組成結構3.1 光電傳感器路徑的

30、識別 在智能車系統(tǒng)中,光電(激光)傳感器就是整個系統(tǒng)的“眼睛”,其對于路徑的識別在智能車控制系統(tǒng)中尤為重要,尋跡傳感器方案的好壞,直接關系到最終性能的優(yōu)劣。通過查閱相關的參考文獻資料,光電傳感器尋跡方案應用最多,單獨采用CCD攝像頭尋跡或者CCD攝像頭與光電傳感器尋跡結合在一起的方案也都有應用。下面將詳細介紹路徑識別的研制和尋跡方案的設計。3.1.1 路徑識別的方案的選擇及比較方案一:采用CCD單色攝像頭。在白背景下,對于黑線的識別,目前做的比較成熟,效果相當好,但是不適用在小體積系統(tǒng)使用,并且還涉及圖像采集、圖像識別等領域,成本高,很難找到合適的載體。同時理論較為深奧,應用起來不一定能做得很

31、好。方案二:紅外反射式光電傳感器,它包括一個可以發(fā)射紅外光的固態(tài)發(fā)光二極管和一個用作接收器的固態(tài)光敏二極管(或光敏三極管)。該傳感器不但價格便宜,容易購買,而且處理電路,簡單易行,實際使用效果很好,能很順利地引導小車按照跑道運行。綜上所述,在本智能車系統(tǒng)的自動識別黑線電路設計中,我采用第二種方案。紅外發(fā)射管就是紅外發(fā)射式光電傳感器。3.1.2 紅外傳感器型號的選擇 紅外傳感器的輸出可分為數字式與模擬式紅外傳感器兩種。數字式紅外傳感器具有與微處理器相對應的接口,使得硬件電路簡單,但是存在采集路徑信息粗糙、丟失路徑信息的缺點。模擬式紅外傳感器輸出的模擬信號,通過將多個模擬式紅外傳感器進行適當的組合

32、,可以再現賽道路徑的準確信息。在使用多個模擬式紅外傳感器的情況下,需占用微處理器較多的AD端口?;诜瓷涫郊t外傳感器的模擬式輸出的光電傳感器陣列的路徑檢測方法,具有較高的可靠性與穩(wěn)定性,所以在本設計中選擇反射式紅外傳感器的模擬式輸出的光電傳感器,經過綜合比較后,決定采用模擬式光電傳感器TCRT5000。TCRT5000為集成在一起的發(fā)射與接受光電管,通過其典型接線圖可以測試其性能,在設計中先對每個光電傳感器進行測試,以確定其檢測性能。典型接線如圖3-2所示 :圖3-2 紅外傳感器典型接線圖3.1.3 對光電傳感器輸出模擬量的轉換對于光電傳感器采集到的信息,需要將模擬量通過STM32內部AD模塊

33、轉換成數字量。針對光電傳感器采集到的信息, AD轉換成的數字量通過比較,分別取各通道檢測黑線的最小值和檢測白線的最大值作為判斷是黑線還是白線的標準,這樣可以保證光線對紅外光電傳感器的影響減少到最小。雖然AD轉換需要一定的時間,但相對與STM32的高執(zhí)行速度,對跑道信息的檢測沒有影響,且其檢測準確率高。光電傳感器采集到的電壓通過STM32的AD二值轉換程序得到0與1 兩種狀態(tài),每個傳感器又可以對應一個是否在黑線上的標志位,相應在黑線上為1,不在黑線上為0。 3.1.4 光電傳感器的狀態(tài)分析對于本設計中的模型車,傳感器在賽道上可能的狀態(tài)有:在普通的賽道處、在起點處、在十字交叉線處,分別如下圖(并未

34、列出所有的狀態(tài)圖),下面將分別進行分析。首先將13個路徑識別的光電傳感器,分別按1-13的順序給光電傳感器編號如下圖3-2所示 圖3-3 傳感器的編號 圖3-4 光電傳器在起點處 圖3-5 光電傳感器在普通賽道上六種不同的狀態(tài) 圖3-6 光電傳感器在十字交叉線處 為了識別賽車是處于什么樣狀態(tài)下,用于進行賽道記憶和速度控制,對于我們的光電傳感器,每個光電管輸出的電壓經過AD轉換進入二值換程序得到0與1 兩種狀態(tài),對于13路劃分好的標記的傳感器,每個傳感器對應一個是否在黑線上的標志位,相應在黑線上為1,不在黑線上為0,我們把這些數據所對應的0、1數值對應在整型數據AD_N的前13位,這要就可以完整

35、的保存好這一次掃描的光電管狀態(tài)。從上面的傳感器狀態(tài)圖中可以輕松看出,在普通賽道上除了賽車移出賽道之外傳感器變化次數都為1-2次,而在起跑線處模型車的傳感器狀態(tài)變化次數為4次,在十字交叉線時傳感器狀態(tài)變化次數為0次。在判斷是不是起始線和十字交叉線的時候,我們又對所采集的數據進行了程序上的界定,在起始位置的時候我們所采集到的數據格式應該是兩側是黑色中間是黑色,并且在進入黑線的最后一個時刻小車傳感器所檢測到的黑線位置應該不在最左側,也不在最右側。3.1.5 數字濾波(經AD轉換成的數字量) 光電傳感器采用的是紅外反射式光電傳感器,而光的反射受到多種因素的影響因此在本設計中選擇的13個光電傳感器會受到

36、外界不同程度的影響,小車總會或多或少的偏離賽道,舵機的轉角信息總會出現一定程度的毛刺和擾動等粗大誤差,其幅值足以引起處理器的誤判,為了消除這種外界的影響,在本設計中選用了數字濾波對有外界因素引起的光電傳感器的變化進行修正。 數字濾波技術有很多種的方法。由于傳感器的信號有連續(xù)性,即不會產生很大的變化,所以本方案采用了數字濾波技術中最實用的一種,即限幅濾波。限幅濾波技術,即在相鄰兩次傳感器信號之間,限定一個范圍。如果下一次的采樣信號超過了合理的范圍,則為煩擾,就濾掉,具體的方法是,通過上次傳感器的值制作一個過濾層,比如傳感器的值是0000001000000,經過一次系統(tǒng)循環(huán),黑線不會跳越N個傳感器

37、。所以就設定過濾層為0000111110000,1就代表下一個時刻的信號可能出現在這些位置上,0就表示黑線在下一個時刻不可能出現在那個位置上。這樣,過濾層就做好了。最后用過濾層和所得到的信號進行與運算,這樣就能得到濾波后的信號。在濾波后可能還會出現0000110110000的現象 我們就要對他進行排錯,如果是錯誤則本次采樣不成功。3.1.6 求的光電傳感器處在黑線上的個數 將光電傳感器采集到路徑信息進過AD轉換后數字量存在AD_N中,AD_N存儲的16位二進制數中有路徑的信息,當智能小車的傳感器處在黑線上,所對應的AD_N中的二進制數就就變?yōu)?,將AD_N中二進制數1的個數存儲在NM_Blac

38、k0,因而NM_Black0中存儲的信息就是光電傳感在黑線上的個數。 3.1.7 黑線的中心點的判定 對于黑線中心點的判定,前提是傳感器處在黑線上,將AD_N的存儲的黑線的二進制數進行數據的遞推,通過與運算得出黑線的位置,如果檢測到一個傳感器則它的位置存儲在NM_Black1中,如果檢測到兩個傳感器在黑線上,這兩個傳感器的位置分別存儲在NM_Black1和NM_Black2中。我們將13個光電傳感器的位置劃分成27分,當一個光點傳感處在黑線上時所對應的坐標就是就是NM_Black1*2,當兩個光電傳感器處在黑線上時所對應的坐標就是NM_Black1+NM_Black2。由于光電傳感位置劃分成2

39、7份,同時舵機占空比的設置也劃分為27份,占空比每一份的劃分是30,我們會根據黑線所處的坐標點對占空比進行設置,由此來達到對舵機進行方向上精確的控制。路徑識別的彎道策略分析因為小車在行駛的過程中速度是不斷變化的,我們只有通過一定的位移為基準進行數據的分析,計算出小車偏移黑線的變化率。我們采用的是基于方差的計算方法。小車的編碼盤可以精確到1cm/次,我們就按照這個為基準經行數據的采集保存。這樣每經過1cm我們就可以得到新的數值。我們新建了black_middle6數組保存了前6次的中心點位置。經過計算求出小車偏離黑線的方差 按照方差進行速度的選擇。我們在實際中選用了三個不同的速度,在直線的時候小

40、車產生的方差在50以內可以設置成最高速度,在小S彎的時候發(fā)差在100到50之間這時就可以以高的速度沖過小S彎道。只有到方差大于100也就是進入大S彎的時候我們就進行減速處理。3.1.9 路徑識別的概括 通過前面幾點對光電傳感器路徑信息采集的詳細介紹,路徑信息采集的工作流程已經非常明確了,由此實現了連續(xù)的路徑識別。下圖3-7是光電傳感器連續(xù)路徑識別的系統(tǒng)框圖圖3-7 光電傳感器連續(xù)路徑識別的系統(tǒng)框圖3.2 PID控制算法在本智能車上的應用 (1).速度控制方案一:依靠大量的測試信息,通過路徑識別返回的軌道信息查表,依據事先準備好的參數調整對應的舵機偏轉角度。此方案在軟件實現上比較簡單 ,但是需要

41、對控制規(guī)律進行大量的測試,而且實際運行的時候不存在反饋。方案二:采用PID算法,實時調整舵機的偏轉角度。同樣需要通過大量的試驗來調整所需的參數,但是PID算法在工業(yè)應用上比較成熟,有較好地控制效果。由于方案一相對來說不夠可靠,車子運行中如果產生不穩(wěn)定狀況不能夠自我調節(jié),而方案二可以完全解決此問題,因此,在本設計中,我們采用方案二。當智能車在直道行走的時候,可以給最高速度;當智能車在彎道出直道時,速度相對高速;當智能車直道入彎的時候,速度突然減下來;當智能車在彎道時,相對低速。針對這一特點,我主要運用PID算法對小車進行速度控。 (2)棒棒算法在有的時候只用單純的PID是不夠的,因為在小車起步的時候所需要的力比較大并且要速度提升的越快越好,純而又純的PID是不能滿足這種需求的,在設計過程中我們加入了棒棒算法。所謂的棒棒算法就是在設定速度和實際的速度高出很多的時候我們就把速度切換到最高轉速,當設定速度和實際的速度低很多的時候我們就把速度拉到最低轉速。這樣在小車起步的時候能以最大的轉速啟動,在進入彎道的時候能進行剎車制動使小車穩(wěn)定運行在跑到上。3.3 STM32定時器的PWM的輸出實現 在這里以高級定時器(TIM1)為例,高級定時器設置為PWM的輸出模式。由于轉向伺服電機的工作周期是20ms,即工作頻率為50Hz。ST

溫馨提示

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

評論

0/150

提交評論