Baixe o app para aproveitar ainda mais
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
Compartilhar