Escolar Documentos
Profissional Documentos
Cultura Documentos
Experiencia 4 V 2013
Experiencia 4 V 2013
EXPERINCIA 4:
1. Introduo
Na Experincia 3 voc projetou dois controladores da classe PID, um em tempo
contnuo e outro em tempo discreto, (mais precisamente voc deve ter projetado controladores
PI) para o Motor CC. Nesta experincia, ser realizada a implementao em computador
(digital) destes controladores. A implementao do controlador em computador feita atravs
da sua equao de diferenas, que obtida pela sua Funo de Transferncia.
A Figura 1(b) ilustra o diagrama de blocos do sistema com as suas respectivas funes
de transferncia. Note que este sistema de controle possui simultaneamente sinais de tempo
discreto e sinais de tempo contnuo. Os sinais E(z), H(z) e M(z) so sinais discretos no tempo.
A parte de tempo discreto se refere ao algoritmo executado pelo computador e a parte de
tempo contnuo se refere ao sistema fsico correspondente a planta a ser controlada.
Note que existem variantes para este sistema. Por exemplo, a referncia pode ser
gerada pelo computador, assim, a sada da planta deve ser amostrada antes de ser comparada
com o sinal de referncia digital (tempo discreto), de forma a gerar um sinal de erro digital.
Como visto na Experincia 3 existem duas formas de projetar um controlador que ser
implementado atravs de um computador. A primeira consiste em projetar o controlador em
tempo contnuo, depois discretiz-lo, usando algum mtodo de integrao numrica de
equaes diferencias, para permitir a sua implementao em um computador. A segunda
consiste em projetar o controlador diretamente em tempo discreto usando o modelo em tempo
discreto do sistema a ser controlado.
- 1 de 13-
Experincia 4 Implementao Digital de Controladores PID
(a)
(b)
Y( z ) b z m + bm1 z m1 +K+b1 z + b0
= G( z ) = m n , (1)
U( z ) z + a n 1 z n 1 +K+ a1 z + a 0
- 2 de 13-
Experincia 4 Implementao Digital de Controladores PID
Y ( z ) + a n 1 z 1Y( z )+K+ a1 z ( n 1 )Y ( z ) + a 0 z n Y ( z ) = bm z ( n m )U ( z ) +
(3)
bm1 z ( n +1 m )U ( z )+K+b1 z ( n 1 )U ( z ) + b0 z nU ( z ).
onde, kTa representa o tempo absoluto. Esta equao representa uma frmula de recorrncia,
onde conhecendo-se os valores passados de y(kTa) e os valores da entrada u(kTa) presente e
passadas, pode-se avanar no tempo com um processo marchante. Note que so necessrias n
condies iniciais para a varivel y(kTa), ou seja, y(0), y(Ta), y(2Ta), , y((n-1)Ta), para se
iniciar o processo de marcha no tempo. Observa-se ainda, que com uma equao deste tipo
que se implementa um controlador digital.
- 3 de 13-
Experincia 4 Implementao Digital de Controladores PID
Existem inmeros mtodos que podem ser utilizados para discretizar um controlador,
contudo alguns so mais simples e mais usuais. A seguir so apresentados alguns destes
mtodos mais usuais.
X ( z ) z X ( z ) ( z 1) X ( z )
sX ( s ) = . (6)
Ta Ta
Para que os dois lados da equao (6) sejam equivalentes, ou pelo menos
aproximadamente iguais, tem-se que:
( z 1)
s . (7)
Ta
Ou seja, para uma funo H(s) a funo em tempo discreto H(z) equivalente pode ser obtida
pela simples substituio de s pela expresso de z dada pela equao (7), ou seja:
H ( z) H (s) ( z 1) . (8)
s=
Ta
Utilizando agora uma diferena para trs para a aproximar a primeira derivada de
uma funo no tempo, tem-se:
- 4 de 13-
Experincia 4 Implementao Digital de Controladores PID
X ( z ) z 1 X ( z ) (1 z 1 ) X ( z ) ( z 1) X ( z )
sX ( s ) = = . (10)
Ta Ta zTa
Desta forma, conclui-se que para este mtodo tem-se a seguinte aproximao entre s e
z:
( z 1)
s . (11)
zTa
Ou seja, para uma funo H(s) a funo equivalente em tempo discreto H(z) pode ser obtida
por:
H D ( z ) = H ( s) ( z 1) . (12)
s=
zTa
2 ( z 1)
s= . (13)
Ta ( z + 1)
Ou seja, para uma funo H(s) a funo em tempo discreto H(z) equivalente pode ser obtida
por:
H D ( z ) = H ( s) 2 ( z 1) . (14)
s=
Ta ( z +1)
s = e sTa . (15)
- 5 de 13-
Experincia 4 Implementao Digital de Controladores PID
Para os zeros no existe uma relao to direta, mas a idia fundamental do casamento
de plos e zeros que o mapeamento dado pela equao (5) tambm pode ser aplicado para os
zeros. A tcnica consiste em um conjunto de regras heursticas para a localizao de plos e
zeros e a imposio de um ganho equivalente entre H(s) e H(z) para baixas ou altas
freqncias dependendo do caso. As regras so as seguintes:
Na maioria das aplicaes em controle, o ponto crtico equivale a s=0, ou seja em regime
permanente, desta forma o ganho pode selecionado de tal forma que:
H ( s) s =0 = H D ( z) z =1 . (16)
Nota-se que neste caso o perodo de amostragem aparece multiplicando o lado esquerdo
da equao. A razo disto que um impulso um tempo discreto tem a durao de um
perodo de amostragem e em tempo contnuo um impulso tem durao infinitesimal.
Anlise de Estabilidade
Observa-se que com o Mtodo de Diferenas para Frente, possvel que um sistema
estvel em s seja mapeado como um sistema instvel em z.
z = e sTa ,
- 7 de 13-
Experincia 4 Implementao Digital de Controladores PID
A escolha do perodo de amostragem pode ser feita com base numa varivel
adimensional e que possui uma interpretao fsica. Para sistemas oscilatrios natural a
normalizao com base no perodo de oscilao, para sistemas no oscilatrios, o tempo de
subida do sistema o fator de normalizao adequado.
tr
Nr = , (72)
Ta
onde tr o tempo de subida. Para sistemas de 1a ordem, o tempo de subida igual a constante
de tempo. Portanto, razovel escolher Nr por volta de 10 para o caso de projeto do
controlar realizado em tempo discreto. Contudo, se o projeto do controlador foi
realizado em tempo contnuo, Nr deve ficar por volta de 20.
1
Tr = 0 e / tan , (73)
onde = tan. Para um grau de amortecimento em torno de =0.7, isto resulta em:
z = e sTa . (75)
Uma outra forma de escolher o perodo de amostragem utilizar a eq. (75) de modo que os
plos do sistema de malha aberta em tempo discreto fiquem entre 0,95 e 0,98. Assim,
invertendo a eq. (75), para plo de tempo em 0,95 tem-se:
ln(0,95)
Ta = , (76)
p
onde p o plo mais rpido da malha aberta. Esse mtodo garante que os plos do sistema em
tempo discreto tenham um nmero de dgitos significativos suficiente de forma que no sejam
arredondados para a unidade devido a erros de quantizao.
- 8 de 13-
Experincia 4 Implementao Digital de Controladores PID
4. Parte Prtica
O objetivo da parte prtica desta experincia implementar o controlador da
velocidade angular do motor CC projetado na Experincia 4.
Para realizar esta tarefa, voc pode fazer um arquivo em MATLAB que define uma funo
que gera todos os diagramas em funo dos parmetros do controlador e do perodo de
amostragem Ta. A seguir dado um exemplo, contendo um programa para calcular o
Diagrama de Bode de um filtro analgico de primeira ordem (sem zero) utilizando o
Mtodo de Diferenas para Frente.
% a -> H(s)=a/(s+a)
% ta -> tempo de amostragem
% expfi -> potencia de 10 para o inicio da escala log i.e. grafico
% comeca em 10**(expfi)
% expff -> idem para o final da escala log
%
function bodpi(a,ta,expfi,expff)
clf % apaga a figura corrente
% definicao da frequencia
w = logspace(expfi,expff);
%
% a/(s+a)
%
num=[a];
den=[1 a];
[mag,phase]=bode(num,den,w);
mag=20*log10(mag);
% modulo
subplot(2,1,1)
semilogx(w,mag,'k-');
xlabel('rad/s');
ylabel('Modulo (Db)');
grid on
hold on
% fase
subplot(2,1,2)
- 9 de 13-
Experincia 4 Implementao Digital de Controladores PID
semilogx(w,phase,'k-');
xlabel('rad/s');
ylabel('Fase');
grid on
hold on
% forward diferences
num=[a*ta];
den=[1 (a*ta-1)];
[mag,phase]=dbode(num,den,ta,w);
mag=20*log10(mag);
% modulo
subplot(2,1,1)
semilogx(w,mag,'y:');
hold on
% fase
subplot(2,1,2)
semilogx(w,phase,'y:');
hold on
Item 3: Neste item voc ir realizar a simulao do sistema de controle digital que voc
projetou. Para tal, voc ir utilizar um modelo em SIMULINK do arquivo,
c:\PMR2400\Exp5\ControladorPI_Digital.mdl, apresentado na Figura 3. Este arquivo
contm um modelo que realiza a simulao do sistema em malha com o controlador PI
digital. Este modelo possui um bloco de quantizao e um bloco retentor de ordem zero. O
controlador PI definido atravs de equaes de diferenas e a planta um modelo de
tempo contnuo. Os parmetros de simulao devem estar definidos no ambiente do
MATLAB. Neste modelo esto definidos blocos que salvam as variveis de simulao no
ambiente do MATLAB. Ao final da simulao as variveis r, u, y, e tout (vetor de tempo)
sero vetores contendo os valores da simulao. Com estas variveis voc pode gerar e
salvar grficos das simulaes atravs do comando plot.
1. Kw (ganho da planta)
2. T (constante de tempo da planta);
3. K (constante proporcional);
4. Ti (constante de integrao);
5. Ta (perodo de amostragem);
6. nbits (nmero de bits utilizados para a quantizao).
Item 5: Agora voc deve realizar um experimento real de controle do Motor CC. Para isso
voc deve utilizar a funo MATLAB c:\PMR2400\Exp5\sistemadecontrole.m
pressuposto a utilizao de um controlador PI. Voc deve escolher a freqncia de
amostragem Fa, a durao do experimento em segundos dado por Duration e os
coeficientes da equao de diferenas do controlador a1 e a2.
- 11 de 13-
Experincia 4 Implementao Digital de Controladores PID
rk = 0.0;
yk = 0.0;
uk = 0.0;
uk_1 = 0.0;
ek = 0.0;
ek_1 =0.0;
vetorrk = zeros(NumberOfTasksToExecute+1,1);
vetorrk(1) = rk; % instante 0 -> k=1
vetoryk = zeros(NumberOfTasksToExecute+1,1);
vetoryk(1) = yk;
vetoruk = zeros(NumberOfTasksToExecute+1,1);
vetoruk(1) = uk;
k=2;
function MyTimerFcn(obj,event)
% Calculo do controle
uk = u(k-1) + a1*e(k) + a2*e(k-1)
% Controle de Saturacao
if uk >= 5.0
uk = 5.0;
else if uk <= -5.0
uk = -5.0;
end
end
% Salva os valores
vetorrk(k) = rk;
vetoryk(k) = yk;
vetoruk(k) = uk;
- 12 de 13-
Experincia 4 Implementao Digital de Controladores PID
% Update de variaveis
k=k+1
uk_1 = uk;
ek_1 = ek;
end
function StopEverything(obj,event)
nsamples = length(vetorrk);
t=0.0:Ta:(nsamples-1)*Ta;
plot(t,vetorrk,'-',t,vetoruk,'-.',t,vetoryk,'--');
grid on
title('Referencia r(k) (-) / Esforco de controle u(k) (-.) /
Saida da planta y(k) (--)')
xlabel('tempo (s)');
ylabel('tenso (Volts)');
mensagem='acabou'
end
- 13 de 13-