计控复习材料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机控制技术复习整理
(Edited by Benson Kong)
Caution:Anyone who takes advantage of this set of materials must not cheat in the exam,or he\she will suffer a unexpected accid ent in someday——Death Note
(To d el ete this word ,you will face the evil). 第一章绪论
1.1计算机控制系统概述
1.1.1自动控制系统
自动控制:就是在没有人参与的情况下,通过控制器使生产过程自动地按照预定的规律运行。
1.1.2计算机控制系统
计算机控制系统:就是利用计算机(工业控制机)来实现生产过程自动控制的系统。
工作原理:分为实时数据采集、实时控制决策和实时控制输出三个步骤。
1.1.3计算机控制系统的组成
计算机控制系统由计算机和生产过程两大部分组成。
1.1.4常用的计算机控制系统主机
1.2计算机控制系统的典型形式
1.2.1操作指导控制系统,属于开环控制结构。
1.2.2直接数字控制系统DDC,属于闭环控制系统,是计算机在工业生产过程中最普遍的一种应用方式。
1.2.3监督控制系统SCC,作用是改变给定值,所以又称为设定值控制SPC。
分为:SCC+模拟调节器的控制系统以及SCC+DCC的分级控制系统两种模式。
1.2.4集散控制系统DCS,也叫分布式控制系统。
结构模式为:“操作站—控制站—现场仪表”3层结构,系统成本高。
1.2.5现场总线控制系统FCS,是新一代分布式控制系统。
结构模式为:“操作站—现场总线智能仪表”两层结构。
1.2.6综合自动化系统
1.3计算机控制系统的发展概况和趋势
1.3.1计算机控制系统的发展概况:硬件、软件、理论。
1.3.2计算机控制系统的发展趋势
计算机控制系统原理图:
典型的连续控制系统原理框图:
第二章数字控制技术
3.1数字控制基础
数字控制定义:生产机械根据数字计算机输出的数字信号,按规定的工作顺序、运动轨迹、运动距离和运动速度等规律自动地完成工作的控制方式。
3.1.1数控技术发展概况
3.1.2数字控制原理
3.1.3数字控制方式
点位控制:只要求控制道具行程重点的坐标值,移动过程中不做任何加工
直线控制:控制行程的终点坐标值,刀具相对于工件平行某一执教坐标轴直线运动,运动过程中有切削加工。
轮廓控制:控制刀具沿工件轮廓曲线不断地运动,并在运动过程中将工件加工成某一形状。
3.1.4数字控制系统
分为开环和闭环两类。
3.1.5数控系统的分类
传统数控系统、开放式数控系统(PC IN NC结构式数控系统和NC IN PC结构式数控系统)
3.2.逐点比较插补法。
直线插补计算过程和圆弧插补计算过程步骤。
A.逐点比较法插补运算,就是在某个坐标方向上每走一步(即输出一个进给脉冲),就作一次计算,将实际进给位置的坐标与给定的轨迹进行比较,判断其偏差情况,根据偏差,再决定下一步的走向(沿X 轴进给,还是沿Y 轴进给)。
逐点比较法插补的实质是以阶梯折线来逼近给定直线或圆弧曲线,最大逼近误差不超
过数控系统的一个脉冲当量(每走一步的距离,即步长)。
直线插补计算过程的步骤如下:
(1)偏差判别:即判别上一次进给后的偏差值Fm 是最大于等于零,还是小于零;
(2)坐标进给:即根据偏差判断的结果决定进给方向,并在该方向上进给一步;
(3)偏差计算:即计算进给后的新偏差值Fm+1,作为下一步偏差判别的依据;
(4)终点判别:即若已到达终点,则停止插补;若未到达终点,则重复上述步骤。
圆弧插补步骤:偏差判别、坐标进给、偏差计算、坐标计算以及终点判别。
例题1:若加工第一象限直线OA,起点O(0,0),终点A(11,7)。
要求:
(1)按逐点比较法插补进行列表计算;
(2)作出走步轨迹图,并标明进给方向和步数。
解:由题意可知xe=11,ye=7,F0=0,我们设置一个总的计数器Nxy,其初值应为Nxy=|7-0|+|11-0|=18,则插补
计算过程如表3—1 所示。
根据插补计算过程表所作出的直线插补走步轨迹图如下图所示。
表3—1
步数偏差判别坐标进给偏差计算终点判别
例题2:设加工第一象限的圆弧AB,起点A(6,0),终点B(0,6)。
要求:
(1)按逐点比较法插补进行列表计算;
(2)作出走步轨迹图,并标明进给方向和步数。
数器Nxy,每走一步便减1
操作,当Nxy=0 时,加工到终点,插补运算结束。
下图为插补过程中的走步轨迹。
表3—2
步数偏差判别坐标进给偏差计算坐标计算终点判别
起点F0=0 x0=6,y0=0 Nxy=12
1 F0=0 -X F1=0-12+1=-11 x1=5,y1=0 Nxy=11
2 F1<0 +Y F2=-11+0+1=-10 x2=5,y2=1 Nxy=10
3 F2<0 +Y F3=-10+2+1=-7 x3=5,y3=2 Nxy=9
4 F3<0 +Y F4=-7+4+1=-2 x4=5,y4=3 Nxy=8
5 F4<0 +Y F5=-2+6+1=5 x5=5,y5=4 Nxy=7
6 F5>0 -X F6=5-10+1=-4 x6=4,y6=4 Nxy=6
7 F6<0 +Y F7=-4+8+1=5 x7=4,y7=5 Nxy=5
8 F7>0 -X F8=5-8+1=-2 x8=3,y8=5 Nxy=4
9 F8<0 +Y F9=-2+10+1=9 x9=3,y9=6 Nxy=3
10 F9>0 –X F10=9-6+1=4 x10=2,y10=6 Nxy=2
11 F10>0 –X F11=4-4+1=1 x11=1,y11=6 Nxy=1
12 F11>0 –X F12=1-2+1=0 x12=0,y12=6 Nxy=0
3.3多轴步进驱动控制技术
3.3.1步进电动机的工作原理
对于一个步进电动机,如果它的转子的齿数为z,它的齿距角为:
而步进电动机运行N拍可使转子转动一个齿距位置。
实际上,步进电动机每一拍就执行一次步进,所以步进电动机的步距角
式中,N是步进电动机的工作拍数;z是转子的齿数。
3.3.2步进电动机的工作方式
单相三拍、双相三拍以及三相六拍。
试用高级或汇编语言编写下列各插补计算程序:
(1)第一象限直线插补程序。
(2)第一象限逆圆弧插补程序。
答:(1) 第一象限直线插补程序
设内存中三个单元XE、YE、FM分别存放直线终点横坐标、终点纵坐标、加工点偏差。
data segment
XE DB xe
YE DB yz
FM DB 0
ZF DB 0
data ends
MOV AL,XE
ADD AL,YE
MOV CL,AL ;CL存NXY
LAB1:MOV AL,FM
CMP AL,00H
JGE L AB2
MOV ZF,03H
MOV AX,FM
ADD AX,XE
MOV FM,AX
JMP CONTROL
LAB2:MOV ZF,01H
MOV AX,FM
SUB AX,YE
MOV FM,AX
CONTROL:
┇
JNZ LAB1
RET
(2) 第一象限逆时针圆弧插补
第四章 常规及复杂控制技术
4.1数字控制器的连续化设计技术 计算机控制系统的结构框图:
4.1.1数字控制器的连续化设计步骤 1.设计假想的连续控制器D(s) 2.选择采样周期T 3.将D(s)离散化为D(z) (1)双线性变换法
D(z)
H(s)
G(s)
e(t)
e(k)
u(k)
u(t)
r(t) y(t)
T
T
+
_
2
2
11221122sT sT sT sT sT e z e sT sT e
-+++
==
=
≈
-+
-
211
z s T z -=
+,
211
()()
z s T z D z D s -=
+= (2)前向分差法
利用级数展开可将Z=esT 写成以下形式 Z=esT=1+sT+…≈1+sT
由上式可得
1z s T -=
,
1()()z s T
D z D s -==
(3)后向分差法
利用级数展开还可将Z=esT 写成以下形式
111sT
sT Z e e
sT
-==
≈
-,1
z s Tz
-=,
1()()z s Tz
D z D s -=
= 4.设计由计算机实现的控制算法 5.校验
4.1.2数字PID 控制器的设计 1. PID 控制器定义
答:根据偏差的比例、积分、微分进行控制的控制算法。
2. 脉冲传递函数定义
在初始条件为零的情况下,系统输出脉冲序列的Z 变换与输入脉冲序列的Z 变换之比。
3. 模拟PID 控制规律为
1
()()()()t
P D
I de t u t K e t e t dt T T dt ⎡⎤
=+
+⎢⎥⎣
⎦
⎰
对应的模拟PID 调节器的传递函数为
()1
()(1)()P D I U s D s K T s E s T s
=
=++ KP 为比例增益,KP 与比例带δ成倒数关系即KP=1/δ TI 为积分时间,TD 为微分时间 u(t)为控制量,e(t)为偏差 4. 数字PID 控制器
()(1)()()()k
P D
i I T
e k e k u k K e k e i T T T =⎡⎤
--=+
+⎢⎥⎣
⎦
∑
5. 数字PID 位置型和增量型控制算法的表达式 位置型
增量型
6. 数字PID 增量型控制算法流程
4.1.3数字PID控制器的改进
1.积分项的改进
(1)积分分离
(2)抗积分饱和
(3)梯形积分
(4)消除积分不灵敏区
2.微分项的改进
(1)不完全微分PID控制算法
4.1.4数字PID参数的整定
1.采样周期的选择(实验考试重点看)
根据香农采样定理,采样周期上限应满足:
T≤π/ωmax,其中ωmax为被采样信号的上限角频率。
采样周期的下限为计算机执行控制程序和输入输出所耗费的时间,系统的采样周期只能在Tmin与Tmax之间选择(在允许范围内,选择较小的T)。
(2)其次要考虑以下各方面的因素
①给定值的变化频率:变化频率越高,采样频率就应越高;
②被控对象的特性:被控对象是快速变化的还是慢变的;
③执行机构的类型:执行机构的惯性大,采样周期应大;
④控制算法的类型:采用太小的T会使得PID算法的微分积分作用很不明显;控制算法也需要计算时间。
⑤控制的回路数。
2.按简易工程法整定PID参数
(1)扩充临界比例度法
选择一个足够短的采样周期,观察只含有比例调节器的闭合回路,减小比例带直到系统发散,增大比例直到出现持续等幅振荡,记下此时临界比例度和临界振荡周期,选择合适控制度,得到PID参数表。
(2)扩充响应曲线法
测量被控对象在突加给定后的过渡过程曲线,用标准对象传递函数进行拟合,确定对象参数,利用经验公式求出对应PID控制器的参数。
(3)凑试法
增大比例系数一般将加快系统的响应,在有静差的情况下有利于减小静差。
但过大的比例系数会使系统有较大的超调,并产生振荡,使稳定性变坏。
增大积分时间有利于减小超调,减小振荡,使系统更加稳定,但系统静差的消除将随之减慢。
增大微分时间也有利于加快系统响应,使超调量减小,稳定性增加,但系统对扰动的抑制能力减弱,对扰动有较敏感的响应。
4.2数字控制器的离散化设计技术 4.2.1数字控制器的离散化设计步骤 1.典型计算机控制系统(离散)框图
2.数字控制器的离散化设计步骤
(1)根据控制系统的性能指标要求和其它约束条件,确定所需的闭环脉冲传递函数Ф(z)
(2)求广义对象的脉冲传递函数G(z)。
(3)求取数字控制器的脉冲传递函数D(z)。
(4)根据D(z)求取控制算法的递推计算公式
(5)由数字控制器D(z)的一般形式:
[]⎥
⎦
⎤⎢⎣⎡-===-)(1)()()()()(s G S e Z s G s H Z z A z B z G C Ts
C D(z)G (z)1D(z)G (z)
Φ(z)+=1()()()1()
z D z G z z Φ=-Φ)
(,1)
()
()(1
0m n z a z
b z E z U z D n i i
i m
i i
i ≥+==
∑∑=-=-01
()
(),()
()
1m
i
i i n i
i i b z
U z D z n m E z a z -=-==
=≥+∑∑
则:数字控制器的输出U(z)为
因此,数字控制器D(z)的计算机控制算法为 按照上式,就可编写出控制算法程序。
4.2.2最少拍控制器的设计
1.最少拍控制,就是要求闭环系统对于某种特定的输入在最少个采样周期内达到无静差的稳态。
(1)闭环脉冲传递函数Ф(z)的确定
B(z)是不包含(1-z -1)因子的关于z -1的多项式。
典型输入类型 对应的z 变换 q=1 单位阶跃函数
q=2 单位速度函数
q=3 单位加速度函数
根据z 变换的终值定理,系统的稳态误差为
1
()()()
m
n
i
i i i i i U z b z E z a z U z --===-∑∑0
1
()()()
m
n
i i i i u k b e k i a u k i ===---∑∑()()()
()1()()()
e E z R z Y z z z R z R z -Φ=
==-Φ(z)
R(z) E(z)e Φ=1()
()(1)q
B z R z z -=
-2-1-113
T z (1z )()2(1)R z z -+=
--1
12Tz ()(1)R z z -=
-1
1()1R z z -=
-111
1
111
()lim(1)()lim(1)()()
()
lim(1)
()
(1)e z z e q
z e z E z z R z z B z z z z --→→--→∞=-=-Φ=-Φ-
由于B(z)没有(1-z -1)因子,因此要使稳态误差e(∞)为零,必须有
Фe (z)=1-Ф(z)=(1-z -1)q F(z) Ф(z)=1-Фe (z)=1-(1-z -1)q F(z)
这里F(z)是关于z -1的待定系数多项式。
为了使Ф(z)能够实现, F(z)中的首项应取为1,即
F(z)=1+f 1z -1+f 2z -2+…+f p z -p
可以看出,Ф(z)具有z -1的最高幂次为N=p+q ,这表明系统闭环响应在采样点的值经N 拍可达到稳态。
特别当P=0时,即F(z)=1时,系统在采样点的输出可在最少拍 (N min =q 拍)内达到稳态,即为最少拍控制。
因此最少拍控制器设计时选择Ф(z)为 Ф(z)=1-(1-z -1)q 最少拍控制器D(z)为
2.典型输入下的最少拍控制系统分析
(1)单位阶跃输入(q=1),输入函数r(t)=1(t),其z 变换为
由最少拍控制器设计时选择的Ф(z) =1-(1-z -1)q =z -1可以得到
进一步求得
以上两式说明,只需一拍(一个采样周期)输出就能跟踪输入,误差为零,过渡过程结束。
3.最少拍控制器的局限性
(1)最少拍控制器对典型输入的适应性差 (2)最少拍控制器的可实现性问题
q
q
z z G z z z z G
z D )1)(()1(1)(1)()(1)(11-----=
Φ-Φ=1
1()1R z z -=
-[]1
1
0121()()()()1()(1)11100e E z R z z R z z z z
z z z ----=Φ=-Φ=
-=-=•+•+•+
1123
1
1()()()1Y z R z z z z z z z
-----=Φ=
=+++-
(3)最少拍控制的稳定性问题
4.2.3最少拍有纹波控制器的设计 1.考虑广义脉冲传递函数的稳定性
考虑被控对象含有滞后的情况:G c (s)=G'c (s)e -τs ,G'c (s)是不含滞后部分的传递函数,τ为纯滞后时间。
令 d=τ/T 对上式进行z 变换
并设G(z)有 u 个零点b 1、b 2、…、b u
v 个极点a 1、a 2、…、a v ;在z 平面的单位圆上或圆外。
当连续被控对象G c (s)中不含纯滞后时,d=0;
当G(s)中含有纯滞后时,d ≥1,即d 个采样周期的纯滞后。
则,重新表示G (z )有:
G'(z)是G(z)中不含单位圆上或圆外的零极点部分 由式
可以看出,为了避免使G(z)在单位圆外或圆上的零点、极点与D(z)的零点、极点对消,同时又能实现对系统的补偿,选择系统的闭环脉冲传递函数时必须满足一定的约束条件! 2.Фe(z)的零点的选择
Фe (z)的零点中,必须包含G(z)在z 平面单位圆外或圆上的所有极点,即有
(因为: Фe (z), Ф(z)的分母相同,化简后,只剩下各自的零点部分,而 G(z) 的零极点位置对换)
()1()
()()Ts d
c e B z G z z G s z s A z --⎡⎤-==⎢⎥⎣⎦
1
'1
11
(1)()()
(1)
u
d
i
i v
i
i z
b z
G z G z a z
--=-=-=
-∏∏1()
()()1()
z D z G z z Φ=
-Φ1()()()1()
z D z G z z Φ=
-Φ1111()1()(1)(1)()
v q e i i z z a z z F z --=⎡⎤
Φ=-Φ=--⎢⎥⎣⎦
∏
上式中,F 1(z)是关于z -1的多项式,且不含G(z)中的不稳定极点a i 。
为了使Фe (z)能够实现,F 1(z)应具有以下形式
F 1(z)=1+f 11z -1+f 12z -2+…+f 1m z -m
若G(z)有j 个极点在单位圆上,即z=1处,则由终值定理可知,Фe (z)的选择方法应对上式进行修改。
可按以下方法确定Фe (z): 若j ≤q ,则
若j >q ,则
3. Ф(z)的零点 的选择 由式
知,Ф(z)的零点中,必须包含G(z)在z 平面单位圆外或圆上的所有零点,以及纯滞后部分,即有
F 2(z)是关于z -1的多项式,且不含G(z)中的不稳定零点b i 。
为了使Ф(z)能够实现,F 2(z)应具有以下形式:
F 2(z)=f 21z -1+f 22z -2+…+f 2n z -n
4. F 1(z)和F 2(z)阶数的选取方法可按以下进行
(1) 若G(z)中有j 个极点在单位圆上,当j ≤q 时,有
1111()1()(1)(1)()
v j q e i i z z a z z F z ---=⎡⎤Φ=-Φ=--⎢⎥⎣⎦
∏1111()1()(1)(1)()v j j e i i z z a z z F z ---=⎡⎤Φ=-Φ=--⎢⎥⎣⎦
∏1()
()()1()
z D z G z z Φ=
-Φ121()(1)()u d
i i z z
b z F z --=⎡⎤
Φ=-⎢⎥⎣⎦
∏m u d
n v j q =+⎫
⎪
=-+⎭
(2) 若G(z)中有j 个极点在单位圆上,当j >q 时,有
根据以上给出了确定Ф(z)时必须满足的约束条件,可求得最少拍控制器为
根据上述约束条件设计的最少拍控制系统,只保证了在最少的几个采样周期后系统的响应在采样点时是稳态误差为零,而不能保证任意两个采样点之间的稳态误差为零。
这种控制系统输出信号y(t)有纹波存在,故称为最少拍有纹波控制系统,上式的控制器为最少拍有纹波控制器。
4.2.4最少拍无纹波控制器的设计 原因:控制量 u(t)波动不稳定
后果:输出有波动,造成机械机构的摩擦
Ф(z)必须包含G(z)的分子多项式B(z),即Ф(z)必须包含G(z)的所有零点。
这样,原来最少拍无纹波系统设计时确定Ф(z)的公式应修改为
ω为G(z)的所有零点数;b 1、b 2、…b 为G(z)的所有零点。
确定Ф(z)必须满足下列要求:
(1)被控对象G c (s)中含有足够的积分环节,以满足无纹波系统设计的必要条件。
并求出G (z ),写成因子形式。
(2)选择Ф(z)。
包含G (z )所有的零点。
(3)选择Фe (z)。
包含G (z )在单位圆外、圆上的极点。
(4)选择F 1(z)和F 2(z)阶数m 和n ,形式。
①若G(z)中有j 个极点在单位圆上,当j ≤q 时,有
m u d n v =+⎫
⎪
=⎭
⎪⎪⎩⎪⎪⎨
⎧
>≤-=Φ-Φ=--q
j z F z G z F q j z F z z G z F z z z G z D j q ,)
()()(,)
()1)(()()(1)()(1)(1'211'2)
()1()()()(2112z F z b z z F z B z z i i d d ⎥⎦
⎤
⎢⎣⎡-==Φ∏=---ω
②若G(z)中有j 个极点在单位圆上,当j >q 时,有
4.3纯滞后控制技术 4.3.2达林算法
达林算法的设计目标是使整个闭环系统所期望的传递函数Ф(s)相当于一个延迟环节和一个惯性环节相串联,即
整个闭环系统的纯滞后时间和被控对象G c (s)的纯滞后时间τ相同。
闭环系统的时间常数为 ,
纯滞后时间τ与采样周期T 有整数倍关系,τ=NT 。
用脉冲传递函数近似法求得与Ф(s)对应的闭环脉冲传递函数Ф(z)
针对不同的被控对象,即G c (s)是带有纯滞后的一阶惯性环节
或二阶惯性纯滞后环节
我们可以容易的得到相应的数字控制器D(z)的形式
m d n v j q ω=+⎫
⎬
=-+⎭
m d n v ω=+⎫
⎬
=⎭
1
()1
s
s e T s ττ-Φ=+τT ()
1()()1Ts s Y z e e z Z R z s T s ττ--⎡⎤-Φ==•⎢⎥
+⎣⎦
1
1
(1)()1T N T T e z z e z ττ------Φ=
-1()1s
c K
G s e T s
τ-=
+12()(1)(1)s
c K
G s e T s T s τ-=
++11111
(1)(1)
()(1)1(1)T T T T T T T N e e z D z K e e z e z τττ-----------=⎡⎤----⎣⎦
2.振铃现象及其消除
所谓振铃,是指数字控制器的输出以二分之一采样频率大幅度衰减的振荡。
①带纯滞后的一阶惯性环节
被控对象为带纯滞后的一阶惯性环节时
求得极点
显然z 永远是大于零的。
故得出结论:在带纯滞后的一阶惯性环节组成的系统中,数字控制器输出对输入的脉冲传递函数不存在负实轴上的极点,这种系统不存在振铃现象。
②带纯滞后的二阶惯性环节
被控制对象为带纯滞后的二阶惯性环节时,
有两个极点,第一个极点在 不会引起振铃现象 第二个极点在 在T →0时,有
说明可能出现左半平面与z=-1相近的极点,这一极点将引起振铃现象。
振铃现象的消除:有两种方法可用来消除振铃现象。
1211111
12(1)(1)(1)
()()1(1)T T T T T T T T T N e e z e z D z K C C z e z e z τττ------------=⎡⎤+---⎣⎦
)
1)(1()
1)(1()()()(1111----------=
Φ=Φz e e K z e e z G z z T T T T T T T T u ττT z e τ
-=12111
1211
()(1)(1)(1)
()()(1)(1)
T T T T u T T z e e z e z z C G z KC e z z C ττ--------Φ---Φ==
-+T z e τ-=1
2
C C z -
=20
1lim 1T C C →⎡⎤
-=-⎢⎥⎣⎦
第一种方法是先找出D(z)中引起振铃现象的因子(z=-1附近的极点),然后令其中的z=1,根据终值定理,这样处理不影响输出量的稳态值。
下面具体说明这种处理方法。
其极点 将引起振铃现象,令极点因子(C 1+C 2z -1)中的z=1,就可消除这
个振铃极点。
消除振铃极点z=-C2/C1后,有
这种消除振铃现象的方法虽然不影响输出稳态值,但却改变了数字控制器的动态特性,将影响闭环系统的瞬态性能。
第二种方法是从保证闭环系统的特性出发,选择合适的采样周期T 及系统闭环时间常数T τ,使得数字控制器的输出避免产生强烈的振铃现象。
从
中可以看出,带纯滞后的二阶惯性环节组成的系统中,振铃幅度与被控对象的参数T1、T2有关,与闭环系统期望的时间常数T τ以及采样周期T 有关。
通过适当选择T 和T τ,可以把振铃幅度抑制在最低限度以内。
有的情况下,系统闭环时间常数T τ作为控制系统的性能指标被首先确定了,但仍可通过选择采样周期T 来抑制振铃现象。
达林算法步骤:
(1)根据系统的性能,确定闭环系统的参数T τ,给出振铃幅度RA 的指标; (2)由所确定的振铃幅度RA 与采样周期T 的关系,解出给定振铃幅度下对应 采样周期,如果T 有多解,则选择较大的采样周期
(3)确定纯滞后时间τ与采样周期T 之比(τ/T)的最大整数N ;
1211111
12(1)(1)(1)
()()1(1)T T T T T T T T T T N e e z e z D z K C C z e z e z τττ--------------=⎡⎤+---⎣⎦
2
1C z C =-
1212(1)(1)
T T T T C C e e --+=--12121111
(1)(1)(1)
()(1)(1)1(1)T T T T T T T T T T T T T T N e e z e z D z K e e e z e z τττ---------------=⎡⎤-----⎣⎦
12
2
1
T T T T T T C RA e e e C τ---=
-++
(4)求广义对象的脉冲传递函数G(z)及闭环系统的脉冲传递函数Ф(z);
(5)求数字控制器的脉冲传递函数D(z)。
作业解答:
第六章:先进控制技术
从X 到Y 的一个模糊关系 R ,表示X×Y 论域上,描述模糊条件语句“若 A 则 B ”的模糊关系,其隶属函数为
模糊控制器主要包括输入量模糊化接口、知识库、推理机、输出清晰化接口四个部分,如下图所示。
~
~
~
~
~
(x,y)()()1()A B A B A x y x μμμμ→⎡⎤⎡⎤=∧∨-⎢⎥⎢⎥
⎣
⎦⎣
⎦
另外实验考试也是闭卷考,你跟同学门说一下主要复习以下几方面内容。
1、达林算法,特别是D(Z)表达式。
2、D/A、A/D转换,给出数字量如何计算模拟量,或反过来。
3、如何选择采样周期
4、几种整定PID参数的步骤
5、实验中超调量、调节时间、峰值时间、稳态误差等数据的计算
4.已知模拟控制器的传递函数为=,试写出相应数字控制器的位置型和增量型控制算式,设采样周期T=0.2s。
解:根据=,得到0.085,即令m=0.085,则:
所以:
9.已知被控对象的传递函数为
采样周期T=1s,采用零阶保持器。
要求:
(1)针对单位速度输入信号设计最少拍无纹波系统的D(z),并计算输出相应y(k)、控制信号u(k)和误差e(k)序列,画出它们对时间变化的波形。
(2)针对单位阶跃输入信号设计最少拍有纹系统D(z),并计算输出相应y(k)、
控制信号u(k)和误差e(k)序列,画出它们对时间变化的波形。
解:
广义脉冲传递函数为
d=0,u=0,v=1,j=1,q=1
m=u+d=0,u=v-j+q=1
对于单位速度输入信号
选择:
所以
Y(z)=R(z)=
所以
所以k=0,1,2……
(2)
d=0,v=1,w=0,q=2,j=1 j<q
对于单位阶跃信号
Y(z)=R(z)
-1.1* 11.被控对象的传递函数为
采用达林算法设计数字控制器D(Z),并求取u(k)的递推形式。
解:
取T=1S,=1,K=1,T1=1,L=1,设期望闭环传递函数的惯性时间常数T0=0.5s。
则期望的闭环系统的脉冲传递函数为:
广义被控对象的脉冲传递函数为:
则
又,则
上式反变换到时域,则可得到:
7.编制一个能完成中位置滤波加上算术平均值滤波的子程序。
设对变量采样测量7次,7个采样值排序后取中间的3个采样值平均,每个采样值为12位二进制。
解:
#define N 12
char filter()
{
char count,i,j;
char value_buf[N];
int sum=0;
for (count=0;count<N;count++)
{
value_buf[count] = get_ad();
delay();
}
for (j=0;j<N-1;j++)
{
for (i=0;i<N-j;i++)
{
if ( value_buf[i]>value_buf[i+1] )
{
temp = value_buf[i];
value_buf[i] = value_buf[i+1];
value_buf[i+1] = temp;
}
}
}
for(count=1;count<N-1;count++)
sum += value[count];
return (char)(sum/(N-2));
/*************************** 数字滤波C程*************************/ /////////////////////////////////限副滤波///////////////////
/*滤波程序返回有效的实际值*/
#define A 10 //A值可根据实际情况调整
char value; //value为有效值
char filter()
{
char new_value; //new value为当前采样值
new value="get"_ad();
if ((new_value-value>A)‖(value-new_value> A)
return value;
return new_value;
}
/////////////////////////中位值滤波///////////////////////// #define N 11 //N值可根据实际情况调整
char filter()
{
char value_buf[N];
char count,i,j,temp;
for (count=0;count<N;count++)
{
value_buf[count]=get_ad(); //获取采样值
delay();
}
for (j=0;j<N-1;j++) //采样值由小到大排列,排序采用冒泡法{
for (i=0;i<N-j;i++)
{
if(value_buf[i]>value_buf[i+1])
{
temp=value_buf[i];
value_buf[i]=value_buf[i+1];
value_buf[i+1]=temp;
}
}
}
return value_buf[(N-1)/2]; //取中间值
}
/////////////////////////算术平均滤波////////////////////// #define N 12
char filter()
{
int sum="0";
for(count=0;count<N;count++)
{
sum+=get_ad();
delay();
}
return (char)(sum/N);
}
///////////////////去极值平均滤波//////////////////////
#define N 11 //N值可根据实际情况调整
int sum="0";
char filter()
{
char value_buf[N];
char count,i,j,temp;
for (count=0;count<N;count++)
{
value_buf[count]=get_ad(); //获取采样值
delay();
}
for (j=0;j<N-1;j++) //采样值由小到大排列,排序采用冒泡法{
for (i=0;i<N-j;i++)
{
if(value_buf[i]>value_buf[i+1])
{
temp=value_buf[i];
value_buf[i]=value_buf[i+1];
value_buf[i+1]=temp;
}
}
}
for(count=1;count<(N-1);count++) //去掉第一个和末一个数{
sum+=value_buf[count];
delay();
}
return (char)(sum/(N-2));
}
///////////////////移动平均滤波(递推平均滤波)/////////// #define N 12
char value_buf[N];
char i="0";
char filter()
{
char count;
int sum="0";
value_buf[i++]=get_ad();
if(i=N)i=0;
for (count=0;count<N;count++)
sum+=value_buf[count];
return (char)(sum/N)
}
//////////////////////加权平均滤波///////////////////////
#define N 12
char code jq[N]={1,2,3,4,5,6,7,8,9,10,11,12};//加权系数表
char code sum_jq=1+2+3+4+5+6+7+8+9+10+11+12;
char filter()
{
char count;
char value_buf[N];
int sum="0";
for (count=0;count<N;count++)
{value_buf[count]=get_ad(); //获取采样值
delay();
}
for (count=0;count<N;count++)
sum+=value_buf[count]*jq[count];
return (char)(sum/sum_jq);
}
/////////////////////////低通滤波////////////////////////
#define a 0.25
char value; //value为已有值
char filter()
{
char new_value; //new value为当前采样值
new_value=get_ad();
return (a*new_value+(1-a)*value);
}
2011/6/16。