李華偉
(上海浦東張橋醫(yī)用設(shè)備有限公司,上海 200129)
PID控制原理作為經(jīng)典控制理論,其應(yīng)用十分廣泛,在工、農(nóng)業(yè)生產(chǎn)中主要表現(xiàn)在實(shí)現(xiàn)對溫度、濕度、壓力、流量、位移、速度以及加速度等控制對象的調(diào)節(jié)[1]。本文以典型的溫、濕度控制為對象進(jìn)行應(yīng)用分析,闡述比例積分微分(Proportion Integral Differential,PID)控制在醫(yī)用凈化空調(diào)機(jī)組控制系統(tǒng)上的設(shè)計(jì)實(shí)現(xiàn)[2]。醫(yī)用潔凈室作為重要的醫(yī)療救護(hù)場所對環(huán)境參數(shù)要求較高,為了達(dá)到設(shè)計(jì)的潔凈指標(biāo)并為醫(yī)療救護(hù)提供良好的工作環(huán)境,設(shè)計(jì)更加智能化與高可靠性的PID控制器來實(shí)現(xiàn)較高的溫、濕度控制水平具有重要意義[3]。
單片機(jī)作為一種體積小、功耗低、可靠性高、適用性強(qiáng)以及造價(jià)經(jīng)濟(jì)的芯片級(jí)計(jì)算機(jī),以充當(dāng)智能控制的核心角色被廣泛應(yīng)用到人們生活的各個(gè)方面。隨著大規(guī)模集成電路和系統(tǒng)級(jí)芯片(System On Chip,SOC)技術(shù)的發(fā)展,使得單片機(jī)的外設(shè)更加豐富,性能更加強(qiáng)大,通用性更強(qiáng),高效的語言指令和優(yōu)異的再編程能力能滿足大多數(shù)工業(yè)自動(dòng)化儀表及其他人工智能設(shè)備的開發(fā)需求,為智能控制設(shè)備的設(shè)計(jì)開發(fā)奠定了基礎(chǔ)[4,5]。
筆者以潔凈室溫、濕度控制為應(yīng)用背景,研究了PID控制在單片機(jī)系統(tǒng)上的可靠性控制實(shí)現(xiàn)原理,并對采樣處理方法和PID算法的改進(jìn)實(shí)現(xiàn)方法進(jìn)行了重點(diǎn)研究,給出了關(guān)鍵算法的C語言程序設(shè)計(jì)。
醫(yī)用潔凈室溫、濕度控制屬于典型的閉環(huán)負(fù)反饋控制系統(tǒng),其基本原理為PID控制器通過傳感器采樣潔凈室回風(fēng)管道內(nèi)的回風(fēng)溫、濕度值作為室內(nèi)反饋值B(S),將采樣的溫、濕度值與設(shè)定的給定值R(S)進(jìn)行比較,取其偏差E(S),執(zhí)行PID算法程序,輸出模擬調(diào)節(jié)信號(hào)。其中通過溫度調(diào)節(jié)信號(hào)控制閥門開度來控制流經(jīng)凈化空調(diào)熱交換器的媒介流量,以此來實(shí)現(xiàn)控制環(huán)境溫度的目的;通過濕度調(diào)節(jié)信號(hào)控制凈化空調(diào)電極加濕器加濕比例,以此來實(shí)現(xiàn)控制環(huán)境濕度的目的。系統(tǒng)原理如圖1所示。

圖1 潔凈室溫、濕度控制原理
圖2是醫(yī)用潔凈室溫、濕度自動(dòng)控制原理的簡化模型,該模型便于PID控制算法在單片機(jī)系統(tǒng)上實(shí)現(xiàn)軟件編程。控制模型圖中的PID控制器是控制系統(tǒng)的核心,作用是對溫、濕度反饋信號(hào)進(jìn)行模擬/數(shù)字(Analog/Digital,A/D)采樣、執(zhí)行PID控制運(yùn)算和控制調(diào)節(jié)輸出。PID控制器把設(shè)定的溫、濕度值作為系統(tǒng)給定信號(hào)R(S),傳感器輸入信號(hào)作為溫、濕度反饋信號(hào)B(S),二者之間的差值即為控制偏差E(S),控制調(diào)節(jié)信號(hào)U(S)由PID控制器通過計(jì)算得到,調(diào)節(jié)信號(hào)經(jīng)過D/A轉(zhuǎn)換輸出控制作用對象,以此來實(shí)現(xiàn)溫、濕度控制。

圖2 簡化控制模型
圖3是PID控制器的硬件組成,主要由單片機(jī)系統(tǒng)、模擬輸入(Analog Input,AI)電路、模擬輸出(Analog Output,AO)電路、數(shù)字輸入(Digital Input,DI)電路、數(shù)字輸出(Digital Output,DO)電路以及RS485通信接口電路等構(gòu)成。

