变速积分PID控制系统设计.docx

上传人:b****1 文档编号:13614271 上传时间:2023-06-15 格式:DOCX 页数:37 大小:353.12KB
下载 相关 举报
变速积分PID控制系统设计.docx_第1页
第1页 / 共37页
变速积分PID控制系统设计.docx_第2页
第2页 / 共37页
变速积分PID控制系统设计.docx_第3页
第3页 / 共37页
变速积分PID控制系统设计.docx_第4页
第4页 / 共37页
变速积分PID控制系统设计.docx_第5页
第5页 / 共37页
变速积分PID控制系统设计.docx_第6页
第6页 / 共37页
变速积分PID控制系统设计.docx_第7页
第7页 / 共37页
变速积分PID控制系统设计.docx_第8页
第8页 / 共37页
变速积分PID控制系统设计.docx_第9页
第9页 / 共37页
变速积分PID控制系统设计.docx_第10页
第10页 / 共37页
变速积分PID控制系统设计.docx_第11页
第11页 / 共37页
变速积分PID控制系统设计.docx_第12页
第12页 / 共37页
变速积分PID控制系统设计.docx_第13页
第13页 / 共37页
变速积分PID控制系统设计.docx_第14页
第14页 / 共37页
变速积分PID控制系统设计.docx_第15页
第15页 / 共37页
变速积分PID控制系统设计.docx_第16页
第16页 / 共37页
变速积分PID控制系统设计.docx_第17页
第17页 / 共37页
变速积分PID控制系统设计.docx_第18页
第18页 / 共37页
变速积分PID控制系统设计.docx_第19页
第19页 / 共37页
变速积分PID控制系统设计.docx_第20页
第20页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

变速积分PID控制系统设计.docx

《变速积分PID控制系统设计.docx》由会员分享,可在线阅读,更多相关《变速积分PID控制系统设计.docx(37页珍藏版)》请在冰点文库上搜索。

变速积分PID控制系统设计.docx

变速积分PID控制系统设计

变速积分PID控制系统设计

摘要

在一般的PID调节算法中,由于积分系数KI是常数,所以在整个调节过程中,积分增益不变。

而系统对积分项的要求是,系统偏差大时,积分作用减弱以至全无,而在偏差较小时则应加强积分作用。

否则,积分系数取大了会产生超调,甚至出现积分饱和;取小了有迟迟不能消除静差。

因此,如何根据系统的偏差大小调整积分的速度,对于提高调节品质是至关重要的问题。

变速积分PID,较好地解决了这一问题。

变速积分PID的基本作法是设法改变积分项的累加速度,使其与偏差大小相对应。

偏差大时,积分累加速度慢,积分作用弱;反之,偏差小时,使积分累加速度加快,积分加强。

变速积分与积分分离控制方法很类似,积分分离对积分项采用“开关”控制,而变速积分则是根据误差的大小改变积分项速度,属线性控制。

因而,后者调节品质大为提高,是一种新型的PID控制。

关键词:

PID算法;控制;变速积分

DesignforPIDalgorithmwiththevariable-integratorControlSystem

Abstract

PIDregulationalgorithminGeneral,sincetheintegralcoefficientKIisconstant,sothroughouttheprocessofregulation,integralgainunchanged.Systemrequirementsforintegralis,whenthesystemoflargedeviation,weakenedandnointegralrole,andtheintegralroleshouldbestrengthenedwhendeviationssmaller.Otherwise,theintegralcoefficientlargerovershoot,evenintegralsaturation;max-mindelayineliminatingstaticerrors.Therefore,howtospeedofsystemdeviationsizeadjustmentbonuspoint,whichisessentialforimprovingthequalityofregulationissues.

PIDalgorithmwiththevariable-integrator,abettersolutiontothisproblem.PIDalgorithmwiththevariable-integrator'sbasicapproachistoattempttochangetheintegralsummationofthespeed,sothatitcorrespondstothesizeanddeviation.Largedeviations,pointsaddupslow,integralroleofweak,butdeviationshours,makethepointsaddupfast,integralstrengthening.

