版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上基于PID电加热炉温度控制系统设计摘要 电加热炉随着科学技术的发展和工业生产水平的提高,已经在冶金、化工、机械等各类工业控制中得到了广泛应用,并且在国民经济中占有举足轻重的地位。对于这样一个具有非线性、大滞后、大惯性、时变性、升温单向性等特点的控制对象,很难用数学方法建立精确的数学模型,因此用传统的控制理论和方法很难达到好的控制效果。单片机以其高可靠性、高性能价格比、控制方便简单和灵活性大等优点,在工业控制系统、智能化仪器仪表等诸多领域得到广泛应用。采用单片机进行炉温控制,可以提高控制质量和自动化水平。一、 绪论在本控制对象电阻加热炉功率为8可W,由220V交流电供电
2、,采用双向可控硅进行控制。本设计针对一个温度区进行温度控制,要求控制温度范围50350C,保温阶段温度控制精度为正负1度。选择合适的传感器,计算机输出信号经转换后通过双向可控硅控制器控制加热电阻两端的电压。其对象问温控数学模型为: 其中:时间常数Td=350秒,放大系数Kd=50,滞后时间=10秒,控制算法选用改PID控制实时温度采样显示设定值单片机设定温度电源控制电阻加热炉图1.1系统总体结构图二、 控制系统的建模和数字控制器设计输入并采样r(K)、c(K)开始计算偏差e(K)=r(K)-c(K)计算 u(k)=qe(k)+qe(k-1)+qe(k-2)存u(k)以备输出参数序号e(k-1)
3、e(k-2)调整 e(k)e(k-1)返回 图2 PID算法流程图数字PID控制算法 PID控制器是通过计算机PID控制算法程序实现的。计算机直接数字控制系统大多数是采样-数据控制系统。进入计算机的连续-时间信号,必须经过采样和整量化后,变成数字量,方能进入计算机的存贮器和寄存器,而在数字
4、计算机中的计算和处理,不论是积分还是微分,只能用数值计算去逼近。受控对象PID位置算法reuy+-图2.1位置PID控制算法简化示意图 在数字计算机中,PID控制规律的实现,也必须用数值逼近的方法。当采样周期相当短时,用求和代替积分,用差商代替微商,使PID算法离散化,将描述连续时间PID算法的微分方程,变为描述离散-时间PID算法的差分方程。 用矩形积分时,有 (1) 用差分代替微分 (2) 由上式得 (3) 式中 u0控制量的基值,即k=0时的控制;u(k)第k个采样时刻的控制;KP比例放大系数;KI积分放大系数; KD微分放大系数;TS采样周期。 式(3)是数字PID算法的非递推形式,称
5、全量算法。算法中,为了求和,必须将系统偏差的全部过去值e(j)(j=1,2,3,. ,k)都存储起来。这种算法得出控制量的全量输出u(k),是控制量的绝对数值。在控制系统中,这种控制量确定了执行机构的位置。当执行机构需要的不是控制量的绝对值,而是控制量的增量(例如去驱动步进电动机)时,需要用PID的“增量算法”。yuerPID增量算法受控对象-+步进电机u 由位置算法求出 再求出 两式相减,得出控制量的增量算法 (4) 式(4)称为增量式PID算法。对增量式PID算法(4)归并后,得 (5) 从式(5)看出,数字增量式PID算法,只要贮存最近的三个误差采样值e(k),e(k-1),e(k-2)
6、就足够了。如果计算机系统采用恒定的采样周期T,一旦确定q,q,q只要使用前后测量三次的偏差值,就可以由上式求出控制量。typedef struct PID Int SetPoint;/设定目标Desired ValueLong SumError;/误差累计 double propotion;/比例常数 Propotion ConstDouble integral;/积分常数 Integral ConstDouble derivative;/微分
7、常数 Derivative Constint LastError;/ Error-1 Int PrevError;/ Error-2 PID; ststic PIDsPID; /*Initialize PID Structure PID参数初始化*/ void IncPIDInit(void) sptr->SumError=0; sptr->LastError=0;/ E
8、rror-1 sptr->PrevError=0;/ Error-2 sptr->Propotion=0;/比例常数 Propotional Const sptr->integral=0;/积分常数Integral Const sptr->derivative=0;/微分常数Derivative Const sptr->SetPoint=0; /*增量式PID计算部分*/ int IncPIDCalc
9、(int NextPoint) register int ierror,iIncpid;/当前误差 ierror=sptr->SetPoint-NextPoint;/增量计算三 硬件的设计和实现3.1 AT89C51系列基本组成及特性AT89C51是一种带4K字节FLASH(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称。AT89C2051是一种带2K字节闪存可编程可擦除的单片机。图3.1AT89C51管脚管脚说明:VCC:供电电压
10、。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。 P2口:P2口为一个内部上拉
11、电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作
12、输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚备选功能:P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG
13、:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存
14、储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 3.2键盘模块在本次设计当中,输入设备采用4*4矩阵键盘。当“设定”键按下时触发键盘中断服务程序,由程序程控扫描法确定那个键按下并执行相应的动作。程控扫描的任务是:(1)首先判断是否有键按下。方法:使所有的行输出均为低电平,然后从端口A读入列值。如果没有键按下,则读人值为FFH如果有链
15、按下则不为FFH。(2)去除键抖动。方法:延时1020 ms,再一次判断有无键按下,如果此时仍有键按下,则认为键盘上确实有键处于稳定闭合期。(3)若有键闭合,则求出闭合键的键值。方法:对键盘逐行扫描。程序中需等闭合键释放后才对其进行处理。3.3设计输入输出通道输入通道:因为所控的实际温度在50 350,即(35050)300所以选用8位A/D转换器,其分辨率约为1.5/字,再加放大器偏置措施实现。(通过调整放大器的零点来实现偏置)这里采用一般中速芯片ADC0809。ADC0809是带有8位A/D转换器,8路多路开关以及微型计算机兼容的控制逻辑的CMOS组件,其转换方法为逐次逼近型。8路的模拟开
16、关由地址锁存器和译码器控制,可以在8个通道中任意访问一个通道的模拟信号。这种器件无需进行零位和满量程调整。由于多路开关的地址输入部分能够进行锁存和译码,而且其三态TTL输出也可以锁存,所以它易于与微型计算机接口。其具有较高的转换速度和精度,受温度影响较小,能较长时间保证精度,重现性好,功耗较低,故用于过程控制是比较理想的器件。ADC0809应用接线图输出通道:据其实际情况,D/A转换器的位数可低于A/D转换器的位数,因为一般控制系统对输出通道分辨率的要求比输入通道的低,所以这里采用常用的DAC0832芯片。DAC0832是8位D/A转换器,与微处理器完全兼容。期间采用先进的CMOS工艺,因此功
17、耗低,输出漏电流误差较小。它的内部具有两级输入数据缓冲器和一个R-2RT型电阻网络,因DAC0832电流输出型D/A转换芯片,为了取得电压输出,需在电流输出端接运算放大器,Rf为为运算放大器的反馈电阻端。双极性电压输出的D/A转换电路通常采用偏移二进制码、补码二进制码和符号一数值编码。只要在单极性电压输出的基础上再加一级电压放大器,并配以相关电阻网络就可以构成双极性电压输出。在上图中,运算放大器A2的作用是把运算放大器A1的单向输出电压转变为双向输出。3.4电源部分本系统所需电源有220V交流市电、直流5V电压和低压交流电,故需要变压器、整流装置和稳压芯片等组成电源电路。电源变压器是将交流电网
18、220V的电压变为所需要的电压值,然后通过整流电路将交流电压变为脉动的直流电压。由于此脉动的直流电压还含有较大的纹波,必须通过滤波电路加以滤除,从而得到平滑的直流电压。但这样的电压还随电网电压波动(一般有+-10%左右的波动)、负载和温度的变化而变化。因而在整流、滤波电路之后,还需要接稳压电路。稳压电路的作用是当电网电压波动、负载和温度变化时,维持输出直流电压稳定。整流装置采用二极管桥式整流,稳压芯片采用78L05,配合电容将电压稳定在5V,供控制电路、测量电路和驱动执行电路中弱电部分使用。除此之外,220V交流市电还是加热电阻两端的电压,通过控制双向可控硅的导通与截止来控制加热电阻的功率。低
19、压交流电即变压器二次侧的电压,通过过零检测电路检测交流电的过零点,送入单片机后,由控制程序决定双向可控硅的导通角,以达到控制加热电阻功率的目的。四、软件设计4.1系统主程序 本系统的应用程序主要由主程序、中断服务程序和子程序组成。主程序的任务是对系统进行初始化,实现参数输入,并控制电加热炉的正常运行。主程序主要由系统初始化、数据采集及处理、智能推理等部分组成。系统初始化包括设置栈底、工作寄存器组、控制量的初始值、采样周期、中断方式和状态、定时器的工作方式以及8255的初始化、MAX1232的初始化等。数据采集及处理主要包括实时采集电加热炉的炉温信号,计算出实际炉温与理想值的差值以及温差的变化率
20、,并对炉温信号进行滤波和限幅处理。开始系统的初始化温度数据采集及处理温度值显示计算温差e(k)和温差变化率智能控制算法程序控制输出求出输出控制量结束NY图4.1系统主程序 4.2模数转换模块ADC0809是一个典型的逐次逼近型8位A/D转换器。它由8路模拟开关、8位A/D转换器、三态输出锁存器及地址锁存译码器等组成。它允许8路模拟量分时输入,转换后的数字量输出是三态的(总线型输出),可以直接与单片机数据总线连接。ADC0809采用+5V电源供电,外接工作时钟。当典型工作时钟为500KHz时,转换时间约为128us.(1) 时钟信号:由于ADC0809无片选端,因此电路增加了或非门74LS02,
21、以便对ADC0809进行读/写控制。单片机采用6MHz/s的晶振,ALE输出66MHz/s时钟信号,经74LS74触发器2分频,得到500KHz的时钟信号,与ADC0809的时钟端CLK相连。(2) 通道选择:三位通道选择端ADDA、ADDB、ADDC与数据线P1口的低三位P1.0、P1.1、P1.2相连,用数据线进行通道选择,由P1.0、P1.1、P1.2三位决定选择那一通道。(3) ADC0809启动:ADC0809的启动端START、地址所存端ALE均为高电平有效。将START和ALE连在一起,与74LS02的输出端相连。或非门74LS02的两个输入端/WR和P3.5均为低电平时,其输出
22、为高电平,执行外部I/O口的写操。开始将PSW压栈调显示程序读A/D结果置位状态位F0关闭报警F0是否等于零调PID控制算法程序报警子程序PSW出栈并返回输出控制量启动定时器T1溢出标志TF1是否为零设定值与AD结果比较交流电是否过零结果=0结果>or<设定值的20%-20%<结果<20%F0=0F0=0NYNY 图4.2.1A/D转换结束中断服务程序流程图 按键检测与处理流程图如图4.2.2所示是否有按键NY延时10-20ms是否有按键N按键已释放YNY获得键值,键处结束图4.2.2按键检测与处理流程图 编写D/A转换控制程序: DAC
23、0832实现D/A转换,可以采用下面程序段。设定要转换的数据放在1000H单元中。 MOV BX,1000H MOV AL,BX 取转换资料 MOV DX,PORTA PORTA为D/A转换端口地址 OUT DX,AL 4.3 LED显示模块图4.3显示子程序4.4数字控制算法子程序流程图4.5报警模块根据设计要求,在保温阶段,温度控制精度为正负1度,故当温度下降或上升2度时为故障状态,需要报警提醒。所以在电路设计
24、上应用了蜂鸣器和发光二极管,系统正常运行时绿色发光二极管点亮,当出现故障时红色发光二极管点亮并且蜂鸣器鸣叫,提醒操作人员注意。报警状态可通过按键复位和系统恢复正常后自动复位开始置报警位P3.4子程序返回清除报警状态位F0图4.4报警子程序4.6程序清单4.5.1 主程序ORG 0000HAJMP MAINORG 0003HAJMP KEYSORG 000BHAJMP PIT0ORG 001BHAJMP PIT1 ;中断入口及优先级MAIN: MOV SP,#00H CLR 5FH :清上下限越限标志 MOV A,#00HMOV R7,#09HMOV R0,#28HLP1:MOV R0,AINC
25、 R0 DJNZ R7,LP1MOV R7,#06HMOV R0,#39HLP2:MOV R0,AINC R0DJNZ R7,LP2MOV R7,#06HMOV RO,#50HLP3:MOV R0,AINC R0DINZ R7,LP3 ;清显示缓冲区MOV 33H,#00HMOV 34H,#00H ;赋KP高低字节MOV 35H,#00HMOV 36H,#00H ; 赋KI高低字节MOV 37H,#00H MOV 38H,#00H ; 赋KD高低字节MOV 42H,#00HMOV 43H,#00H ;赋K高低字节MOV TMOD,#56H ;T0方式2,T1方式1计数MOV TLO,#06HM
26、OV THO,#06H MOV 25H,#163H ;设定值默认值350SETB TR0 ;键盘高优先级SETB ET0SETBEX0SETB EA ;开键盘T0。T1中断LOOP:MOV R0,#56H MOV R1,#55H LCALLSCACOV ;标度转化 MOV R0,#53H LCALLDIR NOP LCALLDLY10MS NOP LCALLDLY10MS AJMP LOOP;等中断4.5.2 键盘子程序KEYS:CLR EX0 CLR EA PUSH PSW PUSH ACC ;关中断 LCALLDLY10MS ;消抖CC: JB P3.2 AASETB 5DH ;置“显示设
27、定值温度值标志”MOV A,25H ;取运算位的值MOV B,#10H ;BCD码转化DIV A BMOV 52H,AMOV A, BMOV 51H, AMOV R0,#50HLCALL DIR ;显示设定温度NOPLCALLDLY10MSNOPLCALL DLY10MSJB P1.7 ,BBMOV R1,#25HLCALL DAAD1NOP LCALL DLY10MS AJMP CCBB: JB P1.6 CCMOV R1,#25HLCALL DEEC1NOPLCALL DLY10MSAJMP CCAA: POP ACCPOP PSWSETB EX0SETB EA ;出栈RETI4.5.3
28、显示子程序DIR: MOV SCON ,#00H ;置串行口移位寄存器状态SETB P1.4 ;开显示JB 5DH,DL1 ;显示设定温度DL2: MOV DPTR,#SEGTDL0: MOV A,R0MOVC A,A+DPTRMOV SBUF ,ALOOP1: JNB TI, LOOP1 CLR TIINC R0MOV A,R0MOVC A,A+DPTRANL A, #7FH ;使数带小数点MOV SBUF ,ALOOP2: JNB TI,LOOP2CLR TIINC R0MOV A,R0MOVC A,A+DPTRMOV SBUF,ALOOP3: JNB TI,LOOP3CLR TICLR
29、P1.4CLR 5DHRETDL1: MOV 50H,#0AH ;小数位黑屏 AJMP DL2SEGT: DB 0C0H ,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH4.5.4 T0中断子程序PTT0: CLR EAPUSH ACCPUSH PSWPUAH DPLPUSH DPHSETB EA ;压栈后开中断响应键盘PPP: LCALLSMAP ;采样数据LCALL FILTER ;数字滤波MOV A,2AH ;取采样值CJNE A,#07H,AAA ;下限48比较AJMP BBBAAA: JC CCC ;小于48度转CJNEA,#0FEH ,DD
30、D ;上限355比较AJMP BBB ;转至48355正常范围处理DDD: JC BBCLR P1.2 ;大于355黄灯亮SETB 5EHCLR P1.1 ;置标志 启动风扇AJMP PPPCCC: CLR P1.3 ;小于48红灯亮SETB 5FHBBB: CLR P1.0 ;置标志启动电炉AJMPPPPSETB P1.0SETB P1.1SETB P1.2SETB P1.3CLR 5EHCLR 5FH ;50350之间正常LCALL PIDJNB 20H,EEF ;设定温度小于实际值转到风扇MOV A,29HLCALLFFFCLR P1.0LOOP10: MOV R0,#56H ;存放相乘
31、结果的首址MOV R1,#55H ;赋显示缓冲区最高位地址LCALL SCACOV ;标度转化 MOV R0,#53H;;赋显示首址 CLR DIR JB D5H,LOOP10 ;等待T1中断 CLR EA POP DPH POP DPL POP PSWSETB EAPOP ACCRETIEEE: MOV A,28H ;风扇处理 LCALL FFF CLR P1.1AJMP LOOP10FFF: CRL A ;根据PID结果计算T1初值 INC A MOV TL1,A MOV TH1,#0FFH SETB PI1 SETB TR1 SETB ET1 RET4.5.5采样子程序SWAP: MOV R0,#20H MOV R1,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设计类合同协议书
- 软件产品开发与生命周期管理作业指导书
- 2025年聊城道路货运驾驶员从业资格证考试
- 2025年咸宁道路货运驾驶员从业资格证考试题库
- 2024-2025学年高中政治课时作业12博大精深的中华文化含解析新人教版必修3
- 2024-2025学年度九年级物理全册15.3串联和并联教学设计3新版新人教版
- 2024-2025学年高中英语Unit2LanguageSectionⅦWriting-调查报告教案含解析牛津译林版必修3
- 2024年春八年级物理下册第十章浮力章末小结与提升分层精炼新版新人教版
- 2024年新教材高中生物课时素养评价十八6.3.2隔离在物种形成中的作用含解析新人教版必修2
- 苏科版数学八年级上册听评课记录《1-3探索三角形全等的条件(1)》
- 2023版押品考试题库必考点含答案
- 植物之歌观后感
- 空气能热泵安装示意图
- 建筑工程施工质量验收规范检验批填写全套表格示范填写与说明
- 2020年中秋国庆假日文化旅游市场安全生产检查表
- 昆明天大矿业有限公司寻甸县金源磷矿老厂箐-小凹子矿段(拟设)采矿权出让收益评估报告
- 心有榜样行有力量 -从冬奥冠军徐梦桃身上感受青春奋斗初中主题班会
- 办公家具项目实施方案、供货方案
- 七年级英语下册阅读理解10篇
- 节后开工收心会
- 设计质量、进度保证措施
评论
0/150
提交评论