Prévia do material em texto
1
CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER
ESCOLA SUPERIOR POLITÉCNICA
BACHARELADO EM ENGENHARIA ELÉTRICA
DISCIPLINA DE CONTROLE DISCRETO
ATIVIDADE PRÁTICA DE CONTROLE DISCRETO
ALUNO: GUILHERME SERRA RODRIGUES
PROFESSORA: CARLA MORAES DE LARA
XANXERÊ - SC
2026
2
ATIVIDADE PRÁTICA
A ) ANÁLISE NO DOMÍNIO DA FREQUÊNCIA E REPRESENTAÇÃO
EM ESPAÇO DE ESTADOS
Para realizar a atividade, utilizaremos meu RU para obtermos os resultados.
RU1 RU2 RU3 RU4 RU5 RU6 RU7
3 9 9 0 0 8 0
Figura 1 - Circuito a ser utilizado na atividade prática
1) Para o circuito apresentado na Figura 1, determine sua representação em
espaço de estados, considerando como variáveis de estado: x1(t) = iL(t), x2(t)
= vc1(t) e x3(t) = vc2(t) e a saída como sendo Vo(t), ou seja, a tensão no
resistor 2. Apresentar os cálculos. Além disso, a entrada é Vi(t).
Para o RU 3990080 foram utilizados os seguintes parâmetros:
C1 = 3 F L = 9 H C2 = 8 F R1 = 1 Ω R2 = 1 Ω
3
As variáveis de estado foram definidas como:
X1(t) = iL(t)
X2(t) = VC1(t)
X3(t) = VC2(t)
A entrada do sistema é Vi(t) e a saída é Vo(t).
Como a tensão no capacitor C2 é dada por:
X3 = X2 - Vo
Vo = X2 - X3
Equação do indutor
Aplicando a Lei das Tensões de Kirchhoff:
VL = Vi - VC1
VL = L(diL/dt)
9(dX1/dt) = Vi - X2
dX1/dt = (1/9)Vi - (1/9)X2
Equação do capacitor C2
Aplicando a Lei das Correntes de Kirchhoff no nó de saída:
IC2 = iR1 + iR2
Como:
IC2 = 8(dx₃/dt)
iR2 = Vo
iR1 = Vo - Vi
Logo:
8(dX3/dt) = 2Vo - Vi
Substituindo Vo = X2 - X3
8(dX3/dt) = 2(X2 - X3) - Vi
Portanto:
dX3/dt = (1/4)X2 - (1/4)X3 - (1/8)Vi
Equação do capacitor C2
Aplicando a Lei das Correntes de Kirchhoff no nó central:
iL = iC1 + iC2
4
X1 = 3(dX2/dt) + 8(dX3/dt)
X1 = 3(dX2/dt) + 2X2 - 2X3 - Vi
3(dX2/dt) = X1 - 2X2 + 2X3 + Vi
DX2/dt = (1/3)X1 - (2/3)X2 + (2/3)X3 + (1/3)Vi
Representação final em espaço de estados
DX1/dt = -(1/9)X2 + (1/9)Vi
DX2/dt = (1/3)X1 - (2/3)X2 + (2/3)X3 + (1/3)Vi
DX3/dt = (1/4)X2 - (1/4)X3 - (1/8)Vi
2) A partir da representação em espaços de estados para o circuito, obtida
no item 1, determine a função de transferência do sistema considerando que:
C1 = RU1, L = RU3 e C2 = RU6, caso algum dos valores do RU utilizado
seja zero, substituir por 1. Já os resistores R1 e R2 possuem resistência de 1
ohm. Apresentar código implementado no Scilab.
G(s) = C(sI−A)-¹B+D
A =
0 − 1/9 0
1/3 − 2/3 2/3
0 1/4 − 1/4
B =
1/9
1/3
−1/8
C = 0 1 − 1
D = 0
G(s) = 99s² + 8s + 1
216s³ + 198s² + 8s + 2
5
Figura 2 - Código implementado no Scilab.
Figura 3 - Código implementado no Scilab.
Código Scilab
clc;
clear;
// Variável de Laplace
s = poly(0,'s');
// Matrizes do sistema
A = [0 -1/9 0;
1/3 -2/3 2/3;
6
0 1/4 -1/4];
B = [1/9;
1/3;
-1/8];
C = [0 1 -1];
D = 0;
// Sistema contínuo
sys = syslin('c',A,B,C,D);
// Função de transferência
G = ss2tf(sys);
disp("Funcao de transferencia G(s):");
disp(G);
3) Determine se o sistema é controlável. Apresentar código implementado
no Scilab.
Mc = � �� �²�
AB =
−0,0370
−0,1759
0,1146
A²B =
0,0195
0,1686
−0,0726
7
Mc =
�, ���� −�, ���� �, ����
�, ���� −�, ���� �, ����
−�, ���� �, ���� −�, ����
Rank(Mc) = 3. O sistema é controlável.
Figura 4 - Código implementado no Scilab.
Figura 5 - Código implementado no Scilab.
8
Código Scilab
clc;
clear;
A = [0 -1/9 0;
1/3 -2/3 2/3;
0 1/4 -1/4];
B = [1/9;
1/3;
-1/8];
Mc = [B A*B A*A*B];
disp("Matriz de Controlabilidade:");
Mc
r = rank(Mc);
disp("Posto da matriz:");
disp(r);
if r == size(A,1) then
disp("Sistema Controlavel");
else
disp("Sistema Nao Controlavel");
end
4) Determine se o sistema é observável. Apresentar código implementado no
Scilab.
Mo =
�
��
��²
9
CA = 1/3 −11/12 11/12
CA² = −11/36 19/24 − 19/24
Mo =
� � −�
�/� −��/�� ��/��
−��/�� ��/�� −��/��
Rank(Mo) = 3. O sistema é observável.
Figura 6 - Código implementado no Scilab.
Figura 7 - Código implementado no Scilab.
10
Código Scilab
clc;
clear;
A = [0 -1/9 0;
1/3 -2/3 2/3;
0 1/4 -1/4];
C = [0 1 -1];
Mo = [C;
C*A;
C*A*A];
disp("Matriz de Observabilidade:");
Mo
r = rank(Mo);
disp("Posto da matriz:");
disp(r);
if r == size(A,1) then
disp("Sistema Observavel");
else
disp("Sistema Nao Observavel");
end
B) ANÁLISE DE SISTEMAS DISCRETO
1) A partir da representação em espaço de estados do circuito em tempo
contínuo (obtida na experiência A), obtenha a representação em espaço de
11
estados discretizada. Considere que o tempo de amostragem deve ser 100
ms. Apresentar código implementado no Scilab.
Ts = 100ms = 0,1s
X = Ax + Bu
Y = Cx + Du
A =
0 − 1/9 0
1/3 − 2/3 2/3
0 1/4 − 1/4
B =
1/9
1/3
−1/8
C = 0 1 − 1
D = 0
X[k+1]=Adx[k]+Bdu[k]
Y[k]=Cdx[k]+Ddu[k]
Figura 8 - Código implementado no Scilab.
12
Figura 9 - Código implementado no Scilab.
O sistema em espaço de estados contínuo foi discretizado utilizando o Scilab, considerando
um período de amostragem de Ts=0,1s (100 ms). A discretização foi realizada através do
comando dscr(), obtendo-se as matrizes discretas Ad, Bd, Cd e Dd, que representam o
comportamento do sistema no domínio discreto.
Código Scilab
clc;
clear;
// Matrizes do sistema contínuo obtidas na experiência A
A = [0 -1/9 0;
1/3 -2/3 2/3;
0 1/4 -1/4];
B = [1/9;
1/3;
-1/8];
C = [0 1 -1];
13
D = 0;
// Representação em espaço de estados contínua
sys = syslin('c', A, B, C, D);
// Tempo de amostragem
Ts = 0.1; // 100 ms
// Discretização do sistema
sysd = dscr(sys, Ts);
// Extração das matrizes discretizadas
[Ad, Bd, Cd, Dd] = abcd(sysd);
// Exibição dos resultados
disp("Matriz Ad:");
disp(Ad);
disp("Matriz Bd:");
disp(Bd);
disp("Matriz Cd:");
disp(Cd);
disp("Matriz Dd:");
disp(Dd);
2) A partir da representação em espaço de estados discreta, obtenha a
função de transferência discreta. Apresentar código implementado no
Scilab.
14
x(k+1) = Adx(k) + Bdu(k)
y(k) = Cdx(k) + Ddu(k)
G(z)=Cd(zI−Ad)−1Bd+Dd
Figura 10 - Código implementado no Scilab.
Figura 11 - Código implementado no Scilab.
A partir da representação em espaço de estados discreta, foi obtida a função de transferência
discreta utilizando o comando ss2tf() do Scilab. O resultado representa a relação entre entrada
e saída do sistema no domínio discreto considerando o período de amostragem de 100 ms.
Código Scilab
clc;
15
clear;
// Matrizes do sistema contínuo
A = [0 -1/9 0;
1/3 -2/3 2/3;
0 1/4 -1/4];
B = [1/9;
1/3;
-1/8];
C = [0 1 -1];
D = 0;
// Sistema contínuo
sys = syslin('c', A, B, C, D);
// Tempo de amostragem
Ts = 0.1;
// Discretização
sysd = dscr(sys, Ts);
// Função de transferência discreta
Gd = ss2tf(sysd);
disp("Funcao de transferencia discreta:");
disp(Gd);
16
3) Com o auxílio do Scilab, apresente o diagrama de polos e zeros do
sistema, discutindo sobre sua estabilidade, ou seja, avalie se o sistema é
estável ou instável. Apresentar código implementado no Scilab.
Figura 12 - Código implementado no Scilab.
Figura 13 - Código implementado no Scilab.
17
O diagrama de polos e zeros foi obtido utilizando a função plzr() do Scilab. A estabilidade do
sistema foi analisada através dos módulos dos polos no plano-z. Como todos os polos
possuem módulo menor que 1, eles estão localizados dentro do círculo unitário, portanto o
sistema é considerado estável.
Código Scilab
clc;
clear;
// Matrizes do sistema contínuo
A = [0 -1/9 0;
1/3 -2/3 2/3;
0 1/4 -1/4];
B = [1/9;
1/3;
-1/8];
C = [0 1 -1];
D = 0;
// Sistema contínuo
sys = syslin('c',A,B,C,D);
// Tempo de amostragem
Ts = 0.1;
// Discretização
sysd = dscr(sys,Ts);
// Função de transferência discreta
Gd = ss2tf(sysd);
18
// Diagrama de polos e zeros
scf(1);
plzr(Gd);
xtitle("Diagrama de Polos e Zeros - Sistema Discreto");
// Cálculo dos polos
polos = spec(sysd.A);
disp("Polos:");
disp(polos);
disp("Modulo dos polos:");
disp(abs(polos));
4) Apresente a função de transferência discreta no plano W, para o mesmo
período de amostragem do item 1. Apresentar código implementadono
Scilab.
Figura 14 - Código implementado no Scilab.
19
Figura 15 - Código implementado no Scilab.
A função de transferência discreta foi convertida para o plano W utilizando a transformação
bilinear, considerando o mesmo período de amostragem Ts=0,1s. Essa transformação permite
representar o sistema discreto em um plano equivalente ao domínio contínuo.
Código scilab
clc;
clear;
// Variável W
w = poly(0,'w');
// Função de transferência discreta obtida no item 2
z = poly(0,'z');
numz = 0.0439731*z^2 - 0.0875878*z + 0.0436192;
denz = z^3 - 2.9120509*z^2 + 2.8244689*z - 0.9124092;
Gz = numz/denz;
20
disp("Funcao de transferencia no plano Z:");
disp(Gz);
// Transformação bilinear
z_w = (1 + 0.05*w)/(1 - 0.05*w);
// Substituição de z por z(w)
Gw = horner(Gz,z_w);
disp("Funcao de transferencia no plano W:");
disp(Gw);
21
CONCLUSÕES
Neste trabalho foi realizada a análise completa de um circuito elétrico através da
representação em espaço de estados e da análise de sistemas discretos utilizando o software
Scilab. Inicialmente, a partir das variáveis de estado definidas, foram obtidas as equações que
descrevem o comportamento dinâmico do circuito, permitindo a determinação das matrizes do
sistema em espaço de estados.
A partir desse modelo, foi obtida a função de transferência do sistema e realizadas as análises
de controlabilidade e observabilidade, verificando as características do modelo e sua
capacidade de controle e medição das variáveis de estado.
Posteriormente, o sistema contínuo foi discretizado considerando um período de amostragem
de 100 ms, obtendo-se a representação em espaço de estados discreta e sua respectiva função
de transferência no domínio Z. A análise dos polos e zeros permitiu avaliar a estabilidade do
sistema, sendo verificado que todos os polos apresentam módulo inferior a 1, indicando que o
sistema discreto é estável.
Por fim, foi realizada a conversão da função de transferência discreta para o plano W através
da transformação bilinear, possibilitando uma representação equivalente do sistema em outro
domínio. Dessa forma, o trabalho permitiu analisar o comportamento do circuito em
diferentes representações matemáticas, desde o modelo contínuo até o modelo discreto,
utilizando ferramentas computacionais para validação dos resultados obtidos.
ATIVIDADE PRÁTICA
CONCLUSÕES