秦世林 黃宇飛 劉江東 張見廣



【關鍵詞】單片機;定速巡航;PID控制;燃油經濟性
【中圖分類號】U463.6 【文獻標識碼】A 【文章編號】1674-0688(2021)09-0037-05
0 前言
汽車巡航控制系統是控制速度穩定的一種輔助駕駛員駕駛車輛的系統。當駕駛員駕駛車輛時,車速一旦到達設定的巡航系統開啟的最低速度后,只需打開巡航開關,再按下巡航速度設定鍵,汽車將按設定的行駛速度穩定行駛。若要更改巡航速度,只需按下巡航控制系統的速度調節按鈕即可。此時,駕駛員不需要操控油門踏板,僅通過汽車電子控制單元ECU調控汽車行駛速度,從而減輕駕駛員的精神負擔。
隨著社會經濟的發展,中國進入了小康社會,汽車隨著經濟的發展逐漸走進人們的生活,或為人們的日常代步工具。伴隨智能交通系統的不斷推廣,這種能有效減輕駕駛員駕駛汽車的疲勞程度,從而減少因駕駛員失誤操作而造成的交通事故的產品在普通家庭轎車上的應用將急劇增長。對駕駛員來說,該產品提高了汽車的駕駛安全性和燃油經濟性;對社會來說,該產品改善了交通狀況。近年來,汽車巡航控制系統得到政府、企業及高級研究機構的廣泛關注。此外,隨著我國對于基礎建設的重視,以道路交通發展促進我國經濟快速發展,我國高速公路四通八達,汽車巡航控制系統具有良好的應用前景。
1 汽車巡航控制系統原理及功能
1.1 汽車巡航控制系統原理
在實體的汽車巡航控制系統中,汽車電子控制單元ECU根據各傳感器傳來的信號,經過處理后判斷路況條件的變化,然后經過計算得到節氣門開度的變化量,汽車電子控制單元ECU再控制節氣門執行器調節節氣門開度,使車輛以恒定速度穩定行駛,汽車巡航控制系統的基本控制原理如圖1所示。
1.2 汽車巡航控制系統功能
目前,市面上絕大部分的汽車巡航控制系統,主要由電子控制單元ECU、巡航控制開關、車速傳感器、節氣門執行器等組成[1]。當打開汽車巡航控制系統開關以后,若按下設定鍵時的當前車速為大于40 km/h、小于180 km/h時,車速傳感器就會將當前車速顯示在顯示屏上,還有設定的巡航車速。在打開汽車巡航控制系后,控制器中就會輸入兩個信號,一個是駕駛員駕駛車輛由車速傳感器送來的實際車速,另一個是駕駛員設置的巡航速度,控制器核對兩個信號的偏差之后,再根據儲存在儲存單元里的算法經過一定的計算,得出一個使實際行駛速度與巡航車速相等的控制角度。汽車電子控制單元ECU再把這個角度傳遞給節氣門執行器,控制節氣門角度變化。此時,若按下巡航加速(或減速)鍵,巡航車速每次將增加(或降低)5 km/h,使汽車定速巡航;若按下取消鍵、開關鍵中的任何一個,汽車巡航控制系統就會關閉,汽車駕駛就由駕駛員控制。
2 PID控制器算法
2.1 PID控制的基本算法
工程生產中,應用最廣泛的控制方式為PID控制方式,其主要分為以下幾種方式:比例控制方式、積分控制方式、微分控制方式。結構簡單且穩定性好的PID控制器工作可靠,調整也方便,并且在巡航系統工作過程中不需要精確的系統模型,所以成為應用最常用的控制器[2]。在模擬控制系統中,控制原理如圖2所示。在PID控制策略當中,其輸入與輸出關系式可表示如下:
寫成傳遞函數:
公式(2)中,Kp為比例系數;Ki為積分時間常數;Kd為微分時間常數。經過離散化處理后得到如下公式:
將公式(3)帶入公式(1)中得到:
提供增量的PID控制算式如下:
則推出增量:
一旦確定比例系數Kp、積分時間常數Ki、積分時間常數Kd這3個系數,只需要反復測量其偏差,就可以求出控制增量。
2.2 PID各模塊作用
(1)比例模塊。根據控制系統的偏差信號e(t),并按一定的比例產生控制作用,使實際數據盡可能地接近輸入數據,減少誤差。系統的超調量會隨著Kp的增大而增大,Kp偏大時,系統震蕩次數增多,幅度增大且調節時間加長[3]。
(2)積分模塊主要用于消除凈差,以提高系統的無差度。隨著Ti的增大,系統的超調量會減小,響應速度略微變慢[3]。
(3)微分模塊主要用于反映偏差信號的變化趨勢或變化速率的大小,能使系統在偏差信號值變得太大之前,在巡航系統中引入一個有效的早期修正信號,這樣就能提高系統的動作速度,減少調節所需的時間。增大微分時間Td可以使系統的響應速度加快,使系統超調量變小,從而增強系統的穩定性,但這會使系統抗干擾的能力變弱[3]。
2.3 PID控制原理
PID在工程應用中十分廣泛,它具有結構簡單、適應性強、工作可靠等優勢。在PID控制中,將駕駛員設定的速度與車輛的實際速度相比較得到一個差值,控制器根據得到的差值輸出對發動機節氣門的控制量,減少偏差,從而使車輛的行駛速度趨于駕駛員設定的車速[4]。
3 硬件設計
3.1 AT89C52單片機
本次建模選擇AT89C52單片機作為MCU模擬。作為本次建模的核心部件,其特點是低電壓、高性能。單片機內不僅有通用的8位中央處理器,而且有8 KB的程序存儲器(8 KB Flash ROM)和256 B的數據存儲器(256 B RAM),兼容AT89C51的指令,功能強大、實用[5]。
3.2 舵機
在本系統中,采用“輝盛”mg995舵機控制車速,在Proteus仿真中,通過AT89C52單片機控制舵機,用舵機上的角度代表節氣門的開度。當舵機角度為正時,表示節氣門開度增大,駕駛員加油門,速度增加;當舵機角度為負時,表示節氣門開度減少,駕駛員開始減速,車速下降。舵機在Proteus仿真如圖3所示。舵機控制的是節氣門開度,而節氣門是步進電機式節氣門。
3.3 LCD1602液晶顯示器
本系統采用性能優良、工作可靠的工業字符型液晶顯示器LCD1602液晶顯示器,利用電壓對液晶的影響,有電即可顯示。單片機向對應的模塊寫入不同的命令和數據,就可對顯示方式和顯示內容做出不同的選擇,它最多能夠同時顯示32個字符。目前,LCD1602液晶顯示器已經被廣泛應用在眾多領域。LCD1602液晶顯示屏實物圖如圖4所示。
4 系統軟件原理和流程
4.1 系統軟件原理
本項目建模的汽車巡航控制系統,以AT89C52單片機作為核心部件,用于數據處理、初值設定;使用AD轉換器模擬道路狀況的好壞;在仿真電路中方波信號發生器發出一個固定的信號表示車速,這個固定的信號不會因為舵機的變化而使每次采集的脈沖個數變化;模擬車速傳感器信號,用舵機模擬控制節氣門開度,從而實現對車速的控制。單片機作為對車速的反饋調節模塊,需要把舵機的角度信號和AD轉換器模擬路況的模擬參數加進單片機進行計算,經過試驗得出,舵機系數是(duoji-500)/800,路況系數是(adval+400)/700。在巡航系統中,設置了5個按鍵,用于控制巡航控制系統的開關,設定與調節巡航速度。此外,為了模擬駕駛員在實際行駛過程中的加油門和減油門,另外設置了兩個按鍵,并將檢測的當前車速和巡航控制中設定的車速顯示在LCD1602液晶顯示器中。
4.2 系統軟件主程序流程圖
本系統軟件主要程序流程圖如圖5所示。從圖5可知,汽車巡航控制系統是模塊化分工配合,各模塊既能分開獨立工作,又能相互配合工作。當打開巡航控制系統時,系統初始化開始,接著所采集的模擬信號通過AD轉化器轉換為數字信號輸入單片機,同時單片機進行按鍵掃描,判斷開關鍵、取消鍵是否打開;若開關鍵未被按下或取消鍵按下,則單片機再次進行掃描,系統程序再次進入初始化;若開關鍵與取消鍵都滿足設定要求,則系統進入巡航速度設定模塊,當汽車實際車速達到巡航控制要求范圍大于40 km/h小于180 km/h時,巡航設定鍵按下,當前車速將會被巡航系統所采樣,并把當前行駛的車速作為巡航控制的速度。若巡航控制速度過快或者緩慢,此時可以對巡航控制的車速進行調整,儲存在儲存單元中的PID算法將起作用,車速將隨舵機轉角的變化而變化,巡航控制系統的車速采集模塊時刻采集當前汽車實際行駛速度,使汽車車速控制在設定的巡航速度左右。
4.2.1 A/D轉換模塊
由圖6 A /D采樣轉換流程圖可知,程序開始時先將AD轉換器初始化,在初始化過程中,根據路面情況,AD轉換器會使滑動變阻器產生相應的阻值代表路面狀況,表示平路、上坡、下坡的模擬信號,再將模擬信號轉變成數字信號,然后轉換器讀取采樣值,并將數據信號輸送給單片機工作。
4.2.2 按鍵掃描模塊
單片機在工作時,內部有時鐘脈沖不停地掃描,掃描各個引腳在任何時候的高低電平狀態,讀取并傳送給CPU進行處理。按鍵掃描子程序就是一段用來掃描之前設定的幾個特殊的按鍵引腳的狀態,并進行處理的函數段。按鍵掃描子程序如圖7所示。
按鍵按下后,信號會出現一定頻率的抖動,導致單片機識別錯誤,只按了一次,識別為按了多次,所以要加入去抖延時環節。單片機周期性地對按鍵位置的引腳進行掃描,判斷按鍵引腳是否有電平變化,并通過電平變化的周期判斷是干擾電平還是有按鍵按下,去抖處理后,計數按鍵值,判定發送的是哪個按鍵功能請求,然后檢測按鍵是否松開,若松開則進行按鍵請求處理;若按鍵沒有松開,則繼續進行檢測。
4.2.3 車速采樣模塊
當汽車進入巡航控制模式時,汽車在行駛過程中的當前實時車速被車速傳感器采集,并將此車速信號送進系統進行反饋;其原理如圖8所示。
在本汽車巡航控制系統中,在實時車速方面利用信號發生器模擬車速傳感器信號,而信號發生器傳給單片機的脈沖是一定的,所以此時的車速不變化。在本系統中,影響車速的因素還包括舵機角度及路況,所以在系統計算車速時,要考慮舵機參數和路況參數,從而把車速、路況及步進角度三者聯系起來。單片機將以秒為單位采集車速,再把采集到的讀數值送至計數器,進而汽車電子控制單元ECU根據車速與路況函數圖處理運算,計算出現在的行駛車速,從而完成車速采樣過程。
5 Proteus仿真模型
經過設計選型,在Proteus中建模,最后得到仿真模型(如圖9所示)。
仿真電路包括以下幾大模塊:單片機模塊(包含時鐘電路與復位電路),進行數據處理和初值設定;?譺?訛AD轉換模塊,將路面狀況的模擬信號轉化為單片機能夠讀取的數字信號,可以通過改變滑動變阻器的阻值調節路面狀況;顯示器模塊,將實際行駛速度與巡航速度顯示到液晶顯示器中;舵機模塊,模擬節氣門位置傳感器,通過控制節氣門開度,從而控制車速;功能按鍵模塊,控制汽車巡航控制系統的基本功能。
在圖9中,有7個按鍵,從上到下前2個按鍵是為了模擬汽車實際行駛過程中的加速和減速,第一個按鍵是實際行駛減速,第二個按鍵是實際行駛加速。后面的5個按鍵從上到下,key1是巡航開啟按鍵,key2是設定車速按鍵,key3是巡航設定加速按鍵,key4是巡航設定減速按鍵,key5是巡航關閉按鍵。在仿真中,電路能正常運行,達到預期結果,電路圖無誤。
6 結語
本文通過使用單片機作為核心部件設計出的汽車巡航控制系統,具有系統超調量小、穩定時間快的特點。通過PID控制能有效實現車輛穩定行駛和滿足汽車巡航要求,并且減輕駕駛員疲勞程度,降低了因駕駛員疲勞誤操作而造成的交通事故的發生概率,從而提高汽車駕駛安全性,降低燃料的消耗,對減少環境污染有不可替代的作用且具有較好的市場應用價值。
參 考 文 獻
[1]田泱,仇成群.基于模糊PID的汽車巡航控制系統設計[J].機械工師,2013(10):60-61.
[2]余黃軍,張昕,任傳喜.汽車自動巡航控制系統控制策略與仿真[J].沈陽理工大學學報,2016,35(4):56-
61.
[3]李琳,吳榮燎,王柏煒,等.汽車自動巡航控制系統的設計與實現[J].電工技術,2019(22):3-5.
[4]張寶玉.基于模糊PID的汽車巡航控制系統研究[J].汽車實用術,2020,45(24):19-21.
[5]馬紹對.汽車巡航控制系統的設計[D].蕪湖:安徽工程大學,2015:6-12.