PIDalgorithmwiththevariable-integratorandintegral-separatedPIDmethodissimilartotheintegralseparationforintegralsusing"switch"control,variable-speedintegrationisbasedonerrorsofsizeandspeedchangeintegralarelinearcontrol.Thus,thelatterRegulationqualitygreatlyimproved,wasanewPIDcontrol.

KeyWords:

PIDalgorithm;variable-integrator;control

第1章前言

1.1PID算法简介

在模拟系统中,其过程控制方式就是将被测参数,如温度、压力、流量、成分、液位等,由传感器变换成统一的标准信号送入调节器。

在调节器中,与给定值进行比较,然后,把比较出的差值经PID运算后送到执行机构,改变进给量,以达到自动调节之目的。

在数字控制系统中,用数字调节器来模拟调节器。

起调节过程是首先把过程参数进行采样,并通过模拟量输入通道将模拟量变成数字量。

这些数字量由计算机按一定控制算法进行运算处理,运算结果由模拟量输出通道输出,并通过执行机构去控制生产,已达到给定值。

 

比例调节器(P)

比例调节器的微分方程为:

y=KPe(t)(4-1)

式中:

y为调节器输出;Kp为比例系数;e(t)为调节器输入偏差。

由上式可以看出,调节器的输出与输入偏差成正比。

因此,只要偏差出现,就能及时地产生与之成比例的调节作用,具有调节及时的特点。

积分作用:

指调节器的输出与输入偏差的积分成比例的作用。

积分方程为:

 

式中:

TI是积分时间常数,它表示积分速度的大小,TI越大,积分速度越慢,积分作用越弱。

若将比例和积分两种作用结合起来,就构成PI调节器,调节规律为:

微分作用:

比例微分调节器:

比例控制KP

KP加大,使系统的动作灵敏,速度加快;KP过大,振荡次数加多,调节时间加长;KP过大,使系统趋于不稳定;若KP过小,又会使系统动作缓慢。

加大KP在系统稳定的情况,可以减小稳态误差ess,提高控制精度,但加大KP却不能完全消除稳态误差。

积分控制TI

积分控制通常与比例或微分控制联合作用构成PI,PID积分控制参数TI通常使系统的稳定性下降;TI太小,系统将不稳定,振荡次数较多;TI太大,积分作用减少。

积分控制能消除系统的稳态误差,提高控制精度,但TI过大,积分作用太弱,以至不能减小ess。

微分控制TD

微分控制可以改善动态特性,减小超调量,缩短调节时间,但当TD偏大偏小,超调量大、调节时间较长,只有TD合适,才可以得到满意的过渡过程。

另外,微分对搞高频干扰不利。

为了进一步改善调节品质,往往把比例、积分、微分三种作用组合起来,形成PID调节器。

理想的PID微分方程为:

 

变换到S域为:

 

第2章变速积分PID控制原理及系统方案论证

2.1变速积分PID控制原理

2.1.1变速积分PID控制原理说明

变速积分是使积分项的累加速度与偏差大小相应,为此设一系数f[e(k)],它为e(k)函数,变速积分PID中积分项为

 

f[e(k)]与当前偏差e(k)是线性或非线性关系,f值在0~1区间变化

累加部分当前偏差

累加部分当前偏差

 

与积分分离相比,很类似,但调节方式不同积分分离采用的为“开关”控制,而变速积分则是缓慢变化,能提高调节品质。

2.1.2实验程序流程图

 

2.2课程设计目的、要求及设计方案论证

2.2.1设计目的

控制对象传递函数为

,采用TDN-AC/ACS计算机控制技术实验箱为平台,完成变速积分PID控制系统设计。

2.2.2设计要求实现

仿真线路图

2.2.3设计方案论证

