基于单片机的模糊PID的锅炉压力控制器的设计

发布者:Changsheng520最新更新时间:2011-11-21 关键字:单片机  模糊PID  压力控制器 手机看文章 扫描二维码
随时随地手机看文章

  0前言

  锅炉自控系统是一个典型的大惯性、大滞后、多变量的过程控制系统,其涉及到压力、温度、水位等多个物理参数检测与控制,需要同时控制风机、补水泵、加热装置,自动排除故障等。由于模拟输入量多,需要的硬件电路也多,控制起来不简单。现阶段,很多厂家都是利用PLC对锅炉进行控制,其自动化程度和可靠性较高,但是成本也很高,而且程序修改和参数设置比较困难。以单片机为控制核心的智能控制系统由于成本低、可靠性好、安全性高,受到了更多企业的喜欢[1]。本文在借鉴现有各类单片机温度控制系统的基础上,设计一个中档单片机锅炉压力控制器系统,该系统采用STC89C51单片机作为核心,具体控制采用基于模糊的PID方式。

  1系统硬件电路设计

  基于模糊PID的锅炉压力控制器的控制系统主要包括单片机芯片、键盘、LED显示、蜂鸣器报警电路、开关电路和输入信号采集电路组成。硬件原理图如图1所示。


图1  硬件系统原理框图

  该方案设计相对简单,硬件电路中采用的STC89C51是台湾宏晶科技推出的新一代超强抗干扰/高速/低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可任意选择,最新的D版本内部集成MAX810专用复位电路。

  输入信号采集电路主要是采集水位信号和压力控制器信号,水位信号包括水位极低、低水位、正常水位、高水位、水位极高;压力控制器包括低压、高压、超高压;开关电路主要是负责控制一段火燃烧机、二段火燃烧机、补水泵和鼓风机的控制;LED显示主要是负责各种水位的显示、各种压力的显示和各种故障显示;蜂鸣器报警电路主要是缺水水位、超高水位、超高压状态、各种故障的蜂鸣报警。

  该系统完成的功能主要是根据锅炉的水位和压力,来控制水泵是否补水,控制一二段火开关的加热,并根据具体情况控制风机进行降温,并随时可以进行故障报警。而且相应状态都可以通过控制面板上的LED显示出来。图2为一段火开关控制电路。

  燃烧机控制过程:运行过程中,当压力状态显示“低位”时,一段火、二段火同时启动;当压力状态显示“正常”时,二段火灭、一段火仍开,当压力状态显示“高位”时,一段火、二段火全灭,继续控制燃烧机风机吹扫30秒。当压力下降,状态再次显示“低位”时,一段火、二段火再次同时启动,如此循环直到停止运行。总之:低压启动,常压保持,高压停止,超高压保护。在压力状态显示“正常”时按“运行”键开始运行的话,一段火、二段火都不启动,等压力下降到“低位”时才启动。


图2   一段火开关控制电路[page]

  2模糊PID调节规律的选择

  该系统采用常用的PID调节规律:

  其中: 作为单片机的输入信号, 是给定值。但由于单片机只能处理数字信号,故用数字PID来表示:

  上式中, 次采样时的偏差值和PID的输出量;  和 —比例、积分和微分系数。

  在现实系统中,所测控的对象多具有大滞后、强耦合、时变等特征,仅采用PID控制往往存在调整时间长、超调量大、PID参数不易确定等不足。此处引入模糊思想对PID参数进行实时调整,以期获得较好的控制效果。

  具体的调整方式如下式所示,其中a、b和c分别为比例系数、积分系数和微分系数的调整系数; 和 ——调整后用于求取PID输出的比例系数、积分系数和微分系数; 和 ——起始的比例系数、积分系数和微分系数。

  3系统软件设计

  本系统中的软件主要是根据系统要求运用C语言设计的,软件能可靠地实现系统的各种功能。系统软件设计采用模块化思想。根据功能将系统软件分为初始化系统、数据采集并对采集所得的数据进行处理。系统软件主流程图和中断处理程序流程图如图3所示。


