0 Universidade Federal do ABC – UFABC Campus Santo André EN 3711 – CONTROLE DISCRETO Prof.º Dr. Magno Enrique Mendoza Meza AULA PRÁTICA 1: Projeto de controladores pelo lugar das raízes no domínio discreto para o controle de posição de um servomecanismo Lucas Ribeiro Lopes Cardoso Samuel Ribeiro Santo André Junho de 2013
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
0
Universidade Federal do ABC – UFABC
Campus Santo André
EN 3711 – CONTROLE DISCRETO
Prof.º Dr. Magno Enrique Mendoza Meza
AULA PRÁTICA 1:
Projeto de controladores pelo lugar das raízes no
domínio discreto para o controle de posição de um
servomecanismo
Lucas Ribeiro Lopes Cardoso
Samuel Ribeiro
Santo André
Junho de 2013
1
Sumário
Resumo 2
1 INTRODUÇÃO 3
1.1 Planta e Sistema a ser Compensado....................................................3
1.2 Tipos de Compensadores e Métodos de Projeto.................................7
1.3 Justificativa, Objetivos Gerais e Específicos.........................................9
2 DESENVOLVIMENTO 11
2.1 Determinação do Período de Amostragem e Polo Desejado.............11 2.2 Determinação da Função de Transferência Pulsada do
Nesta aula prática projetamos, simulamos e implementamos, 4 tipos diferentes
de compensadores em tempo discreto.
Iniciamos com o compensador por avanço de fase, cujo projeto foi baseado no
método do lugar geométrico das raízes (LGR). Seguimos com os três tipos muito
utilizados na literatura (os quais são variações ou combinações de compensadores por
avanço ou por atraso de fase): proporcional derivativo (PD), proporcional integral (PI) e
proporcional integral derivativo (PID).
Para a implementação e simulação utilizamos um servomecanismo da marca
Quanser, cujo software é integrado ao Simulink. Isso facilita muito o manuseio do
equipamento, visto que o Simulink, além de muito intuitivo, já é familiar aos alunos
devido à outras disciplinas e projetos.
Uma vez conhecida a planta do servomotor (fornecida pelo fabricante), aplicamos
técnicas peculiares de conversão para o tempo discreto, o que nos possibilitou aplicar os
métodos já bem conhecidos de projeto de compensadores.
A simulação foi seguida da efetiva implementação dos compensadores no
servomecanismo, e este relatório traz os passos tomados durante cada projeto, bem
como os resultados da simulação e implementação dos mesmo.
Por fim, comparamos os resultados obtidos e discutimos os possíveis erros e
discrepância encontradas.
3
1 INTRODUÇÃO
1.1 Planta e Sistema a ser Compensado
Para a aula prática que este relatório versa, foi utilizado o servomecanismo SRV02
[1]. Este é constituído por um motor DC encaixotado em uma estrutura de alumínio
sólido e equipado com uma caixa de engrenagens planetárias, i.e., o motor tem a sua
própria caixa de engrenagens internas que acionam engrenagens externas. A unidade
SRV02 básica vem com um sensor de potenciômetro que pode ser utilizado para medir
a posição angular da engrenagem de carga, também pode vir equipado com um encoder
para obter a medida digital da posição e um tacômetro para medir a velocidade da
engrenagem de carga.
A Figura 1 mostra a estrutura deste servomecanismo.
Figura 1 – Servomecanismo SRV02 (esquerda) e equipamentos necessários para seu
funcionamento e que compõem a montagem do experimento descrito neste relatório
O modelo matemático do SRV02 correspondente ao caso de engrenagens altas e
carga em disco é como segue,
𝐺1(𝑠) = 𝜃𝑙(𝑠)
𝑉𝑚(𝑠)=
𝐾
𝑠(𝜏𝑠 + 1)
(1)
no qual θl(t) é a saída da posição que indica a medida do ângulo do eixo da carga e Vm(t)
é a tensão de entrada no SRV02, K é o ganho total de malha aberta e τ, é a constante de
tempo de malha aberta do motor. Os valores de K e τ, dados pelo fabricante, são:
𝐾 = 1,53𝑟𝑎𝑑
𝑉. 𝑠 𝑒 𝜏 = 0,0254 𝑠
O diagrama de blocos para o sistema que estamos trabalhando pode ser
representado da maneira como é mostrado na Figura 2.
4
Figura 2 – Diagrama de blocos do sistema estudado. A função de transferência do
compensador, do segurador de ordem zero e da planta, estão representadas por,
respectivamente, GC, GOH e G1
onde o bloco GC, ZOH e G1 são, respectivamente, a função de transferência do
compensador, do segurador de ordem zero e da planta - Eq. (1).
O segurador de ordem zero é necessário para fazer com que cada ponto da planta
discretizada se torne em um degrau, dando origem à função de transferência pulsada.
Sem ele, o equipamento poderia ser danificado devido às bruscas mudanças provocadas
pela função de transferência discretizada.
Por definição, o segurador de ordem zero possui função de transferência (GH)
dada por:
𝐺𝐻(𝑠) = (1 − 𝑒−𝑇𝑠)
𝑠
(2)
onde T é o período de amostragem do sinal. Mais adiante neste relatório veremos como
calculá-lo.
Para obter a função de transferência pulsada do servomecanismo, G(z), podemos
primeiramente multiplicar G1(s) por GH(s) obtendo G(s):
𝐺(𝑠) = (1 − 𝑒−𝑇𝑠)
𝑠 [
𝐾
𝑠(𝜏𝑠 + 1)]
(3)
Em seguida, utilizamos a técnica de cálculo da transformada z de funções que
envolvem o termo (1− 𝑒−𝑇𝑠)
𝑠 e então, prosseguimos com a transformada z. Assim:
𝐺(𝑧) = 𝑍[𝐺(𝑠)] = (1 − 𝑧−1). 𝑍 [𝐺1(𝑠)
𝑠] = (1 − 𝑧−1). 𝑍 [
𝐾
𝑠2(𝜏𝑠 + 1)]
5
𝑍 [𝐾
𝑠2(𝜏𝑠 + 1)] = 𝐾. {𝑇 [
𝑧
(𝑧 − 1)2] − 𝜏 [
𝑧
𝑧 − 1] + 𝜏 [
𝑧
𝑧 − 𝑒−𝑇𝜏
]}
= 𝐾 {𝑧2 [𝑇 + 𝜏 (𝑒−
𝑇𝜏 − 1)] + [𝜏 − 𝑒−
𝑇𝜏 (𝜏 + 𝑇)]
(𝑧 − 1)2 (𝑧 − 𝑒−𝑇𝜏 )
}
𝐺(𝑧) = 𝐾 {𝑧 [𝑇 + 𝜏 (𝑒−
𝑇𝜏 − 1)] + [𝜏 − 𝑒−
𝑇𝜏 (𝜏 + 𝑇)]
(𝑧 − 1) (𝑧 − 𝑒−𝑇𝜏 )
}
(4)
Analisando novamente a Figura 2, podemos determinar as expressões
matemáticas das constantes de erro estático, Kc, Kv e Ka.
Por definição, utilizando o teorema do valor final temos que o erro de estado
estacionário é dado por:
𝑒𝑠𝑠 = lim𝑘→∞
𝑒(𝑘𝑇) = lim𝑧→1
(1 − 𝑧−1)𝐸(𝑧)
onde, pela Figura 2,
𝑒(𝑡) = 𝑟(𝑡) − 𝑏(𝑡)
Calculamos então a expressão para E(z), chamando de G(z) o resultado da
multiplicação de Gc(s) por G1(s) e pelo segurador de ordem zero, GH(s) e fazendo:
𝐸(𝑠) = 𝑅(𝑠) − 𝐶∗(𝑠) (a)
𝐶∗(𝑠) = 𝐺∗(𝑠)𝐸∗(𝑠) (b)
Substituindo (b) em (a) e manipulando, obtemos:
𝐸∗(𝑠) = 1
1 + 𝐺∗(𝑠)𝑅∗(𝑠) 𝑜𝑢 𝐸(𝑧) =
1
1 + 𝐺(𝑧)𝑅(𝑧)
Para o erro estático de posição, temos que a entrada é o degrau unitário r(t) = 1,
ou seja,
𝑅(𝑧) = 1
1 − 𝑧−1
Assim:
𝑒𝑠𝑠 = lim𝑧→1
(1 − 𝑧−1)𝐸(𝑧) = lim𝑧→1
(1 − 𝑧−1)1
1 + 𝐺(𝑧) [
1
1 − 𝑧−1] = lim
𝑧→1
1
1 + 𝐺(𝑧)
Como, por definição:
6
𝑒𝑠𝑠 = 1
1 + 𝐾𝑝
temos,
𝐾𝑝 = lim𝑧→1
𝐺(𝑧)
(5)
onde
𝐺(𝑧) = 𝑍[𝐺𝐶(𝑠)𝐺1(𝑠)𝐺𝐻(𝑠)]
Procedendo da mesma maneira, temos para o erro estático de velocidade, onde
a entrada é uma rampa unitária r(t) = t 1(t), ou seja
𝑅(𝑧) = 𝑇𝑧−1
(1 − 𝑧−1)2
𝑒𝑠𝑠 = lim𝑧→1
𝑇
(1 − 𝑧−1)𝐺(𝑧)
Como, por definição:
𝑒𝑠𝑠 = 1
𝐾𝑣
temos,
𝐾𝑣 = lim𝑧→1
(1 − 𝑧−1)𝐺(𝑧)
𝑇
(6)
Finalmente, para o erro estático de aceleração temos:
𝑅(𝑧) = 𝑇2(1 + 𝑧−1)𝑧−1
2(1 − 𝑧−1)3
𝑒𝑠𝑠 = lim𝑧→1
𝑇2
(1 − 𝑧−1)2𝐺(𝑧)=
1
𝐾𝑎
𝐾𝑎 = lim𝑧→1
(1 − 𝑧−1)2𝐺(𝑧)
𝑇2
(7)
7
Em resumo, temos:
Tabela 1: Expressões matemáticas para as constantes de erro estático
Constante de erro estático de posição 𝐾𝑝 = lim𝑧→1
𝐺(𝑧)
Constante de erro estático de velocidade 𝐾𝑣 = lim𝑧→1
(1 − 𝑧−1)𝐺(𝑧)
𝑇
Constante de erro estático de aceleração 𝐾𝑎 = lim𝑧→1
(1 − 𝑧−1)2𝐺(𝑧)
𝑇2
1.2 Tipos de Compensadores e Métodos de Projeto
Essencialmente, controlar um sistema consiste em acrescentar ou retirar polos
e/ou zeros de malha aberta, a fim de fazer com que o sistema apresente determinado
comportamento em malha fechada. Este comportamento é ditado pelos requisitos do
projeto, que podem ser com relação ao máximo sobre sinal, tempo de acomodação,
tempo de assentamento, erros de estados estacionários (observe pelas Eqs. (5), (6) e
(7)), entre outros.
A controlabilidade de um certo sistema é conseguida através do uso de
compensadores que podem ser de diversos tipos. Os tipos de controladores diferem
entre si quanto à suas funções de transferência, as quais podem prever o incremento de
um zero, a retirada de um polo ou o incremento de um zero e a retirada de um polo.
Cada tipo de compensador altera uma diferente característica do sistema.
Uma maneira de caracterizar os compensadores é quanto ao que ocorre com a
fase do sistema uma vez que este é inserido. Se a inserção de um compensador atrasa a
fase de um determinado sistema, este é chamado de compensador por atraso de fase.
Por outro lado, se um avanço da fase do sistema for observado, este é chamado de
compensador por avanço de fase.
Há casos especiais dos compensadores de avanço e atraso que são especialmente
interessantes. São estes, os compensadores proporcionais derivativos – um caso especial
do compensador por avanço de fase – e os compensadores proporcionais integrais – um
caso especial do compensador por atraso de fase, assim como outros tão comuns e
utilizados quanto.
Em tempo discreto, são utilizados os mesmos tipos de controladores de tempo
contínuo.
Ao realizar-se os projetos para obtê-los, porém, algumas alterações devem ser
feitas aos procedimentos tomados em tempo contínuo, a fim de que um compensador
em tempo discreto possa ser projetado.
8
Felizmente estas alterações são feitas apenas em etapas anteriores ao início do
projeto, o que faz com que os métodos para projetar compensadores em tempo
contínuo possam ser estendidos para tempo discreto sem alterações. Isso acontece
porque a equação característica das funções de transferência em tempo contínuo tem a
mesma forma que quando em tempo discreto.
Assim, em tempo contínuo e discreto, utiliza-se, principalmente os seguintes
métodos: método baseado no lugar geométrico das raízes e métodos baseados na
resposta em frequência.
Neste relatório iremos abordar o projeto de compensadores baseados apenas no
método do lugar geométrico das raízes.
A forma geral dos compensadores que são projetados neste relatório são
brevemente apresentadas a seguir:
Compensador por Avanço de Fase:
𝐺𝐶(𝑧) = 𝐾𝐶
𝑧 + 𝛼
𝑧 + 𝛽
(8)
Compensador Proporcional Derivativo – PD:
𝐺𝐶(𝑧) = 𝐾𝐶
𝑧 + 𝛼
𝑧
(9)
Compensador Proporcional Integral – PI:
𝐺𝐶(𝑧) = 𝐾𝐶
𝑧 + 𝛼
𝑧 − 1
(10)
Compensador Proporcional Integral Derivativo – PID:
𝐺𝐶(𝑧) = 𝐾𝐶 [𝑧 − 𝛼′
𝑧] [
𝑧 + 𝛼′′
𝑧 − 1]
(11)
Note que os valores de KC e α são diferentes em cada compensador, embora
tenham sido denotados na mesma maneira.
9
1.3 Justificativa, Objetivos Gerais e Específicos
Antes de iniciarmos o projeto dos compensadores, vejamos a necessidade da
inserção destes no sistema que estamos trabalhando.
Comecemos avaliando a estabilidade da função de transferência pulsada (dada
pela Eq. (4)), em malha fechada, através do método gráfico do lugar geométrico das
raízes (obtido pelo MATLAB). Escolhendo 𝑇 = 0,006 𝑠 (e mais adiante veremos o porquê
desta escolha), obtemos o que é mostrado na Figura 3a.
Figura 3 – (a) Gráfico do lugar geométrico das raízes para o sistema não compensado. Vemos
que o sistema é estável para o ganho da planta; (b) Resposta ao degrau unitário do sistema
não compensado
Uma vez que o lugar geométrico das raízes passa por dentro do círculo unitário,
sabemos que existem valores de ganho que multiplicam este sistema e que não o tornam
instável. Em outras palavras, para certos valores de ganho este sistema pode ser estável
ou instável. Para ganho nenhum, apenas o ganho da planta (𝐾), temos que o sistema é
estável. Desta forma, qual a necessidade de se compensar estes sistema dado que ele já
se mostra estável sem ganho ou compensação alguma?
Analisemos a resposta ao degrau unitário deste sistema, que é mostrada na
Figura 3b.
Neste momento é que entra em questão os requerimentos do projeto aos quais
fizemos menção anteriormente. Se supormos que estamos interessados em controlar
este servomecanismo com um máximo sobre sinal (Mp) e um tempo de pico (tp) bem
baixos, é possível que alguém nos questione sobre, o que é considerado um Mp ou um
tp, pequenos. Claro porque enquanto um sobre sinal de 5% pode ser aceitável, para
outros não. E o mesmo vale para qualquer outro requerimento.
10
Voltando ao nosso sistema não compensado. Digamos que temos um Mp
desprezível e um tp de aproximadamente 4 segundos. Se estes valores estiverem dentro
das especificações de projeto, não precisamos projetar compensador algum. Contudo,
em um projeto, em geral são tantas as variáveis em que se está interessado obter valores
específicos, que dificilmente um sistema não compensado poderia atender a todas ao
mesmo tempo. Lembramos também que há sistema que só se tornam estáveis com a
inserção e compensadores.
Por estas e muitas outras razões é que os compensadores exercem papel
indispensável em qualquer sistema de controle.
No experimento que este relatório descreve, buscamos projetar diferentes tipos
de compensadores (avanço, proporcional derivativo, proporcional integral e
proporcional integral derivativo) através do método do lugar geométrico das raízes. Os
compensadores foram aplicados à planta e analisados quanto aos requisitos do projeto,
através de simulação e posteriormente através de implementação no servomecanismo
da Quanser, SRV02. Todos os compensadores serão discutidos e comparados entre si.
Os requerimentos de projeto são:
𝑀𝑝 = 5% 𝑒 𝑡𝑝 = 0,2 𝑠 𝑒 𝑒𝑠𝑠 = 0
onde o erro de estado estacionário, ess, é de posição, e não precisa ser necessariamente
nulo, mas minimizado ou seja, o menor possível.
Além destes requerimentos, temos outro que diz respeito à segurança do
equipamento que estamos utilizando. O fabricante deste equipamento determina que a
tensão de saída não ultrapasse o valor de 10V pico-à-pico. Desta forma, este passa a ser
outro requerimento de projeto ao qual devemos estar atentos.
A seguir são descritos os nossos objetivos específicos:
Projetar, simular e implementar um compensador por avanço de fase que
respeite os requerimentos no domínio do tempo;
Projetar, simular e implementar um compensador PD que controla a posição do
eixo de cargo do servomotor conforme os requerimentos no domínio do tempo;
Projetar, simular e implementar um compensador PI que controla a posição do
eixo de cargo do servomotor conforme os requerimentos no domínio do tempo;
Projetar, simular e implementar um compensador PID para rastreamento de um
sinal de referência rampa;
Simular os controladores por avanço de fase, PD, PI e PID utilizando o modelo
desenvolvido da planta e garantir que as especificações foram satisfeitas sem que
o atuador seja saturado; e
Implementar os controladores no dispositivo SRV02 da Quanser e avaliar seu
desempenho.
11
2 DESENVOLVIMENTO
2.1 Determinação do Período de Amostragem e Polo Desejado
Afim de atender os requerimentos de projeto, devemos obter um coeficiente de
amortecimento, ζ, e uma frequência natural, ωd, adequadas. Fazemos isso através das
expressões
𝜁 = −𝑙𝑛𝑀𝑝
√𝜋2 + (ln 𝑀𝑝)2
(12)
𝜔𝑑 = 𝜋
𝑡𝑝
(13)
A frequência de ressonância correspondente também pode ser obtida, através
de
𝜔𝑛 = 𝜔𝑑
√1 − 𝜁2
(14)
Utilizando as Eqs. (12), (13) e (14), e os valores de requerimento de projeto que
foram apresentados na INTRODUÇÃO deste relatório, obtemos:
𝜁 = 0,6901 𝜔𝑑 = 15,7080 𝑟𝑎𝑑/𝑠 𝜔𝑛 = 21,7049 𝑟𝑎𝑑/𝑠
Tratando agora da escolha da taxa de amostragem, esta deve sempre levar em
consideração o critério de Nyquist, segundo o qual, a frequência de amostragem (ω)
deve ser sempre, no mínimo, duas vezes maior que a maior frequência presente no sinal
amostrado. Obedecendo-se este critério, garante-se que não ocorra um fenômeno
conhecido por “aliasing”. Este fenômeno, provocado por amostragem indevidas de um
sinal contínuo, faz com que o sinal amostrado não possa ser reconstruído de maneira
correta.
De maneira prática, o período de amostragem (T) não é escolhido como sendo
aquele que respeita estritamente o critério de Nyquist. Por vários motivos, as taxas de
amostragem são escolhidas de acordo com regras práticas de projeto.
Em diversas referências é possível encontrar regras de projeto que permitem, a
partir de certos parâmetros, escolher qual o melhor período de amostragem para o
projeto. OGATA [2], por exemplo, apresenta uma regra de projeto que determina que a
frequência de amostragem (inverso do período de amostragem) escolhida seja sempre
de 10 à 20 vezes maior que a maior frequência presente no sinal ou no sistema com o
qual se está trabalhando. FADALI [3], por outro lado, apresenta outra proposta. Segundo
este autor, esta faixa de escolha deve se situar entre 5 à 10 vezes, apenas.
12
Este último autor ainda, apresenta outra alternativa. Segundo ele pode-se fazer
a escolha da frequência de amostragem com base na frequência natural amortecida (ωd)
do sistema em que se está interessado em obter. Esta regra de projeto determina que a
frequência de amostragem, ω, deve ser de 35 à 70 vezes maior que a frequência natural
amortecida, ωd, do sistema. Desta forma, utilizando o valor desta frequência que
apresentamos há pouco e que foi calculado com base nos requerimentos de projeto que
estamos obedecendo, obtemos a seguinte faixa de valores de taxa de amostragem:
5,71 ≤ 𝑇 ≤ 11,43, 𝑐𝑜𝑚 𝑇 𝑒𝑚 𝑚𝑠
Escolhemos, de forma arbitrária, o período de amostragem como sendo 𝑇 =
6 𝑚𝑠 (tal qual fizemos na introdução deste relatório). Utilizaremos este valor no decorrer
deste relatório, a menos que esta precise ser alterada por razões que veremos mais
adiante.
Agora, uma vez escolhido o período de amostragem, analisemos a questão do
polo desejado.
Avaliando primeiramente o plano s, temos que o polo, sd, desejado de malha
fechada, ou seja, o polo dominante que queremos que exista no sistema em malha
fechada após este ser compensado, de maneira que tenhamos o comportamento
adequado pelos requerimentos do projeto, é dado por
𝑠𝑑1,2= −𝜁𝜔𝑛 ± 𝑗𝜔𝑑
E, utilizando os valores de ζ, ωn e ωd, que calculamos há pouco, obtemos:
𝑠𝑑1,2= −14,9786 ± 15,7080
Se estivéssemos lidando com um problema de projeto de compensador em
tempo contínuo, bastaria agora que aplicássemos alguma técnica apropriada como as
que já mencionamos anteriormente (lugar geométrica das raízes, por exemplo) sobre
este polo desejado, para que o problema fosse resolvido. No entanto, como estamos
lidando com projetos em tempo discreto, devemos antes nos posicionar sobre o plano
z, e obter o polo desejado equivalente, neste plano.
Esta transformação se dá de forma muito simples, através da igualdade que
relaciona o plano s e o plano z. Assim:
13
𝑧𝑑1,2= 0,9100 ± 𝑗0,0860
Finalmente, podemos seguir com as técnicas padrão aplicáveis ao plano s, sem
alteração alguma, para obtermos os compensadores desejados.
2.2 Determinação da Função de Transferência Pulsada do
Servomecanismo
Apenas fazendo a substituição dos valores de K e τ, anteriormente apresentados,
e do valor de T, escolhido, na Eq. (4), podemos obter a função de transferência pulsada
do sistema que estamos trabalhando. Assim:
𝐺(𝑧) = 1,003. 10−3 (𝑧 + 0,9253)
(𝑧 − 1)(𝑧 − 0,7896)
(15)
2.3 Projeto dos Compensadores
A seguir, apresentamos o projeto dos compensadores que foram utilizados nesta
prática. Descrevemos cada passo para a obtenção dos polos, zeros e ganhos dos
compensadores. Além disso, apresentamos o algoritmo desenvolvido para facilitar este
procedimento de projeto. Em uma seção posterior apresentaremos as simulações e
implementações.
2.3.1 Compensador por Avanço de Fase - Método do Lugar Geométrico das
Raízes (LGR)
No projeto de compensadores por avanço de fase, baseado na metodologia do
lugar geométrico das raízes, iniciamos localizando os polos e zeros do sistema de malha
aberta, juntamente com o polo desejado (de malha fechada) que se encontra acima do
eixo real, todos no mesmo plano z, da maneira como mostra a Figura 4a.
Se traçarmos uma reta que liga cada polo e zero do sistema de malha aberta até
o polo desejado, e aceitarmos que a medida de um ângulo positiva é feita em sentido
anti-horário, partindo-se do eixo real, podemos obter a contribuição angular (θ1, φ1 e
φ2) de cada polo e zero do sistema de malha aberta.
14
Temos que para um polo, zk, se tornar polo dominante de um sistema em malha
fechada, precisamos que duas condições sejam satisfeitas:
Figura 4 – (a) Localização dos polos e zeros de malha aberta juntamente com o polo desejado
(malha fechada), no plano z. Na figura é mostrada a contribuição angular de cada polo e zero
de malha aberta; (b) Localização do polo e zero do compensador, juntamente com as
contribuições angulares necessárias para o cálculo da localização exata do polo
𝐾𝐶 = 1
|𝐺′𝐶(𝑧𝑘)𝐺(𝑧𝑘)|
(16)
𝑎𝑛𝑔(𝐺′𝐶(𝑧𝑘)𝐺(𝑧𝑘)) = ± 180°
(17)
15
onde 𝐺′𝐶(𝑧𝑘) é a função de transferência do compensador por avanço de fase, dada
pela Eq. (8), sem o ganho e aplicada ao polo desejado, zk, e 𝐺(𝑧𝑘) é a função de
transferência pulsada do servomecanismo, aplicada ao polo desejado, zk. No caso
presente, o polo desejado é zd.
Como o ganho KC pode assumir qualquer valor, de 0 à ∞, temos que sempre
existira um valor de KC que satisfaça a Eq. (16). Assim, para que zd esteja sobre o LGR
basta que a Eq. (17) seja satisfeita.
Assim, fazemos:
𝜃1 − 𝜑1 − 𝜑2 = 2,62° − 171,84° = −169,16°
onde os ângulos foram calculados por regras simples de trigonometria.
Portanto, temos que, para que a condição da Eq. (17) seja satisfeita é necessário
que o polo e o zero adicionados pelo compensador contribuam com um ângulo δ:
𝛿 = 169,16° − 180° = −10,84°
Como zero do compensador, escolhemos um tal que elimine o polo que está
situado mais próximo da unidade, mas que seja ao mesmo tempo diferente desta. Assim,
pela Eq. (15), vemos que α, da Eq. (8) deve ser igual à, de forma que o polo em 𝑧 =
0,7896 seja eliminado.
Feito isso, resta-nos determinar a localização do polo (o valor de β da Eq. (8)).
Para isso, determinemos a contribuição angular do zero que foi adicionado tal qual
ilustra a Figura 4b. Com isso, simples cálculos trigonométricos e de álgebra mostram que,
o ângulo (𝜑) de contribuição do polo que vamos adicionar, deve ser de:
𝜑 = 180° − (𝛿 + 180° − 𝜑2) = 𝜑2 − 𝛿 = 265,8°
Com isso:
tan 𝜑 = 𝐼𝑚𝑔{𝑧𝑑}
𝑧𝛽 + 𝑅𝑒{𝑧𝑑} ⇒ 𝑧𝛽 = 0,8280 ⇒ 𝛽 = −0,8280
Note que 𝑧𝛽 < 𝑧𝛼. Isso é necessário para que o compensador possa ser chamado
de avanço de fase. Quando acontece o contrário, temos um compensador por atraso de
fase.
Portanto, até o momento temos o controlador da seguinte maneira:
𝐺𝐶(𝑧) = 𝐾𝐶
(𝑧 − 0,7896)
(𝑧 − 0,8280) 𝑜𝑢 𝐺′𝐶(𝑧) =
(𝑧 − 0,7896)
(𝑧 − 0,8280)
Para determinar o valor do ganho do compensador, basta que apliquemos a
condição de módulo apresentada na Eq. (16). Desta forma:
𝐾𝐶 = |1,003. 10−3(𝑧𝑑 + 0,9253)|
|(𝑧𝑑 − 1)(𝑧𝑑 − 0,8280)|= 8,0257
16
Finalmente, temos a estrutura do compensador por avanço de fase, projetado
com base no método do LGR:
𝐺𝐶(𝑧) = 8,0257(𝑧 − 0,7896)
(𝑧 − 0,8280)
(18)
Plotando o LGR do sistema compensado de malha fechada, devemos ter em
ganho K=0, o polo dominante como sendo aquele que determinamos como desejado,
zd, como mostra a Figura 5.
Figura 5 – Lugar geométrico das raízes para o sistema compensado. T = 6ms
ALGORITMO
O que foi apresentado até aqui para o projeto do compensador, é apenas uma
primeira etapa. Isto porque, ao ser simulado ou mesmo implementado, este
17
compensador pode não fazer com que o sistema satisfaça as condições determinadas
pelos requerimentos de projeto. Isso se deve, principalmente, às escolhas arbitrárias que
estão associadas à esta metodologia (escolha do período de amostragem, ou zero do
compensador). Assim, muitas vezes, depois de simulado, verifica-se que o compensador
precisa ser modificado, e todo o procedimento descrito acima precisa ser repetido.
Para facilitar este processo, visto que ele pode se repetir mais de uma vez, um
algoritmo computacional pode ser desenvolvido para que isso seja feito de forma rápida
e prática. A seguir, mostramos o código que desenvolvemos no software MATLAB®, para
o compensador por avanço de fase.
%TÍTULO: Função que projeta um compensador por avanço de fase através
do %método do LGR %DATA: 15/06/2013 %OBSERVAÇÕES: - num -> numerador da planta % - den -> denominador da planta % - tp -> tempo de pico requerido % - Mp -> máximo sobre-sinal requerido function Proj_comp(num,den,tp,Mp,t_f)
close all clc; format long;
% Cálculo do intervalo de T para atender aos requisitos xi = -log(Mp/100)/(sqrt(1+((log(Mp/100))^2))); wd = pi/tp; wn = wd/sqrt(1-xi^2);
maxT = 2000*pi/(35*wd); minT = 2000*pi/(70*wd);
maxT = num2str(maxT,4); minT = num2str(minT,4);
S1 = ' <= T <= '; S2 = ' , T em ms.';
% Pede ao usuário que escolha um período de amostragem disp('Intervalo para o período de amostragem, T: ') fprintf('\n') disp([minT S1 maxT S2]) fprintf('\n') T = input('Escolha um valor para T (ms): ')/1000; fprintf('\n')
% Cálculo do ponto de operação no plano z sd = -xi*wn + wd*i; zd = exp(T*sd);
% FT da Planta disp('Função de Transferência em s da planta') G1 = tf(num,den)
18
% Segurador de Ordem Zero % Gh(s)=(1-e^{-Ts})/s
% FT pulsada da planta disp('Função de Transferência Pulsada em z da planta') G1 = c2d(G1,T)
% Polos e zeros de G1 [num_G1,den_G1]=tfdata(G1,'v'); zeros = roots(num_G1); polos = roots(den_G1);
% Determinação do ângulo a ser compensado soma_theta = 0; for k=1:max(size(zeros)), theta = atan(imag(zd)/(real(zd)-zeros(k)))*180/pi; if zeros(k) < real(zd), soma_theta = soma_theta + theta; else soma_theta = soma_theta + 180 + theta; end end soma_phi = 0; for k=1:max(size(polos)), phi = atan(imag(zd)/(real(zd)-polos(k)))*180/pi; if polos(k) < real(zd), soma_phi = soma_phi + phi; else soma_phi = soma_phi + 180 + phi; end end delta = -(soma_theta - soma_phi + 180);
% Compensador por avanço de fase: % Gc(z) = Kc (z+alpha)/(z+beta)
% Determinação do alpha do compensador alpha = -1000; for j=1:max(size(polos)), if 1-polos(j) < 1-alpha && 1-polos(j) ~= 0, alpha = -polos(j); end end
% Determinação do beta do compensador theta = atan(imag(zd)/(real(zd)-(-alpha)))*180/pi; if (-alpha) > real(zd), theta = 180 + theta; end phi_beta = theta - delta; z_beta = real(zd) - (imag(zd)/tan(phi_beta*pi/180)); beta = -z_beta;
% Determinação do ganho Kc do compensador Gc = tf([1 alpha],[1 beta]); G1_m = tf(num_G1,den_G1); G = G1_m*Gc; Kc = 1/abs(evalfr(G,zd));
19
fprintf('\n') disp('Função de Transferência do compensador') Gc = Kc*Gc
2.3.2 Compensador PD - Proporcional Derivativo
A construção do compensador proporcional derivativo é mais simples, e segue
apenas dois passos simples.
Primeiramente escolhemos o zero do compensador, seguindo o mesmo critério
que foi adotado para a escolha do zero do compensador por avanço de fase, o mais
próximo da unidade, mas diferente desta. Isto define o valor do 𝛼 da Eq. (9). Portanto,
como definimos o zero do compensador PD como (𝑧 + 𝛼), temos que 𝛼 = −0,7896.
O valor de KC, pode ser definido tal qual o foi no compensador por avanço de
fase, fazendo-se uso da Eq. (16), assim:
𝐾𝐶 = |𝑧𝑑(𝑧𝑑 − 1)|
|1,003. 10−3(𝑧𝑑 + 0,9253)|= 61,7447
Desta forma, ficamos com o compensador na seguinte forma:
𝐺𝐶(𝑧) = 61,7447(𝑧 − 0,7896)
𝑧
(19)
ALGORITMO
Para o compensador PD o algoritmo de projeto ficou da seguinte forma:
%TÍTULO: Função que projeta um compensador PD %DATA: 15/06/2013 %OBSERVAÇÕES: - num -> numerador da planta % - den -> denominador da planta % - tp -> tempo de pico requerido % - Mp -> máximo sobre-sinal requerido function Proj_comp_PD(num,den,tp,Mp)
close all clc; format long;
% Cálculo do intervalo de T para atender aos requisitos xi = -log(Mp/100)/(sqrt(1+((log(Mp/100))^2))); wd = pi/tp; wn = wd/sqrt(1-xi^2);
maxT = 2000*pi/(35*wd); minT = 2000*pi/(70*wd);
20
maxT = num2str(maxT,4); minT = num2str(minT,4);
S1 = ' <= T <= '; S2 = ' , T em ms.';
% Pede ao usuário que escolha um período de amostragem disp('Intervalo para o período de amostragem, T: ') fprintf('\n') disp([minT S1 maxT S2]) fprintf('\n') T = input('Escolha um valor para T (ms): ')/1000; fprintf('\n')
% Cálculo do ponto de operação no plano z sd = -xi*wn + wd*i; zd = exp(T*sd);
% FT da Planta disp('Função de Transferência em s da planta') G1 = tf(num,den)
% Segurador de Ordem Zero % Gh(s)=(1-e^{-Ts})/s
% FT pulsada da planta disp('Função de Transferência Pulsada em z da planta') G1 = c2d(G1,T)
% Polos e zeros de G1 [num_G1,den_G1]=tfdata(G1,'v'); zeros = roots(num_G1); polos = roots(den_G1);
% Determinação do alpha do compensador alpha = -1000; for j=1:max(size(polos)), if 1-polos(j) < 1-alpha && 1-polos(j) ~= 0, alpha = -polos(j); end end
% Determinação do ganho Kc do compensador Gc = tf([1 alpha],[1 0]); G1_m = tf(num_G1,den_G1); G = G1_m*Gc; Kc = 1/abs(evalfr(G,zd));
fprintf('\n') disp('Função de Transferência do compensador') Gc = Kc*Gc
21
2.3.3 Compensador PI - Proporcional Integral
A construção do compensador proporcional integral é semelhante ao que foi
feito para o proporcional derivativo, com a diferença de que a forma deste compensador
é diferente, apresentando um polo na unidade ao invés da origem.
Para 𝛼 escolhemos novamente 𝛼 = −0,7896, pela mesma razão que nos outros
compensadores.
O valor de KC, pode ser definido tal qual o foi nos compensadores anteriores,
fazendo-se uso da Eq. (16), assim:
𝐾𝐶 = |(𝑧𝑑 − 1)2|
|1,003. 10−3(𝑧𝑑 + 0,9253)|= 8,4102
Desta forma, ficamos com o compensador na seguinte forma:
𝐺𝐶(𝑧) = 8,4102(𝑧 − 0,7896)
(𝑧 − 1)
(20)
ALGORITMO
Para o compensador PI o algoritmo de projeto ficou da seguinte forma:
%TÍTULO: Função que projeta um compensador PI %DATA: 15/06/2013 %OBSERVAÇÕES: - num -> numerador da planta % - den -> denominador da planta % - tp -> tempo de pico requerido % - Mp -> máximo sobre-sinal requerido function Proj_comp_PI(num,den,tp,Mp)
close all clc; format long;
% Cálculo do intervalo de T para atender aos requisitos xi = -log(Mp/100)/(sqrt(1+((log(Mp/100))^2))); wd = pi/tp; wn = wd/sqrt(1-xi^2);
maxT = 2000*pi/(35*wd); minT = 2000*pi/(70*wd);
maxT = num2str(maxT,4); minT = num2str(minT,4);
S1 = ' <= T <= '; S2 = ' , T em ms.';
% Pede ao usuário que escolha um período de amostragem
22
disp('Intervalo para o período de amostragem, T: ') fprintf('\n') disp([minT S1 maxT S2]) fprintf('\n') T = input('Escolha um valor para T (ms): ')/1000; fprintf('\n')
% Cálculo do ponto de operação no plano z sd = -xi*wn + wd*i; zd = exp(T*sd);
% FT da Planta disp('Função de Transferência em s da planta') G1 = tf(num,den)
% Segurador de Ordem Zero % Gh(s)=(1-e^{-Ts})/s
% FT pulsada da planta disp('Função de Transferência Pulsada em z da planta') G1 = c2d(G1,T)
% Polos e zeros de G1 [num_G1,den_G1]=tfdata(G1,'v'); zeros = roots(num_G1); polos = roots(den_G1);
% Determinação do alpha do compensador alpha = -1000; for j=1:max(size(polos)), if 1-polos(j) < 1-alpha && 1-polos(j) ~= 0, alpha = -polos(j); end end
% Determinação do ganho Kc do compensador Gc = tf([1 alpha],[1 -1]); G1_m = tf(num_G1,den_G1); G = G1_m*Gc; Kc = 1/abs(evalfr(G,zd));
fprintf('\n') disp('Função de Transferência do compensador') Gc = Kc*Gc
2.3.4 Compensador PID - Proporcional Integral Derivativo
A forma do compensador PID é dada pela Eq. (11). Uma vez que já projetamos os
compensadores PD e PI, temos de forma direta o valor dos parâmetros (zeros) α’ e α’’.
Por inspeção direta, vemos que α’ é equivalente ao α do compensador PD, já calculado,
ou seja, 𝛼′ = −0,7896. Além disso, como sabemos, α’ = α’’.
Finalmente resta-nos efetuar o cálculo do ganho do compensador. Aplicando
novamente o critério de módulos dado pelo Eq. (16), temos:
23
𝐾𝐶 = |𝑧𝑑(𝑧𝑑 − 1)2|
|1,003. 10−3(𝑧𝑑 + 0,9253)(𝑧𝑑 − 0,7896)|= 51,9522
Finalmente, ficamos com a seguinte forma do controlador:
𝐺𝐶(𝑧) = 51,9522 [𝑧 − 0,7896
𝑧] [
𝑧 − 0,7896
𝑧 + 1]
(21)
ALGORITMO
Para o compensador PID o algoritmo de projeto ficou da forma como se segue.
Note que este algoritmo funciona uma vez que tanto o compensador PD como o PI já
tenham sido projetados. Assim:
%TÍTULO: Função que projeta um compensador PID %DATA: 15/06/2013 %OBSERVAÇÕES: - num -> numerador da planta % - den -> denominador da planta % - alpha_PD -> zero do comp. PD % - alpha_PI -> zero do comp. PI % - tp -> tempo de pico requerido % - Mp -> máximo sobre-sinal requerido function Proj_comp_PID(num,den,alpha_PD,alpha_PI,tp,Mp)
close all clc; format long;
% Cálculo do intervalo de T para atender aos requisitos xi = -log(Mp/100)/(sqrt(1+((log(Mp/100))^2))); wd = pi/tp; wn = wd/sqrt(1-xi^2);
maxT = 2000*pi/(35*wd); minT = 2000*pi/(70*wd);
maxT = num2str(maxT,4); minT = num2str(minT,4);
S1 = ' <= T <= '; S2 = ' , T em ms.';
% Pede ao usuário que escolha um período de amostragem disp('Intervalo para o período de amostragem, T: ') fprintf('\n') disp([minT S1 maxT S2]) fprintf('\n') T = input('Escolha um valor para T (ms): ')/1000;
24
fprintf('\n')
% Cálculo do ponto de operação no plano z sd = -xi*wn + wd*i; zd = exp(T*sd);
% FT da Planta disp('Função de Transferência em s da planta') G1 = tf(num,den)
% Segurador de Ordem Zero % Gh(s)=(1-e^{-Ts})/s
% FT pulsada da planta disp('Função de Transferência Pulsada em z da planta') G1 = c2d(G1,T)
% Determinação do ganho Kc do compensador Gc = tf(conv([1 -alpha_PD],[1 -alpha_PI]),[1 -1 0]); [num_G1,den_G1]=tfdata(G1,'v'); G1_m = tf(num_G1,den_G1); G = G1_m*Gc; Kc = 1/abs(evalfr(G,zd));
fprintf('\n') disp('Função de Transferência do compensador') Gc = Kc*Gc
25
3 RESULTADOS E DISCUSSÕES
A seguir, nesta seção, apresentaremos os resultados das simulações para os
compensadores projetados na seção anterior. Alguns sofrerão modificações, em função
do que é observado na simulação. Os compensadores modificados são então
implementados, e o resultado desta implementação também pode ser visto nesta seção.
Devido ao tamanho das imagens que são apresentadas nesta seção, todas serão
reunidas em uma seção de ANEXOS, presente no final deste relatório.
Para entradas de onda quadradas, utilizou-se amplitude de 𝜋 36⁄ radianos,
frequência de 0,4Hz e tempo de simulação de 10 segundos. Para entradas de onda
triangular, alterou-se a amplitude para 𝜋 8⁄ radianos, mantendo-se a frequência e o
tempo de simulação.
3.1 Compensador por Avanço de Fase - Método do Lugar Geométrico
das Raízes
3.1.1 Simulações
Iniciamos simulando o compensador por avanço de fase da maneira como ele foi
projetado e está apresentado na Eq. (18). O resultado desta simulação pode ser visto na
Figura A1, para a entrada de onda quadrada e na Figura A2, para a entrada de onda
triangular. Ambas nos ANEXOS.
Calculando o tempo de pico (tp), máximo sobre sinal (Mp) e erro de estado
estacionário de posição (ess) do resultado da simulação, obtemos 𝑡𝑝 = 0,20𝑠, 𝑒𝑠𝑠 =
9,13 10−7 ≈ 0 𝑒 𝑀𝑝 = 16,66%. Vemos que apenas o erro de estado estacionário está
dentro do requerimento.
Pelos gráficos inferiores das mesmas figuras, A1 e A2, vemos que a tensão não
excedeu 10V pico-à-pico, limite estabelecido pelo fabricante do servomecanismo. Desta
forma, não há razões para que este compensador seja melhorado neste sentido.
Como é sabido, esta é a segunda versão deste relatório. Na primeira, um erro de
cálculo para obter o valor de ζ, prejudicou todos os projetos subsequentes. No entanto,
como o projeto destes compensadores é algo quase sempre baseado no método da
“tentativa e erro”, por assim dizer, não é espantoso que, mesmo baseado em um valor
de ζ diferente do que o que realmente queríamos, os resultados obtidos anteriormente
foram melhores do que os obtidos agora.
Desta maneira, vamos aproveitar os resultados do relatório anterior na
implementação.
O compensador projetado anteriormente possuía a forma:
26
𝐺𝐶(𝑧) = 34,77(𝑧 − 0,7896)
(𝑧 − 0,5364)
e as características do sistema compensado por este compensador, eram: 𝑡𝑝 = 0,07𝑠,
𝑒𝑠𝑠 = 6,2 10−8 ≈ 0 𝑒 𝑀𝑝 = 4,8%. Vemos que todas as características estão dento dos
requerimentos.
As Figuras A3 e A4, mostram o resultado da simulação do compensador projetado
na versão anterior deste relatório.
3.1.2 Implementação
As Figuras A5 e A6, mostram o resultado da implementação do compensador por
avanço de fase, para a entrada quadrada e triangular, respectivamente.