最新变速积分PID控制系统设计.docx
《最新变速积分PID控制系统设计.docx》由会员分享,可在线阅读,更多相关《最新变速积分PID控制系统设计.docx(35页珍藏版)》请在冰豆网上搜索。
![最新变速积分PID控制系统设计.docx](https://file1.bdocx.com/fileroot1/2022-12/10/d68d1af2-24ea-4d75-be05-419d3b83dde2/d68d1af2-24ea-4d75-be05-419d3b83dde21.gif)
最新变速积分PID控制系统设计
课程设计报告
设计题目
变速积分PID控制系统设计
课程名称
计算机控制技术B
姓名
苏丹
学号
2008100731
班级
自动化0803
教师
闫高伟
设计日期
2011年7月5日
附录2TDN-AC/ACS+教学实验系统介绍..………………………………………………..28
附录3参考资料…………………………………………………………………………..30
变速积分PID控制系统设计
摘要
PID校正装置(又称PID控制器或PID调节器)是一种有源校正装置,它是最早发展起来的控制策略之一,在工业过程控制中有着最广泛的应。
它具有结构简单、容易实现、控制效果好、鲁棒性强等特点,是迄今为止最稳定的控制方法。
它所涉及的参数物理意义明确,理论分析体系完整,并为工程界所熟悉,因而在工业过程控制中得到了广泛应用。
从实际需要出发,一种好的PID控制器参数整定方法,不仅可以减少操作人员的负担,还可以使系统处于最佳运行状态。
因此,对PID控制器参数整定法
的研究具有重要的实际意义。
在普通的PID调节算法中,由于积分系数KI是常数,因此,在整个调节过程中,积分增益不变。
但系统对积分项的要求是系统偏差大时积分作用减弱以至全无,而在小偏差时则应加强。
否则,积分系数取大了会产生超调,甚至积分饱和,取小了又迟迟不能消除静差。
改进的PID算法可以有效改变此现象。
此采用变速积分可以很好地解决这一问题。
本次课程设计基于自动控制原理实验箱(设备型号:
TDN—ACS+),
接好硬件电路以后实现变速积分。
并在matlab6.5完成对变速积分的仿真。
关键词:
PID控制算法;变速积分;matlab仿真
Abstract
Sofar,thePIDisthemostcommoncontrolarithmetic.It’soneofthemostearlydevelopedcontrolstrategy,whichisappliedtotheindustryprocess.Itsstructureissimpleandeasytoimplement,however,thecontroleffectisperfect.Thephysicalparametersis,meaningof,theoreticalanalysisofsystemisintegrity,anditisfamiliarbytheengineeringsector,whichintheindustrialprocesscontrolhasbeenwidelyused.Fortheactualneeds,agoodparameterPIDcontrollertuningmethodcannotonlyreducetheburdenonoperators,butalsomakethesystemrunningatbest.Therefore,thefixedPIDcontrollerparametertuningstudyhasimportantpracticalsignificance.
InthetraditionalPIDcontrolalgorithm,theintegralcoefficientKIisconstantthroughouttheadjustmentprocess,theintegralgain.Butthesystemrequirementsfortheintegraltermisthesystemerrorislargeaswellasnolessintegralaction,andinthesmalldeviationshouldbestrengthened.Otherwise,theintegralcoefficientwillhaveabigovershoot,orevenintegralsaturation,whicheverissmallerandthedelaytoeliminatestaticerror.ImprovedPIDalgorithmcaneffectivelychangethisbehavior.Theuseofvariable-speedintegrationcansolvethisproblem.Thecoursedesignisbasedonprinciplesofautomaticcontroltestbox(Model:
TDN-ACS+),connectedactualhardwarecircuit.Afterachievingagoodconnectionspeedintegrationcircuithardware.,usematlab6.5tocompletethesimulationforvariable-speedintegration.
Keyword:
PIDcontrolalgorithm;variable-speedintegration;matlabsimulation
第1章数字PID及变速积分简介
1.1数字PID发展介绍:
PID控制器以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。
在工业过程控制中有着最广泛的应用,其实现方式有电气式、气动式和液力式。
它具有容易实现、控制效果好、鲁棒性强等特点,同时它原理简单,参数物理意义明确,理论分析体系完整,并为工程界所熟悉,因而在工业过程控制中得到了广泛应用。
尽管自1940年以来,许多先进控制方法不断推出,但PID控制器仍被广泛应用于冶金、化工、电力、轻工和机械等工业过程控制中。
PID控制器是有源校正装置,与无源校正装置相比,它具有结构简单、参数易于整定、应用面广等特点,设计的控制对象可以有精确模型,并可以是黑箱或灰箱系统。
总体而言,它主要有如下优点:
(1)原理简单,应用方便,参数整定灵活。
(2)适用性强。
可以广泛应用于电力、机械、化工、热工、冶金、轻工、建材、石油等行业。
1.2PID控制器工作原理:
图1
典型模拟PID结构框图如图1所示。
PID控制器是通加对误差信号e(t)进行比例、积分和微分运算,其结果的加权,得到控制器的输出u(t),该值就是控制对象的控制值。
PID控制器的数学描述为:
(1—1)
式中,u(t)—调节器的输出信号;e(t)—调节器的偏出信号;Kp—比例系数;Ti—积分时间常数;Td—微分时间常数。
在计算机控制系统中,使用的是数字PID控制器,数字PID控制算法通常又分为位置式PID控制算法和增量式PID控制算法。
(1)位置式PID控制算法:
由于计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量,故对模拟PID算式中的积分和微分项不能直接使用,需要进行离散化处理。
按模拟PID控制算法,现以一系列的采样时刻点kT代表连续时间t,以和式代替积分,以增量(一阶后插)代替微分,则可以作如下的近似变换:
(1-2)
显然,上述离散化过程中,采样周期T必须足够短,才能保证有足够的精度。
为了书写方便,将e(kT)简化表示成e(k)等,即省去T。
将式(2-2)代入式(2-1),可以得到离散的PID表达式为:
(1-3)
式中:
k—采样序列号;u(k)—第k次采样时刻的计算机输出值;e(k)—第k次采样时刻输入的偏差值;e(k-1)—第k-1次采样时刻输入的偏差值;Ki—积分系数,Ki=K
T/Ti;K
—微分系数,K
=T
/T。
1.3变速积分简介:
变速积分作为改进的PID算法之一,它的基本思想是设法改变积分项的累加速度,使其与偏差的大小相对应:
偏差越大,积分越慢;偏差越小,积分越快。
(1)变速积分实现:
变速积分是使积分项的累加速度与偏差大小相应,为此设一系数f[e(k)],它为e(k)函数,变速积分PID中积分项为:
(1-4)
f[e(k)]与当前偏差e(k)是线性或非线性关系,f值在0~1区间变化
(1-5)
累加部分当前偏差e(K),偏差大于上限,不累加;偏差小于下限,积分限完全累加;介于二者之中,引入变系数f[e(k)]。
(2)变速积分PID算法为:
(1-6)
第2章 系统分析与设计
2.1系统功能分析:
2.1.1对象整体分析:
控制对象传递函数为
极点:
s1=-4,s2=-5。
选择将传递函数拆成2个一阶惯性环节,实验箱上用两个积分电路串联实现,如下图所示:
图2
运算关系:
(1-6)
两级参数选择:
第1级:
R=50K,Rf=100K,C=3u;
第2级:
R=30K,Rf=240K,C=1u
经计算,可实现传递函数。
整个系统的框图:
图3
2.1.2整定调节参数与系统开环增益:
可用临界比例带法整定参数。
设采样周期为50ms,先去掉微分与积分作用,只保留比例控制,增大KP,直至系统等幅振,记下振荡周期TU和振荡时所用比例值KPU,按以下公式整定参数。
①只用比例调节:
KP=0.5KPU(P=KP=0.5KPU)
②用比例、积分调节(T取0.2T)
比例KP=0.36KPU(即P=KP=0.36KPU)
积分时间TI=1.05T(即I=0.07KPU)
③用比例、积分、微分调节(T=1/6Tu)
比例KP=0.27KPU(即P=KP=0.27KPU)
积分时间TI=0.4TU(即I=0.11KPU)
微分时间TD=0.22TU(即D=0.36KPU)
PID系数不可过小,因为这会使计算机控制输出也较小,从而使系统量化误差变大,甚至有时控制器根本无输出而形成死区。
这时可将模拟电路开环增益适当减小,而使PID系数变大。
例:
PID三个系数都小于0.2,模拟电路开环增益可变为K/5,PID系数则都相应增大5倍。
另一方面PID系数不可等于1,所以整个系统功率增益补偿是由模拟电路实现。
例如若想取PID=5.3,可取0.5300送入,模拟电路开环增益亦相应增大10倍。
2.2计算机系统选择分析:
TDN—ACS+系统采用8088CPU作为微处理器,本次设计同时使用了它附带的8255,8259芯片作为并行I/O接口和中断处理芯片。
2.2.18088CPU简介:
8088是8080和8085的改进型,像8080和8085一样,它的指令是以字节为基础构成的。
它的性能的提高,主要依赖于采取了以下一些特殊措施。
1.建立4字节的指令预取队列
2.设立地址段寄存器
3.在结构上和指令设置方面支持多微处理器系统
(a)一般处理器指令执行过程;(b)8088处理器指令执行过程
8088处理器芯片引线图
***引脚功能说明:
A16~A19/S3~S6:
4条时分复用、三态输出的引线。
A8~A15:
三态输出引线。
AD0~AD7:
地址、数据时分复用的输入输出信号线。
IO/:
CPU的输出(三态)控制信号,用来区分当前操作是访问存贮器还是访问I/O端口。
:
CPU的输出控制信号(三态)。
DT/:
CPU的输出控制信号(三态),用于确定数据传送的方向。
:
CPU经三态门输出的控制信号。
ALE:
三态输出控制信号,高电平有效。
:
读选通输出信号(三态),低电平有效。
READY:
准备就绪输入信号,高电平有效。
INTR:
可屏蔽中断请求输入信号,高电平有效。
:
可用WAIT指令对该引脚进行测试的输入信号,低电平有效。
NMI:
非屏蔽中断输入信号,边沿触发,正跳变有效。
RESET:
CPU的复位输入信号,高电平有效。
:
CPU输出的中断响应信号,是CPU对外部输入的INTR中断请求信号的响应。
HOLD:
高电平有效的输入信号,用于向CPU提出保持请求。
HLDA:
CPU对HOLD请求的响应信号,是高电平有效的输出信号。
:
状态输出线。
CLK:
时钟信号输入端。
VCC:
5V电源输入引脚。
GND:
接地端。
2.2.2其余模块的使用:
1.信号源发生单元电路:
信号源发生单元电路包括U1SG单元和U15SIN单元.本次使用U1SG,单元可以产生重复的阶跃、斜波、抛物线三种典型信号,且信号的幅值。
频率可以调(通过调电位器W12,W11)。
图4
2.采样保持器及单稳单元电路(U2SH):
该单元的输入输出电平范围±12V,PU为控制端,用逻辑电平控制,高电平采样,低电平保持,采样时间约为10us。
3.运算模拟单元电路(U6)4.非线性单元电路:
(U9NC):
该单元供死区非线性和间隙非线性模拟电路插接电阻用。
图5
3.数模转换单元电路(U10DAC):
该单元采用DAC0832芯片,转换精度为8位二进制码,输入数字范围为00H-FFH,对应输出(U10单元的OUT端)为-5V-+4.96V。
80H对应0V。
图6
4.模数转换单元电路(U12ADC):
它采用ADC0809芯片,分辨率为8位二进制码。
模拟输入通道8路(IN0~IN7),通过三端地址码A、B、C多路开关可选通8路模拟输入的任何一路进行A/D变换。
其中IN1~IN5的模拟量输入允许范围:
0V~4.98V,对应数字量00H~FFH,2.5V对应数字量80H。
IN6和IN7两路用于接上拉电阻,所以模拟量输入允许范围:
-5V~+4.96V,对应数字量00H~FFH。
0V对应80H。
.
图7
5.状态指示单元(U11D):
用于实验现象指示作用。
.6.运算模拟单元电路U3:
图9
注:
信号发生单元接两个反相器:
图10
其中Ri=Rf,
第一级参数:
Ri=Rf=10K
第二级参数:
Ri=Rf=200K
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硬件设计:
3.1.1 系统方框图:
图11
3.1.2 线路原理图:
见附录1
3.2 软件设计:
3.2.1软件流程图:
变速积分中断子程序
是E《B否
是否
3.2.2程序源代码:
****堆栈段定义****
STACKSEGMENTSTACK
DW256DUP(?
)
STACKENDS
****数据段定义*****
DATASEGMENT
TKDB 05H
EIBDB10H
EIA DB30H
KPDB 00H,24H,43H
KIDB 00H,04H,96H
KDDB00H,42H,40H
EKBDB00H
EKKDW0000H
KPPDW0000H
KIIDW0000H
KDDDW0000H
PEIEDW0000H
DE1DW0000H
DE2DW0000H
EIDW0000H
EIABDB?
EEEDB?
FFFDW?
GGGDW?
OUTPUTDW0000H
BA1DW1999H;十进制小数0.2转化后的16位二进制数
ALLK DW(?
)
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:
MOVEEE,AL
MOVDL,EIB
SUBAL,DL
JGAD6
MOVAX,01H
MOVFFF,AX
JMPDDF
AD6:
MOVAL,EIB
MOVAH,EIA
ADDAL,AH
MOVEIAB,AL
MOVDL,EEE
MOVAL,DL
SUBAL,EIAB
JGDD6
MOVAL,EIAB
SUBAL,EEE
MOVAH,00H
MOVDL,EIA
MOVDH,00H
DIVDX
MOVFFF,AX
DDF:
MOVDX,FFF
MOVAX,KII
IMULDX
MOVGGG,DX
MOVDX,GGG
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:
PUSH BX
PUSH CX
PUSH AX
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
M