图3  系统软件主流程图

  本系统水泵自动控制过程如下:当炉水水位下降超过低位时,泵1启动自动补水,当炉水水位上升超过高位时,泵1停止,当炉水水位再次下降超过低位时,泵1又启动自动补水。如此循环直到停止运行。在水位状态显示“正常”时按“运行”键开始运行的话,泵1不启动,等水位下降到“低位”时才启动。在压力控制运行过程中,当发生缺水、压力超高、水位超高、燃烧机故障、烟温超高等故障时声光报警停机保护。

[page]

 

  下面是燃烧机故障程序:

  else if(status_ERR==1)

  {

  LED_RUN=LED_ON;

  LED_WAIT=LED_OFF;

  LED_BURNFAULT=LED_ON;

  MotorAlm=0;                       //警铃开

  MotorAir=1;                        //强制关风机

  SecondBurn=1;                        //关二极火

  FirstBurn=1;

  status_Start=0;

  }

  else if(status_Watered==0&&WaterLowest==0)

  {

  MotorWater=0;                        //开水泵

  MotorAir=1;                        //关风机

  SecondBurn=1;                        //关二极火

  FirstBurn=1;                        //关一级火

  if(WaterHigh==0)                    //加水到高水位停止

  status_Watered=1;                //置加过水标志

  LED_RUN=LED_ON;

  LED_WAIT=LED_OFF;

  status_Start=1;                    //置运行标志

  }

  ……

  else if(PrESSureHighest==1&&Pressurelower==1&&PressureHigh==1)          //没有压力

  {

  status_PressureHighest=0;

  status_pressuresilence=0;

  LED_PRESSURE=LED_OFF;

  }

  4结束语

  本文设计了一个具有普遍实用意义的中档单片机锅炉压力控制器系统。该系统采用了STC89C51作为核心,具体控制算法采用能进行实时调整的模糊PID方式,该系统能克服常规单片机PID控制系统的一些不足之处,达到较为理想的控制效果。该系统已经被厂家使用,系统运行稳定。

 

关键字:单片机  模糊PID  压力控制器 引用地址:基于单片机的模糊PID的锅炉压力控制器的设计

上一篇:利用51单片机PWM信号进行舵机控制
下一篇:基于51单片机的电气控制线路接线故障诊断系统

推荐阅读最新更新时间:2024-03-16 12:46