圖3 PID控制器的硬件組成
由于模擬輸入電路是控制反饋采樣的前置處理電路,其安全性與可靠性直接影響反饋采樣的可靠性,進(jìn)而影響PID控制的可靠性,因此模擬輸入接口電路設(shè)計(jì)非常重要。
圖4為設(shè)計(jì)的模擬信號(hào)輸入電路原理,主要作用是實(shí)現(xiàn)PID反饋信號(hào)輸入,用于完成溫、濕度反饋及其他輔助功能的模擬信號(hào)(直流0~10 V/4~20 mA)輸入。此電路可以實(shí)現(xiàn)3類信號(hào)輸入,JP1跳線短接時(shí)用于實(shí)現(xiàn)開關(guān)量信號(hào)輸入,JP2跳線短接時(shí)用于實(shí)現(xiàn)直流4~20 mA電流信號(hào)輸入,JP1和JP2均開路用于實(shí)現(xiàn)直流0~10 V電壓信號(hào)輸入,其中運(yùn)算放大器為電壓跟隨器用法,起到阻抗隔離的作用[6]。

圖4 模擬信號(hào)輸入原理
圖5為模擬輸出接口電路原理,實(shí)現(xiàn)數(shù)字/模擬信號(hào)(直流0~10 V)輸出功能,主要作用是實(shí)現(xiàn)PID控制調(diào)節(jié)輸出,其輸出安全性與可靠性直接影響PID控制作用,進(jìn)而影響PID控制性能。

圖5 模擬信號(hào)輸出電路
設(shè)計(jì)使用TI公司的DAC104S085型10 bit四通道數(shù)模轉(zhuǎn)換器,該芯片采用SPI接口標(biāo)準(zhǔn),具有轉(zhuǎn)換精度高、輸出動(dòng)態(tài)特性好、工作電壓寬以及低功耗等特點(diǎn),能夠滿足PID控制模擬調(diào)節(jié)輸出的需要。
圖6為數(shù)字信號(hào)輸入電路,用來實(shí)現(xiàn)無源開關(guān)量信號(hào)輸入,主要作用是采集凈化空調(diào)機(jī)組的狀態(tài)信號(hào),為提高信號(hào)抗干擾能力采用光耦合隔離方法。

圖6 數(shù)字信號(hào)輸入電路
圖7為數(shù)字信號(hào)輸出電路,主要作用是實(shí)現(xiàn)開關(guān)信號(hào)輸出,實(shí)現(xiàn)凈化空調(diào)機(jī)組的設(shè)備啟停等。

圖7 數(shù)字量輸出電路原理
圖8為通信電路接口原理。PID控制器設(shè)計(jì)3路RS485通信接口,分別用于實(shí)現(xiàn)人機(jī)界面(Human Machine Interface,HMI)通信、輸入輸出(Input Output,IO)模塊擴(kuò)展和遠(yuǎn)程通信監(jiān)控,其中IO模塊擴(kuò)展的目的是提高控制器的柔性能力,用以擴(kuò)展PID控制回路數(shù)。

圖8 通信電路接口原理
PID控制的基本原理是對控制目標(biāo)的偏差E(S)進(jìn)行比例P(S)、積分I(S)和微分D(S)運(yùn)算,并將3者進(jìn)行疊加的一種控制算法。在模擬系統(tǒng)中,PID控制傳遞函數(shù)為:

式中:KP為控制比例系數(shù);Ti為積分時(shí)間常數(shù);τ為微分時(shí)間常數(shù)。
在數(shù)字系統(tǒng)中,單片機(jī)無法實(shí)現(xiàn)對模擬信號(hào)的不間斷采樣控制,只能根據(jù)采樣時(shí)刻的控制偏差值來計(jì)算控制量,因此模擬傳遞函數(shù)中的積分項(xiàng)和微分項(xiàng)都無法直接使用,需要進(jìn)行離散化處理,以適應(yīng)單片機(jī)系統(tǒng)。
離散化的過程即將描述模擬系統(tǒng)的連續(xù)時(shí)間t的積分用一系列時(shí)刻點(diǎn)的采樣求和代替積分,以差分代替微分,從而簡化得到便于單片機(jī)編程實(shí)現(xiàn)的離散式PID傳遞函數(shù)為:

