殷齐森,于源华,宫平
(长春理工大学 生命科学技术学院,长春 130022)
在工业生产与日常生活中,对温度的调控是控制系统的一项重要任务[1]。梯度核酸扩增实验需要通过高温变性、低温退火、中温延伸三个环节进行多轮循环,对温控系统的升降温速率有较高要求[2]。PID 控制算法因控制原理简单,容易实现,被广泛应用于工业控制,是温控系统中最典型的控制方式[3]。其中,积分调节可以消除系统的稳态误差,但也会累积较大的偏差值,从而使系统出现较大的超调量。微分调节能够加快调节速度,改善控制系统的动态性能,但是也引入了高频干扰,使控制系统不稳定。 温控系统具有时变性、非线性及纯滞后性等特点,难以建立精确的数学模型,传统的PID 控制器[4]不能达到理想的控制效果。刘吉名等人[5]采用位置式PID 控制算法,控制温度为0.5 ℃。聂宵等人[6]采用变速积分PID 控制算法,避免了控温过程中发生温度抖动的现象,提高了控制系统的稳定性。吴敏等人[7]采用模糊PID 控制算法,使系统的超调量和进入稳态后的稳定性得到了明显的提高,但是系统响应速度缓慢。
增量式PID 控制[8]、微分先行PID 控制[9]、步进式PID 控制[10]以及变积分PID 控制[11]等一系列改进的PID 控制算法,均能够提升控制系统的精度及稳定性,并在一定程度上提高系统的响应速度。
基于以上研究,针对梯度核酸扩增对升降温速率的要求,本文提出了一种基于粒子群算法的模糊PID 控制方法。
温度控制系统所需机械结构模型如图1 所示,该装置由热盖、反应孔板、半导体制冷片、散热器、散热风扇以及串口屏幕组成。 系统通过串口屏进行人机交互,用来设定程序进行生物实验。将96 孔板放入反应孔板中,旋转热盖旋钮调整热盖的高度,使其压在96 孔板上,防止反应物冷凝。以H桥电路驱动半导体制冷片进行加热与制冷操作。散热器与散热风扇用来提高降温速率以及为系统提供散热。
图1 梯度PCR 机械结构示意图
基于STM32 的温度控制系统电路整体框图如图2 所示。使用三线制的铂电阻PT100 CLASS AA 级进行温度采集,温控范围在-50 ℃~250 ℃,其测温精度为±0.1 ℃。 通过ADS1256 模数转换芯片将采集到的模拟信号转换为数字信号,再通过STM32 单片机将采集到的温度与设定温度偏差值经过控制算法计算后得到PWM 信号占空比的值,以此来驱动H桥电路,控制半导体制冷片的加热与制冷模式,在保证一定精度的同时,以达到快速升温与降温的目的。
图2 温控系统整体框图
半导体制冷片的纯制热(冷)量由焦耳效应、热损失、制冷片产生的热量组成,如式(1)所示:
其中,π 为半导体制冷片的系数;I为该时刻的工作电流;Qj是与外界进行热交换的热传导效应产生的热量;R代表半导体制冷片的电阻值;Qc为工作过程中产生的热损失;k为半导体制冷器的导热率;Tℎ、Tl分别为半导体制冷片热端和冷端的温度。
假设温度系统中载体的比热容为C,则可得到传热方程为:
其中,T0代表加热槽中反应液的起始温度;T1代表t1时刻加热槽内反应液的温度;A为半导体制冷片的导热系数;E代表反应槽与半导体制冷片的接触面积;∆Q代表半导体制冷片工作一段时间产生的热量。
由式(1)可知Q放、Q吸与I为非线性关系,进行线性化处理可得:
式中,∆T= (T1-T0);K0=f′(φ)。f′(φ) 是在电流I处邻域内的导数值,φ∈(I1,I2),I1、I2为电流I左右邻域的值。
对式(3)进行拉普拉斯变换,可得该动态微分方程的传递函数为:
因各部分传热都有一定的滞后性,在式(4)中加入纯延迟时间τ,则传递函数变为:
粒子群优化算法来源于仿生学思想对候鸟觅食行为的研究,候鸟种群会在寻找食物的过程中不断进行位置和移动路径以及移动方向的更新,通过群体间的信息交流来找到最佳的食物地点。PSO 算法具有迭代方式简单、需要调整的参数少、能够快速收敛到最优点所在区域等优点。
粒子群算法的计算流程如图3 所示。首先,要对粒子群算法的各个参数进行初始化,包括参数维度N、参数的取值范围(xmin,xmax)、学习因子(c1,c2)、种群规模M以及迭代次数n,接下来,通过随机分配空间中的每个例子的初始位置和速度,以确定当前个体和种群的最佳位置。 通过计算每个粒子的适应度函数,可以评估他们在种群中的最佳位置。更新粒子速度与位置的公式为:
图3 粒子群算法流程
其中,Vj、Vj+1分别为第j个粒子在当前时刻与下一时刻的速度;Xj、Xj+1分别为第j个粒子当前位置与下一时刻的位置;r1、r2为[0,1]之间的随机数;ω为惯性权重;pj为当前个体最优位置;gj为当前种群最优位置。通过不断迭代粒子的适应度值、速度、位置,进而找到最优解。
模糊控制的基本原理是将问题进行模糊化,根据专家经验建立的规则库进行模糊逻辑推理,最后解模糊得到控制输出,是一种非线性控制,具有适应度强、鲁棒性强、速度快等优点。模糊控制器结构如图4 所示,主要由PID 控制与模糊控制组成。R(t)为设置的温度,C(t)为实际温度。e为系统的偏差,ec为系统的偏差变化率,二者作为模糊控制的输入。
图4 模糊控制器结构
通过不断检测温度控制系统的误差e和误差变化率ec,并依据设定的模糊规律,调整PID 调整参数Kp、Ki、Kd的值,可以有效地控制系统的温度,从而达到精确控制的目的。调整公式为:调整公式为:
式中,Kp1、Ki1、Kd1为PID 控制参数的初值。
通过将精确量进行去清晰化,将输入数据变量偏移e和误差改变率ec的论域分割为[-3,3]、PID 控制参数Kp的论域分割为[-6,6]、Ki的论域分割为[-6,6]、Kd的论域分割为[-1,5],将各个论域分割为七段,每段都是一个模糊子集,用模糊语言将其描述为{负大、负中、负小、零、正小、正中、正大},记为{NB、NM、NS、ZO、PS、PM、PB}。以高斯隶属度函数来控制两端的模糊子集,其余均使用三角形隶属度函数。
为了确保对温度控制的精确性,提出如下模糊规则:
(1)当系统误差e较大时,Kp取较大的值,为了减小超调量,Ki应该尽可能的小,Kd取较小的值。
(2)当系统误差处于中等大小时,Kp取较小的值,Ki与Kd取适中的值。
(3)当系统误差较小时,Kp取较大的值,Ki取较大的值,Kd取适中的值。
根据上述模糊规则,建立的模糊控制规则表如表1 所示。
表1 Kp、Ki、Kd 模糊规则表
PSO 算法优化模糊PID 初始参数流程如图5所示。
图5 粒子群优化模糊PID 初始参数流程
(1)粒子群初始化:粒子的种群规模M选取50 个粒子,维数D为3 维,惯性权重ω一般选值在[0.9,1.2]之间,此次选取ω值为0.9,学习因子c1=c2= 2,搜索空间速度的取值范围在[-1,1],最大迭代次数n取100 次。
(2)适应度函数的选取:选取误差绝对值对时间的积分作为性能指标,公式如下:
其中,e(t)为系统误差;t为时间。
(3)产生粒子群之后,将粒子群三个维数最优值赋值给Kp1、Ki1、Kd1,运行温控系统,获得所有粒子的适应度值进行对比,选出个体最优适应度值和种群最优适应度值。
(4)进行粒子群速度和位置的更新。
(5)若没达到迭代次数或终止条件,将更新的粒子群重新给Kp1、Ki1、Kd1赋值,进行下一轮循环,否则输出最优解。
模糊PID 控制器在控制过程中对参数进行自适应调整,响应速度快,经过PSO 算法将初始控制参数优化后,能够进一步提高模糊PID 控制器的性能,进而提高系统的响应速度和稳定性。
PSO 优化的模糊PID 控制器如图6 所示,首先PSO 算法对模糊PID 控制参数Kp、Ki、Kd的初始值进行优化,模糊控制调整PID 控制参数,调整量为∆Kp、∆Ki、∆Kd,通过适应度函数计算适应度值,来判断PID 参数是否最优,不断对参数进行调整,不断降低适应度值,从而找到最适合的一组值,以达到想要的控制效果。
图6 粒子群优化的模糊PID 控制器框图
在Matlab/Simulink 中搭建温度控制系统的仿真模型,如图7 所示,PSO 算法通过在PSO_PID.m文件中编写程序实现。 运行程序,将生成的粒子群的值通过sim()函数传入仿真模型,同时读取适应度函数所计算的适应度值,以此来实现模糊PID 控制参数的初始值优化。
图7 粒子群优化模糊PID 仿真模型
(1)PID 控制仿真
使用PID 算法对温控系统进行控制的结果如图8 所示,可以看出升温速率快,但曲线波动过多,出现多次超调现象,且达到平稳时间过长。
图8 PID 响应曲线
(2)模糊PID 控制仿真
模糊PID 算法的仿真结果如图9 所示,在温度升高到38 ℃左右时,温度下降1℃后继续升温,即升温过程出现不平稳现象,图像在28 s 时稳定在设定温度,达到平稳时间较长,超调情况出现一次,超调量为5 ℃。
图9 模糊PID 响应曲线
由图8、图9 可知,模糊PID 控制算法在稳定性与超调量上要优于PID 控制。但模糊PID 控制在达到稳定时间上仍旧较长,且超调量较高。
(3)粒子群优化模糊PID 控制仿真
通过使用粒子群算法对模糊PID 控制器的初始参数进行优化,进而对温控系统进行控制,其控制结果如图10、图11 所示。粒子群在迭代19 次时,即可输出最优解,其最优适应度值为0.000 282 57。
图10 粒子群适应度值优化结果
图11 粒子群响应阶跃曲线
粒子群算法对模糊PID 控制参数Kp、Ki、Kd初始值优化结果分别为0.221 8、0.013 96、0.000 1。将最终温度设置在100 ℃,曲线在13 s 即达到目标温度且稳定。系统升温速率能达到7.69 ℃/s,降温速率达到5.57 ℃/s。
(4)遗传算法优化模糊PID 控制仿真
为了进一步验证PSO 优化的模糊PID 控制算法的性能,选取遗传算法优化模糊PID 控制参数初始值作为对照,其对阶跃信号的响应结果如图12、图13 所示。 遗传算法在迭代到50 次左右,输出最优适应度值为0.000 282 591,优化的模糊PID 控制参数Kp、Ki、Kd的初始值分别为:0.217 9、0.012 889 6、0.000 17。遗传算法优化结果与PSO 相似,但迭代次数是PSO 迭代次数的两倍。 且遗传算法“ 变异”过程的随机性太强,效率低于粒子群算法。
图12 遗传算法适应度优化结果
图13 遗传算法响应曲线
(5)系统升降温循环仿真
将系统进行多次升降温,PID 控制与PSO 优化模糊PID 控制响应曲线如图14 所示,在频繁改变温度的过程中,PSO 优化模糊PID 控制能够在短时间内将温度调控到设定温度,且到达设定温度后曲线稳定。说明该算法在频繁更改控制温度的条件下,依然有着可观的效果。 由图14可以看出,温度从0 ℃升高到94 ℃的时间大约为13 s,到达设定温度时波动范围为±0.04 ℃。 比文献[7]中“由0 ℃上升到50 ℃用时260 s”以及“达到平稳后波动范围在±0.1 ℃”改善不少。
图14 两种方法温度循环响应曲线
(1)系统温度性能测试
为了进一步验证基于粒子群算法的模糊PID控制器对于温控系统性能的影响及控制效果,在搭建的梯度PCR 扩增仪上进行验证,如图15所示。 使用接触式温度表TES1310 进行升温测量,每隔一秒记录一次温度值,数据如表2 所示。
表2 测量温度数据
图15 搭建的PCR 扩增仪器
利用Matlab 对数据进行拟合,曲线斜率代表速率,从图16 可以看出,最大升温速率能达到6.648 ℃/s,用相同方法验证得到最大降温速率能达到5.22 ℃/s。
图16 拟合结果
(2)生物实验验证
使用图15 所搭建的PCR 扩增系统,进行PCR扩增实验,对质粒进行扩增,反应体系如表3 所示。
表3 质粒扩增反应体系
与实验室现有的莫纳Tarzan 96 梯度PCR 仪器实验结果对比。从设计的96 孔板中均匀选取9 个孔柱里的反应物进行电泳,电泳结果如图17所示,Marker 左边的9 个泳道,是本次设计系统扩增反应产物的电泳结果,右边的一个作为对照泳道,是现有仪器的电泳结果,从图上泳道条带的大小和宽度上能够看出,本次设计的PCR温控系统与实验室PCR 扩增仪的扩增效果相当。 所以,在升降温速率以及控温精度上本次设计的PCR 温控系统能够满足PCR 扩增所需的温度条件。
图17 PCR 扩增电泳结果对比
本文针对梯度PCR 对温控系统升降温速率的要求,提出了一种基于粒子群算法的模糊PID控制方法。 通过分析建模,得到该控制系统的传递函数。设计了一种基于粒子群算法的模糊PID 控制器,对控制系统的性能进行优化。仿真结果表明,基于粒子群算法的模糊PID 控制器能够提升温控系统的响应速度,提高系统升降温速率。 通过搭建实验平台得到的实验结果,温控系统的最大升温速率能达到6.648 ℃/s,最大降温速度能达到5.22 ℃/s。 该速率能够较好地完成梯度PCR 实验过程中温度的频繁改变。实验结果进一步表明,基于粒子群优化的模糊PID控制方法,提高了温控系统的升降温速率,改善了温控系统性能。