Buscar

PTC3471 - Modulo_01_2023_Parte_A

Prévia do material em texto

Módulo 01
2º semestre de 2023
Prof. Bruno A. Angelico
Laboratório de Automação e Controle
Departamento de Engenharia de Telecomunicações e Controle
Escola Politécnica da Universidade de São Paulo
1
PTC 3471 – Práticas de Projeto de Sistemas de Controle
Sumário
• Introdução
• Revisão sobre o servomecanismo
• Controle digital no espaço de estados:
– Realimentação de estados – alocação de polos;
– Observadores de estados;
– Inserção de integradores;
• Pêndulo de Furuta
– Introdução;
– Modelagem mecânica;
– Construção do Simulador;
– Realimentação de estados – alocação de polos;
2
Introdução
• A disciplina PTC3471 - Práticas de Projeto de 
Sistemas de Controle foi criada para a Nova 
Estrutura Curricular da Poli (EC3) aprovada em 25 
de abril de 2013. 
• É disciplina obrigatória da Engenharia Elétrica –
Automação e Controle.
• Curso busca abordar aspectos de controle 
avançados, como modelagem de sistemas 
mecânicos, controle digital, controle ótimo e 
controle não linear.
3
Introdução
• O Laboratório de Controle Aplicado (LCA) foi 
responsável pelo projeto e construção do 
sistema pêndulo invertido rotacional.
• Para a versão 2023, um novo pêndulo está 
sendo fabricado, com recursos do Fundo 
Patrimonial Amigos da Poli – Projeto: 
MODERNIZAÇÃO E VIRTUALIZAÇÃO DOS 
LABORATÓRIOS DE CONTROLE, no edital 
2022.1.
4
Controle digital no espaço de 
estados
5
• Controle Digital por Realimentação de Estados:
 Projetar controle por alocação de polos via 
realimentação linear de estados, considerando 
todos os estados medidos.
 Projetar observador de estados e efetuar 
novamente o controle com realimentação de 
estados estimados.
Controle digital no espaço de 
estados
6
• Considere o sistema LIT:
os autovalores da matriz A são os polos do 
sistema.
• Controlabilidade: o sistema será dito 
controlável no instante t0 se existir uma entrada 
capaz de transferir o sistema de x(t0) para 
qualquer outro estado, em um intervalo de 
tempo finito. 
Controle digital no espaço de 
estados
7
Para o sistema de ordem k ser controlável, a 
matriz
deve possuir posto igual a k.
• Observabilidade: O sistema é observável em 
t0, se com o sistema em x(t0), for possível 
determinar esse estado a partir da observação 
da saída durante um intervalo de tempo finito.
1| | | k− =   
B AB A B⋯C
Controle digital no espaço de 
estados
8
Para o sistema ser completamente observável, a 
matriz
deve possuir posto igual a k.
1k−
 
 
 
 =  
 
 
  
C
CA
CA
⋮
O
Controle digital no espaço de 
estados
9
• O equivalente discreto do sistema é dado por:
O comando c2d do MATLAB faz o serviço:
[Phi,Gamma] = c2d(A,B,Ts).
• Os conceitos de controlabilidade, 
observabilidade para sistemas discretos são 
semelhantes ao caso contínuo. 
s
T
Controle digital no espaço de 
estados
10
• Os conceitos de controlabilidade, 
observabilidade para sistemas discretos são 
semelhantes ao caso contínuo. 
• OBS: em tempo discreto, o sistema será dito 
controlável no instante n = n0 se existir uma 
entrada de controle u(n), n=n0, n0+1, ..., nf -1, 
capaz de transferir o sistema de x(n0) para x(nf), 
após nf amostras. 
Alocação de Polos
11
Considere o sistema:
Ao invés de realimentar a saída y, que tal utilizar 
a retroação das variáveis de estado?
• Realim. linear de estados: u[n]=- Kc x[n].
• Em malha fechada:
[ 1] [ ] [ ]
c
n n nΦ Γ+ = −x x K x
Alocação de Polos
12
Alocação de Polos
13
• Os polos de M.F. são os autovalores de 
• Para sistemas SISO, a fórmula de Ackermann
pode ser utilizada para calcular Kc que aloque os 
polos de acordo com um vetor pc.
• No MATLAB: 
Kc = acker(Phi, Gamma,p_c)
ou 
Kc = place(Phi, Gamma,p_c)
• OBS: O comando place também funciona para 
sistemas MIMO.
( )− KΦ Γ
Observadores de Estado
14
Algumas das variáveis de estado podem ser 
inacessíveis. Assim, as estimativas de estado 
são obtidas através de um modelo do sistema, 
caso o mesmo seja observável.
• A lei de controle fica: 
• A equação do estimador preditor é dada por:
[̂ ]nx
ˆ ˆ ˆ[ 1] [ ] [ ] ( [ ] [ ])
ˆ ˆ[ ] [ ] ( [ ] [ ])
n n u n y n y n
n u n n n
+ = + + −
= + + −
x x L
x LC x x
Φ Γ
Φ Γ
ˆ[ ] [ ]
c
n n=−u K x
15
Observadores de Estado
[ ]u n [ ]y n
L
[̂ 1]n +x [̂ ]nx [̂ ]y n
[ ]e n
16
• onde L é o vetor de os ganhos do estimador. Ao 
definir , tem-se: 
• Como os autovalores de são os 
mesmos de , então, para alocar os 
polos do observador de acordo com o vetor po, 
pode-se fazer: 
Observadores de Estado
ˆ[ ] [ ] [ ]n n n= −ɶx x x
ˆ ˆ[ 1] [ 1] [ 1] ( [ ] [ ]) [ ]
( ) [ ]
n n n n n n
n
+ = + − + = − −
= −
ɶ ɶ
ɶ
x x x x x LCx
LC x
Φ
Φ
( )− LCΦ
T T T( )−C LΦ
17
L = acker(Phi’, C’,p_o)’
ou 
L = place(Phi’, C’,p_o)’
Observadores de Estado
18
Para o rastreamento da referência ocorrer 
adequadamente, muitas vezes é necessária a 
inserção de integradores na malha de controle
Inserção de Integradores
c
−K
Inserção de Integradores
19
A equação de estados do integrador inserido é 
dada por:
A equação de estados do sistema em malha 
fechada é dada por:
Tem-se, portanto, a seguinte equação para o 
sistema aumentado:
[ 1] [ ] [ ] [ ] [ ] [ ] [ ]n n n n n n n+ = + − = + −v v r y v r Cx
[ 1] ( ) [ ] [ ]
c i
n n nΦ Γ Γ+ = − +x K x K v
Inserção de Integradores
20
ou seja,
Assim, basta determinar o ganho que aloca 
os polos para o sistema aumentado.
aug
K
[ 1] [ ]
[ ]
[ 1] [ ]
c i
n n
n
n n
Φ Γ Γ       + −       = +       + −              
x K K x 0
r
v C I v I
�
aug
augaug
[ 1] [ ]
[ ]
[ 1] [ ]c i
n n
n
n n
ΓΦ
Φ Γ
            +             = − − +             + −                       