使用汇编语言编程,其中对下限设置变量EIB,上限变量EIA,由式(1-5)可编写计算f[e(k)]的源程序。

TK为采样周期,计算机采用8253产生定是信号,T=TK*10ms。

可改变。

定义EI为误差绝对值,取值范围:

00H~0FFH。

可改变。

定义KPP为比例系数,KII积分系数,KDD为微分系数。

P、I、D范围为:

-0.9999~+0.9999,计算机分别用相邻三个字节存储其BCD码。

最低字节存符号,00H为正,01H为负。

中间字节存前2位小数,最高字节存末2位小数。

例如:

P=0.1234,其存储方式:

(2F03H)=00H,(2F04H)=12H,(2F05H)=34H。

可自行设定。

整体思路:

先对经采用/保持器离散化的信号采集,在存于堆栈段,编写A/D转换程序,将A/D转换结果传送至8088,8088根据所设定的EI值进行判断,f[e(k)]应选择哪一个,产生中断信号,执行中断子程序,将结果经D/A转换输出。

第3章系统硬件电路设计

3.1单片机的选择

本次设计以CPU选用89C5l作为步进电机的控制芯片.89C51的结构简单并可以在编程器上实现闪烁式的电擦写达几万次以上.使用方便等优点,而且完全兼容MCS5l系列单片机的所有功能。

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FAlshProgrAmmABleAndErAsABleReAdOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案

3.1.1单片机的引脚功能

(1)VCC(40):

电源+5V。

(2)VSS(20):

接地,也就是GND。

(3)XTL1(19)和XTL2(18):

振荡电路。

单片机是一种时序电路,必须有脉冲信号才能工作,在它的内部有一个时钟产生电路,有两种振荡方式,一种是内部振荡方式,只要接上两个电容和一个晶振即可;另一种是外部振荡方式,采用外部振荡方式时,需在XTL2上加外部时钟信号。

(4)PSEN(29):

片外ROM选通信号,低电平有效。

(5)ALE/PROG(30):

地址锁存信号输出端/EPROM编程脉冲输入端。

(6)RST/VPD(9):

复位信号输入端/备用电源输入端。

(7)EA/VPP(31):

内/外部ROM选择端                              

(8)P0口(39-32):

双向I/O口。

(9)P1口(1-8):

准双向通用I/0口。

(10)P2口(21-28):

准双向I/0口。

3.1.2主要特性

与MCS-51兼容4K字节可编程闪烁存储器寿命:

1000写/擦循环数据保留时间:

全静态工作:

0Hz-24Hz三级程序存储器锁定、128*8位内部RAM、32可编程I/O线、两个16位定时器/计数器、5个中断源、可编程串行通道、低功耗的闲置和掉电模式、片内振荡器和时钟电路

(1)振荡器特性:

  XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

(2)芯片擦除:

  整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。

在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM定时器,计数器,串口和中断系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

3.2硬件电路连线图及仿真结果

仿真结果(上限70H,下限30H):

(TK=1.5)PID=0.22860.09310.3048(TK0.7)PID=0.22860.09310.3048

(TK=0.5)PID=0.22860.09310.3048(TK=1.0)PID=0.22860.09310.3048

第4章系统软件程序设计

4.1积分分离程序

L1:

MOVBH,AL;偏差Ek给BH(保护)

MOVBL,EI;上限A+B给BL

SUBAL,BL;E-(A+B)

JGDD6;E>A+B,无积分环节

MOVBL,ED;下限B

MOVAL,BH;回复偏差

SUBAL,BL;E-B

JNGDD0;E

MOVAL,BH;回复偏差

MOVAH,00H;AH清零

MOVBL,EI;上限A+B给BL

MOVBH,00H;BH清零

SUBBX,AX;EI-Ek(分子)

MOVAX,BX;分子给AL

MOVBH,00H;BH清零

SUBBL,ED;分母给BL

