DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 111|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 16:28:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
? 摘要:介绍了一款基于单片机的全自动锅炉压力控制器的设计。该系统能根据锅炉现场检测的各个状态做出实时精确的自动控制,如实现温度、压力、水位等的监控,数码管显示、报警、系统参数设置的功能。该系统还采用模糊PID方法进行温度控制,能克服普通的单片机PID温度控制系统的一些不足之处,达到较为理想的控制效果。
  0前言
  锅炉自控系统是一个典型的大惯性、大滞后、多变量的过程控制系统,其涉及到压力、温度、水位等多个物理参数检测与控制,需要同时控制风机、补水泵、加热装置,自动排除故障等。由于模拟输入量多,需要的硬件电路也多,控制起来不简单。现阶段,很多厂家都是利用PLC对锅炉进行控制,其自动化程度和可靠性较高,但是成本也很高,而且程序修改和参数设置比较困难。以单片机为控制核心的智能控制系统由于成本低、可靠性好、安全性高,受到了更多企业的喜欢[1]。本文在借鉴现有各类单片机温度控制系统的基础上,设计一个中档单片机锅炉压力控制器系统,该系统采用STC89C51单片机作为核心,具体控制采用基于模糊的PID方式。
  1系统硬件电路设计
  基于模糊PID的锅炉压力控制器的控制系统主要包括单片机芯片、键盘、LED显示、蜂鸣器报警电路、开关电路和输入信号采集电路组成。硬件原理图如图1所示。




图1? 硬件系统原理框图
  该方案设计相对简单,硬件电路中采用的STC89C51是台湾宏晶科技推出的新一代超强抗干扰/高速/低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可任意选择,最新的D版本内部集成MAX810专用复位电路。
  输入信号采集电路主要是采集水位信号和压力控制器信号,水位信号包括水位极低、低水位、正常水位、高水位、水位极高;压力控制器包括低压、高压、超高压;开关电路主要是负责控制一段火燃烧机、二段火燃烧机、补水泵和鼓风机的控制;LED显示主要是负责各种水位的显示、各种压力的显示和各种故障显示;蜂鸣器报警电路主要是缺水水位、超高水位、超高压状态、各种故障的蜂鸣报警。
  该系统完成的功能主要是根据锅炉的水位和压力,来控制水泵是否补水,控制一二段火开关的加热,并根据具体情况控制风机进行降温,并随时可以进行故障报警。而且相应状态都可以通过控制面板上的LED显示出来。图2为一段火开关控制电路。
  燃烧机控制过程:运行过程中,当压力状态显示“低位”时,一段火、二段火同时启动;当压力状态显示“正常”时,二段火灭、一段火仍开,当压力状态显示“高位”时,一段火、二段火全灭,继续控制燃烧机风机吹扫30秒。当压力下降,状态再次显示“低位”时,一段火、二段火再次同时启动,如此循环直到停止运行。总之:低压启动,常压保持,高压停止,超高压保护。在压力状态显示“正常”时按“运行”键开始运行的话,一段火、二段火都不启动,等压力下降到“低位”时才启动。



图2?? 一段火开关控制电路
                          
                       
                          
                               
  2模糊PID调节规律的选择
  该系统采用常用的PID调节规律:
  其中: 作为单片机的输入信号, 是给定值。但由于单片机只能处理数字信号,故用数字PID来表示:
  上式中, 次采样时的偏差值和PID的输出量;? 和 —比例、积分和微分系数。
  在现实系统中,所测控的对象多具有大滞后、强耦合、时变等特征,仅采用PID控制往往存在调整时间长、超调量大、PID参数不易确定等不足。此处引入模糊思想对PID参数进行实时调整,以期获得较好的控制效果。
  具体的调整方式如下式所示,其中a、b和c分别为比例系数、积分系数和微分系数的调整系数; 和 ——调整后用于求取PID输出的比例系数、积分系数和微分系数; 和 ——起始的比例系数、积分系数和微分系数。
  3系统软件设计
  本系统中的软件主要是根据系统要求运用C语言设计的,软件能可靠地实现系统的各种功能。系统软件设计采用模块化思想。根据功能将系统软件分为初始化系统、数据采集并对采集所得的数据进行处理。系统软件主流程图和中断处理程序流程图如图3所示。




图3? 系统软件主流程图
  本系统水泵自动控制过程如下:当炉水水位下降超过低位时,泵1启动自动补水,当炉水水位上升超过高位时,泵1停止,当炉水水位再次下降超过低位时,泵1又启动自动补水。如此循环直到停止运行。在水位状态显示“正常”时按“运行”键开始运行的话,泵1不启动,等水位下降到“低位”时才启动。在压力控制运行过程中,当发生缺水、压力超高、水位超高、燃烧机故障、烟温超高等故障时声光报警停机保护。
                          
                       
                          
                               
  下面是燃烧机故障程序:
  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控制系统的一些不足之处,达到较为理想的控制效果。该系统已经被厂家使用,系统运行稳定。
?
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-12-31 15:57 , 耗时 0.089297 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表