K
x 0 x 0
K K r
v C I 0 v I�����
�����
21Ganho do 
potenciômetro 
Ganho do 
tacômetro
Relação de redução de 
engrenagens
Ganho do 
motor
Constante de 
tempo do motor
Exemplo de Projeto e Simulação -
Servomecanismo
22
Exemplo 1:
• Encontre uma representação em espaço de estados para 
o servomecanismo, x1 = θp e x2 = ωp. No modelo linear, 
considere K = 50; Kt = 0,017; Kp = 1,6; T = 0,27; n = 1/3. 
Verifique se o Sistema é controlável e observável. 
• Obtenha o equivalente discreto p/ Ts = 1/20 s.
• Projete um controlador digital tal que os polos de MF 
satisfaçam : ξ = 0,707 e ωn= 10 rad/s. Escolha o polo do 
integrador em s = - 10, ou seja,
. 
• Utilize o modelo linear para fazer o projeto e o não-linear 
para a simulação (arquivo servo_modelo.slx) . 
• Como set-point de posição, utilize uma onda quadrada 
com freq. fundamental de 0,1 Hz e Amplitude de π/4. 
[ ], , 10
T
c n d n dp j jξω ω ξω ω= − + − − −
Exemplo de Projeto e Simulação -
Servomecanismo
Exemplo de Projeto e Simulação -
Servomecanismo
23
24
O controlador será implementado utilizando o 
bloco MATLAB function (Mf).
function u = fcn(r, x_1, x_2, Kc, Ki)
%#codegen
global v
y=x_1;
u = -(Kc(1)*x_1 + Kc(2)*x_2)+ Ki*v;
v = v+(r-y);
Exemplo de Projeto e Simulação -
Servomecanismo
25
• Entradas e saídas definidas na função aparecerão como entradas e 
saídas físicas do bloco.
• Clique em Editor -> Edit Data e configure o método de atualização:
Exemplo de Projeto e Simulação -
Servomecanismo
26
• Se precisar passar parâmetros para a Mf, faça:
1. Defina a variável que deseja passar para a Mf (ex, param.);
2. Clique em Editor -> Edit Data, selecione Parameter
em Scope e elimine a seleção Tunable:
Exemplo de Projeto e Simulação -
Servomecanismo
27
• Data Store Memory: a variável v, configurada na Mf 
como global, corresponde à saída do integrador na 
forma Euler Forward. Ela foi definida como data store 
memory. 
Exemplo de Projeto e Simulação -
Servomecanismo
28
• Data Store Memory: inserir o bloco no Simulink e 
parametrizar. 
Exemplo de Projetoe Simulação -
Servomecanismo
29
Exemplo 2: 
• Adaptar a Simulação 1, sendo que agora a Matlab
Function que implementa o controlador deve receber 
a saída de posição (θp), estimar os estados (θp e ωp) e 
realimentar os estados estimados. 
• Para o observador de estados, deve-se implementar 
.
• Observe que o estimador é preditor, ou seja, ele 
estima os estados para o controle da próxima 
iteração.
• O observador deve ser projetado para a planta não 
aumentada , considerando ξ = 0,707 e ωn= 30 rad/s.
Exemplo de Projeto e Simulação -
Servomecanismo

Continue navegando