DIVBL;求系数

MOVAH,00H;AH清零

MOVKII2,AX;系数给KII2

MOVDX,KII2;系数给DX

JMPDDA;跳到执行积分

4.2总体程序

STACKSEGMENTSTACK

DW256DUP(?

STACKENDS

DATASEGMENT

TKDB11H

EIDB70H;上限

KPDB00H,22H,86H

KIDB00H,09H,31H

KDDB00H,30H,48H

EDDB30H;下限

EKBDB00H

EKKDW0000H

KPPDW0000H

KIIDW0000H

KDDDW0000H

KII2DW0000H

PEIEDW0000H

DE1DW0000H

DE2DW0000H

IEDW0000H

OUTPUTDW0000H

BA1DW1999H;十进制小数0.2转化后的

;16位二进制数

ALLKDW(?

XkDW(?

XXkDW(?

Xk_1DW(?

Xk_2DW(?

XK_3DW(?

ZZDB04H

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

PUSHDS

XORAX,AX

MOVDS,AX

MOVAX,2000H+OFFSETIRQ7

MOVSI,003CH

MOV[SI],AX

MOVAX,2000H+OFFSETIRQ6

MOVSI,0038H

MOV[SI],AX

MOVAX,0000H

MOVSI,003EH

MOV[SI],AX

MOVSI,003AH

MOV[SI],AX

CLI

POPDS

MOVAL,90H

OUT63H,AL

MOVAL,0A4H

OUT43H,AL

MOVAL,2EH

OUT42H,AL

INAL,21H

ANDAL,3FH

OUT21H,AL

MOVSI,OFFSETKD+2

MOVBH,03H

MOVDI,OFFSETKDD+1

CALLCHANGE

MOVAL,80H

OUT00H,AL

MOVBL,01H

AGAIN:

STI

HLT

JMPAGAIN

IRQ6:

MOVAL,80H

OUT00H,AL

MOVAL,00H

OUT61H,AL

MOVAX,0000H

MOVDE2,AX

MOVIE,AX

MOVBL,01H

MOVAL,20H

OUT20H,AL

IRET

IRQ7:

CALLCY

DECBL

JNZFINISH

CALLLVBO

MOVCL,03H

SARDX,CL

MOVEKK,DX

MOVAX,DX

MOVDX,KPP

CALLML

MOVPEIE,DX

MOVDX,KDD

MOVAX,EKK

CALLML

MOVDE1,DX

MOVAL,EKB

MOVBL,00H

SUBAL,BL

JGL1

NEGAL

JMPL1

FINISH:

MOVAL,20H

OUT20H,AL

IRET

L1:

MOVBH,AL;偏差Ek

MOVBL,EI;上限A+B

SUBAL,BL;E-(A+B)

JGDD6;E>A+B,无积分环节

MOVBL,ED;下限B

MOVAL,BH

SUBAL,BL

JNGDD0;E

MOVAL,BH

MOVAH,00H

MOVBL,EI

MOVBH,00H

SUBBX,AX;EI-Ek(分子)

MOVAX,BX;分子给AL

MOVBH,00H

SUBBL,ED;分母给BL

DIVBL

MOVAH,00H

MOVKII2,AX

MOVDX,KII2

JMPDDA

DD0:

MOVDX,KII

DDA:

MOVAX,EKK

CALLML

MOVAX,IE

ADDDX,AX

MOVIE,DX

TESTDH,80H

JZDD1

MOVAX,0F000H

ANDAL,AL

SBBDX,AX

JGDD2

MOVDX,0F000H

JMPDD4

DD1:

MOVAX,0FFFH

ANDAL,AL

SBBDX,AX

JGDD3

DD2:

MOVDX,IE

JMPDD5

DD3:

MOVDX,0FFFH

DD4:

MOVIE,DX

DD5:

MOVAX,PEIE

ADDDX,AX

MOVPEIE,DX

DD6:

MOVAX,DE2

MOVDX,DE1

MOVDE2,DX

ANDAL,AL

SBBDX,AX

MOVAX,PEIE

ADDDX,AX

CALLOUT_PUT

MOVBL,TK

JMPFINISH

ML:

CMPDX,7FFFH

JAML1

IMULDX

RET

ML1:

PUSHBX

PUSHCX

PUSHAX

SUBDX,7FFFH

IMULDX

MOVBX,DX

MOVCX,AX

POPAX

MOVDX,7FFFH

IMULDX

ADDAX,CX

ADCDX,BX

POPCX

POPBX

RET

CY:

INAL,60H

SUBAL,80H

MOVEKB,AL

MOVSI,OFFSETXK_2

MOVDI,OFFSETXK_3

MOVZZ,04H

Z1:

MOVAX,[SI]

MOV[DI],AX

DECSI

DECSI

DECDI

DECDI

DECZZ

JNZZ1

MOVAX,0000H

MOVAH,EKB

MOVXK,AX

RET

LVBO:

MOVAX,0000H

MOVALLK,AX

MOVSI,OFFSETBA1

MOVDI,OFFSETXK

MOVCX,0005H

LL1:

MOVDX,[SI]

MOVAX,[DI]

INCDI

INCDI

CALLML

ADDDX,ALLK

MOVALLK,DX

DECCX

JNZLL1

RET

OUT_PUT:

MOVOUTPUT,DX

TESTDH,80H

JZL7

MOVBX,0F000H

SUBDX,BX

JGL8

MOVDX,0F000H

MOVAL,80H

OUT61H,AL

JMPL9

L7:

MOVBX,0FFFH

SUBDX,BX

JGL10

L8:

MOVDX,OUTPUT

JMPL11

L10:

MOVDX,0FFFH

MOVAL,80H

OUT61H,AL

L9:

MOVOUTPUT,DX

L11:

MOVCL,03H

SHLDX,CL

MOVAL,DH

ADDAL,80H

OUT00H,AL

L12:

RET

CHANGE:

DECSI

MOVCX,[SI]

INCSI

ANDAL,AL

MOVDX,0000H

MOVBL,10H

GO:

MOVAL,[SI]

ADDAL,AL

DAA

MOV[SI],AL

DECSI

MOVAL,[SI]

ADCAL,AL

DAA

RCLDX,0001H

MOV[SI],AL

INCSI

DECBL

JNZGO

DECSI

MOV[SI],CX

DECSI

TESTBYTEPTR[SI],01H

JNZQB1

FIN:

DECDI

MOV[DI],DX

DECSI

DECDI

DECBH

JNZCHANGE

RET

QB1:

NEGDX

JMPFIN

CODEENDS

ENDSTART

4.3MATLAB程序及仿真曲线

clearall;

closeall;

%%%%%BigtimedelayPlant

ts=20;

sys=tf([1],[60,1],'inputdelay',80);

dsys=c2d(sys,ts,'zoh');

[num,den]=tfdata(dsys,'v');

u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;

y_1=0;y_2=0;y_3=0;

error_1=0;error_2=0;

ei=0;

fork=1:

1:

200

time(k)=k*ts;

rin(k)=1.0;%StepSignal

%%%%%Linearmodel

yout(k)=-den

(2)*y_1+num

(2)*u_5;

error(k)=rin(k)-yout(k);

kp=0.45;kd=12;ki=0.0048;

A=0.4;B=0.6;

%Ttypeintegration

ei=ei+(error(k)+error_1)/2*ts;

M=1;

ifM==1%Changingintegrationrate

ifabs(error(k))<=B

f(k)=1;

elseifabs(error(k))>B&abs(error(k))<=A+B

f(k)=(A-abs(error(k))+B)/A;

else

f(k)=0;

end

elseifM==2%Notchangi

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

当前位置:首页 > 初中教育 > 语文

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

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