计算机控制课程设计 基于PID算法电加热炉温度控制系统设计.docx

上传人:b****5 文档编号:14293049 上传时间:2023-06-22 格式:DOCX 页数:23 大小:228.67KB
下载 相关 举报
计算机控制课程设计 基于PID算法电加热炉温度控制系统设计.docx_第1页
第1页 / 共23页
计算机控制课程设计 基于PID算法电加热炉温度控制系统设计.docx_第2页
第2页 / 共23页
计算机控制课程设计 基于PID算法电加热炉温度控制系统设计.docx_第3页
第3页 / 共23页
计算机控制课程设计 基于PID算法电加热炉温度控制系统设计.docx_第4页
第4页 / 共23页
计算机控制课程设计 基于PID算法电加热炉温度控制系统设计.docx_第5页
第5页 / 共23页
计算机控制课程设计 基于PID算法电加热炉温度控制系统设计.docx_第6页
第6页 / 共23页
计算机控制课程设计 基于PID算法电加热炉温度控制系统设计.docx_第7页
第7页 / 共23页
计算机控制课程设计 基于PID算法电加热炉温度控制系统设计.docx_第8页
第8页 / 共23页
计算机控制课程设计 基于PID算法电加热炉温度控制系统设计.docx_第9页
第9页 / 共23页
计算机控制课程设计 基于PID算法电加热炉温度控制系统设计.docx_第10页
第10页 / 共23页
计算机控制课程设计 基于PID算法电加热炉温度控制系统设计.docx_第11页
第11页 / 共23页
计算机控制课程设计 基于PID算法电加热炉温度控制系统设计.docx_第12页
第12页 / 共23页
计算机控制课程设计 基于PID算法电加热炉温度控制系统设计.docx_第13页
第13页 / 共23页
计算机控制课程设计 基于PID算法电加热炉温度控制系统设计.docx_第14页
第14页 / 共23页
计算机控制课程设计 基于PID算法电加热炉温度控制系统设计.docx_第15页
第15页 / 共23页
计算机控制课程设计 基于PID算法电加热炉温度控制系统设计.docx_第16页
第16页 / 共23页
计算机控制课程设计 基于PID算法电加热炉温度控制系统设计.docx_第17页
第17页 / 共23页
计算机控制课程设计 基于PID算法电加热炉温度控制系统设计.docx_第18页
第18页 / 共23页
计算机控制课程设计 基于PID算法电加热炉温度控制系统设计.docx_第19页
第19页 / 共23页
计算机控制课程设计 基于PID算法电加热炉温度控制系统设计.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

计算机控制课程设计 基于PID算法电加热炉温度控制系统设计.docx

《计算机控制课程设计 基于PID算法电加热炉温度控制系统设计.docx》由会员分享,可在线阅读,更多相关《计算机控制课程设计 基于PID算法电加热炉温度控制系统设计.docx(23页珍藏版)》请在冰点文库上搜索。

计算机控制课程设计 基于PID算法电加热炉温度控制系统设计.docx

计算机控制课程设计基于PID算法电加热炉温度控制系统设计

成绩

 

《计算机控制技术》

课程设计

题目:

基于数字PID的电加热炉温度控制系统设计

 

班级:

自动化09-1

学号:

2013年1月1日

 

基于数字PID的电加热炉温度控制系统设计

摘要:

电加热炉控制系统属于一阶纯滞后环节,具有大惯性、纯滞后、非线性等特点,导致传统控制方式超调大、调节时间长、控制精度低。

本设计采用PID算法进行温度控制,使整个闭环系统所期望的传递函数相当于一个延迟环节和一个惯性环节相串联来实现温度的较为精确的控制。

  电加热炉加热温度的改变是由上、下两组炉丝的供电功率来调节的,它们分别由两套晶闸管调功器供电。

调功器的输出功率由改变过零触发器的给定电压来调节,本设计以AT89C51单片机为控制核心,输入通道使用AD590传感器检测温度,测量变送传给ADC0809进行A/D转换,输出通道驱动执行结构过零触发器,从而加热电炉丝。

本系统PID算法,将温度控制在50~350℃围,并能够实时显示当前温度值。

关键词:

电加热炉;PID;功率;温度控制;

1.课程设计方案

1.1系统组成中体结构

 电加热炉温度控制系统原理图如下,主要由温度检测电路、A/D转换电路、驱动执行电路、显示电路及按键电路等组成。

   系统采用可控硅交流调压器,输出不同的电压控制电阻炉温度的大小,温度通过热电偶检测,再经过变送器变成0-5V的电压信号送入A/D转换器使之变成数字量,此数字量通过接口送到微机,这是模拟量输入通道。

  

2.控制系统的建模和数字控制器设计

2.1数字PID控制算法

在电子数字计算机直接数字控制系统中,PID控制器是通过计算机PID控制算法程序实现的。

计算机直接数字控制系统大多数是采样-数据控制系统。

进入计算机的连续-时间信号,必须经过采样和整量化后,变成数字量,方能进入计算机的存贮器和寄存器,而在数字计算机中的计算和处理,不论是积分还是微分,只能用数值计算去逼近。

在数字计算机中,PID控制规律的实现,也必须用数值逼近的方法。

当采样周期相当短时,用求和代替积分,用差商代替微商,使PID算法离散化,将描述连续时间PID算法的微分方程,变为描述离散-时间PID算法的差分方程。

用矩形积分时,有

(1)

用差分代替微分

(2)

由上式得

(3)

式中u0——控制量的基值,即k=0时的控制;u(k)——第k个采样时刻的控制;KP——比例放大系数;KI——积分放大系数;

KD——微分放大系数;

TS——采样周期。

式(3)是数字PID算法的非递推形式,称全量算法。

算法中,为了求和,必须将系统偏差的全部过去值e(j)(j=1,2,3,...,k)都存储起来。

这种算法得出控制量的全量输出u(k),是控制量的绝对数值。

在控制系统中,这种控制量确定了执行机构的位置,例如在阀门控制中,这种算法的输出对应了阀门的位置(开度)。

所以,将这种算法称为“位置算法”。

  当执行机构需要的不是控制量的绝对值,而是控制量的增量(例如去驱动步进电动机)时,需要用PID的“增量算法”。

由位置算法求出

再求出

两式相减,得出控制量的增量算法

(4)

式(4)称为增量式PID算法。

对增量式PID算法(4)归并后,得

(5)

  

其中(5)已看不出是PID的表达式了,也看不出P、I、D作用的直接关系,只表示了各次误差量对控制作用的影响。

从式(5)看出,数字增量式PID算法,只要贮存最近的三个误差采样值e(k),e(k-1),e(k-2)就足够了。

 

3.硬件设计

3.1温度检测及功率放大电路

  本系统采用镍铬-镍硅热电偶检测电阻炉中的温度,热电偶测温是基于物体的热电效应,它由两种不同的金属或合金组成,其优点是结构简单,可将温度信号转换成电压信号,测温围广、精度高,可实现远距离测量和传送,使用稳定、可靠,因此被广泛应用。

其不足之处是测温精度受冷端温度(即环境温度)的影响,为了提高热电偶测温精度,需要在热电偶冷端进行温度补偿。

温度检测电路及功率放大电路如图所示。

热电偶冷端温度补偿采用的是集成温度传感器AD590,流过AD590的电流Iu=273μA+T0×1μA/℃,式中,T0为室温。

负载电阻R3上输出电压UOUT=IuR3,选择电阻R3使UOUT在AD590允许输入电压围。

本系统选择R3=10kΩ。

这种测量方法冷端温度准确,克服了常规方法补偿误差大和不方便的缺点。

热电偶传感器输出的电压信号较为微弱(只有几毫伏到几十毫伏),因此在进行A/D转换之前必须进行信号变送,由高放大倍数的电路将它放大到A/D转换器通常所要求的电压围,热电偶的输出热电势为0~56mV。

本系统前级选用自稳态高精度斩波运放ICL7650,输入信号为差动信号,放大倍数为15倍。

后级运放选用较廉价的μA741,放大倍数可调,最大可达100倍,主要完成反相功能。

ICL7650输入端的钳位二极管起保护作用,避免输入线路发生故障时的瞬态尖峰干扰损坏运放,输入电压可直接送入AD574A进行转换。

3.2AD574A模/数转换电路

如下图所示,AD574A工作在12位状态,转换值分两次输出,高8位从DB4~DB11输出,低4位从DB0~DB3输出,并直接和单片机的数据线相连,AD574A的片选端接锁存器的Q7端,低电平有效;CE为片选使能端,高电平有效;CS和CE共同用于片选控制,只有当两个信号同时有效时,才能选中本芯片工作。

A0端接锁存器74LS373的Q1端。

A0=0时启动A/D转换。

R/接锁存器74LS373的Q0端。

R/=0时,启动A/D转换;R/=1时,允许读出转换后的数据。

AT89C51的和经“与非”门74LS00与AD574A的CE端相接。

12/8接地表示AT89C51要分两次从AD574A读出A/D转换的12位数字量。

3.3执行机构

传统的SSR控制采用移相触发电路,通过改变晶闸管导通角的大小来调节输出功率,从而达到自动控温的目的。

这种移相方式输出一种非正弦波,实践表明这种控制方式产生相当大的中频干扰,并通过电网传输给电力系统造成“公害”。

本系统采用单片机控制的固态继电器控温电路,其波形为完整的正弦波,对电阻炉这样的惯性较大的被控对象,是一种稳定、可靠、较合理的控制方法。

调功原理为:

设电网连续N个完整的周波为一个控制周期TC,则

若在设定的控制周期TC控制主回路导通n(n≤N)个完整的周波,则负载功率为

式中,U为电网电压有效值;为负载的有效电阻。

  因此,控制在设定周期TC主回路导通的周波数n的个数,就可调节负载的功率P。

采用交流过零型固态继电器控温时需交流过零检测电路,此电路输出对应于50Hz交流电压过零时刻的脉冲,在交流电压过零时刻导通。

如图所示是一种由两个光电耦合器和一个单稳态电路组成的交流过零检测电路。

其中,GD1、GD2为光电耦合器,具有检零和隔离功能,R10为限流电阻。

在交流正半周,GD1导通,GD2截止,VA为低电平;在交流负半周,GD1截止,GD2导通,VA仍为低电平。

只有在交流过零点时,GD1和GD2均截止,VA为高电平。

VA再经过74LS123单稳态电路整形,得到一过零脉冲序列VB,VB波形。

VB脉冲序列再与单片机P1.X输出的触发脉冲信号进行“与非”运算后得到控制信号。

用它来控制固态继电器,从而调节电阻炉温度。

交流过零检测电路

3.4报警电路设计

正常运行时绿灯亮,在保温阶段炉温度超出系统允差围,就要进行报警。

报警时报警红灯亮,电笛响,同时发送中断信号至CPU进行处理。

如图

加热炉报警系统图

3.5设计输入输出通道

输入通道:

因为所控的实际温度在50~350℃,即(350-50)=300所以选用8位A/D转换器,其分辨率约为1.5℃/字,再加放大器偏置措施实现。

(通过调整放大器的零点来实现偏置)这里采用一般中速芯片ADC0809。

ADC0809是带有8位A/D转换器,8路多路开关以及微型计算机兼容的控制逻辑的CMOS组件,其转换方法为逐次逼近型。

8路的模拟开关由地址锁存器和译码器控制,可以在8个通道中任意访问一个通道的模拟信号。

这种器件无需进行零位和满量程调整。

由于多路开关的地址输入部分能够进行锁存和译码,而且其三态TTL输出也可以锁存,所以它易于与微型计算机接口。

其具有较高的转换速度和精度,受温度影响较小,能较长时间保证精度,重现性好,功耗较低,故用于过程控制是比较理想的器件。

ADC0809应用接线图

输出通道:

据其实际情况,D/A转换器的位数可低于A/D转换器的位数,因为一般控制系统对输出通道分辨率的要求比输入通道的低,所以这里采用常用的DAC0832芯片。

DAC0832是8位D/A转换器,与微处理器完全兼容。

期间采用先进的CMOS工艺,因此功耗低,输出漏电流误差较小。

它的部具有两级输入数据缓冲器和一个R-2RT型电阻网络,因DAC0832电流输出型D/A转换芯片,为了取得电压输出,需在电流输出端接运算放大器,Rf为为运算放大器的反馈电阻端。

双极性电压输出的D/A转换电路通常采用偏移二进制码、补码二进制码和符号一数值编码。

只要在单极性电压输出的基础上再加一级电压放大器,并配以相关电阻网络就可以构成双极性电压输出。

在上图中,运算放大器A2的作用是把运算放大器A1的单向输出电压转变为双向输出。

4.软件设计

4.1系统程序流程图

4.1.1系统主程序框图

 

 

4.1.2A/D转换子程序流程图

4.1.3LED显示流程图

 

4.1.4报警程序流程图

4.1.5数字控制算法子程序流程图

 

4.2程序清单

4.2.1主程序

 ORG0000H

  AJMPMAIN

  ORG0003H

  AJMPKEYS

  ORG000BH

  AJMPPIT0

  ORG001BH

  AJMPPIT1;中断入口及优先级

  MAIN:

MOVSP,#00H

CLR5FH:

清上下限越限标志

    MOVA,#00H

    MOVR7,#09H

    MOVR0,#28H

  LP1:

MOVR0,A

   INCR0

   DJNZR7,LP1

   MOVR7,#06H

 MOVR0,#39H

  LP2:

MOVR0,A

   INCR0

   DJNZR7,LP2

   MOVR7,#06H

   MOVRO,#50H

  LP3:

MOVR0,A

   INCR0

   DINZR7,LP3;清显示缓冲区

   MOV33H,#00H

   MOV34H,#00H;赋KP高低字节

   MOV35H,#00H

   MOV36H,#00H;赋KI高低字节

 MOV37H,#00H

   MOV38H,#00H;赋KD高低字节

   MOV42H,#00H

 MOV43H,#00H;赋K高低字节

   MOVTMOD,#56H;T0方式2,T1方式1计数

   MOVTLO,#06H

   MOVTHO,#06H

   MOV25H,#163H;设定值默认值350

   SETBTR0;键盘高优先级

   SETBET0

 SETBEX0

   SETBEA;开键盘T0。

T1中断

  LOOP:

MOVR0,#56H

MOVR1,#55H

LCALLSCACOV;标度转化

MOVR0,#53H

LCALLDIR

NOP

LCALLDLY10MS

NOP

LCALLDLY10MS

AJMPLOOP;等中断

4.2.2键盘子程序

 KEYS:

CLREX0

CLREA

PUSHPSW

PUSHACC;关中断

LCALLDLY10MS;消抖

  CC:

JBP3.2AA

    SETB5DH;置“显示设定值温度值标志”

    MOVA,25H;取运算位的值

    MOVB,#10H;BCD码转化

    DIVAB

    MOV52H,A

    MOVA,B

    MOV51H,A

    MOVR0,#50H

    LCALLDIR;显示设定温度

    NOP

   LCALLDLY10MS

    NOP

 LCALLDLY10MS

    JBP1.7,BB

    MOVR1,#25H

   LCALLDAAD1

    NOP

   LCALLDLY10MS

   AJMPCC

  BB:

JBP1.6CC

    MOVR1,#25H

    LCALLDEEC1

    NOP

   LCALLDLY10MS

    AJMPCC

  AA:

POPACC

    POPPSW

    SETBEX0

    SETBEA;出栈

    RETI

4.2.3显示子程序

  DIR:

MOVSCON,#00H;置串行口移位寄存器状态

      SETBP1.4;开显示

      JB5DH,DL1;显示设定温度

  DL2:

MOVDPTR,#SEGT

  DL0:

MOVA,R0

     MOVCA,A+DPTR

     MOVSBUF,A

  LOOP1:

JNBTI,LOOP1

CLRTI

    INCR0

    MOVA,R0

    MOVCA,A+DPTR

    ANLA,#7FH;使数带小数点

    MOVSBUF,A

  LOOP2:

JNBTI,LOOP2

    CLRTI

    INCR0

    MOVA,R0

    MOVCA,A+DPTR

    MOVSBUF,A

  LOOP3:

JNBTI,LOOP3

    CLRTI

    CLRP1.4

    CLR5DH

    RET

  DL1:

MOV50H,#0AH;小数位黑屏

AJMPDL2

SEGT:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH

4.2.4加一子程序

DAAD1:

MOVA,#00H

ORLA,R1

ADDA,#01H

CJNEA,#30H,DAAD2;超过48度了吗?

  DAAD3:

MOVR1,A

  DAA:

RET

  DAAD2:

JCDAAD3

    MOVR1,#15EH;超过48则转回到355

    AJMPDAA

4.2.5减一子程序

    DEEC1:

MOVA,R1

  DECA

    CJNEA,#15EH,DEEC2;低于355度了吗?

  DEEC3:

MOVR1,A

  DEE:

RET

  DEEC2:

JNCDEEC3

   MOVR1,#30H;低于355则转回到48

    AJMPDEE

4.2.6T0中断子程序

  PTT0:

CLREA

    PUSHACC

    PUSHPSW

    PUAHDPL

    PUSHDPH

    SETBEA;压栈后开中断响应键盘

PPP:

LCALLSMAP;采样数据

    LCALLFILTER;数字滤波

    MOVA,2AH;取采样值

    CJNEA,#07H,AAA;下限48比较

    AJMPBBB

  AAA:

JCCCC;小于48度转

   CJNEA,#0FEH,DDD;上限355比较

   AJMPBBB;转至48~355正常围处理

  DDD:

JCBB

   CLRP1.2;大于355黄灯亮

   SETB5EH

   CLRP1.1;置标志启动风扇

   AJMPPPP

  CCC:

CLRP1.3;小于48红灯亮

   SETB5FH

BBB:

CLRP1.0;置标志启动电炉

   AJMPPPP

   SETBP1.0

   SETBP1.1

   SETBP1.2

   SETBP1.3

   CLR5EH

   CLR5FH;50~350之间正常

   LCALLPID

   JNB20H,EEF;设定温度小于实际值转到风扇

   MOVA,29H

  LCALLFFF

   CLRP1.0

  LOOP10:

MOVR0,#56H;存放相乘结果的首址

    MOVR1,#55H;赋显示缓冲区最高位地址

    LCALLSCACOV;标度转化

    MOVR0,#53H;;赋显示首址

    CLRDIR

    JBD5H,LOOP10;等待T1中断

    CLREA

    POPDPH

    POPDPL

    POPPSW

     SETBEA

     POPACC

     RETI

  EEE:

MOVA,28H;风扇处理

LCALLFFF

CLRP1.1

    AJMPLOOP10

  FFF:

CRLA;根据PID结果计算T1初值

INCA

MOVTL1,A

MOVTH1,#0FFH

SETBPI1

SETBTR1

SETBET1

RET

4.2.7采样子程序

  SWAP:

MOVR0,#20H

MOVR1,#03H

  SAW1:

MOVDPTR,#7FF8H

MOVXDPTRA;A/D转化

MOVR2,#20H

  DLY:

DJNZR2,DLY;延时

  HERE:

JBP3.3,HERE

    MOVDPTR,#7FF8H

    MOVXA,DPTR;读转化结果

    MOVR0,A

    INCR0

    DJNZR1,SAM1

    RET

4.2.8数字滤波

  FILTER:

MOVA,20H

     CJNEA,2DHCMP1

     AJMPCMP2

  CMP1:

JNCCMP2

  

XCHA,2DH

XCHA,2CH

  CMP2:

MOVA,2DH

CJNEA,22EH,CMP3

MOV2AH,A

AJMPRR

  CMP3:

JCCMP4

MOV2AH,A

AJMPRR

  CMP4:

MOVA,2EH

    CJNEA,2CH,CMP5

    MOV2AH,A

    AJMPRR

  CMP5:

JCCMP6

XCHA,2CH

CMP6:

MOV2AH,A

   RR:

RET

4.2.9T1中断

  PIT1:

CLR00H

   JB20H,GGG

   SETBP1.0;关闭电炉

   GG:

CLRPT1

   RETI

  GGG:

SETBP1.1;关闭风扇

   CLR20H

   AJMPGG

5.课程设计总结

   本系统选用AT89C51作为控制器,温度检测部分选用AD590作为传感器,ADC0809作为A/D转换器,过零触发器采用光耦驱动电路及双向可控硅电路。

   通过理论推导和仿真验证,进一步说明数字PID进行控制时的系统动态性能指标优越。

特别适用于对象为滞后的系统,因此PID算法是一种较好的控制算法,能在工业控制中得到较好地应用。

 

ThedesignofelectricheatingfurnacetemperaturecontrolsystembasingonthedigitalPID

Abstract:

Theelectricheatingfurnacebelongstothefirst-orderinertial.Itsinertial,hystereticandnonlinearityfeaturebringaboutdifficultytotraditionalcontrolmethod.ThiscurriculumdesignapplythedigitalPIDtheorytocontrolthetemperatureofelectricheatingfurnace,soastomakethewholeclosed-loopsystem'stransferfunctiontobeadelayandFirst-orderinertialinkinseries.Asaresultthetemperaturecontrolsystemwouldworkaccurately.

Therearetwostripheaters,poweredbytwoPWM,usingtochangethetemperatureoftheelectricheatingfurnace.Theoutputofthepower-regulatorismonitoredbythegivenvoltageofcross-zerotrigger.ThiscurriculumdesignisbasedontheAT89C51chip.TheAD590sensorisusedtodetectthetemperatureintheinputchannelanditsvaluesaresendtotheADC0809,thechipwhichwouldchangetheanalogsingletodigitalone.Theoutputchannelwoulddrivethecross-zerotriggerwhichisalsotheactuator.Ifthetwostepsabovearebothactivated,thestripheatersstarttowork.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2