Você está na página 1de 13

Experincia 5 Implementao Digital de Controladores PID

- 1 de 13-

EXPERINCIA 5:

IMPLEMENTAO DIGITAL DE CONTROLADORES PID


1. Introduo

Na Experincia 4 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 Seo 2 apresenta um esquema de uma malha fechada com um controlador
implementado em um computador digital e o mtodo de obteno da equao de diferenas
correspondente funo de transferncia do controlador em tempo discreto. A equao de
diferenas executada no computador de forma a implementar o controlador projetado. A
Seo 3 apresenta diversas tcnicas de discretizao de controladores em tempo contnuo, de
forma a permitir a sua implementao atravs de um computador digital.



2. Um Sistema de Controle Digital

A Figura 1(a) ilustra um sistema de controle digital. O sistema de controle composto
de um Amostrador (Conversor Analgico-Digital - A/D), um Controlador Digital (no caso
implementado em um computador) e um Conversor Digital-Analgico (Reconstrutor de
Ordem Zero D/A). Observa-se que apesar do controlador estar implementado em um
computador e trabalhar em tempo discreto, este sistema de controle produz um sinal de
controle u(t) contnuo no tempo.

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 4 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.
Experincia 5 Implementao Digital de Controladores PID
- 2 de 13-



















Figura 1: (a) Diagrama de blocos de um sistema de controle digital. (b) Diagrama de
blocos equivalente evidenciando as funes de transferncia.


Em qualquer uma das formas de abordagem, o projeto do controlador resulta em uma
funo de transferncia, ou em s ou em z. Entretanto, a implementao digital de um
controlador realizada atravs de uma equao de diferenas, que obtida pela funo de
transferncia em z. Uma equao de diferenas tem em tempo discreto a mesma funo de
uma equao diferencial em tempo contnuo e ambas podem ser obtidas pela funo de
transferncia correspondente em z ou em s. Ou seja, o equivalente de uma funo de
transferncia em s uma equao diferencial (domnio do tempo contnuo), e o equivalente de
uma funo de transferncia em z uma equao de diferenas.


2.1 Obteno da equao de diferenas a partir da Transformada Z

Neste item apresentado como obter a equao de diferenas correspondente funo
de transferncia do controlador em tempo discreto, H(z), que ser implementada em
computador. Note que no caso de projeto do controlador ter sido realizado em tempo
contnuo, antes de se obter a equao de diferenas, necessrio obter a funo de
transferncia em tempo discreto equivalente funo de transferncia em tempo contnuo. Os
mtodos para fazer esta aproximao (discretizao) esto apresentados na Seo 3.

Para se obter a equao de diferenas equivalente a uma funo de transferncia em z,
procede-se da seguinte forma. Seja a seguinte funo de transferncia genrica de ordem n:

Y z
U z
G z
b z b z b z b
z a z a z a
m
m
m
m
n
n
n
( )
( )
( ) = =
+ + + +
+ + + +


1
1
1 0
1
1
1 0

, (1)

r(t)
+
Amostrador
A/D
Controlador
Digital
Segurador de
Ordem Zero
D/A
Planta
e(t) e(kT
a
) u(kT
a
) u(t)
y(t)
_
(a)
(b)
H(z)
s
e
a
sT
1

G
P
(s)
E(s) E(z) M(z) U(s)
Y(s)
_
T
a

R(s) +
Experincia 5 Implementao Digital de Controladores PID
- 3 de 13-
onde m s n. O primeiro passo colocar a funo G(z) em funo de potncias negativas de z.
Assim, dividindo-se em cima e em baixo por z
n
, tem-se:

Y z
U z
G z
b z b z b z b z
a z a z a z
m
m n
m
m n n n
n
n n
( )
( )
( )
( )
= =
+ + + +
+ + + +


1
1
1
1
0
1
1
1
1
0
1

. (2)

Multiplicando-se Y(z) pelo denominador de G(z) e U(z) pelo numerador de G(z),
obtm-se:

Y z a z Y z a z Y z a z Y z b z U z
b z U z b z U z b z U z
n
n n
m
n m
m
n m n n
( ) ( ) ( ) ( ) ( )
( ) ( ) ( ).
( ) ( )
( ) ( )
+ + + + = +
+ + +

+
1
1
1
1
0
1
1
1
1
0


(3)

Analogamente ao fato de que no plano s (domnio de tempo contnuo) a varivel s
n

multiplicando Y(s), significa no tempo a derivada n-sima de y(t), tem-se que no plano z
(domnio de tempo discreto) a varivel z
n
multiplicando Y(z), significa no tempo a varivel
y(kT
a
) atrasada de nT
a
segundos, onde T
a
o tempo de amostragem. Assim, calculando-se a
Transformada Z Inversa, obtm-se a seguinte equao de diferenas:

y kT a y kT T a y kT n T a y kT nT
b u kT n m T b u kT n m T
b u kT n T b u kT nT
a n a a a a a a
m a a m a a
a a a a
( ) ( ) ( ( ) ) ( )
( ( ) ) ( ( ) )
( ( ) ) ( ),
= +
+ + + +
+

1 1 0
1
1 0
1
1
1



(4)

onde, kT
a
representa o tempo absoluto. Esta equao representa uma frmula de recorrncia,
onde conhecendo-se os valores passados de y(kT
a
) e os valores da entrada u(kT
a
) presente e
passadas, pode-se avanar no tempo com um processo marchante. Note que so necessrias n
condies iniciais para a varivel y(kT
a
), ou seja, y(0), y(T
a
), y(2T
a
), ., y((n-1)T
a
), 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. Implementao Digital de Controladores Analgicos

O projeto de um controlador em tempo contnuo resulta em uma funo de
transferncia em s, digamos H(s). Para implementar este controlador em um computador
necessrio a sua discretizao no tempo. Existem, tambm, algumas situaes onde um
controlador de tempo contnuo j est disponvel e deseja-se converter este controlador para
um controlador de tempo discreto.


3.1. Aproximao digital de controladores analgicos

A discretizao, ou aproximao digital de um controlador em tempo discreto pode ser
realizada por diversos mtodos de integrao de equaes diferenciais. O objetivo final da
discretizao de um controlador analgico a obteno da equao de diferenas que ser
implementada em um computador.

Experincia 5 Implementao Digital de Controladores PID
- 4 de 13-
Uma forma de realizar esta discretizao seria obter a equao diferencial
correspondente funo de transferncia do controlador H(s) utilizando algum mtodo
numrico de integrao de equaes diferenciais ordinrias. Contudo, na rea de controle o
processo preferido obter a funo de transferncia em tempo discreto, H(z), a partir de H(s)
e depois obter a equao de diferenas. Assim, o problema passa a ser o seguinte: dado um
controlador em tempo contnuo descrito por sua funo de transferncia, H(s), deseja-se
encontrar uma funo de transferncia em z, que aproxime H(s) em tempo discreto.

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.


Mtodo de diferenas para Frente (ou Mtodo de Euler):

No mtodo da diferena para frente, a primeira derivada no tempo de uma funo
aproximada por uma diferena no tempo da seguinte forma:

a
a
T
t x T t x
dt
t dx ) ( ) ( ) ( +
~ (5)

Calculando a Transformada de Laplace do lado esquerdo e a Transformada Z do lado
direito da equao (5) tem-se:

a a
T
z X z
T
z X z z X
s sX
) ( ) 1 ( ) ( ) (
) (

=

~ . (6)

Para que os dois lados da equao (6) sejam equivalentes, ou pelo menos
aproximadamente iguais, tem-se que:

.
) 1 (
a
T
z
s

~ (7)

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:

a
T
z
s
s H z H
) 1 (
) ( ) (

=
~ . (8)


Mtodo de Diferenas para Trs:

Utilizando agora uma diferena para trs para a aproximar a primeira derivada de
uma funo no tempo, tem-se:

a
a
T
T t x t x
dt
t dx ) ( ) ( ) (
~ . (9)
Experincia 5 Implementao Digital de Controladores PID
- 5 de 13-

Calculando a Transformada de Laplace do lado esquerdo e a Transformada Z do lado
direito da equao (9) tem-se:

a a a
zT
z X z
T
z X z
T
z X z z X
s sX
) ( ) 1 ( ) ( ) 1 ( ) ( ) (
) (
1 1

~

. (10)

Desta forma, conclui-se que para este mtodo tem-se a seguinte aproximao entre s e
z:

a
zT
z
s
) 1 (
~ . (11)

Ou seja, para uma funo H(s) a funo equivalente em tempo discreto H(z) pode ser obtida
por:

a
zT
z
s
D
s H z H
) 1 (
) ( ) (

=
= . (12)


Transformao Bilinear, ou Mtodo de Aproximao de Tustin:

Uma outra aproximao corresponde ao mtodo de integrao trapezoidal que
denominado Transformao Bilinear ou Mtodo de Aproximao de Tustin. Neste caso a
aproximao feita utilizando a seguinte equivalncia:

) 1 (
) 1 ( 2
+

=
z
z
T
s
a
. (13)

Ou seja, para uma funo H(s) a funo em tempo discreto H(z) equivalente pode ser obtida
por:

) 1 (
) 1 ( 2
) ( ) (
+

=
=
z
z
T
s
D
a
s H z H . (14)


Mtodo do Casamento de Plos e Zeros:

Uma maneira simples e eficiente para a obteno do equivalente discreto a utilizao
do mapeamento entre o plano s e o plano z atravs da Transformada Z. Se a transformada Z
for aplicada a um sinal contnuo x(t), ento os plos da transformao discreta X(z) estaro
relacionados com os plos de X(s) de acordo com a seguinte relao:

a
sT
e s = . (15)

Experincia 5 Implementao Digital de Controladores PID
- 6 de 13-
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:

1. Todos os plos de H(s) so mapeados de acordo com a equao (15);
2. Todos os zeros finitos so mapeados atravs da equao (15);
3. Os zeros de H(s) em s= podem ser mapeados em H(z) nos pontos z=1 ou z=0. Assim,
H(z) possui o mesmo nmero de zeros finitos do que plos;
4. O ganho do filtro digital selecionado para ser igual ao ganho de H(s) em um ponto
crtico equivalente;

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:

1 0
) ( ) (
= =
=
z D s
z H s H . (16)

Para o caso de um controlador PI o ganho na freqncia zero infinito. Assim, neste
caso, deve-se fazer com que a resposta a um impulso do controlador digital tenha o
mesmo valor final da resposta do controlador analgico, ou seja:

) ( ) 1 ( ) (
lim lim
1 0
z H z s sH T
z s
a
=

. (17)

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

A Figura 2 ilustra como a regio de estabilidade no plano s (Re(s) <0) mapeada no
plano z para os mtodos de Diferenas para Frente, de Diferenas para Trs e da
Transformao Bilinear.

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.

Quando o Mtodo de Diferenas para Trs utilizado, para um sistema estvel em s
obtm-se sempre um sistema estvel em z. Entretanto existem sistemas instveis em s que so
mapeados como sistemas estveis em z. Note tambm que a regio mapeada em z atravs
deste mtodo bem menor que o circulo unitrio que representa a estabilidade, o que indica
uma distoro acentuada dos plos quando mapeados em z.

O Mtodo da Transformao Bilinear tem a vantagem de transformar o semi-plano
esquerdo em s, no circulo unitrio em z. Sistemas estveis em s so transformados em
sistemas estveis em z e sistemas instveis em s so transformados em sistemas instveis em
z.
Experincia 5 Implementao Digital de Controladores PID
- 7 de 13-

O Mtodo do Casamento de Plos e Zeros como utiliza a prpria definio de
Transformada Z tambm mapeia o semi-plano esquerdo de s como um circulo unitrio em z,
preservando, desta forma, as condies de estabilidade.


















3.2. Seleo do perodo de amostragem

A escolha apropriada do perodo de amostragem T
a
uma deciso importante em um
sistema de controle digital. Se o perodo de amostragem for muito longo ser impossvel
reconstruir o sinal contnuo. Se o perodo de amostragem for muito pequeno o computador
ficar sobrecarregado. A escolha do perodo de amostragem depende bastante do propsito do
sistema.

Em princpio quanto menor for o perodo de amostragem melhor ser a aproximao
digital, certo? No necessariamente! Este paradoxo pode ser verificado pelo seguinte: se o
perodo de amostragem for muito pequeno, os plos do controlador se aproximam da unidade,
que tambm o limite da estabilidade. De acordo com a equao de mapeamento entre s e z,
repetida abaixo,

a
sT
e z = ,

se T
a
for muito pequeno, tendendo a zero, os plos do controlador em z tendem a 1, que so os
plos de um sistema marginalmente instvel, tornando, assim, o sistema em malha fechada
instvel!!!! Contudo, no necessrio que T
a
seja igual a zero para que problemas comecem a
surgir, basta que T
a
seja pequeno o suficiente para que os plos em z no consigam ser
distinguidos da unidade pelo computador. Lembre-se que o computador usa um nmero finito
de bits para representar nmeros e, assim, dependendo do nmero de bits, no consegue
distinguir, por exemplo, 1 de 0,99999. Portanto, perodos de amostragem pequenos podem
introduzir distores significativas no comportamento dinmico do sistema.

A escolha apropriada do perodo de amostragem T
a
uma deciso importante em um
sistema de controle digital. Se o perodo de amostragem for muito longo ser impossvel
reconstruir o sinal contnuo. Se o perodo de amostragem for muito pequeno o computador
Figura 2: Mapeamento da regio estvel do s para o plano z de acordo com o
mtodo de diferenas a frente, diferenas a trs e o mtodo de Tustin.
Experincia 5 Implementao Digital de Controladores PID
- 8 de 13-
ficar sobrecarregado e componentes de alta freqncia sero introduzidos na malha fechada
pela converso digital-analgica. A escolha do perodo de amostragem depende bastante do
propsito do sistema.

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.

Define-se o nmero de perodos de amostragem por tempo de subida, N
r
:

a
r
r
T
t
N = , (72)

onde t
r
o tempo de subida. Para sistemas de 1
a
ordem, o tempo de subida igual a constante
de tempo. Portanto, razovel escolher N
r
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, N
r
deve ficar por volta de 20.

Para um sistema de segunda ordem com grau de amortecimento e freqncia natural
e
n
, o tempo de subida dado por:


e =
tan / 1
0
e T
r
, (73)

onde = tan. Para um grau de amortecimento em torno de =0.7, isto resulta em:

05 , 0 ou 1 , 0
0
~ e
a
T , (74)

onde e
0
dado em radianos por segundo.

Uma questo importante a ser considerada que os plos e zeros no domnio z
dependem do perodo de amostragem. Como se sabe, os plos do domnio s so mapeados no
domnio z atravs da seguinte relao:

a
sT
e z = . (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:

p
T
a
) 95 , 0 ln(
= , (76)

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.


Experincia 5 Implementao Digital de Controladores PID
- 9 de 13-
4. Parte Prtica

O objetivo da parte prtica desta experincia implementar o controlador da
velocidade angular do motor CC projetado na Experincia 4.


4.1. Implementao do controlador analgico (de tempo contnuo)

O objetivo desta parte implementar o controlador tipo PID em tempo contnuo em
um computador e observar o comportamento da velocidade angular do motor em malha
fechada. Para atingir este objetivo os seguintes passos devem ser seguidos:

Item 1: Realize uma aproximao discreta do seu controlador PI analgico utilizando os
quatro mtodos apresentados no item 3.1. Obtenha as funes de transferncia em z de
maneira simblica, ou seja, em funo de K, T
i
e T
a
.

Item 2: Faa uma comparao entre os vrios mtodos de discretizao tendo o
controlador PI contnuo como referncia. Para tal, utilize o MATLAB para construir
Diagramas de Bode (resposta em freqncia) para os quatro casos distintos. Os diagramas
de mdulo e fase para todos os casos devem estar no mesmo grfico para facilitar a
comparao.

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 T
a
. 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)
Experincia 5 Implementao Digital de Controladores PID
- 10 de 13-
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

Obtenha grficos dos Diagramas de Bode para um perodo de amostragem adequado.
Analise os resultados obtidos. Com base nestes resultados escolha o controlador em
tempo discreto cuja resposta em freqncia mais se aproxima do controlador em
tempo contnuo. Este controlador voc vai usar no restante desta Parte.

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.
















Figura 9: Modelo em SIMULINK do sistema de controle de tempo discreto.
Experincia 5 Implementao Digital de Controladores PID
- 11 de 13-


Os parmetros necessrios para a simulao so os seguintes:

1. K
w
(ganho da planta)
2. T (constante de tempo da planta);
3. K (constante proporcional);
4. T
i
(constante de integrao);
5. T
a
(perodo de amostragem);
6. nbits (nmero de bits utilizados para a quantizao).

Simule o seu sistema de controle projetado e verifique se as especificaes foram
atendidas.

Item 4: Os sistemas de aquisio de dados possuem resoluo elevada, em geral de 12 bits
ou mais, desta forma, as no linearidades geradas pela quantizao so desprezveis.
Entretanto, para observar os efeitos do processo de quantizao voc ir realizar duas
simulaes do sistema de controle digital com os parmetro projetados (com os parmetros
da planta correspondendo posio sem freio magntico) mas com o nmero de bits, nbits,
igual a 4 e 8. Analise os resultados obtidos. As especificaes ainda so atendidas?

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.


function [vetorrk,vetoruk,vetoryk] = sistemadecontrole

Fa = 20; % Sampling frequency
Ta = 1/Fa; % Sampling time
Duration = 50; % Duracao em segundos
NumberOfTasksToExecute = round(Duration/Ta)

% Create and configure timer object
tm = timer('ExecutionMode','fixedRate', ... % Run continuously
'Period',Ta, ... % Period = sampling
time
'TasksToExecute',NumberOfTasksToExecute, ... % Runs
NumberOfTasksToExecute times
'TimerFcn',@MyTimerFcn, ... % Run MyTimerFcn at
each timer event
'StopFcn', @StopEverything);
% Setup da placa de aquisicao
ai=analoginput('nidaq','Dev1');
ao=analogoutput('nidaq','Dev1')
addchannel(ai,0:1);
addchannel(ao,0);
Set(ai,'ChannelSkewMode','Equisample')
ai.ChannelSkew


% inicializacao de variaveis do sistema de conttrole
Experincia 5 Implementao Digital de Controladores PID
- 12 de 13-

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;

% Voce deve alterar esta parte
% Coeficientes da equacao de diferencas
% uk = u(k-1) + a1*e(k) + a2*e(k-1)
a1 =
a2 =



% Start the timer
start(tm)

function MyTimerFcn(obj,event)

% Leitura da Porta A/D - e(k)
sample=getsample(ai);
rk = sample(1);
yk = sample(2);

%calculo do erro e(k)
ek = rk - yk;

% 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

% Escrita na Porta D/A - u(k)
putsample(ao,uk);

% Salva os valores
vetorrk(k) = rk;
vetoryk(k) = yk;
vetoruk(k) = uk;
Experincia 5 Implementao Digital de Controladores PID
- 13 de 13-

% 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



end % function controlador

Você também pode gostar