基于单片机的密闭容器内压力控制系统设计
扫描二维码
随时随地手机看文章
介绍一种用单片机作为控制器,实现对密闭容器内汽液混合状态下的蒸汽压力和炉壁温度进行控制的方案。该控制器采用模糊控制技术,适用于非线性、时变和时滞系统。实验结果表明,它具有无超调、无静差、鲁棒性强等特点。
1系统的硬件组成
总体的硬件结构如图1所示。
选用PIC16C74单片机作为主控制芯片,它有40根引脚,振荡频率可达20MHz,内含4KB的程序存储器和192Bytes的RAM。内置3个定时器,2个*模块,一个同步串行通信接口,一个5输入通道的8位A/D转换模块,并提供了12个中断源。
1.2测温电路部分
本电路的测温传感元件采用电阻温度探测器(RTD)。阻值RT与温度T有如下对应关系:RT=R0(1+AT+BT2-100CT3+CT4)其中:R0为0℃时的阻值,A、B、C均为恒定的常数。本系统中选用Honeywell公司的HEL-700铂金RTDs。
其电路设计为图2所示。V0为输出电压,RT为温度T时的阻值。则:V0=[(1+RT/1000)-1]*10/10=0.001RT。根据图2电路输出的电压值及上式计算出此时的RT值,从而通过已知的RTD的电阻/温度关系得出测点处的温度值。也可通过在输出电压V0后接差动输入比例运算电路,实现输出电压值与测点处温度值的一一对应关系。之后,便可直接接单片机的一路模拟输入。
1.3测压电路部分
测压部分电路如图3所示。本系统采用的压力传感器为Honeywell公司的SCC系列产品,压力传感器起到惠斯登桥的作用,在恒流源驱动时可提供稳定的温度输出。图3中,SCC前边的电路提供恒流源;后边的电路中,U3、U4、U5、U6均为集成运算放大器,利用U3、U4作为跟随器,可以起隔离作用,避免后边电路中的信号对前边电路产生影响。R3为电位器,调节它可以进行压力传感器偏置的校准,调节R7可以改变压力传感器输出的电压的放大倍数。
1.4加热电路
本系统的加热部件选用加热丝,通过对晶闸管的通断控制实现加热功率的变化。图4为双向晶闸管型触发电路。
MOC3021是双向晶闸管输出型的光电耦合器,其作用是隔离单片机系统和触发外部的双向晶闸管。当单片机输出高电平时,MOC3021的输入端有电流输入,输出端的双向晶闸管导通,触发外部的双向晶闸管KS导通。输出高电平的时间便是触发脉冲的宽度。
本系统是通过对炉壁加热实现高温高压蒸汽的,该过程是一个非线性、时变的过程,因此采用模糊控制技术来控制本系统。
为了克服计算量大,耗时多的缺点,模糊控制器在实际应用中采用查表法实现。
具体做法是:首先通过离线计算,得出一个模糊控制表,然后把控制指标存入到计算机内存。在控制过程中,根据采样得到压力偏差值Pi和温度偏差值Ti,分别乘以量化因子k1、k2,并经量化后得到论域Xi、Yj并由控制表第I行、第J列找到同样以论域形式表现的控制量Uij,乘以相应的比例因子k3得到控制量U,即可用于被控过程,达到预期控制目的。这种模糊控制器组成的系统结构如图5所示。
模糊控制器设计的关键是求取模糊控制表,具体的设计方法如下:
(1)模糊控制器的输入输出变量
确定实际温度与给定温度的偏差T及实际压力与给定压力的偏差P作为输入变量,把控制加热装置电流的单片机一个I/O口在单个采样周期内输出高电平的时间作为输出变量。这样设计的模糊控制器是双输入单输出的。
(2)确定输入、输出的范围及其对应语言变量的论域元素和量化因子系统输入输出实际变化范围P、T、U根据系统的实际情况设定,元素整数论域及其范围可根据需要设定。在本系统中,由于不允许有温度和压力的超调,且温度值一直在向接近设定值的方向变化,所以T、P均为负值,因此可设定P和T的元素整数论域范围如下:
(3)精确量到元素整数论域的转化
根据得到的温度偏差T及压力偏差P的精确量,分别乘以相应的量化因子k1、k2,并将其对应到元素整数论域上的整数点处。
(4)模糊控制规则表的建立
模糊控制规则的确定有很多方法:1)根据专家经验或过程控制知识生成规则;2)根据过程的模糊模型生成控制规则;3)根据对手工控制操作的系统观察和测量生成控制规则;4)根据学习算法生成控制规则。本系统中根据专家经验建立模糊控制规则。
(5)模糊量的精确化
通过模糊控制规则表得出的输出量是一个模糊量,必须经过精确化处理后才能去控制对象,这个过程称为精确化,也称为反模糊化或模糊判决。通常采用的方法有重心法、中位数法和最大隶属度法。本系统中采用最大隶属度法进行模糊判决。
最终,可以创建一个查询表,根据量化后的压力偏差值与温度偏差值,直接通过查询此表得出输出的控制量。将该表存入单片机的RAM中,在程序运行中直接对该表进行查询得出Uij,然后通过反模糊化,得出单个采样周期内加热器导通时间,从而实 现对加热量的控制。
本系统中有两种工作流程供选择,一种是1.2×105Pa(对应蒸汽温度121℃),另一 种是2.0×105Pa(对应蒸汽温度134℃)。测温传感元件RTD放置在容器外壁某位置。 在加热过程中,壁温应限制在某一温度T1以下,因为过高壁温产生的热辐 射会对容器内的被消毒物品产生较大影响。
在开始工作过程中,程序只对温度进行控制,只要该壁温不超过设定的某一温度,加热元件 便会以最大功率进行加热,当温度超过设定温度时,才进入模糊控制阶段。
单片机的初始化主要包括对I/O口的输入输出设定、模拟输入通道的选择及定时器的选用等 。
程序流程如图6。