Professional Documents
Culture Documents
HENRIQUE
DEPARTAMENTO DE ENGENHARIA MARTIMA
INSTRUMENTAO E CONTROLO
INTRODUO
AO
CONTROLO DIGITAL
(ATRAVS DO MATLAB)
E.N.I.D.H. 2012/2013
INSTRUMENTAO E CONTROLO
Os comandos chave em Matlab usados nestes apontamentos so: c2dm, pzmap, zgrid, dstep
stairs, rlocus
Nota: Os comandos do Matlab da Toolbox de Controlo esto escritas em "letra mais clara".
Nota importante:
O objectivo destes apontamentos de Introduo ao Controlo Digital o de mostrar como
funcionam os sistemas discretos, representados na forma de funo de transferncia ou de
espao de estados, bem como o modo como se podem analisar e implementar sistemas de
controlo digital, atravs da Toolbox de Controlo do MATLAB (Control Systems
Toolbox). Estes apontamentos, constituem uma adaptao das lies disponveis na
referncia [1]: Control tutorials for Matlab, Universidade de Carnegie-Melon, EUA.
(http://www.engin.umich.edu/group/ctm/)
1. Introduo
A Fig.1 representa um sistema tpico de controlo contnuo com realimentao. Conforme
estudado no Captulo 8, os controladores contnuos podem ser construdos recorrendo
tecnologia pneumtica ou electrnica, atravs dos respectivos circuitos analgicos amplamente
divulgados na literatura.
9.1
INSTRUMENTAO E CONTROLO
9.2
INSTRUMENTAO E CONTROLO
a)
b)
Fig.4a) Esquema de controlo digital. b) Bloco de converso D/A, processo e aquisio A/D.
O relgio (clock) ligado aos conversores A/D e D/A (D/A e A/D converters) fornece um pulso
para cada T segundos. Deste modo, os conversores D/A e A/D enviam apenas os respectivos
sinais quando chega o sinal pulsado de relgio. O objectivo desta aco, o de fazer com que
Hzoh(z) receba apenas amostras do sinal de entrada u(k) e envie apenas sinais de sada y(k)
sincronizados com o sinal de relgio; deste modo Hzoh(z) permite realizar uma funo de
transferncia discreta.
A filosofia do projecto portanto a seguinte: pretende-se encontrar uma funo discreta Hzoh(z)
de tal modo que para um dado valor de entrada constante para o sistema contnuo H(s), a amostra
da sada do sistema contnuo seja igual ao da sada discreta. Para isso, necessrio manter
constante o sinal de entrada u(k) durante o intervalo de amostragem. Assim, vamos supor que o
sinal u(k) representa a amostra do sinal de entrada. Existem tcnicas que permitem obter a
amostra u(k) e manter ou reter (hold) o sinal de modo a produzir um sinal contnuo uhat(t). O
grfico da Fig.5, mostra que o sinal uhat(t) mantido constante para u(k) no intervalo [kT ;
(k+1)T]. Esta operao de reteno de uhat(t) com um valor constante durante o intervalo de
amostragem designada por "reteno de ordem zero" ou " zero-order hold - zoh".
9.3
INSTRUMENTAO E CONTROLO
Fig.5. Resposta de um sinal com retentor de ordem zero ("zoh -> zero order hold").
O sinal uhat(t) tratado por um retentor de ordem zero introduzido em H2(s) e no conversor A/D
de modo a produzir a sada y(k), que ir ser igual amostra do sinal contnuo y(t). Esta operao
equivalente a introduzir o sinal u(t) em H(s) de modo a obter o sinal contnuo de sada do
processo y(t).
Fig.6. Evoluo dos sinais num sistema digital e contnuo equivalente (em baixo).
Seguidamente, vamos redesenhar o diagrama esquemtico do sistema de controlo digital,
colocando Hzoh(z) a substituir a parte contnua do sistema (Fig.4b).
9.4
INSTRUMENTAO E CONTROLO
Note: Existem certos casos em que a resposta da funo discreta no igual resposta da
correspondente funo contnua devido implementao do circuito retentor. Para informao
adicional, veja o Captulo Efeito de atraso associado ao retentor.
M = 1 kg
b = 10 N.s/m
k = 20 N/m
F(s) = 1
9.5
INSTRUMENTAO E CONTROLO
0.4837
0.4678
1.0000
-1.9029
0.9048
denDz =
z = e Ts
9.6
INSTRUMENTAO E CONTROLO
n
n
4.6
Ts
1.8
Tr
(ln M p / ) 2
1 + (ln M p / ) 2
em que
= Factor de amortecimento
Ts = Tempo de estabelecimento
Tr = Tempo de crescimento
M p = Mximo sobre-impulso
9.7
INSTRUMENTAO E CONTROLO
9.8
INSTRUMENTAO E CONTROLO
9.9
INSTRUMENTAO E CONTROLO
9.10
INSTRUMENTAO E CONTROLO
9.11
INSTRUMENTAO E CONTROLO
Em primeiro lugar, vamos introduzir a forma de utilizar estas duas funes de modo a obter a
resposta ao degrau de uma funo discreta. Suponha que temos a seguinte funo discreta
H zoh ( z ) =
0.05 z + 0.05
z 2 1.6 z + 0.7
Vamos utilizar a funo dstep de modo a obter o vector de pontos das amostras. Assim, cria-se
uma nova "m-file" e escrevem-se os seguintes comandos
numDz=[0.05 0.05];
denDz=[1 -1.6 0.7];
IU=1;
%Valor de entrada
N=101;
[x] = dstep (IU*numDz,denDz, N)
9.12
INSTRUMENTAO E CONTROLO
9.13
INSTRUMENTAO E CONTROLO
Vamos assumir que a funo f linear e que depende apenas de um nmero finito de sinais de
e(k) e u(k). Assim, a estrutura bsica da equao s diferenas pode ser escrita atravs de
Nota: A ttulo de exemplo, vamos considerar nas seces seguintes a seguinte equao s
diferenas
(1)
Deve-se recordar que a funo de transferncia de um sistema contnuo pode-se obter atravs de
aplicao da Transformada de Laplace respectiva equao diferencial e depois colocando a
equao na forma de entrada/sada. Para obter a funo de transferncia na forma discreta, a
ferramenta matemtica muito semelhante transformada de Laplace, e designada por
transformada z. Deste modo a transformada z, definida atravs de
Utilizando estas relaes, podemos obter facilmente a funo de transferncia discreta de uma
dada equao s diferenas.
Suponha que pretendemos obter a funo de transferncia do sistema definido atravs da
equao s diferenas (1). Assim, em primeiro lugar iremos aplicar as relaes acima indicadas a
cada termo de u(k), e(k), u(k-1), e e(k-1), pelo que
Luis Filipe Baptista ENIDH/MEMM
9.14
INSTRUMENTAO E CONTROLO
(2)
Nota: Quando determinamos a funo de transferncia discreta, devemos assumir, tal como para
a funo de transferncia contnua, condies iniciais nulas.
9.15
INSTRUMENTAO E CONTROLO
Fig.16
Analisando este mapa, podemos ver que os polos esto localizados frequncia natural de 4/5T
rad/amostra (T o perodo de amostragem em amostras/segundo) e o factor de amortecimento
de 0.1. Considerando que o perodo de amostragem de 1/20 seg./amostra e que so utilizadas as
equaes a seguir indicadas, e j anteriormente referenciadas
9.16
INSTRUMENTAO E CONTROLO
n
n
4.6
Ts
1.8
Tr
(ln M p / ) 2
1 + (ln M p / ) 2
Nota importante: Quando usar estas equaes, dever converter a frequncia natural (Wn) de
rad/amostra para rad/seg.
Podemos verificar que este sistema dever ter um tempo de crescimento de 0.03 seg., tempo de
estabelecimento de 0.9 seg., e um mximo sobre-impulso de 70% (0.7 acima do valor da resposta
em regime estacionrio). Vamos confirmar estes valores travs da obteno da resposta ao
degrau. Deste modo, adicionando os comandos a seguir indicados ao ficheiro existente (m-file) e
voltando a executar o ficheiro na linha de comandos do Matlab, iremos obter a seguinte resposta
[x] = dstep (numDz,denDz,51);
t = 0:0.05:2.5;
stairs (t,x)
Fig.17
O grfico permite confirmar que os trs valores anteriormente calculados esto correctos.
9.17
INSTRUMENTAO E CONTROLO
Vamos seguir para este caso os mesmos passos anteriormente indicados. Deste modo, crie uma
nova "m-file" e introduza os comandos a seguir indicados. Seguidamente, execute o ficheiro na
linha de comandos do Matlab, pelo que dever obter o seguinte mapa de localizao dos polos
numDz=[1];
denDz=[1 0 0.25];
[poles,zeros]=pzmap (numDz,denDz)
pzmap (numDz,denDz)
axis([-1 1 -1 1])
zgrid
Fig.18
A partir deste mapa de localizao dos polos ("root-locus") podemos ver que os polos esto
localizados frequncia natural de 11/20T rad/amostra e com um factor de amortecimento de
0.4. Considerando que o perodo de amostragem de 1/20 seg. Tal como anteriormente e usando
as mesmas trs equaes podemos determinar os valores de tempo de crescimento, tempo de
estabelecimento e mximo sobre-impulso para a resposta ao degrau. Assim, o tempo de
crescimento ser de 0.05 seg., o tempo de estabelecimento ser de 0.3 seg. e mximo sobreimpulso de 25%. Seguidamente, vamos obter a resposta ao degrau e verificar se estes valores
esto correctos. Deste modo, se adicionarmos ao ficheiro "m-file" os comandos a seguir
indicados, iremos obter a seguinte resposta ao degrau unitrio
[x] = dstep (numDz,denDz,51);
t = 0:0.05:2.5;
stairs (t,x)
9.18
INSTRUMENTAO E CONTROLO
Fig.19
Mais uma vez podemos verificar que os valores calculados so confirmados atravs da anlise do
grfico acima representado.
Para analisar este caso, vamos novamente considerar a seguinte funo de transferncia
Tal como para os casos anteriores, crie uma nova "m-file" e introduza os seguintes comandos de
modo a obter o "root-locus" para este caso. Deste modo, ir obter o seguinte mapa de localizao
dos polos
numDz=[1];
denDz=[1 -0.98 0.3];
[poles, zeros]=pzmap (numDz,denDz)
pzmap (numDz,denDz)
axis([-1 1 -1 1])
zgrid
9.19
INSTRUMENTAO E CONTROLO
Fig.20
A partir deste grfico, podemos verificar que os polos esto localizados frequncia natural de
/4T rad/amostra e com um factor de amortecimento de 0.8. Mais uma vez, vamos considerar o
mesmo perodo de amostragem de 1/20 seg., pelo que podemos determinar para este sistema que
possui um tempo de crescimento de 0.1 sec, tempo de estabelecimento de 0.36 seg. e mximo
sobre-impulso de 1%. Vamos confirmar estes valores atravs da resposta ao degrau. Deste modo,
adicione os seguintes comandos "m-file" anterior, e execute novamente o ficheiro na linha de
comandos do Matlab. Assim, dever obter-se a seguinte resposta ao degrau
[x] = dstep (numDz,denDz,51);
t = 0:0.05:2.5;
stairs (t,x)
Fig.21
Luis Filipe Baptista ENIDH/MEMM
9.20
INSTRUMENTAO E CONTROLO
Atravs da utilizao destes trs exemplos, podemos verificar que as localizaes dos polos
podem ser usadas de uma forma aproximada para estimar a resposta transitria de um sistema
discreto. Esta anlise particularmente til no projecto atravs do lugar geomtrico das razes
("root-locus design") no qual devemos colocar polos (atravs da escolha de um ganho com o
comando rlocfind) de modo a obter uma resposta transitria satisfatria.
9.21
INSTRUMENTAO E CONTROLO
Set-point
4-20 mA
4-20 mA
3-15 psi
Vlvula pneumtica
Transdutor
de nvel
Tanque
Fig.22
Vamos considerar que:
(ganho da vlvula)
(ganho do transdutor de nvel)
H(s)
4
=
(funo de transferncia do sistema tanque vlvula)
Q(s) 10s + 1
hr
Computador
Tanque
D/A
u(t)
vlvula
A/D
4-20 mA
Transdutor
Fig.23
9.22
INSTRUMENTAO E CONTROLO
hr(k)
u(k)
e(k)
Kp
qi(t)
R
RCs + 1
Kv
D/A
h(t)
h(k)
Kb
A/D
Fig.24
Para analisar este diagrama de controlo digital, necessrio em primeiro lugar obter a
correspondente funo de transferncia discreta Hzoh(z) - conjunto constitudo pelo
conversor D/A + tanque + conversor A/D, ou seja:
h(t)
qi(t)
u(z)
D/A
Kv
R
RCs + 1
h(z)
Kb=1
A/D
Hzoh(z)=h(z)/u(z)
Fig.25
Neste diagrama, a varivel utilizada no domnio discreto designa-se por z. Conforme vimos
anteriormente, esta varivel a verso equivalente da varivel s utilizada no domnio
complexo.
Para calcular a funo de transferncia discreta Hzoh(z), necessrio seleccionar o perodo de
amostragem. Para esse efeito, vamos analisar a funo de transferncia contnua G(s) do tanque,
de modo a seleccionar o perodo de amostragem mais adequado, com o objectivo de evitar o
fenmeno do aliasing. Deste modo, se observarmos a funo de transferncia do tanque
verificamos que:
H(s)
K
4
=
=
(funo de transferncia do sistema tanque vlvula)
Q(s) RCs + 1 10s + 1
T = RC = 10 seg. (constante de tempo do sistema tanque - vlvula)
1
Ts =
= 1 seg. (Regra : perodo de amostragem = 1/10 da constante de tempo do sistema)
10
Vamos utilizar Ts = 0.5 seg. (para obter mais pontos de controlo)
G(s) =
A funo de transferncia discreta Hzoh(z) deste sistema, pode ser calculada directamente em
computador atravs do comando c2dm do Matlab (abreviatura de continuous to digital). A
sintaxe que iremos utilizar nestes exerccios para a funo c2dm, a seguinte:
[numz,denz]=c2dm(num,den,Ts,zoh)
Luis Filipe Baptista ENIDH/MEMM
9.23
INSTRUMENTAO E CONTROLO
Em que:
numz, denz polinmios numerador e denominador da funo discreta
polinmios numerador e denominador da funo contnua
num, den
da
funo
de
transferncia
do
num=[0.2*4];
den=[10 1];
numz,denz]=c2dm(num,den,0.5,'zoh')
0.03902
denz =
1.0000
-0.9512
A funo de transferncia discreta Hzoh(z) do sistema de nvel, deste modo, dada por:
H zoh (z) =
H(z)
0.03902
=
U(z) z 0.9512
(potncias positivas de z)
H(z)
0.03902z -1
=
H zoh (z) =
U(z) 1 0.9512z -1
(potncias negativas de z)
u(z)
e(z)
hr(z)
0.03902
z 0.9512
Kp
-
h(z)
Fig.26
Luis Filipe Baptista ENIDH/MEMM
9.24
INSTRUMENTAO E CONTROLO
Aplicando o operador atraso, que permite passar a funo de transferncia Hzoh(z) para uma
equao s diferenas. Este tipo de equaes especialmente adequado para implementao em
computador digital, pelo que:
Operador atraso:
z n Y(z) = y(k n)
z 1Y(z) = y(k 1)
Logo:
H(z)
0.03902
H(z) 0.03902z 1
=
=
U(z) z 0.9512
U(z) 1 0.9512z 1
1 k 0
hr(k) =
(degrau unittio discreto)
0 k < 0
u = 0 k < 0
u(k) =
(aco de controlo)
u 0 k > 0
Fluxograma de clculo da aco de controlo realizada num microprocessador (Fig.26):
Fig.27
Luis Filipe Baptista ENIDH/MEMM
9.25
INSTRUMENTAO E CONTROLO
A sequncia de clculos realizada para um controlador proporcional com ganho Kp=10, para os
quatro primeiros perodos de amostragem (k a variar de 0 a 3), a seguinte:
k=0
h(0) = 0.9512h(1) + 0.03902u(-1) = 0 + 0 = 0
hr(0,1,2,3,....) = 1
e(0) = hr(0) - h(0) = 1 - 0 = 1
u(0) = 10 *1 = 10
k =1
h(1) = 0.9512h(0) + 0.03902u(0) = 0 + 0.03902 *10 = 0.3902
e(1) = hr(1) - h(1) = 1 - 0.3902 = 0.6098
u(1) = 10 * 0.6098 = 6.098
k=2
h(2) = 0.9512h(1) + 0.03902u(1) = 0.9512 * 0.3902 + 0.03902 * 6.098 = 0.6091
e(2) = hr(1) - h(1) = 1 - 0.6091 = 0.3909
u(2) = 10 * 0.3909 = 3.909
k =3
h(3) = 0.9512h(2) + 0.03902u(2) = 0.9512 * 0.6091 + 0.03902 * 3.909 = 0.7319
e(3) = hr(1) - h(1) = 1 - 0.7319 = 0.2681
u(3) = 10 * 0.2681 = 2.681
........
nivelr
erro
control
To Workspace3
To Workspace2
To Workspace1
Scope
10
Step
Kp
0.03902
z-0.9512
Hzoh(z)
nivel
To Workspace
Fig.28
9.26
INSTRUMENTAO E CONTROLO
t(seg.)
0.0000
0.5000
1.0000
1.5000
2.0000
2.5000
3.0000
3.5000
4.0000
4.5000
5.0000
h(k)
0.0000
0.3902
0.6091
0.7319
0.8008
0.8394
0.8611
0.8733
0.8801
0.8839
0.8861
e(k)
1.0000
0.6098
0.3909
0.2681
0.1992
0.1606
0.1389
0.1267
0.1199
0.1161
0.1139
u(k)
10.0000
6.0980
3.9090
2.6809
1.9920
1.6055
1.3887
1.2671
1.1988
1.1605
1.1391
Como se pode observar, os valores obtidos para as quatro primeiras iteraes so idnticos aos
obtidos atravs do Simulink. Os grficos obtidos atravs do Matlab/Simulink, para Kp=5 (azul),
Kp=7.5 (vermelho) e Kp=10 (verde), esto representados na Fig.29. Verifica-se que o erro em
regime estacionrio vai diminuindo medida que o Kp vai aumentando, como seria de esperar.
No entanto, ir existir sempre um erro residual (0.11 m) que s poder ser removido
atravs da introduo de aco integral. O comportamento do controlador digital
obviamente anlogo ao obtido com o controlador proporcional contnuo.
Para obter os grficos, como estamos a trabalhar com variveis discretas deve utilizar-se, em vez
do comando plot, o comando stairs. A ttulo de exemplo, tem-se:
stairs(tout,nivel,'g'),grid,xlabel('tempo[s]'),ylabel('h(k)
[m]')
Nota: O comando stairs s aceita um par de vectores [x,y]. Para sobrepor vrias curvas no
mesmo grfico, dever utilizar o comando hold para congelar o grfico no monitor.
9.27
INSTRUMENTAO E CONTROLO
1
0.9
0.8
0.7
h(k) [m]
0.6
0.5
0.4
0.3
0.2
0.1
0
5
tempo [s]
10
Fig.29
Grficos da aco de controlo para Kp=5 (azul), 7.5 (vermelho) e 10 (verde).
10
u(k)
5
tempo [s]
10
Fig.30
Luis Filipe Baptista ENIDH/MEMM
9.28
INSTRUMENTAO E CONTROLO
+ Tds
G r (s) = Kp* 1 +
sTi
T 2T
q1 = K p 1 s + d
Ti Ts
Controlador PI discreto:
u(k) = u(k 1) + q 0 e(k) + q1e(k 1)
q0 = K p
T
q1 = K p 1 s
Ti
Vamos utilizar os mesmos parmetros do controlador PI contnuo, ou seja: (Kp=10 ; Ti = 4 seg.).
Se aplicarmos os mesmos procedimentos utilizados no controlo proporcional para a mesma
variao da referncia Hr(z) em degrau, obtm-se a seguinte sequncia de clculos:
Ti
u(k) = u(k - 1) + 10e(k) 8.75e(k 1)
k=0
h(0) = 0.9512h(1) + 0.03902u(-1) = 0 + 0 = 0
hr(0,1,2,3,....) = 1
e(0) = hr(0) - h(0) = 1 - 0 = 1
u(0) = u(1) + 10e(0) - 8.75e(-1) = 0 + 10 * 1 - 8.75 * 0 = 10
k =1
h(1) = 0.9512h(0) + 0.03902u(0) = 0 + 0.03902 *10 = 0.3902
e(1) = hr(1) - h(1) = 1 - 0.3902 = 0.6098
u(1) = 10 + 10 * e(1) 8.75e(0) = 10 + 10 * 0.6098 8.75 *1 = 10 - 2.6750 = 7.348
9.29
INSTRUMENTAO E CONTROLO
k=2
h(2) = 0.9512h(1) + 0.03902u(1) = 0.9512 * 0.3902 + 0.03902 * 7.348 = 0.6579
e(2) = hr(1) - h(1) = 1 - 0.6579 = 0.3421
u(2) = u(1) + 10 * e(2) 8.75e(1) = 7.348 + 10 * 0.3421 - 8.75 * 0.6098 = 5.4333
k =3
h(3) = 0.9512h(2) + 0.03902u(2) = 0.9512 * 0.6579 + 0.03902 * 5.4333 = 0.8378
e(3) = hr(1) - h(1) = 1 - 0.8378 = 0.1622
u(3) = u(2) + 10 * e(3) 8.75e(2) = 5.4333 + 10 * 0.1622 - 8.75 * 0.3421 = 4.0619
........
Para implementar o controlador digital PI no Simulink, podemos obter a funo de transferncia
discreta do controlador, atravs da utilizao do operador atraso. Assim, teramos:
G c (z) =
ou
10z 8.75
z 1
nivelr
erro
control
To Workspace3
To Workspace2
To Workspace1
Scope
Step
10z-8.75
0.03902
z-1
z-0.9512
Hzoh(z)1
Hzoh(z)
nivel
To Workspace
Fig.31
Existe uma outra alternativa, que consiste em construir no Simulink o controlador PI atravs da
implementao directa da respectiva equao s diferenas. Nesse caso, teramos que utilizar o
bloco operador atraso (unit delay), que aplica um atraso de um perodo de amostragem Ts
grandeza associada. Assim, no caso de pretender obter-se a varivel u(k-1) a partir de u(k), basta
utilizar o seguinte bloco do Simulink:
9.30
INSTRUMENTAO E CONTROLO
erro
control
To Workspace3
To Workspace2
To Workspace1
Scope
0.03902
10
Step
z-0.9512
q0
1
z
e(k-1)
Hzoh(z)
-8.75
q1
nivel
To Workspace
1
z
u(k-1)
Fig.32
Se efectuarmos a simulao para 20 segundos (q0=10 ; q1=-8.75) e obtivermos no Workspace os
pontos calculados pelo diagrama de controlo, e os colocarmos na forma matricial, obtemos no
intervalo de 0 a 10 segundos, a seguinte tabela de valores:
t(seg.)
0.0000
0.5000
1.0000
1.5000
2.0000
2.5000
3.0000
3.5000
4.0000
4.5000
5.0000
5.5000
6.0000
6.5000
7.0000
7.5000
8.0000
8.5000
9.0000
9.5000
10.0000
h(k)
0.0000
0.3902
0.6579
0.8378
0.9554
1.0293
1.0729
1.0960
1.1053
1.1059
1.1011
1.0932
1.0839
1.0741
1.0645
1.0555
1.0473
1.0400
1.0336
1.0281
1.0233
e(k)
1.0000
0.6098
0.3421
0.1622
0.0446
-0.0293
-0.0729
-0.0960
-0.1053
-0.1059
-0.1011
-0.0932
-0.0839
-0.0741
-0.0645
-0.0555
-0.0473
-0.0400
-0.0336
-0.0281
-0.0233
u(k)
10.0000
7.3480
5.4335
4.0620
3.0886
2.4054
1.9325
1.6109
1.3972
1.2597
1.1755
1.1278
1.1047
1.0977
1.1009
1.1102
1.1227
1.1365
1.1505
1.1640
1.1764
Conforme se pode verificar, os valores obtidos so idnticos aos calculados anteriormente para
as primeiras quatro iteraes, o que permite comprovar a validade dos resultados obtidos.
Vamos seguidamente fixar o valor de Kp=10 e analisar a aco integral (Ti = 4 seg. vermelho ;
Ti = 8 seg. - verde). Os grficos de evoluo do nvel esto representados na Fig.33.
Luis Filipe Baptista ENIDH/MEMM
9.31
INSTRUMENTAO E CONTROLO
Nos grficos do nvel h(k) obtidos no Matlab/Simulink para Ti=8 seg. (verde) e 4 seg.
(vermelho), podemos verificar que o erro se anula ao fim de um certo tempo. No entanto, a
preciso obtida implica uma degradao na estabilidade do sistema, visto que medida que o Ti
diminui aumenta o mximo sobreimpulso (overshoot), que corresponde para Ti = 4 seg., a 11%
do valor final.
1.4
1.2
h(k) [m]
0.8
0.6
0.4
0.2
10
tempo [s]
12
14
16
18
20
Fig.33
A aco de controlo PI actua de tal forma que s estabiliza quando o erro final for nulo. Neste
caso, como o integral de zero uma constante, a aco de controlo estabiliza no valor que tiver
atingido nesse instante. Este comportamento pode ser observado atravs da anlise dos grficos
da Fig.34.
9.32
INSTRUMENTAO E CONTROLO
10
u(k)
10
tempo [s]
12
14
16
18
20
Fig.33
6.3.Controlo de nvel com aco proporcional + integral + derivativa (PID)
Neste exemplo, vamos utilizar para o controlador PID discreto os parmetros utilizados pelo
controlador PID contnuo, ou seja Kp = 10, Ti = 4 seg. e Td = 0.2 seg. Assim, tem-se:
Controlador PID contnuo:
1
+ Tds
G r (s) = Kp* 1 +
sTi
T 2T
q1 = K p 1 s + d
Ti Ts
T 2T
0.5 2 0.2
q1 = K p 1 s + d = 10 1
+
= -16.75
4
0.5
Ti Ts
q2 = Kp
Td
0.2
=4
= 10
0.5
Ts
Assim, tem-se:
u(k) = u(k 1) + 14e(k) 16.75e(k 1) + 4e(k 2)
Luis Filipe Baptista ENIDH/MEMM
9.33
INSTRUMENTAO E CONTROLO
Para simular a resposta do sistema de controlo de nvel a uma entrada Hr(z) em degrau unitrio
discreto, vamos considerar os seguintes valores para o controlador PID digital (Kp=10 ; Ti = 4
seg. ; Td=0.2 seg. e Td=0.4 seg.). Neste caso, o diagrama de blocos no Simulink para o sistema
de controlo PID discreto, para a ser o seguinte:
nivelr
erro
control
To Workspace3
To Workspace2
To Workspace1
Scope
14
0.03902
q0
Step
z-0.9512
Hzoh(z)
nivel
To Workspace
-16.75
z
e(k-1)
1
q1
1
z
e(k-2)
z
u(k-1)
q2
Fig.35
Se aplicarmos os mesmos procedimentos utilizados no controlo P e PI para a mesma variao da
referncia Hr(z) em degrau, obtm-se a seguinte sequncia de clculos:
9.34
INSTRUMENTAO E CONTROLO
h(k)
0.0000
0.5463
0.6602
0.8137
0.9102
0.9823
1.0310
1.0628
1.0818
1.0913
1.0942
1.0924
1.0875
1.0807
1.0730
1.0648
1.0568
1.0491
1.0419
1.0354
1.0296
e(k)
1.0000
0.4537
0.3398
0.1863
0.0898
0.0177
-0.0310
-0.0628
-0.0818
-0.0913
-0.0942
-0.0924
-0.0875
-0.0807
-0.0730
-0.0648
-0.0568
-0.0491
-0.0419
-0.0354
-0.0296
u(k)
14.0000
3.6021
4.7598
3.4910
2.9868
2.4753
2.1048
1.8152
1.5985
1.4380
1.3222
1.2411
1.1867
1.1525
1.1333
1.1250
1.1243
1.1289
1.1368
1.1466
1.1574
Os resultados obtidos em Simulink para uma resposta a uma variao de Hr(z) em degrau
unitrio, esto representados nos grficos da Fig.36. Os resultados so: Td=0.2 seg. (verde),
Td=0.4 seg. (vermelho) e Td=0 (preto).
Da anlise dos grficos, verifica-se que a aco derivativa atenua os efeitos do sobreimpulso,
provocado pela aco PI, tornando a evoluo do nvel mais rpida e amortecida aps este ter
atingido o seu valor mximo. Deve notar-se que os efeitos da aco derivativa com controlo
digital PID so muito semelhantes aos obtidos com o controlador PID contnuo.
Neste exemplo, vamos considerar que a referncia nula (constante), e que o nvel do tanque
pode estar sujeito a perturbaes sbitas (ex: descarga sbita de gua vinda de um tanque de
condensados que entretanto tenha enchido). Este tipo de funcionamento do controlador designase por modo de funcionamento como regulador. Para simular este exerccio no Simulink,
teremos que modificar o diagrama representado na Fig.35, de modo a obter o diagrama de blocos
representado na Fig.37. Este diagrama anlogo ao estudado com o controlador PID contnuo.
9.35
INSTRUMENTAO E CONTROLO
1.4
1.2
h(k) [m]
0.8
0.6
0.4
0.2
10
tempo [s]
12
14
16
18
20
Fig.36
nivelr
erro
control
To Workspace3
To Workspace2
To Workspace1
Scope
14
nivelr
0.03902
q0
1
z
e(k-1)
z-0.9512
Hzoh(z)
nivel
To Workspace
-16.75
1
q1
1
z
e(k-2)
z
u(k-1)
perturbao
q2
Fig.37
Para simular a aco de regulao do controlador de nvel, vamos colocar a referncia a zero
(constante) e somar sada (nvel) um degrau unitrio N(z) atravs do bloco perturbao. Se
efectuarmos a simulao para 20 segundos (q0=14 ; q1=-16.75 ; q2=4) e obtivermos no
Workspace os pontos calculados pelo diagrama de controlo, e os colocarmos na forma matricial,
obtemos no intervalo de 0 a 10 segundos, a tabela de valores representada na pgina seguinte.
Como se pode verificar, os valores calculados para os primeiros quatro perodos de amostragem
coincidem com os obtidos em computador atravs do Simulink.
9.36
INSTRUMENTAO E CONTROLO
Conforme se pode verificar atravs da anlise dos grficos, a aco PI evidencia a anulao do
erro custa de um sobreimpulso Mp negativo de cerca de 9%.
A introduo da aco derivativa (controlo PID provoca uma melhoria na estabilidade do
controlo. Com efeito, com Td > 0, a anulao da perturbao do nvel mais suave o que
evidencia uma melhoria da estabilidade do anel de controlo.
Clculos efectuados analiticamente:
u(k) = u(k 1) + 14e(k) 16.75e(k 1) + 4e(k 2)
NOTA : Os clculos de h(k) so efectuados sem ter em conta o valor da perturbao n(k)
k=0
hr(0,1,2,3...) = 0
n(0,1,2,3,...) = 1
9.37
INSTRUMENTAO E CONTROLO
t(seg.)
0.000
0.5000
1.0000
1.5000
2.0000
2.5000
3.0000
3.5000
4.0000
4.5000
5.0000
5.5000
6.0000
6.5000
7.0000
7.5000
8.0000
8.5000
9.0000
9.5000
h(k)
1.0000
0.4537
0.3398
0.1863
0.0898
0.0177
-0.0310
-0.0628
-0.0818
-0.0913
-0.0942
-0.0924
-0.0875
-0.0807
-0.0730
-0.0648
-0.0568
-0.0491
-0.0419
-0.0354
e(k)
u(k)
-1.0000 -14.0000
-0.4537
-3.6021
-0.3398
-4.7598
-0.1863
-3.4910
-0.0898
-2.9868
-0.0177
-2.4753
0.0310
-2.1048
0.0628
-1.8152
0.0818
-1.5985
0.0913
-1.4380
0.0942
-1.3222
0.0924
-1.2411
0.0875
-1.1867
0.0807
-1.1525
0.0730
-1.1333
0.0648
-1.1250
0.0568
-1.1243
0.0491
-1.1289
0.0419
-1.1368
0.0354
-1.1466
1.2
0.8
h(k) [m]
0.6
0.4
0.2
-0.2
10
tempo [s]
12
14
16
18
20
Fig.38
9.38
INSTRUMENTAO E CONTROLO
2
0
-2
-4
u(k)
-6
-8
-10
-12
-14
-16
-18
10
tempo [s]
12
14
16
18
20
Fig.39
Bibliografia
[1]. Control tutorials for Matlab, Universidade de Carnegie-Melon, EUA
(http://www.engin.umich.edu/group/ctm/)
[2]. Discrete-Time Control Systems, Kathsuiko Ogata, Edio da Prentice-Hall, Inc.
9.39