单片机直流电源控制板设计
摘 要:介绍了一种以单片机控制晶闸管触发脉冲为核心的直流电源控制板系统,该系统实现了晶闸管触发脉冲信号的同步产生、移相、驱动以及系统过压/ 过流保护等功能。用户可通过键盘来设置直流电源的输出,八段数码管显示实际输出电压/ 电流值; 在硬件与软件的配合设计下,该系统实现了智能化三相交流电的相序判断、同步脉冲形成、断线检测、脉冲编码计算、输出数据采样、软启动控制及比例控制等功能。   0 引 言   多单片机直流电源控制板包括A/ D 采集与转换、测量、显示、同步、自动相序判定、移相触发、过流/ 过压保护、缺相检测等部分,与整流变压器,蓄电池,仪表等部件一起构成成套装置。装置有充电、稳流、稳压等工作方式,可供发电厂,变电站,医
[单片机]
多<font color='red'>单片机</font>直流电源控制板设计
如何在下一代 MCU 应用中实现投影显示
你是否曾想过在微控制器 (MCU) 驱动应用程序中添加投影显示?想象一下,在家用电器中使用 投影显示器 来提供易于交互、色彩明艳且功耗更低的界面,同时能够不占用传统 LCD 或薄膜晶体管那么多的空间。 自由形式投影显示器使设计人员能够添加创新型人机界面 (HMI),且无需边框和按需显示,使得在不使用时能够保持界面清晰。 利用 DLP® 技术,设计人员可以在紧凑的空间中添加投影模块,并在不增加系统尺寸的情况下显示更大的图像。 为了帮助设计人员开始创建此类显示器, 德州仪器 (TI) 开发了一种投影显示评估模块 (EVM) 设计——DLPDLCR160CPEVM ,适用于使用 DLP160CP DLP Pico 芯片组和 MS
[家用电子]
如何在下一代 <font color='red'>MCU</font> 应用中实现投影显示
SPMC65单片机在CAN总线智能节点中的应用
1 Can总线概述   CAN, 全称为“Controller Area Network”,是国际上应用最广泛的现场总线之一。20世纪80年代初,德国Bosch公司为了解决现代汽车中众多的控制与测试仪表之间的数据交换问题,开发出 CAN总线。CAN总线能有效支持分布式控制或实时控制的串行通信网络,具有抗干扰性强和使用可靠等优点,最初主要应用汽车工业,现在广泛应用于汽车工业、航空工业和工业控制等自动化领域,如分布式环境监测系统、温室环境监控系统、变电站变监测系统等。   CAN总线是一种串行数据通信协议,其通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对数据的成帧处理,用户可在其基础上开发适应系统实际需要的应用层通信协
[单片机]
SPMC65<font color='red'>单片机</font>在CAN总线智能节点中的应用
51单片机 数码管的显示与译码器
共阳极数组0~9:display ={0xC0,0xF9,0xA4,0xB0,0x91,0xA2,0x82,0xF8,0x80,0x90} 共阳极数组A~F:display ={0x88,0x83,0xA6,0xC1,0x86,0x8E} 共阴极数组0~9:display ={0x3F,0x06,0x5B,0x4F,0x6E,0x6D,0x7D,0x07,0x7F,0x6F} 共阴极数组A~F:display ={0x77,0x7C,0x59,0x3E,0x79,0x71} 共阴、两组四位一体数码管,位选接74LS138译码器,输入(位选)CBA接P20,P21,P22。段选通过74573后接P1口。 若不使用译码器,可直接将位选
[单片机]
单片机+VB上位机温湿度检测制作
单片机源程序如下: #include reg52.h // 头文件包含 #include intrins.h #define uchar unsigned char // 以后unsigned char就可以用uchar代替 #define uint unsigned int // 以后unsigned int 就可以用uint 代替 sbit Buzzer_P = P1^0; // 蜂鸣器 sbit DHT11_P = P1^1; // 温湿度传感器DHT11数据接入 sbit LcdRs_P = P2^
[单片机]
<font color='red'>单片机</font>+VB上位机温湿度检测制作
AVR单片机的RTOS-AVRX应用
摘 要:详细介绍AVR系列单片机的专用实时嵌入式操作系统AVRX的特点,并以ATmega16单片机为平台,结合AVR单片机应用实例分析AVRX的内核代码及移植方法,并对系统的相关性能进行测试。采用AVRX可以大大简化程序设计,满足实时要求,降低编程难度,提高系统可靠性。本文为在AVR单片机上进行嵌入式系统开发提供了参考。 关键词: RTOS AVRX AVR单片机移植 系统测试 引 言 随着技术的发展,嵌入式系统的设计及应用对人们的生活产生了很大的影响,并将逐渐改变人们未来的生活方式。在特定的操作系统上开发应用程序,可以使开发人员忽略掉很多底层硬件细节,使得应用程序调试更方便、易于维护、开发周期缩短并且降低开发成本,因而嵌入
[单片机]
ATmega128 MCU控制寄存器MCUCR
MCU 控制寄存器包含了电源管理的控制位。 • Bit 5 – SE: 睡眠使能 为了使MCU 在执行SLEEP 指令后进入睡眠模式, SE 必须置位。为了确保进入睡眠模式是程序员的有意行为,建议仅在SLEEP 指令的前一条指令置位SE。一旦唤醒立即清除SE。 • Bits 4..2 – SM2..0: 睡眠模式选择位 如Table 17 所示,这些位用于选择具体的睡眠模式。 Note: 1. 仅在使用外部晶体或谐振器时Standby 模式和扩展的Standby 模式才可用。
[单片机]
ATmega128 <font color='red'>MCU</font>控制寄存器MCUCR
51单片机8*8点阵原理及实现
LED点阵(8*8) LED 点阵是由发光二极管排列组成的显示器件,在我们日常生活的电器中随处可见,被广泛应用于汽车报站器,广告屏等。 通常应用较多的是 8* 8 点阵,然后使用多个 8 * 8 点阵可组成不同分辨率的 LED点阵显示屏,比如 16* 16 点阵可以使用 4 个 8* 8 点阵构成。因此理解了 8* 8LED点阵的工作原理,其他分辨率的 LED 点阵显示屏都是一样的。这里以 8* 8LED 点阵来做介绍。 发光原理 8* 8 点阵共由 64 个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置 1 电平(行所接的是二极管的阳极,所以为高电平),某一列置 0 电平(列所接的是二极管的阴
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved