李華偉
(上海浦東張橋醫(yī)用設(shè)備有限公司,上海 200129)
PID控制原理作為經(jīng)典控制理論,其應(yīng)用十分廣泛,在工、農(nóng)業(yè)生產(chǎn)中主要表現(xiàn)在實現(xiàn)對溫度、濕度、壓力、流量、位移、速度以及加速度等控制對象的調(diào)節(jié)[1]。本文以典型的溫、濕度控制為對象進行應(yīng)用分析,闡述比例積分微分(Proportion Integral Differential,PID)控制在醫(yī)用凈化空調(diào)機組控制系統(tǒng)上的設(shè)計實現(xiàn)[2]。醫(yī)用潔凈室作為重要的醫(yī)療救護場所對環(huán)境參數(shù)要求較高,為了達到設(shè)計的潔凈指標并為醫(yī)療救護提供良好的工作環(huán)境,設(shè)計更加智能化與高可靠性的PID控制器來實現(xiàn)較高的溫、濕度控制水平具有重要意義[3]。
單片機作為一種體積小、功耗低、可靠性高、適用性強以及造價經(jīng)濟的芯片級計算機,以充當智能控制的核心角色被廣泛應(yīng)用到人們生活的各個方面。隨著大規(guī)模集成電路和系統(tǒng)級芯片(System On Chip,SOC)技術(shù)的發(fā)展,使得單片機的外設(shè)更加豐富,性能更加強大,通用性更強,高效的語言指令和優(yōu)異的再編程能力能滿足大多數(shù)工業(yè)自動化儀表及其他人工智能設(shè)備的開發(fā)需求,為智能控制設(shè)備的設(shè)計開發(fā)奠定了基礎(chǔ)[4,5]。
筆者以潔凈室溫、濕度控制為應(yīng)用背景,研究了PID控制在單片機系統(tǒng)上的可靠性控制實現(xiàn)原理,并對采樣處理方法和PID算法的改進實現(xiàn)方法進行了重點研究,給出了關(guān)鍵算法的C語言程序設(shè)計。
醫(yī)用潔凈室溫、濕度控制屬于典型的閉環(huán)負反饋控制系統(tǒng),其基本原理為PID控制器通過傳感器采樣潔凈室回風(fēng)管道內(nèi)的回風(fēng)溫、濕度值作為室內(nèi)反饋值B(S),將采樣的溫、濕度值與設(shè)定的給定值R(S)進行比較,取其偏差E(S),執(zhí)行PID算法程序,輸出模擬調(diào)節(jié)信號。其中通過溫度調(diào)節(jié)信號控制閥門開度來控制流經(jīng)凈化空調(diào)熱交換器的媒介流量,以此來實現(xiàn)控制環(huán)境溫度的目的;通過濕度調(diào)節(jié)信號控制凈化空調(diào)電極加濕器加濕比例,以此來實現(xiàn)控制環(huán)境濕度的目的。系統(tǒng)原理如圖1所示。
圖1 潔凈室溫、濕度控制原理
圖2是醫(yī)用潔凈室溫、濕度自動控制原理的簡化模型,該模型便于PID控制算法在單片機系統(tǒng)上實現(xiàn)軟件編程??刂颇P蛨D中的PID控制器是控制系統(tǒng)的核心,作用是對溫、濕度反饋信號進行模擬/數(shù)字(Analog/Digital,A/D)采樣、執(zhí)行PID控制運算和控制調(diào)節(jié)輸出。PID控制器把設(shè)定的溫、濕度值作為系統(tǒng)給定信號R(S),傳感器輸入信號作為溫、濕度反饋信號B(S),二者之間的差值即為控制偏差E(S),控制調(diào)節(jié)信號U(S)由PID控制器通過計算得到,調(diào)節(jié)信號經(jīng)過D/A轉(zhuǎn)換輸出控制作用對象,以此來實現(xiàn)溫、濕度控制。
圖2 簡化控制模型
圖3是PID控制器的硬件組成,主要由單片機系統(tǒng)、模擬輸入(Analog Input,AI)電路、模擬輸出(Analog Output,AO)電路、數(shù)字輸入(Digital Input,DI)電路、數(shù)字輸出(Digital Output,DO)電路以及RS485通信接口電路等構(gòu)成。
圖3 PID控制器的硬件組成
由于模擬輸入電路是控制反饋采樣的前置處理電路,其安全性與可靠性直接影響反饋采樣的可靠性,進而影響PID控制的可靠性,因此模擬輸入接口電路設(shè)計非常重要。
圖4為設(shè)計的模擬信號輸入電路原理,主要作用是實現(xiàn)PID反饋信號輸入,用于完成溫、濕度反饋及其他輔助功能的模擬信號(直流0~10 V/4~20 mA)輸入。此電路可以實現(xiàn)3類信號輸入,JP1跳線短接時用于實現(xiàn)開關(guān)量信號輸入,JP2跳線短接時用于實現(xiàn)直流4~20 mA電流信號輸入,JP1和JP2均開路用于實現(xiàn)直流0~10 V電壓信號輸入,其中運算放大器為電壓跟隨器用法,起到阻抗隔離的作用[6]。
圖4 模擬信號輸入原理
圖5為模擬輸出接口電路原理,實現(xiàn)數(shù)字/模擬信號(直流0~10 V)輸出功能,主要作用是實現(xiàn)PID控制調(diào)節(jié)輸出,其輸出安全性與可靠性直接影響PID控制作用,進而影響PID控制性能。
圖5 模擬信號輸出電路
設(shè)計使用TI公司的DAC104S085型10 bit四通道數(shù)模轉(zhuǎn)換器,該芯片采用SPI接口標準,具有轉(zhuǎn)換精度高、輸出動態(tài)特性好、工作電壓寬以及低功耗等特點,能夠滿足PID控制模擬調(diào)節(jié)輸出的需要。
圖6為數(shù)字信號輸入電路,用來實現(xiàn)無源開關(guān)量信號輸入,主要作用是采集凈化空調(diào)機組的狀態(tài)信號,為提高信號抗干擾能力采用光耦合隔離方法。
圖6 數(shù)字信號輸入電路
圖7為數(shù)字信號輸出電路,主要作用是實現(xiàn)開關(guān)信號輸出,實現(xiàn)凈化空調(diào)機組的設(shè)備啟停等。
圖7 數(shù)字量輸出電路原理
圖8為通信電路接口原理。PID控制器設(shè)計3路RS485通信接口,分別用于實現(xiàn)人機界面(Human Machine Interface,HMI)通信、輸入輸出(Input Output,IO)模塊擴展和遠程通信監(jiān)控,其中IO模塊擴展的目的是提高控制器的柔性能力,用以擴展PID控制回路數(shù)。
圖8 通信電路接口原理
PID控制的基本原理是對控制目標的偏差E(S)進行比例P(S)、積分I(S)和微分D(S)運算,并將3者進行疊加的一種控制算法。在模擬系統(tǒng)中,PID控制傳遞函數(shù)為:
式中:KP為控制比例系數(shù);Ti為積分時間常數(shù);τ為微分時間常數(shù)。
在數(shù)字系統(tǒng)中,單片機無法實現(xiàn)對模擬信號的不間斷采樣控制,只能根據(jù)采樣時刻的控制偏差值來計算控制量,因此模擬傳遞函數(shù)中的積分項和微分項都無法直接使用,需要進行離散化處理,以適應(yīng)單片機系統(tǒng)。
離散化的過程即將描述模擬系統(tǒng)的連續(xù)時間t的積分用一系列時刻點的采樣求和代替積分,以差分代替微分,從而簡化得到便于單片機編程實現(xiàn)的離散式PID傳遞函數(shù)為:
式中:n為信號采樣序列,n=0,1,2,……;u(n)為第n次采樣時刻的PID控制輸出量;e(n)為第n次采樣時刻的控制偏差量;n(n-1)為第n-1次采樣時刻的控制偏差量;Ti為積分時間常數(shù);Td為微分時間常數(shù);T為采樣周期(兩次采樣的時間間隔)。
從離散PID控制函數(shù)可知,兩個連續(xù)采樣時刻的控制偏差值E(S)的可靠性決定了控制的可靠性,PID控制函數(shù)中KP、Ti以及Td這3個參數(shù)的取值決定了PID算法的控制性能。
由于單片機系統(tǒng)受A/D采樣精度和其他抗擾度因素的影響,會因控制反饋采樣誤差而造成控制偏差產(chǎn)生誤差,從而使控制輸出產(chǎn)生誤差。以控制達到穩(wěn)態(tài)時為參考,假設(shè)給定參數(shù)R(S)不變,采樣參數(shù)為B(n),則比例控制環(huán)節(jié)如下。
第n-1次控制偏差值為:
第n-1次控制比例值為:
第n次控制偏差值為:
第n次控制比例值為:
通過第n次與第n-1次的控制比例計算可知,P(n)的比例系數(shù)KP是定值,給定參數(shù)R(S)也是定值,比例控制P(n)的輸出大小直接正比于控制偏差E(n)。
則第n次與第n-1次的控制偏差計算變化量為:
比例控制輸出變化量為:
在單片機系統(tǒng)中,即便給定目標參數(shù)與反饋輸入信號不變的情況下,由于受單片機A/D采樣精度的影響,因此仍可能會出現(xiàn)對反饋信號B(n)誤差性采樣,這樣就會造成前后兩次比例控制ΔP(n)不為零的情況,越是控制接近穩(wěn)態(tài)時或者精密控制時則E(n)數(shù)據(jù)越小,也就可能出現(xiàn)控制偏差的誤差占比ΔE(n)/E(n)較大。根據(jù)比例控制中比例系數(shù)與控制偏差之間的關(guān)系可知,比例系數(shù)KP越大則控制輸出誤差越大,可能產(chǎn)生的前后兩次控制輸出幅度波動,此種誤差的影響會作用到積分和微分環(huán)節(jié),造成控制輸出不穩(wěn)定,影響控制精度。
另外,控制系統(tǒng)受其他抗擾度的影響,可能會造成單片機在某一時刻采樣時E(n)出現(xiàn)異常偏離變化,從而導(dǎo)致前后兩次計算偏差的誤差ΔE(n)擾動偏大,使PID控制產(chǎn)生擾動性控制動作,輕則產(chǎn)生控制振蕩,重則失控。
為解決以上問題,本文采用滑動濾波法對反饋采樣值處理,起到對采樣數(shù)據(jù)濾波的作用,間接提高了采樣精度,提高反饋采樣的可靠性,同時使偏差取值得到平滑濾波,使偏差采樣可靠,以此提升PID控制的可靠性和控制精度[7]。
設(shè)計深度為10的先進先出隊列(First Input First Output,F(xiàn)IFO),滑動存儲最近連續(xù)10次反饋信號A/D采樣數(shù)據(jù),用其10次累加值作為當前控制反饋采樣值,每次的A/D采樣值僅占控制采樣數(shù)據(jù)的10%,使A/D采樣誤差的影響降低,提高了采樣精度和抗信號擾動性,以此確??刂破钊拥目煽啃?,為PID控制可靠性奠定采樣基礎(chǔ)。
PID控制中,比例控制的優(yōu)點是作用速度快,缺點是取值偏大容易造成控制震蕩,取值偏小會造成穩(wěn)態(tài)誤差大。在控制中根據(jù)控制偏差值動態(tài)調(diào)整比例系數(shù)可以達到快速降低控制偏差又不引起控制震蕩的目的,其中積分控制主要用于消除穩(wěn)態(tài)誤差。作用系數(shù)固定時,如果控制偏差大,則控制具有階躍性特點,不利于系統(tǒng)穩(wěn)定;而如果控制偏差小,則控制具有作用強度不夠的可能。在運行中根據(jù)控制偏差值反向動態(tài)調(diào)整積分系數(shù)可以快速平穩(wěn)地消除穩(wěn)態(tài)誤差。微分作用具有預(yù)判的特點,降低控制超調(diào)量,在控制過程中動態(tài)調(diào)整系數(shù)可以取得良好的微分效果。
由于離散PID控制函數(shù)中KP、Ti以及Td的取值決定了PID算法的控制性能,且比例P(S)、積分I(S)和微分D(S)受同一參數(shù)KP的作用,各項的調(diào)節(jié)作用強度具有關(guān)聯(lián)性,缺乏靈活性,難以充分發(fā)揮每項的控制優(yōu)點[8]。結(jié)合以上分析,對此PID函數(shù)再次改進,算法為:
式中:u0為控制基準值,是偏差為0時的控制作用。
原來3項共同作用比例系數(shù)被3個獨立且運行中可調(diào)的參數(shù)替代,在運行過程中程序可根據(jù)控制偏差大小自動調(diào)整3個獨立參數(shù)以及各自的作用強度,充分發(fā)揮PID控制的每項優(yōu)點,以此提高PID控制的整體作用性能。
優(yōu)化后的PID算法占用單片機資源少,易于編程實現(xiàn)。程序設(shè)計主要分兩部分:一是A/D采樣處理部分,實現(xiàn)10次A/D采樣滑動濾波累加值作為PID反饋過程數(shù)據(jù)(Process Value,PV);二是改進PID算法的函數(shù)實現(xiàn)設(shè)計,采用宏定義的方式定義最大PID回路數(shù),可根據(jù)控制需要和SCM隨機存取存儲器(Random Access Memory,RAM)大小定義所需PID回路數(shù),以提高程序利用率,便于應(yīng)用程序在不同單片機系統(tǒng)間移植。
另外,給定數(shù)據(jù)(Set Point,SP)的取值范圍需與PV匹配,為了不放大控制偏差值,降低誤差性控制動作并滿足控制計算輸出,運行中3項系數(shù)的范圍取0~1。依據(jù)改進的PID算法原理設(shè)計基于C語言的PID控制程序如下:
實際工程采用STM32單片機系統(tǒng),按照設(shè)計的接口電路系統(tǒng)一起構(gòu)成PID控制器硬件,在Keil MDK-ARM環(huán)境下移植上述改進PID算法編寫的C語言控制程序,依據(jù)溫、濕度控制偏差值來調(diào)整PID控制的各項控制參數(shù),以此來實現(xiàn)較好的PID控制性能[9,10]。制熱狀態(tài)下的溫度控制PID參數(shù)差異化賦值管理如下:
實際應(yīng)用中,在設(shè)備負載能力滿足負荷的條件下,工程實際運行能夠?qū)崿F(xiàn)溫度在17~30 ℃的控制誤差小于0.5 ℃,相對濕度在40%~60%的控制誤差小于3%,具有較好的抗擾動能力,動態(tài)調(diào)節(jié)速度快,控制誤差小。圖9為某醫(yī)院控制現(xiàn)場運行時的人機接口(Human Machine Interface,HMI)數(shù)據(jù),通過對控制進行動態(tài)觀察以及溫、濕度給定值與反饋值的比較可知,控制運行符合設(shè)計預(yù)期。
圖9 某醫(yī)院控制現(xiàn)場運行時的HMI數(shù)據(jù)
實踐應(yīng)用表明,以單片機為核心的控制器經(jīng)過滑動濾波法獲取采樣數(shù)據(jù)后計算的控制偏差可靠性好,改進的3項系數(shù)獨立且運行可調(diào)的PID算法能夠提高PID控制的靈活性,利于發(fā)揮各項控制的優(yōu)點。同時此種方案實現(xiàn)了潔凈室溫、濕度控制的目的,為實現(xiàn)凈化功能并提供舒適的醫(yī)療救護環(huán)境奠定了基礎(chǔ),對新型智能化PID控制設(shè)備的開發(fā)具有一定的參考價值。