单片机的模糊温度控制器的设计方案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于单片机的模糊温度控制器的设计

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 三种控制方法的控制性能比较

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 编写。串口初始化程

相关文档
最新文档