?

智能小車的設計與制作

2013-09-03 06:32張凱杰
中國信息化·學術版 2013年7期
關鍵詞:控制算法舵機紅外

張凱杰

【摘 要】智能小車以freescale半導體公司生產的16位HCS12單片機為核心控制器,采用紅外式光電管對比賽賽道進行掃描和檢測,提取出賽道上黑線位置的信息。同時,智能小車通過測速裝置獲取當前速度,并利用PID反饋對舵機進行調節,最終使小車達到可以自動尋跡的效果,提高小車的行駛速度和穩定性。

【關 鍵 詞】智能車,HCS12單片機, PID控制

【中圖分類號】F407.471【文獻標識碼】A【文章編號】1672-5158(2013)07-0205-02

一 前言

智能運輸系統作為未來交通發展趨勢之一,為解決城市交通擁擠和堵塞問題提供了有效途徑。從八十年代以來,美國、日本、歐洲等發達國家和地區競相投入巨額資金和大量人力,開始大規模的進行交通運輸智能化的研究,取得了許多重要成果。而作為智能車——路系統(Intelligent Vehicle—Highway Systems,簡稱IVHS)的重要一部份,智能車在世界各國的研究也隨著計算機技術、網絡技術、通訊技術的飛速發展而不斷深入。

本文以“飛思卡爾”杯全國大學生智能汽車競賽為背景,對智能車控制系統進行了深入的討論,以作者參與制作的智能模型車為例簡要介紹了智能模型車的設計制作全過程,主要涉及到機械電子、傳感器技術、驅動控制技術、自動控制、人工智能等多個領域的研究及技術融合。

本設計通過采用HCS12單片機為控制核心,實現對小車的智能控制。該控制系統不僅在現代汽車產業中有很大使用價值,在智能機器人領域亦有很大用途,尤其是當今時代機器人研究方面具有很好的發展前景,故本設計與實際聯系緊密,具有重要的現實意義。

二 總體設計分析

(1) 設計要求:

在本次競賽中,要求所設計的小車具有自動尋跡的功能,能在指跑道上高速,穩定地運行。跑道為黑白兩色。其背景色為白色,跑道中央有一條黑線作為小車行進的依據。很明顯,我們要設計的小車是要能沿黑線的正常行駛,并在此基礎上,盡量提高小車行駛速度。

(2)傳感器部分:在傳感器方案的選擇中, 智能小車采用光電傳感器來采集路面信息。使用紅外傳感器最大的優點就是結構簡明,實現方便,成本低廉,免去了繁復的圖像處理工作,反應靈敏,響應時間低,便于近距離路面情況的檢測。但紅外傳感器的缺點是,它所獲取的信息是不完全的,只能對路面情況作簡單的黑白判別,檢測距離有限,而且容易受到諸多擾動的影響,抗干擾能力較差,背景光源,器件之間的差異,傳感器高度位置的差異等都將對其造成干擾。在本次比賽中,賽道只有黑白兩種顏色,小車只要能區分黑白兩色就可以。采集到準確的路面信息。經過綜合考慮,在本項目中采用紅外光電傳感器作為信息采集元件。

(3) 控制算法部分:

在小車的運行中,主要有方向和速度的控制,即舵機和電機的控制,這兩個控制是系統軟件的核心操作,對小車的性能有著決定性的作用。對舵機的控制,要達到的目的就是:在任何情況下,總能給舵機一個合適的偏移量,保證小車能始終連貫地沿黑線以最少距離行駛。小車在比賽中采用了PID控制技術。PID控制在比例控制的基礎上加入了積分和微分控制,可以抑制振蕩,加快收斂速度,調節適當的參數可以有效地解決方案一的不足。不過,P,I,D三個參數的設定較難,需要不斷進行調試,憑經驗來設定,因此其適應性較差。在我們的選擇中,根據比賽規則,賽道模型與相關參數已給定,即小車運行的環境基本上已經確定,可通過不斷調試來獲得最優的參數。因此我們選用的是PID算法來對舵機進行控制。對驅動電機的控制(即速度控制),要達到的目的就是在行駛過程中,小車要有最有效的加速和減速機制。高效的加速算法使小車能在直道上高速行駛,而快速減速則保證了小車運行的穩定,流暢。為了精確控制速度,時時對速度進行監控,我們還引入了閉環控制的思想,在硬件設計,增加了速度傳感器實時采集速度信息。