式中:n為信號(hào)采樣序列,n=0,1,2,……;u(n)為第n次采樣時(shí)刻的PID控制輸出量;e(n)為第n次采樣時(shí)刻的控制偏差量;n(n-1)為第n-1次采樣時(shí)刻的控制偏差量;Ti為積分時(shí)間常數(shù);Td為微分時(shí)間常數(shù);T為采樣周期(兩次采樣的時(shí)間間隔)。
從離散PID控制函數(shù)可知,兩個(gè)連續(xù)采樣時(shí)刻的控制偏差值E(S)的可靠性決定了控制的可靠性,PID控制函數(shù)中KP、Ti以及Td這3個(gè)參數(shù)的取值決定了PID算法的控制性能。
由于單片機(jī)系統(tǒng)受A/D采樣精度和其他抗擾度因素的影響,會(huì)因控制反饋采樣誤差而造成控制偏差產(chǎn)生誤差,從而使控制輸出產(chǎn)生誤差。以控制達(dá)到穩(wěn)態(tài)時(shí)為參考,假設(shè)給定參數(shù)R(S)不變,采樣參數(shù)為B(n),則比例控制環(huán)節(jié)如下。
第n-1次控制偏差值為:

第n-1次控制比例值為:

第n次控制偏差值為:

第n次控制比例值為:

通過第n次與第n-1次的控制比例計(jì)算可知,P(n)的比例系數(shù)KP是定值,給定參數(shù)R(S)也是定值,比例控制P(n)的輸出大小直接正比于控制偏差E(n)。
則第n次與第n-1次的控制偏差計(jì)算變化量為:

比例控制輸出變化量為:

在單片機(jī)系統(tǒng)中,即便給定目標(biāo)參數(shù)與反饋輸入信號(hào)不變的情況下,由于受單片機(jī)A/D采樣精度的影響,因此仍可能會(huì)出現(xiàn)對反饋信號(hào)B(n)誤差性采樣,這樣就會(huì)造成前后兩次比例控制ΔP(n)不為零的情況,越是控制接近穩(wěn)態(tài)時(shí)或者精密控制時(shí)則E(n)數(shù)據(jù)越小,也就可能出現(xiàn)控制偏差的誤差占比ΔE(n)/E(n)較大。根據(jù)比例控制中比例系數(shù)與控制偏差之間的關(guān)系可知,比例系數(shù)KP越大則控制輸出誤差越大,可能產(chǎn)生的前后兩次控制輸出幅度波動(dòng),此種誤差的影響會(huì)作用到積分和微分環(huán)節(jié),造成控制輸出不穩(wěn)定,影響控制精度。
另外,控制系統(tǒng)受其他抗擾度的影響,可能會(huì)造成單片機(jī)在某一時(shí)刻采樣時(shí)E(n)出現(xiàn)異常偏離變化,從而導(dǎo)致前后兩次計(jì)算偏差的誤差ΔE(n)擾動(dòng)偏大,使PID控制產(chǎn)生擾動(dòng)性控制動(dòng)作,輕則產(chǎn)生控制振蕩,重則失控。
為解決以上問題,本文采用滑動(dòng)濾波法對反饋采樣值處理,起到對采樣數(shù)據(jù)濾波的作用,間接提高了采樣精度,提高反饋采樣的可靠性,同時(shí)使偏差取值得到平滑濾波,使偏差采樣可靠,以此提升PID控制的可靠性和控制精度[7]。
設(shè)計(jì)深度為10的先進(jìn)先出隊(duì)列(First Input First Output,F(xiàn)IFO),滑動(dòng)存儲(chǔ)最近連續(xù)10次反饋信號(hào)A/D采樣數(shù)據(jù),用其10次累加值作為當(dāng)前控制反饋采樣值,每次的A/D采樣值僅占控制采樣數(shù)據(jù)的10%,使A/D采樣誤差的影響降低,提高了采樣精度和抗信號(hào)擾動(dòng)性,以此確保控制偏差取樣的可靠性,為PID控制可靠性奠定采樣基礎(chǔ)。
PID控制中,比例控制的優(yōu)點(diǎn)是作用速度快,缺點(diǎn)是取值偏大容易造成控制震蕩,取值偏小會(huì)造成穩(wěn)態(tài)誤差大。在控制中根據(jù)控制偏差值動(dòng)態(tài)調(diào)整比例系數(shù)可以達(dá)到快速降低控制偏差又不引起控制震蕩的目的,其中積分控制主要用于消除穩(wěn)態(tài)誤差。作用系數(shù)固定時(shí),如果控制偏差大,則控制具有階躍性特點(diǎn),不利于系統(tǒng)穩(wěn)定;而如果控制偏差小,則控制具有作用強(qiáng)度不夠的可能。在運(yùn)行中根據(jù)控制偏差值反向動(dòng)態(tài)調(diào)整積分系數(shù)可以快速平穩(wěn)地消除穩(wěn)態(tài)誤差。微分作用具有預(yù)判的特點(diǎn),降低控制超調(diào)量,在控制過程中動(dòng)態(tài)調(diào)整系數(shù)可以取得良好的微分效果。
由于離散PID控制函數(shù)中KP、Ti以及Td的取值決定了PID算法的控制性能,且比例P(S)、積分I(S)和微分D(S)受同一參數(shù)KP的作用,各項(xiàng)的調(diào)節(jié)作用強(qiáng)度具有關(guān)聯(lián)性,缺乏靈活性,難以充分發(fā)揮每項(xiàng)的控制優(yōu)點(diǎn)[8]。結(jié)合以上分析,對此PID函數(shù)再次改進(jìn),算法為:

