1 引言
本文研究的被控对象为某生产过程中用到的恒温箱,按工艺要求需保持箱温100℃恒定不变。我们知道温度控制对象大多具有非线性、时变性、大滞后等特性, 采用常规的PID 控制很难做到参数间的优化组合, 以至使控制响应不能得到良好的动态效果。而模糊控制通过把专家的经验或手动操作人员长期积累的经验总结成的若干条规则,采用简便、快捷、灵活的手段来完成那些用经典和现代控制理论难以完成的自动化和智能化的目标, 但它也有一些需要进一步改进和提高的地方。模糊控制器本身消除系统稳态误差的性能比较差, 难以达到较高的控制精度, 尤其是在离散有限论域设计时更为明显, 并且对于那些时变的、非线性的复杂系统采用模糊控制时, 为了获得良好的控制效果, 必须要求模糊控制器具有较完善的控制规则。这些控制规则是人们对受控过程认识的模糊信息的归纳和操作经验的总结。然而, 由于被控过程的非线性、高阶次、时变性以及随机干扰等因素的影响, 造成模糊控制规则或者粗糙或者不够完善, 都会不同程度的影响控制效果。为了弥补其不足, 本文提出用自适应模糊控制技术,达到模糊控制规则在控制过程中自动调整和完善, 从而使系统的性能不断完善, 以达到预期的效果。
2 自调整模糊控制器的结构及仿真
(1) 控制对象
一般温度可近似用一阶惯性纯滞后环节来表示, 其传递函数为:
式中: K———对象的静态增益;
Tc———对象的时间常数;
τ———对象的纯滞后时间常数。
本文针对某干燥箱的温度控制, 用Cohn-Coon 公式计算各参数得:
K=0.181; Tc=60; τ=20。
( 2) 自调整模糊控制器的结构
自调整模糊控制器的结构如图1 所示。
图1 带自调整因子的模糊控制器
图中α为调整因子, 又称加权因子。通过调整α值,可以改变偏差E 和偏差变化EC 对控制输出量U 的加权程度, 从而调整了控制规则。但是, 若α值一旦选定, 在整个控制过程中就不再改变, 即在控制规则中对偏差、偏差变化的加权固定不变。然而, 在实际控制中, 模糊控制系统在不同的状态下, 对控制规则中偏差E 与偏差变化EC的加权程度会有不同的要求。为了适应被控对象的结构和参数的变化, 并模拟人工控制中的学习过程可以构造一个如图1 所示的带自调整因子的模糊控制器, 其实质是一个二级模糊控制系统。
具体方法是: 将调整因子α看作是一个模糊集, 其论域为( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9,1) ; 根据希望的控制性能构造α的修改规则; 根据检测及计算得到的信息查修正表, 以选择适当的α值; 由下式计算控制量的变化值:
U=-int [αE+ (1-α)EC]
此时, 上式所描述的控制规则体现了按误差的大小自动调整误差对控制作用的权重, 因为这种自动调整是在整个误差论域内进行的, 所以这种自调整过程更符合人在控制决策过程中的思维, 已经具有高“智能” 的优化特点,且非常易于通过微机实时地实现其控制思想。
( 3) 自调整模糊控制器的仿真
在模糊控制系统中, 模糊控制的性能在很大程度上取决于模糊控制规则的确定是否合理以及模糊控制器的有关参数大小选择是否合适。简单的模糊控制器具有设计比较简单、控制性能比较好的特点。对于复杂的控制系统, 采用相似的模糊控制规则以及一组固定不变的参数, 往往控制性能不够理想。根据上文介绍的内容, 进行以下几种控制方法的仿真, 包括: 比例参数Ku 的自调整模糊控制、量化因子Ke 和Kec 自调整模糊控制、控制规则自调整的模糊控制。仿真结果如图2 所示。
图2 自调整模糊控制仿真曲线图
图中, 第1、2、3 条曲线分别代表比例参数Ku、控制规则、量化因子Ke 和Kec 自调整模糊控制仿真输出温度曲线。它们的控制性能指标如表1 所示。
表1 三种控制方法的控制性能比较
|
超调量 |
稳态误差 |
调节时间 |
比例参数Ku 自调整模糊控制器 |
2% |
≤0.01℃ |
390s |
量化因子Ke 和Kec 自调整模糊控制器 |
0.1% |
≤0.01℃ |
420s |
控制规则自调整模糊控制器 |
0.1% |
≤0.01℃ |
270s |
3 控制系统硬件设计
本系统由PC 机运行用Delphi6.0 编写的RS-232 串行通信控制软件与单片机进行串行通信实现对温度箱内温度的实时控制。PC 机作为上位机负责接收外部命令, 由串口输出后经接口电路发送到单片机, 使其执行相应的动作。
单片机作为下位机构成温度箱的模糊控制系统。由PT100 型铂热电阻作为温度传感器把被控对象的温度信号转化为mV 级电压信号, 经运算放大器放大为0~5V 的电压信号, 然后经串行A/D 转换得到数字量, 被AT89C51单片机I/O 口读取, 和事先已存于片内的EEPROM中的温度电压对照查询表对照, 即可得到实际的温度值, 一路进行在线显示并经串行口传送到PC 机储存和作图, 一路作为控制器的输入变量。控制器的输出通过单片机的I/O 口经D/A 转换变为模拟信号, 经放大器放大后去触发可控硅的导通角, 以达到调节温度箱加热功率的目的。整个控制系统构成一个闭环系统, 其原理图如图3 所示。
整个控制系统也可以在没有PC 机的参与下, 由AT89C51 单片机独立完成控制任务, 只是由于单片机功能的限制使人机交互不太理想。
4 控制系统软件设计
( 1) PC 机软件设计
PC 机完成的功能主要包括: 控制系统的启动、停止,控制参数设置, 储存单片机传送过来的实时采集的温度数据并将其实时显示和绘图。软件流程框图如图4 所示。PC机软件由Delphi6.0 编写, 温度曲线图的绘制通过TCHART控件编程实现。温度数据的存储通过建立Access 数据库,将数据实时存入数据库来实现。
( 2) 控制规则自调整模糊控制器的软件设计
由计算机程序实现控制规则自调整模糊控制器的控制算法, 流程框图如图5 所示。
程序包括如下两个部分:
1) 计算机离线计算查询表程序。查询表的建立方法是: 将调整因子α看作是一个模糊集, 其论域为( 0, 0.1,0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1) ; 根据希望的控制性能构造α的修改规则; 将之制成查询表, 将此表存于计算机内存中, 供计算机在线控制时使用。
2) 计算机在线实时控制程序。该程序在模糊控制过程中完成在线计算输入变量( 误差和误差变化率) , 并将它们模糊化处理, 查找查询表后再作输出处理。具体步骤如下:
①设置输入、输出变量及控制量的基本论域, 预置量化因子、比例因子和采样周期。
②判断采样时间到否, 若时间已到, 则转向第三步,否则等待。
③启动A/D 转换, 进行数据采集。
④ 计算误差和误差变化并判断它们是否已超过上( 下) 限值, 若已超过, 则将其设定为上( 下) 限值。
⑤按给定的量化因子将误差和误差变化模糊化, 并由此查询存放在计算机内存中的α修改规则查询表, 以选择适当的α值。
⑥由下式计算控制量的值: U=- int [ αe+ ( 1- α) ec] ,将此值乘以给定的比例因子, 若已超过上( 下) 限值, 则设置为上( 下) 限值。
⑦启动D/A 转换得到控制器实际输出模拟量用来控制温度箱的温度。
( 3) PC 机与单片机串口通信软件设计
PC 机与单片机串口通信通过MAX3225E 串口通信芯片来实现。软件的设计包括单片机串口通信和PC 机( 上位机) 串口通信两部分内容, 两者必须遵从相同的通信协议才能正常通信。系统采用串口通信格式如下: 波特率为4800bps, SMOD=1, 单片机串口工作于方式1; 用T1 作为定时器, 工作于方式2, fOSC=11.0592M。
将以上已知条件带入下面的串口波特率计算公式:
计算得到: TH1=244 ( 十进制) =0F4H ( 十六进制) 。
数据位: 8 位; 奇偶位: 无; 启始位: 1 位; 停止位:1 位。
单片机串口通信程序包括串口初始化程序和中断服务程序, 用C51 编写。串口初始化程序是对串口工作方式进行设置, 控制寄存器PCON 和SCON 的设置以及定时器T1的设置。中断服务程序主要是采用中断方式来接收和发送数据, 同时要用软件方式清除接收中断标志RI(响应接收中断后) 和发送中断标志TI(响应发送中断后) 。单片机串口通信程序流程框图见图6 所示。
PC 机串口通信程序用于读取单片机发来的温度数据和向单片机发送参数及命令, 用Delphi6.0 编制, 利用串口控件SPCOMM可实现PC 机串口通信, 其流程框图见图7 所示。
( 4) 抗干扰设计
系统的抗干扰能力是系统可靠性的重要指标。本系统主要采用有硬件抗干扰设计和软件抗干扰设计。
1) 硬件抗干扰设计
①在后向通道设计中采用光电耦合器MOC3041。光电耦合器具有和高的绝缘电阻可达欧姆以上, 并能承受2000V 以上高压, 因而能有效隔离高电压对微机系统的各种噪声干扰, 抑制尖峰脉冲电压, 具有很强的抗干扰能力。
②数字信号的传输采用双绞线。双绞线的阻抗高, 抗共模噪声能力强, 能使各个小环路的电磁感应干扰相互抵消, 对电磁场具有一定的抑制效果。
③电源线应尽量加粗。可使信号电平稳定和增加抗干扰能力, 使电源线能通过3 倍于印刷电路板上的允许电流。
④接地线尽量构成闭环路, 可增加抗干扰能力。
⑤配置去耦电容。电源输入端接10~100μF 的电解电容, 给每个IC 集成芯片配置一个0.01μF 的陶瓷电容器。
2) 软件抗干扰设计
采用限幅滤波法消除干扰, 其方法是将两次相邻的采样值求出其增量, 然后与两次采样允许的最大差值Δy 进行比较; 若小于或等于Δy, 则取本次采样值, 若大于Δy,则取上次采样值作为本次采样值, 即
|yn-yn-1|≤Δy, 则yn 有效;
|yn-yn-1|>Δy, 则yn-1 有效。
式中: yn———第n 次采样值;
yn-1———第n-1 次采样值;
Δy———相邻两次采样值允许的最大偏差。
( 5) 误差分析
误差主要来源是:
①PT100 铂热电阻在0℃~100℃范围存在0.1℃的误差。
②A/D 转换误差: 1/212≈0.025%。
③被控对象即恒温箱内温度的不均匀导致误差。
对于第3 项减少误差的方法是在箱内安装风扇增加流动性; 另外, 采取多点测量, 然后取平均值作为温度测量值。
综合以上可知, 系统总的误差小于0.3℃。
5 结论
温度是工业生产中经常碰到的控制参数之一, 对温度控制的好坏直接影响产品的质量甚至产品制造的成功与失败, 因而对温度的控制具有广泛的实际应用价值和应用前景。本系统作为一次单片机系统在温度控制领域的探索和研究, 根据温度具有非线性、时变性、大滞后等特性, 采用了控制规则自调整模糊控制方法, 结合ATMEL 的89C51 单片机的应用, 通过硬件的设计、调试以及PC 机(上位机) 和单片机(下位机) 的软件的编程调试, 基本开发出了人机界面友好的模糊自适应温度控制器。
|