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

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
积分分离式pid算法实例

正 文一、 方案选择总体方案选择:电热锅炉温度控制系统由核心处理模块、温度采集模块、键盘显示模块、及控制执行模块等组成。总体方案一 :采用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)0?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的flash ROM 不需要外扩展存储器,可使系统整体结构更为简单、实用。2I/0通道的硬件电路的设计就本系统来说,需要实时采集水温数据,然后经过A/D转换为数字信号,送入单片机中的特定单元,然后一部分送去显示;另一部分与设定值进行比较,通过PID算法得到控制量并经由单片机输出去控制电热锅炉加热或降温。③.1数据采集电路的设计数据采集电路主要由AD590, 0P07,74LS373,AD574A等组成。由于控制精度要求为0.1 度,而考虑到测量干扰和数据处理误差,则温度传感器和AD 转化器的精度应更高才能保证控制精度的实现,这个精度可处粗略定为0.1 度。故温度传感器需要能够区分0.1 度;而对于AD 转换器,由于测量范围为40-90 度,以0.1 度作为响应的AD 区分度要求,则AD 需要区分(90-40)/0.1=500 个数字量,显然需要10 位以上的AD 转换器。为此,选用高精度的12位AD574A。为了达到测量高精度的要求,选用温度传感器AD590,

文档评论(0)

ds2fdsx + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档