殷齊森,于源華,宮平
(長春理工大學(xué) 生命科學(xué)技術(shù)學(xué)院,長春 130022)
在工業(yè)生產(chǎn)與日常生活中,對溫度的調(diào)控是控制系統(tǒng)的一項(xiàng)重要任務(wù)[1]。梯度核酸擴(kuò)增實(shí)驗(yàn)需要通過高溫變性、低溫退火、中溫延伸三個(gè)環(huán)節(jié)進(jìn)行多輪循環(huán),對溫控系統(tǒng)的升降溫速率有較高要求[2]。PID 控制算法因控制原理簡單,容易實(shí)現(xiàn),被廣泛應(yīng)用于工業(yè)控制,是溫控系統(tǒng)中最典型的控制方式[3]。其中,積分調(diào)節(jié)可以消除系統(tǒng)的穩(wěn)態(tài)誤差,但也會累積較大的偏差值,從而使系統(tǒng)出現(xiàn)較大的超調(diào)量。微分調(diào)節(jié)能夠加快調(diào)節(jié)速度,改善控制系統(tǒng)的動(dòng)態(tài)性能,但是也引入了高頻干擾,使控制系統(tǒng)不穩(wěn)定。 溫控系統(tǒng)具有時(shí)變性、非線性及純滯后性等特點(diǎn),難以建立精確的數(shù)學(xué)模型,傳統(tǒng)的PID 控制器[4]不能達(dá)到理想的控制效果。劉吉名等人[5]采用位置式PID 控制算法,控制溫度為0.5 ℃。聶宵等人[6]采用變速積分PID 控制算法,避免了控溫過程中發(fā)生溫度抖動(dòng)的現(xiàn)象,提高了控制系統(tǒng)的穩(wěn)定性。吳敏等人[7]采用模糊PID 控制算法,使系統(tǒng)的超調(diào)量和進(jìn)入穩(wěn)態(tài)后的穩(wěn)定性得到了明顯的提高,但是系統(tǒng)響應(yīng)速度緩慢。
增量式PID 控制[8]、微分先行PID 控制[9]、步進(jìn)式PID 控制[10]以及變積分PID 控制[11]等一系列改進(jìn)的PID 控制算法,均能夠提升控制系統(tǒng)的精度及穩(wěn)定性,并在一定程度上提高系統(tǒng)的響應(yīng)速度。
基于以上研究,針對梯度核酸擴(kuò)增對升降溫速率的要求,本文提出了一種基于粒子群算法的模糊PID 控制方法。
溫度控制系統(tǒng)所需機(jī)械結(jié)構(gòu)模型如圖1 所示,該裝置由熱蓋、反應(yīng)孔板、半導(dǎo)體制冷片、散熱器、散熱風(fēng)扇以及串口屏幕組成。 系統(tǒng)通過串口屏進(jìn)行人機(jī)交互,用來設(shè)定程序進(jìn)行生物實(shí)驗(yàn)。將96 孔板放入反應(yīng)孔板中,旋轉(zhuǎn)熱蓋旋鈕調(diào)整熱蓋的高度,使其壓在96 孔板上,防止反應(yīng)物冷凝。以H橋電路驅(qū)動(dòng)半導(dǎo)體制冷片進(jìn)行加熱與制冷操作。散熱器與散熱風(fēng)扇用來提高降溫速率以及為系統(tǒng)提供散熱。
圖1 梯度PCR 機(jī)械結(jié)構(gòu)示意圖
基于STM32 的溫度控制系統(tǒng)電路整體框圖如圖2 所示。使用三線制的鉑電阻PT100 CLASS AA 級進(jìn)行溫度采集,溫控范圍在-50 ℃~250 ℃,其測溫精度為±0.1 ℃。 通過ADS1256 模數(shù)轉(zhuǎn)換芯片將采集到的模擬信號轉(zhuǎn)換為數(shù)字信號,再通過STM32 單片機(jī)將采集到的溫度與設(shè)定溫度偏差值經(jīng)過控制算法計(jì)算后得到PWM 信號占空比的值,以此來驅(qū)動(dòng)H橋電路,控制半導(dǎo)體制冷片的加熱與制冷模式,在保證一定精度的同時(shí),以達(dá)到快速升溫與降溫的目的。
圖2 溫控系統(tǒng)整體框圖
半導(dǎo)體制冷片的純制熱(冷)量由焦耳效應(yīng)、熱損失、制冷片產(chǎn)生的熱量組成,如式(1)所示:
其中,π 為半導(dǎo)體制冷片的系數(shù);I為該時(shí)刻的工作電流;Qj是與外界進(jìn)行熱交換的熱傳導(dǎo)效應(yīng)產(chǎn)生的熱量;R代表半導(dǎo)體制冷片的電阻值;Qc為工作過程中產(chǎn)生的熱損失;k為半導(dǎo)體制冷器的導(dǎo)熱率;T?、Tl分別為半導(dǎo)體制冷片熱端和冷端的溫度。
假設(shè)溫度系統(tǒng)中載體的比熱容為C,則可得到傳熱方程為:
其中,T0代表加熱槽中反應(yīng)液的起始溫度;T1代表t1時(shí)刻加熱槽內(nèi)反應(yīng)液的溫度;A為半導(dǎo)體制冷片的導(dǎo)熱系數(shù);E代表反應(yīng)槽與半導(dǎo)體制冷片的接觸面積;?Q代表半導(dǎo)體制冷片工作一段時(shí)間產(chǎn)生的熱量。
由式(1)可知Q放、Q吸與I為非線性關(guān)系,進(jìn)行線性化處理可得:
式中,?T= (T1-T0);K0=f′(φ)。f′(φ) 是在電流I處鄰域內(nèi)的導(dǎo)數(shù)值,φ∈(I1,I2),I1、I2為電流I左右鄰域的值。
對式(3)進(jìn)行拉普拉斯變換,可得該動(dòng)態(tài)微分方程的傳遞函數(shù)為:
因各部分傳熱都有一定的滯后性,在式(4)中加入純延遲時(shí)間τ,則傳遞函數(shù)變?yōu)椋?/p>
粒子群優(yōu)化算法來源于仿生學(xué)思想對候鳥覓食行為的研究,候鳥種群會在尋找食物的過程中不斷進(jìn)行位置和移動(dòng)路徑以及移動(dòng)方向的更新,通過群體間的信息交流來找到最佳的食物地點(diǎn)。PSO 算法具有迭代方式簡單、需要調(diào)整的參數(shù)少、能夠快速收斂到最優(yōu)點(diǎn)所在區(qū)域等優(yōu)點(diǎn)。
粒子群算法的計(jì)算流程如圖3 所示。首先,要對粒子群算法的各個(gè)參數(shù)進(jìn)行初始化,包括參數(shù)維度N、參數(shù)的取值范圍(xmin,xmax)、學(xué)習(xí)因子(c1,c2)、種群規(guī)模M以及迭代次數(shù)n,接下來,通過隨機(jī)分配空間中的每個(gè)例子的初始位置和速度,以確定當(dāng)前個(gè)體和種群的最佳位置。 通過計(jì)算每個(gè)粒子的適應(yīng)度函數(shù),可以評估他們在種群中的最佳位置。更新粒子速度與位置的公式為:
圖3 粒子群算法流程
其中,Vj、Vj+1分別為第j個(gè)粒子在當(dāng)前時(shí)刻與下一時(shí)刻的速度;Xj、Xj+1分別為第j個(gè)粒子當(dāng)前位置與下一時(shí)刻的位置;r1、r2為[0,1]之間的隨機(jī)數(shù);ω為慣性權(quán)重;pj為當(dāng)前個(gè)體最優(yōu)位置;gj為當(dāng)前種群最優(yōu)位置。通過不斷迭代粒子的適應(yīng)度值、速度、位置,進(jìn)而找到最優(yōu)解。
模糊控制的基本原理是將問題進(jìn)行模糊化,根據(jù)專家經(jīng)驗(yàn)建立的規(guī)則庫進(jìn)行模糊邏輯推理,最后解模糊得到控制輸出,是一種非線性控制,具有適應(yīng)度強(qiáng)、魯棒性強(qiáng)、速度快等優(yōu)點(diǎn)。模糊控制器結(jié)構(gòu)如圖4 所示,主要由PID 控制與模糊控制組成。R(t)為設(shè)置的溫度,C(t)為實(shí)際溫度。e為系統(tǒng)的偏差,ec為系統(tǒng)的偏差變化率,二者作為模糊控制的輸入。
圖4 模糊控制器結(jié)構(gòu)
通過不斷檢測溫度控制系統(tǒng)的誤差e和誤差變化率ec,并依據(jù)設(shè)定的模糊規(guī)律,調(diào)整PID 調(diào)整參數(shù)Kp、Ki、Kd的值,可以有效地控制系統(tǒng)的溫度,從而達(dá)到精確控制的目的。調(diào)整公式為:調(diào)整公式為:
式中,Kp1、Ki1、Kd1為PID 控制參數(shù)的初值。
通過將精確量進(jìn)行去清晰化,將輸入數(shù)據(jù)變量偏移e和誤差改變率ec的論域分割為[-3,3]、PID 控制參數(shù)Kp的論域分割為[-6,6]、Ki的論域分割為[-6,6]、Kd的論域分割為[-1,5],將各個(gè)論域分割為七段,每段都是一個(gè)模糊子集,用模糊語言將其描述為{負(fù)大、負(fù)中、負(fù)小、零、正小、正中、正大},記為{NB、NM、NS、ZO、PS、PM、PB}。以高斯隸屬度函數(shù)來控制兩端的模糊子集,其余均使用三角形隸屬度函數(shù)。
為了確保對溫度控制的精確性,提出如下模糊規(guī)則:
(1)當(dāng)系統(tǒng)誤差e較大時(shí),Kp取較大的值,為了減小超調(diào)量,Ki應(yīng)該盡可能的小,Kd取較小的值。
(2)當(dāng)系統(tǒng)誤差處于中等大小時(shí),Kp取較小的值,Ki與Kd取適中的值。
(3)當(dāng)系統(tǒng)誤差較小時(shí),Kp取較大的值,Ki取較大的值,Kd取適中的值。
根據(jù)上述模糊規(guī)則,建立的模糊控制規(guī)則表如表1 所示。
表1 Kp、Ki、Kd 模糊規(guī)則表
PSO 算法優(yōu)化模糊PID 初始參數(shù)流程如圖5所示。
圖5 粒子群優(yōu)化模糊PID 初始參數(shù)流程
(1)粒子群初始化:粒子的種群規(guī)模M選取50 個(gè)粒子,維數(shù)D為3 維,慣性權(quán)重ω一般選值在[0.9,1.2]之間,此次選取ω值為0.9,學(xué)習(xí)因子c1=c2= 2,搜索空間速度的取值范圍在[-1,1],最大迭代次數(shù)n取100 次。
(2)適應(yīng)度函數(shù)的選?。哼x取誤差絕對值對時(shí)間的積分作為性能指標(biāo),公式如下:
其中,e(t)為系統(tǒng)誤差;t為時(shí)間。
(3)產(chǎn)生粒子群之后,將粒子群三個(gè)維數(shù)最優(yōu)值賦值給Kp1、Ki1、Kd1,運(yùn)行溫控系統(tǒng),獲得所有粒子的適應(yīng)度值進(jìn)行對比,選出個(gè)體最優(yōu)適應(yīng)度值和種群最優(yōu)適應(yīng)度值。
(4)進(jìn)行粒子群速度和位置的更新。
(5)若沒達(dá)到迭代次數(shù)或終止條件,將更新的粒子群重新給Kp1、Ki1、Kd1賦值,進(jìn)行下一輪循環(huán),否則輸出最優(yōu)解。
模糊PID 控制器在控制過程中對參數(shù)進(jìn)行自適應(yīng)調(diào)整,響應(yīng)速度快,經(jīng)過PSO 算法將初始控制參數(shù)優(yōu)化后,能夠進(jìn)一步提高模糊PID 控制器的性能,進(jìn)而提高系統(tǒng)的響應(yīng)速度和穩(wěn)定性。
PSO 優(yōu)化的模糊PID 控制器如圖6 所示,首先PSO 算法對模糊PID 控制參數(shù)Kp、Ki、Kd的初始值進(jìn)行優(yōu)化,模糊控制調(diào)整PID 控制參數(shù),調(diào)整量為?Kp、?Ki、?Kd,通過適應(yīng)度函數(shù)計(jì)算適應(yīng)度值,來判斷PID 參數(shù)是否最優(yōu),不斷對參數(shù)進(jìn)行調(diào)整,不斷降低適應(yīng)度值,從而找到最適合的一組值,以達(dá)到想要的控制效果。
圖6 粒子群優(yōu)化的模糊PID 控制器框圖
在Matlab/Simulink 中搭建溫度控制系統(tǒng)的仿真模型,如圖7 所示,PSO 算法通過在PSO_PID.m文件中編寫程序?qū)崿F(xiàn)。 運(yùn)行程序,將生成的粒子群的值通過sim()函數(shù)傳入仿真模型,同時(shí)讀取適應(yīng)度函數(shù)所計(jì)算的適應(yīng)度值,以此來實(shí)現(xiàn)模糊PID 控制參數(shù)的初始值優(yōu)化。
圖7 粒子群優(yōu)化模糊PID 仿真模型
(1)PID 控制仿真
使用PID 算法對溫控系統(tǒng)進(jìn)行控制的結(jié)果如圖8 所示,可以看出升溫速率快,但曲線波動(dòng)過多,出現(xiàn)多次超調(diào)現(xiàn)象,且達(dá)到平穩(wěn)時(shí)間過長。
圖8 PID 響應(yīng)曲線
(2)模糊PID 控制仿真
模糊PID 算法的仿真結(jié)果如圖9 所示,在溫度升高到38 ℃左右時(shí),溫度下降1℃后繼續(xù)升溫,即升溫過程出現(xiàn)不平穩(wěn)現(xiàn)象,圖像在28 s 時(shí)穩(wěn)定在設(shè)定溫度,達(dá)到平穩(wěn)時(shí)間較長,超調(diào)情況出現(xiàn)一次,超調(diào)量為5 ℃。
圖9 模糊PID 響應(yīng)曲線
由圖8、圖9 可知,模糊PID 控制算法在穩(wěn)定性與超調(diào)量上要優(yōu)于PID 控制。但模糊PID 控制在達(dá)到穩(wěn)定時(shí)間上仍舊較長,且超調(diào)量較高。
(3)粒子群優(yōu)化模糊PID 控制仿真
通過使用粒子群算法對模糊PID 控制器的初始參數(shù)進(jìn)行優(yōu)化,進(jìn)而對溫控系統(tǒng)進(jìn)行控制,其控制結(jié)果如圖10、圖11 所示。粒子群在迭代19 次時(shí),即可輸出最優(yōu)解,其最優(yōu)適應(yīng)度值為0.000 282 57。
圖10 粒子群適應(yīng)度值優(yōu)化結(jié)果
圖11 粒子群響應(yīng)階躍曲線
粒子群算法對模糊PID 控制參數(shù)Kp、Ki、Kd初始值優(yōu)化結(jié)果分別為0.221 8、0.013 96、0.000 1。將最終溫度設(shè)置在100 ℃,曲線在13 s 即達(dá)到目標(biāo)溫度且穩(wěn)定。系統(tǒng)升溫速率能達(dá)到7.69 ℃/s,降溫速率達(dá)到5.57 ℃/s。
(4)遺傳算法優(yōu)化模糊PID 控制仿真
為了進(jìn)一步驗(yàn)證PSO 優(yōu)化的模糊PID 控制算法的性能,選取遺傳算法優(yōu)化模糊PID 控制參數(shù)初始值作為對照,其對階躍信號的響應(yīng)結(jié)果如圖12、圖13 所示。 遺傳算法在迭代到50 次左右,輸出最優(yōu)適應(yīng)度值為0.000 282 591,優(yōu)化的模糊PID 控制參數(shù)Kp、Ki、Kd的初始值分別為:0.217 9、0.012 889 6、0.000 17。遺傳算法優(yōu)化結(jié)果與PSO 相似,但迭代次數(shù)是PSO 迭代次數(shù)的兩倍。 且遺傳算法“ 變異”過程的隨機(jī)性太強(qiáng),效率低于粒子群算法。
圖12 遺傳算法適應(yīng)度優(yōu)化結(jié)果
圖13 遺傳算法響應(yīng)曲線
(5)系統(tǒng)升降溫循環(huán)仿真
將系統(tǒng)進(jìn)行多次升降溫,PID 控制與PSO 優(yōu)化模糊PID 控制響應(yīng)曲線如圖14 所示,在頻繁改變溫度的過程中,PSO 優(yōu)化模糊PID 控制能夠在短時(shí)間內(nèi)將溫度調(diào)控到設(shè)定溫度,且到達(dá)設(shè)定溫度后曲線穩(wěn)定。說明該算法在頻繁更改控制溫度的條件下,依然有著可觀的效果。 由圖14可以看出,溫度從0 ℃升高到94 ℃的時(shí)間大約為13 s,到達(dá)設(shè)定溫度時(shí)波動(dòng)范圍為±0.04 ℃。 比文獻(xiàn)[7]中“由0 ℃上升到50 ℃用時(shí)260 s”以及“達(dá)到平穩(wěn)后波動(dòng)范圍在±0.1 ℃”改善不少。
圖14 兩種方法溫度循環(huán)響應(yīng)曲線
(1)系統(tǒng)溫度性能測試
為了進(jìn)一步驗(yàn)證基于粒子群算法的模糊PID控制器對于溫控系統(tǒng)性能的影響及控制效果,在搭建的梯度PCR 擴(kuò)增儀上進(jìn)行驗(yàn)證,如圖15所示。 使用接觸式溫度表TES1310 進(jìn)行升溫測量,每隔一秒記錄一次溫度值,數(shù)據(jù)如表2 所示。
表2 測量溫度數(shù)據(jù)
圖15 搭建的PCR 擴(kuò)增儀器
利用Matlab 對數(shù)據(jù)進(jìn)行擬合,曲線斜率代表速率,從圖16 可以看出,最大升溫速率能達(dá)到6.648 ℃/s,用相同方法驗(yàn)證得到最大降溫速率能達(dá)到5.22 ℃/s。
圖16 擬合結(jié)果
(2)生物實(shí)驗(yàn)驗(yàn)證
使用圖15 所搭建的PCR 擴(kuò)增系統(tǒng),進(jìn)行PCR擴(kuò)增實(shí)驗(yàn),對質(zhì)粒進(jìn)行擴(kuò)增,反應(yīng)體系如表3 所示。
表3 質(zhì)粒擴(kuò)增反應(yīng)體系
與實(shí)驗(yàn)室現(xiàn)有的莫納Tarzan 96 梯度PCR 儀器實(shí)驗(yàn)結(jié)果對比。從設(shè)計(jì)的96 孔板中均勻選取9 個(gè)孔柱里的反應(yīng)物進(jìn)行電泳,電泳結(jié)果如圖17所示,Marker 左邊的9 個(gè)泳道,是本次設(shè)計(jì)系統(tǒng)擴(kuò)增反應(yīng)產(chǎn)物的電泳結(jié)果,右邊的一個(gè)作為對照泳道,是現(xiàn)有儀器的電泳結(jié)果,從圖上泳道條帶的大小和寬度上能夠看出,本次設(shè)計(jì)的PCR溫控系統(tǒng)與實(shí)驗(yàn)室PCR 擴(kuò)增儀的擴(kuò)增效果相當(dāng)。 所以,在升降溫速率以及控溫精度上本次設(shè)計(jì)的PCR 溫控系統(tǒng)能夠滿足PCR 擴(kuò)增所需的溫度條件。
圖17 PCR 擴(kuò)增電泳結(jié)果對比
本文針對梯度PCR 對溫控系統(tǒng)升降溫速率的要求,提出了一種基于粒子群算法的模糊PID控制方法。 通過分析建模,得到該控制系統(tǒng)的傳遞函數(shù)。設(shè)計(jì)了一種基于粒子群算法的模糊PID 控制器,對控制系統(tǒng)的性能進(jìn)行優(yōu)化。仿真結(jié)果表明,基于粒子群算法的模糊PID 控制器能夠提升溫控系統(tǒng)的響應(yīng)速度,提高系統(tǒng)升降溫速率。 通過搭建實(shí)驗(yàn)平臺得到的實(shí)驗(yàn)結(jié)果,溫控系統(tǒng)的最大升溫速率能達(dá)到6.648 ℃/s,最大降溫速度能達(dá)到5.22 ℃/s。 該速率能夠較好地完成梯度PCR 實(shí)驗(yàn)過程中溫度的頻繁改變。實(shí)驗(yàn)結(jié)果進(jìn)一步表明,基于粒子群優(yōu)化的模糊PID控制方法,提高了溫控系統(tǒng)的升降溫速率,改善了溫控系統(tǒng)性能。