积分分离式pid算法实例..pdfVIP

  • 1
  • 0
  • 约4.05千字
  • 约 5页
  • 2026-02-14 发布于河南
  • 举报

正文

一、方案选择

总体方案选择:

电热锅炉温度控制系统由核心处理模块、温度采集模块、键盘显示模块、及控制

执行模块等组成。

总体方案一:采用8031作为控制核心,以使用最为普遍的器件ADC0809作模数

转换,控制上使用对电阻丝加电使其升温和开动风扇使其降温。此方案简易可行,

器件的价格便宜,但8031内部没有程序存储器,需要扩展,增加了电路的复杂性,且

ADC0809是8位的模数转换,不能满足本题目的精度要求。

总体方案二:采用比较流行的AT89S51作为电路的控制核心,使用12位的高精度

模数转换器AD574A进行数据转换,控制电路部分采用PWM控制可控硅的通断以

实行对锅炉温度的连续控制,此方案电路简单并且可以满足题目中的各项要求的精

度。

综上分析,我们采用方案二。系统设计总体框图如下:

图1控制器设计总体框图

根据温度变化慢,并且控制精度不易掌握的特点,我们设计了以STC89C51单片机

为检测控制中心的电热锅炉温度自动控制系统。温度控制采用改进的PID数字控

制算法,显示采用3位LED静态显示。该设计结构简单,控制算法新颖,控制精度高,

有较强的通用性。所设计的控制系统有以下功能:

·温度控制设定波动范围小于±1%,测量精度小于±1%,控制精度小于±2%,超调整量

小于±4%;

·实现控制可以升温也可以降温;

·实时显示当前温度值;

·按键控制:设置复位键、运行键、功能转换键、加一键、减一键;越限报警·。

方案一

1、带死区的PID算法

某些生产过程对控制精度要求不是很高但希望系统工作稳定,执行机构不要频繁

动作。针对这一类系统,带死区的PID算法应运而生。

所谓带死区的PID,实在计算机中认为的设置一个不灵敏区域β,当偏差的绝对

值|e(k)|β时,不产生新的控制增量,控制量维持不变;当偏差的绝对值|e

(k)|β时,则进行正常的PID运算后输出。带死区的PID控制算法为:0

(|e(k)|β)u(k)={Kp[e(k)-e(k-1)]+Kie(k)+Kd[e(k)-2e(k-1)+e(k-2)](|e(k)|β)

-β-β是一个人为设置的死区,β是一个可调参数,其值根据具体对象由实验确定

或者根据经验确定,这种控制方式适用于控制精度不太高,控制动作尽可能少的

场合。其控制特性在VC++中测得一组控制特性曲线如下图:

图2带死区的PID控制特性曲线

返回

u(k)u(k-1)

e(k-1)e(k-2)e(k)e(k-1)

输出u(k)

u(k)=u(k-1)+u(k)

u(k)=Kp[e(k)-e(k-1)]+Kie(k)+Kd[e(k)-2e(k-1)+e(k-2)]

|e(k)|β

e(k)=r(k)-c(k)

采样r(k)、c(k)

初始化

2、算法程序流程图

3、软件设计在主程序中首先由vc测出PID算法的参数值,然后通过循环显示当

前温度,并且设定键盘外部中断为最高优先级,以便能实时响应键盘处理;软件设定

定时器T0为5秒定时,在无键盘响应时每隔5秒响应一次,以用来采集经过A/D

转换的温度信号;设定定时器T1为嵌套在T0之中的定时中断,初值由PID算法子

程序提供。在主程序中必须分配好每一部分子程序的起始地址,主程序流程图如

下:

图4主程序流程图图5键盘及中断程序图

4、硬件设计

硬件电路主要有两大部分组成:模拟部分和数字部分:从功能模块上来分有:主

机电路、数据采集电路、键盘显示电路、控制执行电路。

1主机电路的设计

主机选用ATMEL公司的51系列单片机AT89S51来实现,利用单片机软件编程灵

活、自由度大的特点,力求用软件完善各种控制算法和逻辑控制。本系统选用的

AT89S51芯片时钟可达12MHz,运算速度快,控制功能完善。其内部具有128字节

RAM,而且内部含有4KB的flashROM不需要外扩展存储器,可使系统整体结构更

为简单、实用。

2I/0通道的硬件电路的设计

就本系统来说,需要实时采集水温数据,然后经过A/D转换为数字信号,送入单片

机中的特定单元,然后一部分送去显示;另一部分与设定值进行比较,通过PID算法

得到控制量并经由单片机输出去控制电热锅炉加热或降温。

③.1数据采集电路的设计

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档