(4) 車模外觀(見圖1)

三 硬件設計

(1)電源管理電路:

系統由6節1.2V鎳鎘充電電池組成電池組。穩定的電源是整個系統的關鍵,所以在電源設計的時候必須考慮穩壓芯片的效率以及各個模塊之間的影響,采取必要的隔離措施處理互相干擾。本系統采用了2片5V穩壓芯片L M2575分別給系統芯片和紅外探測器供電。一片6 V穩壓芯片L M1117給舵機供電,7.2 V電源可以直接給電機供電。

(2)紅外探測電路:

10對反射式紅外傳感器探測到的信息直接輸入到MC9 S12D G128B的10個A/D 通道。該紅外測試電路的有效測試距離可達20cm。小車在運動中不斷的掃描跑道,當發射管D1掃描到黑線的時候 ,發出的信號幾乎全被黑線吸收,幾乎沒有反射信號,接收管 D2接收不到信號,此時D2不導通 ,輸出端輸出高電平發光管D3不發光;當發射管 D1 掃描到白色跑道的時候,發出的信號幾乎全被反射回來,接收管 D2接收到發射管D1發射出經反射物反射的信號,輸出端OUT(L M576 的第8腳) 輸出低電平使發光管D3發光 。通過發光二極管的熄滅可以確定小車是否在跑道上,為調試帶來很大的方便 。本電路的最大持點是紅外線發射部分不設專門的信號發生電路,而是直接從接收部分的檢測電路LM576的5 腳引入信號,這樣既簡化了線路和調試工作 ,又防止了周圍環境變化和元件參數變化對收發頻率造成的差異 ,實現了紅外線發射與接收工作頻率的同步自動跟蹤,使電路的穩定性和抗干擾能力大大加強 。 輸出信號通過數字濾波后進入MCU中的14路A/D通道采集路況信息。

在實際的測試中,可以在獨立的的紅外接收管上安裝黑色套管可以完全避免相鄰發光管的影響 。由于紅外探測部分耗電量比較大 ,可以利用紅外接收管響應速度快的特點,讓紅外發射管只在檢測瞬間發射紅外線即可 。 紅外發射管工作在周期窄脈沖方式下,大大降低了平均工作電流,從而降低了整個發射電路的電量消耗。

(3)電機驅動電路:(見圖2)

電路圖我們(見圖3)可以看出,它具有兩個半橋構成:

由于在實際的比賽過程中,我們已經利用剎車裝置進行減速,并不需要通過給電機加反向電壓來減速(在調試過程中,曾經試過用這種的方法進行減速,但是弊大于利,有時會由于電機反轉,出現倒車現象)因此,可以只使用其半橋,并將兩個半橋并聯,以增大其驅動能力。

(4)傳感器電路:

接收發射部份(見圖4)

傳感器由兩部份構成,一部份為發射部份,一部分為接收部份。發射部份由一個振蕩管(J1_1)發出180KHz頻率的振蕩波后,經三級管(Q1_1NPN)放大,激光管(D1_1)放射。接收部份由一個相匹配180KHz的接收管(J1_2)接收返回的光強,經過電容(C1_1)濾波后直接接入單片機用以判別電壓高低。由于接收的波屬于較高頻段的波,因此電容(C1_1)是必須的,否則的話電磁干擾會非常的嚴重,指示燈(D1_1)會常亮,實際過程中要不斷試電容(C1_1)的大小,選擇合適的值以使接收管正常工作。

控制部份:(見圖5)

由于采用了數字傳感器的防干擾算法,因此必須分時控制傳感器的開斷,實際中我們使用74LS138作為控制器,由主控模塊的3根線來控制傳感器的開斷。

(5)PCB設計圖:

傳感器PCB圖;(見圖6) 主控板PCB圖:(見圖7)

四 軟件設計

(1)開發環境介紹:

本系統使用了 Metrowerks 公司提供的 CodeWarrior for HCS12教學用版本,它是面向以 HC12 或 S12 為 CPU 的單片機嵌入式應用開發的軟件包,包括集成開發環境 IDE、處理專家庫,全芯片仿真、C 交叉編譯器、匯編器、鏈接器以及 BDM 調試器。

(2)軟件結構

軟件主要包括:路徑識別、方向控制、速度測量、速度控制等四個模塊。軟件流程可分為以下幾部分:初始化、得到 AD 轉換數據并轉換為角度偏差、根據角度偏差控制舵機、根據角度偏差和當前速度控制電機轉速和制動。軟件結構框圖見圖8。

(3)PID控制:

PID控制器是控制系統中技術比較成熟,而且應用最廣泛的一種控制器。它的結構簡單,參數容易調整,因此在工業的各個領域中都有應用。PID最先出現在模擬控制系統中,傳統的模擬PID控制器是通過硬件(電子元件、氣動和液壓元件)來實現它的功能的。隨著計算機的出現,把它移植到計算機控制系統中來,將原來的硬件實現的功能用軟件代替,從而形成數字PID控制器,其算法則稱為數字PID算法。數字PID控制器具有非常強的靈活性,可以根據試驗和經驗在線調整參數,因此可以得到更好的控制性能。由于幾乎所有的單片機都擁有硬件PWM,因此基于軟件PID和硬件PWM技術的直流電機測控技術正向數字化、高可靠性發展,本文所述的舵機控制就是采用該控制方法。數字PID分為位置式控制算法和增量式控制算法。為了降低計算量及得到穩定的結果,舵機控制采用增量式控制算法。其公式如下: △Uk=Kp*[ek-ek-1]+Ki*ek+Kd*[ek-2ek-1+ek-2]

輸出增量△Uk只與本次偏差ek、上次偏差ek上上次偏差ek-2有關,因此CPU只要知道每一時刻的ek、ek-1、ek-2的值就能執行PID算式,并輸出舵機控制量,從而有效地控制舵機的轉向。

由于PID控制器是用軟件來實現的,靈活性很大,因此能夠根據具體要求相應地改進部分PID控制算法。在電動機控制系統中,控制量的輸出值要受到元器件或執行機構性能的約束(如電源電壓的限制、放大器飽和等),因此它的變化應在有限的范圍內,如果控制量的計算結果超出該范圍,那么實際執行的控制量就不再是計算值了,產生的結果與預期的不相符,稱為飽和效應。PID控制中的積分環節目的是消除靜態誤差,提高控制精度。但當電動機的啟動或停車時,短時間內系統輸出很大的偏差,會使積分積累很大,從而引起強烈的積分飽和效應,這將會造成系統振蕩,調節時間延長等不利結果。

在本文所述的智能車中,為了避免出現積分飽和現象,對PID控制器的積分環節做了兩個改進:積分分離法和遇限削弱積分法。

積分分離法的思路是:當被控量與給定值的偏差較大時,去掉積分,以避免積分飽和效應的產生;當被控量與給定值比較接近時。重新引入積分,發揮積分的作用,消除靜態誤差,從而既保證了控制的精度又避免了振蕩的產生。

本文所述的具體實現是:人為引入一個量X=24.44,x值的確定大約為智能車的三個光電對管對應反饋值的偏差,即當偏差小于24.44則引入積分環節,當偏差大于等于24.44則去掉積分環節。為此在積分項中乘以一個人為引入的系數B.

其公式如下:

B=1,ek

B=0, ek≥X, X=24.44

引入B后,可建立公式:

△Uk=Kp*[ek-ek-1]+B*Ki*ek+Kd*[ek-2ek-1+ek-2]

遇限削弱積分法的思路是:一旦控制量仉進入飽和區,便停止進行增大積分項的運算,而只進行使積分減少(即所謂削弱)的運算。具體過程是:在根據PID算式計算Uk前,先判斷前一次的控制量Uk-1是否到達極限范圍,如果到達極限說明已經進入飽和區,這時再根據偏差的正負,來判斷控制量是使系統加大超調還是減小超調,如果是減小超調,則保留積分項,否則取消積分項。遇限削弱法在進入極限范圍后,有條件的去繼續積分或取消積分,從而避免控制量長時間停留在飽和區。本系統的具體實現是:在積分項中再人為引入一個系數c當判斷后需要保留積分項則C=1;否則C=0。那么最終的舵機PID控制算式如下:

△Uk=Kp*[ek-ek-1]+B*C*Ki*ek+Kd*[ek-2ek-1+ek-2]

間接PID驅動電機控制算法簡介:

智能車模型的驅動電機是直流電機,同樣可以直接用PID控制算法,但是利用PID算法需要有系統的直接反饋值,如舵機算法中的反饋值通過光電傳感檢測獲得,而驅動電機要想直接獲得反饋值必須在硬件上設計車速傳感器,這必然給硬件選擇、硬件設計、PCB板設計、軟件實現帶來比較大的工作量;同時加上車速傳感器之后智能車的重量也會增加,這樣會增加驅動電機的負載,耗電速度快;同時智能車過重也會給舵機的轉向帶來負面影響,因為連接舵機和連桿的硬件是塑料做的東西,而且是兩三個塑料卡在一起的,當智能車要轉彎時,舵機轉動的力是一定的,如果車身太重的話那么舵機轉彎的力就會帶不動前輪,而使這些力消耗在這幾塊塑料上,時間長了這些力就會使塑料變形,破壞車的硬件結構,影響車的性能,給車的行駛帶來不穩定性和不可靠性。

然而加上車速傳感器之后又能給驅動電機帶來直接的控制,能比較有效、及時地改變驅動電機的轉速,為智能車行駛提供比較好的參考。

本文所述的驅動電機間接PID控制算法的思想是:把舵機的PID控制算法的輸出控制量當作驅動電機的控制算法的輸入量,經過一定的算法之后,輸出量做為驅動電機的輸出控制量,從而實現驅動電機的間接PID控制算法。

舵機的輸出控制量為Uk的公式為:

Uk=△Uk+Uk-1

其中△Uk玩為舵機輸出控制量的增量,Uk-1為舵機前一

次的輸出控制量。把Uk作為驅動電機的輸入量。設驅動電機的輸出控制量為M, 其公式如下:

M=(SV-BRV4)*Uk+BR4+SV, Uk≤0

M=(SV-BlV4)*Uk+Bl4+SV, Uk>0

常量C為當智能車在直線上行駛時驅動電機的控制量,常量BRV4為當智能車在最大右轉行駛時驅動電機的控制量。常量BR4為當智能車在最大右轉行駛時舵機的理論控制值,常量BlV4為當智能車在最大左轉行駛時驅動電機的控制量,常量Bl4為當智能車在最大左轉行駛時機的理論控制值。則公式中M的算式為一元一次分段線性方程。

智能車左轉的驅動電機控制量是線性減小的,而右轉的驅動電機控制量是線性增加的。驅動電機控制量的線性變化優點在于能夠使電機控制量的變化平穩,有利于小車在轉彎時均勻地增加或減小控制量,從而使小車能夠在轉彎時保持平穩的速度行駛,不至于出現停頓現象。

參考文獻

[1] 卓晴 黃開勝 邵貝貝 等.學做智能車. 北京:北京航空航天出版社,2007年3月第1版

[2] 第四屆全國大學生“飛思卡爾”杯智能汽車競賽秘書處,競速比賽規則與賽場紀律,2008/12

[3] National Semiconductor,LM2940 Datasheet,1999/06

[4] National Semiconductor,LM1117 Datasheet,2004/06

[5] 楊杰 吳凡.粗糙表面可見光散射特性的實驗研究. 中國測試,2009,02期

[6] HAMAMATSU,Light modulation photo IC S7136,2007/07

[7] 邵貝貝.單片機嵌入式應用的在線開發方法. 北京:清華大學出版社,2004年10月第1版

[8] 邵貝貝.UCOS-II 嵌入式實時操作系統. 北京:清華大學出版社,2002年10月第1版

[9] MC9S12DG128B Device User Guide ,Version 1.2,Motorola,2000/ 05/12—2000/08/17

猜你喜歡
控制算法舵機紅外
網紅外賣
基于dSPACE和PLC的控制算法測試系統設計
基于藍牙轉紅外的遙控裝置
海太克HS—1100WP數字舵機
超音速舵機保護器
基于DCS的過程實時控制平臺的研究
衛星姿控系統半物理仿真中轉臺控制算法的實現
馬靜坡 元像·宋陵
菜鳥看模型
攝影欣賞
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合