基于ARM9Linux系统的模糊自整定PID温度控制器的设计
2011-03-27唐重和刘克平
李 岩, 唐重和, 刘克平
(长春工业大学电气与电子工程学院,吉林长春 130012)
0 引 言
温度控制系统对生化分析仪的检测分析过程具有很大的影响,生化检验结果的可靠性与反应盘的温度精度密切相关。常规PID控制关键在于调整比例、积分、微分3个参数,使之既要相互配合,又要相互制约,从而达到最优效果。模糊控制不依赖于精确的数学模型,是基于启发性的知识和语言决策规则设计的,增强了控制系统的自适应能力[1]。但在生化分析仪反应盘温度控制系统中,当偏差和偏差变化率偏小时,传统的模糊控制方法就难于控制。如果将PID控制和模糊控制两种方法结合起来,利用模糊控制器来给PID控制器在线自整定(或者自校正、自调整)PID参数构成模糊自整定PID控制器,就可以取得理想的效果[2]。文中设计采用ARM9处理器,将模糊自整定PID算法[3]通过嵌入式 Linux系统实现,从硬件和软件两个方面大大提高了控制系统的精确性和稳定性。
1 系统硬件设计
系统以S3C2410处理器为核心,主要由温度采集单元、功率输出驱动单元、键盘显示单元以及存储单元组成。
S3C2410是一款低价位、低功耗、高性能的32位 RISC嵌入式处理器。其采用ARM920T内核,具有五级整数流水线,工作频率高达266 MHz,独立的16 KB指令和16 KB数据的缓存(Cache),用于虚拟内存管理的MMU单元,LCD控制器(STN&TFT),非线性(NAND)FLASH的引导单元系统管理器(包括片选逻辑控制和SDRAM控制器),3个通道的异步串口(UART),输入输出端口,实时时钟单元(RTC),带有触摸屏接口的8个通道的10 bit ADC,IIC总线接口,IIS总线接口,USB的主机(host)单元,USB的设备(Device)接口,2个通道的SPI接口和锁相环(PLL)时钟发生单元。
温度采集模块采用一线制数字温度传感器DS18B20,其测量可精确到0.062 5℃。程序将与之连接的单线端口设置为GPIO口,通过对引脚清零和置位寄存器进行设置并进行软件延时,即可产生复位及写0、写1、读0和读1的时序,并编写温度检测应用程序。经过模糊自整定PID算法模块计算后的PWM输出量直接控制功率驱动单元,完成对反应盘温度的控制。功率输出驱动单元主要采用L6203驱动器控制帕热帖进行加热和制冷。
显示模块选用的是SHARP公司的TFTLCD器件。S3C2410内部自带 LCD驱动控制器,通过内部寄存器设置相应的显示模式。另外,在嵌入式Linux系统下开发了相应的驱动程序,使其能够正常显示温度的设定值与返回值。温度值的设定通过系统采用SPI接口的键盘显示控制芯片 ZLG7289与 S3C2410的 SPI接口连接,ZLG7289的行线R[2:0]和列线C[7:0]构成矩阵键盘,同时在芯片内部可自动完成扫描、译码、去抖动处理等任务。另外,系统中Nand Flash存储器用来存储的算法模块运行时需要使用大量数据。系统硬件结构如图1所示。
图1 系统硬件结构图
2 模糊自整定PID控制器的设计
2.1 输入、输出变量的论域及隶属度函数
系统采用二输入、三输出的模糊控制器。控制系统的输入偏差为e,偏差变化率为ec。模糊控制器的输出为Δ Kp,ΔKi,Δ Kd[4]。模糊控制器与e,ec对应的输入语言变量分别为E,Ec,E和Ec的论域取{-3,-2,-1,0,1,2,3},其模糊子集均为{NB,NM,NS,ZO,PS,PM,PB},分别表示{负大,负中,负小,零,正小,正中,正大}[5]。将模糊控制器的3个输出变量Δ Kp,ΔKi,ΔKd的变化范围分别定义为:
它们的模糊子集为ΔKp,ΔKi,Δ Kd={NB,NM,NS,ZO,PS,PM,PB}。
各语言值的隶属度函数均采用三角形。E,Ec,Kd的隶属度函数如图2所示。
图2 E,Ec,Kd的隶属度函数
Kp,Ki的隶属度函数如图3所示。
图3 Kp,Ki的隶属度函数
2.2 模糊控制规则表
模糊控制设计的核心是总结相关技术知识和实际调试经验,建立模糊规则表[6],得到针对ΔKp,Δ Ki,Δ Kd这3个参数分别整定的模糊规则表,见表1~表3。
表1 ΔKp规则模糊表
表2 ΔKi规则模糊表
表3 ΔKd规则模糊表
ΔKp,Δ Ki,Δ Kd——模糊控制器输出值。
2.3 模糊控制查询表
模糊控制查询表是模糊控制算法的最终结果,根据上面的分析计算,文中所采用的模糊控制查询表[8]见表4。
表4 模糊控制查询表(ΔKp,ΔKi,ΔKd)
2.4 软件设计
软件平台采用的是基于2.4内核的嵌入式Linux系统。采用交叉编译器工具包CROSS2. 95.3.tgz。模糊 PID算法模块的实现是通过MATLAB离线计算得到模糊控制表并存入ARM9中,然后通过查模糊控制表得到对应的控制量。最后再转换为相应的PWM输出量控制功率驱动模块。
控制流程如图4所示。
2.5 MATLAB仿真
选取被控对象为一阶纯滞后模型:
在MATLAB命令窗口运行Fuzzy命令进入模糊逻辑编辑器,选择控制类型为Mamdani型,根据上面的分析分别输入E,Ec,Δ Kp,Δ Ki,ΔKd的隶属度函数和量化区间,并完成控制规则输入。在SIMULINK中建立模糊自整定PID控制系统模型,如图5所示。
图4 控制流程图
图5 模糊自整定PID控制系统模型的SIM ULINK构建
常规PID和模糊PID仿真结果如图6所示。
图6 常规PID和模糊PID仿真
从仿真结果可以看出,模糊自整定PID控制具有较小的超调量和较小的调节时间,以及较好的动态响应特性和稳态特性,且同步精度高。
3 结 语
着重研究了基于ARM9的模糊自整定PID控制算法在生化分析仪温度控制系统中的应用。仿真及实验结果表明,模糊自整定PID控制是一种设计简单、实现方便、控制规则优化以及性能优良的智能控制器,具有动态性能好、稳态精度高的特点,并且有较好的抗干扰性能和较好的鲁棒性。实际应用中,使生化分析仪反应盘控温精度达到±0.1℃,显示精度为±0.01℃,控制效果优化明显。
[1] T C Callai,J E S Santos,R R Sumar,et al.Applying the potentiality of using Fuzzy logic in PID control design[J].Advances in Soft Computing,2005,1:193-204.
[2] 诸静.模糊控制理论与系统原理[M].北京:机械工业出版社,2005.
[3] Taifu Li,Yingying Su,Bingxiang Zhong.Remodeling for Fuzzy PID controller based on neural networks[J].Fuzzy Information and Engineering(ICFIE),ASC 40,2008:20(13):3431-3435,3444.
[4] 李国勇.神经模糊控制理论及应用[M].北京:电子工业出版社,2009.
[5] 叶润玉.锅炉主汽温自适应模糊PID控制[J].机电技术,2008(3):44-46.
[6] Kevin M Passi.Stephen Yurkovich.Fuzzy control [M].Beijing:T singhua University Press,2001.
[7] 黄乐天,谢意.实用高精度智能恒温加热器系统设[J].微计算机信息,2005,21(10):70-71.
[8] 宋立芳,张永立.基于预测的模糊自整定PID温度控制系统[J].科学技术与工程,2006,14(6):2142-2143.