积分分离式pid算法实例_第1页
积分分离式pid算法实例_第2页
积分分离式pid算法实例_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、正文一、方案选择总体方案选择:电热锅炉温度控制系统由核心处理模块、温度采集模块、键盘显示模块、及控制 执行模块等组成。总体方案一:采用8031作为控制核心,以使用最为普遍的器件 ADC0809作模数 转换,控制上使用对电阻丝加电使其升温和开动风扇使其降温。此方案简易可行 , 器件的价格便宜,但8031内部没有程序存储器,需要扩展,增加了电路的复杂性,且 ADC0809是8位的模数转换,不能满足本题目的精度要求。总体方案二:采用比较流行的AT89S51作为电路的控制核心,使用12位的高精度 模数转换器AD574A进行数据转换,控制电路部分采用PWM控制可控硅的通断以 实行对锅炉温度的连续控制,此

2、方案电路简单并且可以满足题目中的各项要求的精 度。综上分析,我们采用方案二。系统设计总体框图如下:图1控制器设计总体框图根据温度变化慢,并且控制精度不易掌握的特点,我们设计了以STC89C51单片机 为检测控制中心的电热锅炉温度自动控制系统。温度控制采用改进的PID数字控制算法,显示采用3位LED静态显示。该设计结构简单,控制算法新颖,控制精度高, 有较强的通用性。所设计的控制系统有以下功能:温度控制设定波动范围小于 ±%,测量精度小于±%,控制精度小于 立,超调整量 小于±4%;实现控制可以升温也可以降温;实时显示当前温度值;按键控制:设置复位键、运行键、功能转

3、换键、加一键、减一键 ;越限报警。1、带死区的PID算法某些生产过程对控制精度要求不是很高但希望系统工作稳定,执行机构不要频繁 动作。针对这一类系统,带死区的PID算法应运而生。所谓带死区的PID,实在计算机中认为的设置一个不灵敏区域B,当偏差的绝对值|e (k) |< 3时,不产生新的控制增量,控制量维持不变;当偏差的绝对值|e(k) |> 3时,则进行正常的PID运算后输出。带死区的PID控制算法为:0 (|e(k)|<3 ) ?u(k)= Kpe(kM)+Kie(k)+Kde(k)-2e(k-1)+e(k- 2) (|e(k)|>3)-3 3是一个人为设置的死区,

4、3是一个可调参数,其值根据具体对象由实验确定 或者根据经验确定,这种控制方式适用于控制精度不太高,控制动作尽可能少的 场合。其控制特性在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)=Kpe(k)-e(k-1)+Kie(k)+Kde(k)-2e(k-1)+e(k-2)|e(k)|> Be(k)= r(k)- c(k) 采样 r(k)、c(k)初始化2、算法程序流程图3、 软件设计 在主程序中首先由vc测出PID算法的参数值,然后通过循环显

5、示当 前温度,并且设定键盘外部中断为最高优先级,以便能实时响应键盘处理;软件设定 定时器TO为5秒定时,在无键盘响应时每隔5秒响应一次,以用来采集经过A/D 转换的温度信号;设定定时器T1为嵌套在T0之中的定时中断,初值由PID算法子 程序提供。在主程序中必须分配好每一部分子程序的起始地址,主程序流程图如 下:图4主程序流程图 图5键盘及中断程序图4、硬件设计硬件电路主要有两大部分组成:模拟部分和数字部分:从功能模块上来分有:主 机电路、数据采集电路、键盘显示电路、控制执行电路。1主机电路的设计主机选用ATMEL公司的51系列单片机AT89S51来实现,利用单片机软件编程灵 活、自由度大的特点

6、,力求用软件完善各种控制算法和逻辑控制。本系统选用的 AT89S51芯片时钟可达12MHz,运算速度快,控制功能完善。其内部具有128字节 RAM,而且内部含有4KB的flash ROM不需要外扩展存储器,可使系统整体结构更 为简单、实用。2 1/0通道的硬件电路的设计就本系统来说,需要实时采集水温数据,然后经过A/D转换为数字信号,送入单片 机中的特定单元,然后一部分送去显示;另一部分与设定值进行比较,通过PID算法 得到控制量并经由单片机输出去控制电热锅炉加热或降温。.1数据采集电路的设计数据采集电路主要由AD590, 0P07,74LS373,AD574A等组成。由于控制精度要求 为0.

