摘 要:闡明一種基于單片機控制的電子節氣門控制系統。它以ATmega 16單片機為控制核心,德國博世公司電子節氣門為研究對象,通過傳感器測量加速踏板位置信號,然后經過單片機控制算法的處理,驅動直流伺服電動機,從而帶動節氣門盤片旋轉到指定開度,以實現閉環控制。同時,系統的上位機通過USB轉RS 232接口,實現與單片機的通信,便于系統的調試與運行。
關鍵詞:電動機;單片機;電子節氣門;閉環控制
中圖分類號:TM352文獻標識碼:A
文章編號:1004-373X(2010)05-203-03
Research and Practice of ETC Based on Single Chip Microcomputer
HE Yuejun
(Shenzhen Polytechic College,Shenzhen,518055,China)
Abstract:ETC based on single chip microcomputer is introduced.The system adopts ATmega 16 as control core,Germany Bosch as research object.First,it tests the position signal of accelerator pedal by sensors,then,deals with the signal by control algorithm of single chip microcomputer.After that,it drives the DC motor,and makes the throttle plate rotate to appointed opening,so that realizes the closed-loop control.At the same time,the system adapts PC as upper monitor,and uses USB to RS 232 interface to realize the communication between the upper monitor and single chip microcomputer.This makes it easy for overall system debugging and running.
Keywords:motor;single chip microcomputer;ETC;closed-loop control
0 引 言
電子節氣門(ETC)是汽車發動機控制系統中的一個重要的子系統[1]。本文以ATmega 16單片機為控制核心,德國博世Bosch公司電子節氣門為研究對象,通過傳感器測量加速踏板位置信號,然后經過單片機控制算法的處理,驅動節氣門體上的直流伺服電動機,從而帶動節氣門盤片旋轉到指定開度,以實現閉環控制。同時,上位機通過USB轉RS 232接口,實現與單片機的通信,便于系統的調試與運行。
1 硬件系統設計
本系統硬件設計框圖如圖1所示,它包括單片機及其外圍電路、節氣門集成體、直流電機驅動電路、腳踏板位置信號檢測電路等。此外,單片機通過USB轉RS 232接口,與上位機進行數據交換,實現人機對話。下面分別闡明如下:
1.1 ATmega 16控制核心
本系統采用單片機為控制核心,型號為ATmega 16(16 MHz晶振)。它采用先進的RISC 結構,具有高速度、低功耗、抗干擾能力強等特點[2]。由于其自帶三通道PWM 輸出和8路10位ADC 轉換[3],因而十分便于本系統的控制。
圖1 節氣門控制系統硬件框圖
1.2 電機驅動電路
本系統驅動電路采用美國國家半導體公司推出的專用于運動控制的H橋組件LMD18200。該組件上集成有CMOS控制電路和DMOS功率器件、連續輸出電流達3 A、并且還具有溫度報警、過熱與短路保護等功能[4,5],因而使整個控制系統得到了簡化。電機驅動與單片機接口電路如圖2所示。
1.3 電子節氣門集成體
本系統節氣門為德國博世公司出產,型號為06B13306,其結構外型如圖3所示。主要包括:
(1) 加速踏板位置傳感器
此傳感器安裝在加速踏板上,將踏板移動量轉換成帶有不同輸出特性的兩類電信號(下踏量大小和變化速率),傳送給單片機[6]。
(2) 節氣門位置傳感器
節氣門位置傳感器(兩個電位計)的滑片與節氣門同軸, 當節氣門轉動時, 電位計滑片同步轉動, 從而將相互監測的節氣門開度信號轉換為電子信號輸出給單片機 。
(3) 直流伺服電機
通過對電機進行PWM控制,再經過兩級齒輪的減速,即可調節節氣門開度,本節氣門的齒輪減速比為:
n=ωm/ωL=TL/Tm=20.68
式中:ωm和ωL分別為電機和負載的角速度;TL和Tm則分別是電機和負載的轉矩。
另外,節氣門內還包括一個回轉彈簧,其作用是確保當沒有驅動力矩產生時,節氣門盤片能夠安全地復位。節氣門盤片開啟位置在無電壓作用時,默認值為5.5°。這個開啟角允許發動機怠速運行,以確保發動機出現故障時,駕駛員能把車輛開到安全地位置。
圖2 電機驅動與單片機接口電路圖
圖3 Bosch節氣門外型圖
2 系統控制策略
電子節氣門系統是一個非線性時變系統[6]。其復位彈簧的彈性系數、電機轉軸及其他部件摩擦系數、作用在節氣門盤片上的壓力等不確定因素使得系統的數學模型難以直接推導。由直接控制直流電機試驗可以看出,僅調整占空比不能精確控制節氣門的開度。節氣門的開度相對于占空比的調節總有滯后產生。節氣門從靜態到開始,開啟的轉矩比較大,而動態轉矩比較小,因而采用常規的PID控制器不容易達到一個理想的效果[7,8]。
另外,為了得到一個優化控制,還應根據不同的情況,采用不同的控制模式,以使節氣門的開度響應滿足駕駛員不同的踏板感覺需要。為此本系統的控制采用三種控制模式,即常規模式,運動模式和經濟模式。運動模式使駕駛員有加速踏板很靈敏的感覺。該控制模式節氣門的響應以汽車的加速反應迅速為目的。經濟模式則使駕駛員有加速踏板比較“遲緩”的感覺, 該控制模式下,對節氣門的控制以經濟性為目標。本文重點介紹常規模式。
本系統常規模式采用的控制策略是將常規的PID控制器與模糊控制器結合起來[9],利用模糊推理判斷的思想,以形成自整定模糊PID控制器,其框圖如圖4所示。
該系統輸入量是踏板輸入量θR(t),輸出量是節氣門開度θ(t)。模糊參數調節器的輸入量是油門踏板的踏入量θR(t)和θ(t)節氣門開度之差E以及其變化率Ec。輸出量是PID調節器的3個控制參數為KP,KI,KD。系統根據傳統PID控制器得到專家經驗形成的模糊控制規則進行推理判決,從而對PID調節器3個控制參數實現在線自調整,以形成不同的PWM輸出信號,從而完成對氣門直流電機的控制。
圖4 自整定模糊PID控制器框圖
3 控制系統軟件設計
3.1 上位機軟件設計
為了便于系統運行和檢查調節效果,采用上位機軟件進行輔助控制。之所以選擇Matlab 7.0做GUI控制,主要是因為Matlab強大的技術支持平臺,其信號處理功能和圖形效果的優越性是VC#或VB 6.0等目前常用的上位機軟件無法替代的[10]。本系統GUI主要功能包括:模式選擇、系統運行、過流和握手應答顯示等,上位機軟件界面如圖5所示。
圖5 ETC上位機軟件界面
介紹如下:
系統上位機和下位機采用串行異步方式,通信協議如下:波特率9 600 b/s,起始位1位,停止位1位,無校驗位。串口數據的讀取,采用查詢方式,讀取串口數據,采用連續接收數據(continuous)的缺省方式,因而下位機返回的數據自動地存入輸入緩沖區中。
軟件串口初始化設置如下:
Instrreset;%清除所有連接設備
s=serial(′COM3′,′BaudRate′,9600,′DataBits′,8,′Parity′,′none′,′StopBits′,1,′Terminator′,′CR′);%串口參數初始化設置,設置終止符為CR(回車符)
Set(s,′inputbuffersize′,4096);%設置輸入緩存
Fopen(handles.s);%開串口
Handles.comm=s;%加入句柄結構
用戶可根據需要,選擇串口。設計上,采用彈出框形式,其回調函數為:
com=get(hObject,′String′);
handles.com=com{get(hObject,′Value′)};
set(handles.edit1,′String′,handles.com);
guidata(hObject,handles);
參數設置好后,用戶通過“參數傳遞”按鈕,向下位機傳遞運行模式等相關運行參數。得到響應后,用戶再通過運行按鈕啟動系統。在設計中,為了實現交互式的輸入,在調用set 和get等回調函數時,還應特別注意數據類型的轉換,否則,就無法實現交互式的操作。
3.2 下位機軟件設計
單片機軟件系統采用CodeVersionAVR環境編程,程序由前、后臺程序構成。前臺程序包括系統初始化程序和循環檢測程序。后臺程序則包括軟件定時器中斷程序、串口中斷接收子程序與串口中斷發送程序,過流保護外中斷程序。
初始化程序主要包括單片機I/O口初始化、兩路A/D轉換的初始化(腳踏板傳感器A/D轉換初始化和節氣門開度傳感器A/D轉換A/D初始化)、串口通信初始化以及單片機PWM端口的初始化等。系統初始化完成后,就等待中斷,以完成中斷子程序的處理。
對于軟件定時器,采用的是8位T/C0的CTC模式,定時時間設置為20 ms。單片機需完成腳踏板和節氣門位置信號的讀取及A/D轉換、模糊控制算法的實現,以及單片機PWM信號的輸出等功能。軟件定時中斷程序的流程圖如圖6所示。
圖6 軟件定時中斷子程序流程圖
驅動電路的PWM的輸出,使用的是單片機引腳PD3的第二功能OC1,采用的是相位修正PWM模式。程序設計時,通過改變輸入捕捉寄存器ICR1中的值來改變PWM的頻率,改變OCR1A輸出比較寄存器的值,以改變PWM的占空比。我們發現,電機的脈寬調制頻率對電機有很大影響。頻率過低則電機顫振幅度偏大, 不符合電子節氣門的高精度控制要求;頻率過高則電機會產生刺耳的蜂鳴聲。通過不斷調試,發現,電機的脈寬調制頻率為1 200 Hz左右效果最好。
ETC系統試驗臺實物圖如圖7所示。
圖7 ETC系統實驗臺
4 結 語
電子節氣門系統是一個復雜的非線性系統,非線性因素的存在將影響系統的控制精度和響應特性。本系統采用模糊參數自整定控制策略,實現了對電子節氣門的精確控制。節氣門控制過程中無抖動,中間位置時無振蕩,而且打開和關閉節氣門過程中,節氣門運動得十分平滑,從而達到了預期的目的。
參考文獻
[1]王斌,劉昭度,何瑋.汽車電子節氣門技術研究現狀及發展趨勢[J].小型內燃機與摩托車,2005,34(6):32-34.
[2]馬潮.AVR嵌入式系統原理與應用實踐[M].北京:北京航空航天大學出版社,2007.
[3]周建新,馬潮,耿德根.AVR單片機BASIC語言編程及開發[M].北京:清華大學出版社,2005.
[4]王曉明.電動機的單片機控制[M].北京:北京航空航天大學出版社,2002.
[5]王磊,艾曉庸,朱齊丹.基于LMD18200組件的直流電機驅動器的設計[J].自動化與儀表,2004,19(1):26-27.
[6]吳瓊,彭憶強,劉輝.電子節氣門硬件在環仿真測試方法研究[J].中國測試技術,2008(5):32-33.
[7]陶國良,郭連,劉昊,等.電子節氣門變結構滑模控制及仿真與試驗[J].內燃機工程,2005(3):16-17.
[8]馮能蓮,董春波,賓洋,等.電子節氣門控制系統研究[J].汽車技術,2004(1):1-4.
[9]蘇海峰,馮國勝.基于DSP的電子節氣門PID控制[J].汽車技術,2007(1):26-27.
[10]張恒光,黃吉勝.基于模糊PID控制汽車巡航系統的研究[J].哈爾濱理工大學學報,2007,12(6):31-34.
陸垚光.精通Matlab GUI設計[M].北京:電子工業出版社,2008.