式中:u0為控制基準(zhǔn)值,是偏差為0時(shí)的控制作用。
原來3項(xiàng)共同作用比例系數(shù)被3個(gè)獨(dú)立且運(yùn)行中可調(diào)的參數(shù)替代,在運(yùn)行過程中程序可根據(jù)控制偏差大小自動(dòng)調(diào)整3個(gè)獨(dú)立參數(shù)以及各自的作用強(qiáng)度,充分發(fā)揮PID控制的每項(xiàng)優(yōu)點(diǎn),以此提高PID控制的整體作用性能。
優(yōu)化后的PID算法占用單片機(jī)資源少,易于編程實(shí)現(xiàn)。程序設(shè)計(jì)主要分兩部分:一是A/D采樣處理部分,實(shí)現(xiàn)10次A/D采樣滑動(dòng)濾波累加值作為PID反饋過程數(shù)據(jù)(Process Value,PV);二是改進(jìn)PID算法的函數(shù)實(shí)現(xiàn)設(shè)計(jì),采用宏定義的方式定義最大PID回路數(shù),可根據(jù)控制需要和SCM隨機(jī)存取存儲(chǔ)器(Random Access Memory,RAM)大小定義所需PID回路數(shù),以提高程序利用率,便于應(yīng)用程序在不同單片機(jī)系統(tǒng)間移植。
另外,給定數(shù)據(jù)(Set Point,SP)的取值范圍需與PV匹配,為了不放大控制偏差值,降低誤差性控制動(dòng)作并滿足控制計(jì)算輸出,運(yùn)行中3項(xiàng)系數(shù)的范圍取0~1。依據(jù)改進(jìn)的PID算法原理設(shè)計(jì)基于C語言的PID控制程序如下:



實(shí)際工程采用STM32單片機(jī)系統(tǒng),按照設(shè)計(jì)的接口電路系統(tǒng)一起構(gòu)成PID控制器硬件,在Keil MDK-ARM環(huán)境下移植上述改進(jìn)PID算法編寫的C語言控制程序,依據(jù)溫、濕度控制偏差值來調(diào)整PID控制的各項(xiàng)控制參數(shù),以此來實(shí)現(xiàn)較好的PID控制性能[9,10]。制熱狀態(tài)下的溫度控制PID參數(shù)差異化賦值管理如下:
實(shí)際應(yīng)用中,在設(shè)備負(fù)載能力滿足負(fù)荷的條件下,工程實(shí)際運(yùn)行能夠?qū)崿F(xiàn)溫度在17~30 ℃的控制誤差小于0.5 ℃,相對濕度在40%~60%的控制誤差小于3%,具有較好的抗擾動(dòng)能力,動(dòng)態(tài)調(diào)節(jié)速度快,控制誤差小。圖9為某醫(yī)院控制現(xiàn)場運(yùn)行時(shí)的人機(jī)接口(Human Machine Interface,HMI)數(shù)據(jù),通過對控制進(jìn)行動(dòng)態(tài)觀察以及溫、濕度給定值與反饋值的比較可知,控制運(yùn)行符合設(shè)計(jì)預(yù)期。

圖9 某醫(yī)院控制現(xiàn)場運(yùn)行時(shí)的HMI數(shù)據(jù)
實(shí)踐應(yīng)用表明,以單片機(jī)為核心的控制器經(jīng)過滑動(dòng)濾波法獲取采樣數(shù)據(jù)后計(jì)算的控制偏差可靠性好,改進(jìn)的3項(xiàng)系數(shù)獨(dú)立且運(yùn)行可調(diào)的PID算法能夠提高PID控制的靈活性,利于發(fā)揮各項(xiàng)控制的優(yōu)點(diǎn)。同時(shí)此種方案實(shí)現(xiàn)了潔凈室溫、濕度控制的目的,為實(shí)現(xiàn)凈化功能并提供舒適的醫(yī)療救護(hù)環(huán)境奠定了基礎(chǔ),對新型智能化PID控制設(shè)備的開發(fā)具有一定的參考價(jià)值。