7、1度,而考虑到测量干扰和数据处理误差,则温度传感器和AD转化器的精 度应更高才能保证控制精度的实现,这个精度可处粗略定为0.1度。故温度传感器 需要能够区分0.1度;而对于AD转换器,由于测量范围为40-90度,以0.1度作为响 应的AD区分度要求,则AD需要区分(90-40)/0.1=500个数字量,显然需要10位以 上的AD转换器。为此,选用高精度的12位AD574A。为了达到测量高精度的要求,选用温度传感器AD590,AD590具有较高精度和重复 性(重复性优于0.C,其良好的非线形可以保证优于0. 1C的测量精度,利用其 重复性较好的特点,通过非线形补偿,可以达到0.1C测量精度.)超

8、低温漂移高精度 运算放大器0P07将温度一电压信号进行放大,便于A/D进行转换,以提高温度采 集电路的可靠性。模拟电路硬件部分见图 6。图6温度电压转换电路 2电控制执行电路的设计 由输出来控制电炉,电炉可以近似建立为具有滞后性质的一阶惯性环节数学模型。 其传递函数形式为:可控硅可以认为是线形环节实现对水温的控制。单片机输出与电炉功率分别属于 弱电与强电部分,需要进行隔离处理,这里采用光耦元件TLP521在控制部分进行光 电隔离,此外采用变压器隔离实现弱强电的电源隔离。单片机PWM输出电平为0时,光耦元件导通,从而使三极管形成有效偏置而导通, 通过整流桥的电压经过集电极电阻以及射集反向偏压,有

9、7V左右的电压加在双向可控硅控制端,从而使可控硅导通,交流通路形成,电阻炉工作;反之单片机输出电平 为0时,光耦元件不能导通,三极管不能形成有效偏置而截止,可控硅控制端电压几 乎为零,可控硅截止从而截断交流通路,电炉停止工作。此外,还有越限报警,当温度 低于下限时发光二极管亮;高上限时蜂鸣器叫。控制执行部分的硬件电路如下图。 图7控制执行部分电路键盘及显示的设计键盘采用软件查询和外部中断相结合的方法来设计,低电平有效。图3中按键AN1,AN2,AN3,AN4, AN5的功能定义如表1所示。按键AN3与P3.2相连,采用外部中断方式,并且优先级定为最高;按键AN5和AN4 分别与P1.7和P1.

10、6相连,采用软件查询的方式;AN1则为硬件复位键,与R、C构成 复位电路。按键键名功能|AM复位讎使系统复惊AK2运行键使系统开始数据采集1AN3功能转换键按键按下助亮)时.显示: 温度设定值按键升起 (D1不亮)时.显示前廻度 值AN4加一键设定温度渐次加一 1 AN5减一诞J设定温度渐次减一_表1按键功能显示采用3位共阳LED静态显示方式,显示内容有温度值的十位、个位及小数点 后一位,这样可以只用P3.0(RXD) 口来输出显示数据,从而节省了单片机端口资源, 在P1.4 口和P3.1(TXD)的控制下通过74LS164来实现3位静态显示。数字电路硬 件部分图8数字电路硬件1积分分离式PI

11、D算法PID控制器中引入积分的目的主要是为了消除静差,提高精度,但在过程的启 动、结束、大幅度增减设定值或出现较大扰动时,短时间内系统的输出会出现很 大的偏差,致使积分部分幅值快速上升。由于系统存在惯性和滞后,这就势必引 起系统输出部分出现较大的超调和长时间的波动,特别对于温度、成分等变化缓 慢的过程,这一现象更为严重,有可能引起系统震荡。为防止这种现象,采用积分分 离式PID控制算法。其基本思想是:大偏差时,去掉积分作用,以免积分作用使系统稳定性变差;小偏差时,投入积分作用,以便消除静差,提高控制精度。既保证了系统的动态性能又能使系统无静 差。具体算法如下:?u(k)=Kpe(k)-ek-1+aKie(k)+Kde(k)-2e(k-1)+e(k-21 (|e(k)|<= B)a=0 (|e(k)|> B)a为逻辑变量;B积分分离限,有具体对象确定。 B过大达不到积分分离目的;B 过小,一但被控量c(t)无法跳出积分分离区,只进行 PD调节,将会出现静差。于 是需要将上式改写为:?Upd(k)=Kpe(k)-ek-1+Kde(k)-2e(k-1)+e(k-2;若|e(k)|<

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论