Escolar Documentos
Profissional Documentos
Cultura Documentos
ESCOLA POLITÉCNICA
CURSO DE GRADUAÇÃO EM ENGENHARIA ELÉTRICA
MODELAGEM E CONTROLE DE UM
SISTEMA DE LEVITAÇÃO MAGNÉTICA
2008
UNIVERSIDADE FEDERAL DA BAHIA
ESCOLA POLITÉCNICA
CURSO DE GRADUAÇÃO EM ENGENHARIA ELÉTRICA
MODELAGEM E CONTROLE DE UM
SISTEMA DE LEVITAÇÃO MAGNÉTICA
SALVADOR
2008
ii
EBERTI RODRIGUES SILVA
Este Trabalho de Graduação foi julgado adequado para a obtenção do grau de Engenheiro
Eletricista e aprovado em sua forma final pela Comissão Examinadora e pelo Colegiado do
Curso de Graduação em Engenharia Elétrica da Universidade Federal da Bahia.
_____________________________
Cristiane Corrêa Paim
Coordenadora do Colegiado do
Curso de Engenharia Elétrica
Comissão Examinadora
_____________________________
Prof. Leizer Schnitman
_____________________________
Avaliador 1
_____________________________
Avaliador 2
_____________________________
Avaliador 3
iii
À minha avó Helena,
razão maior de eu tentar
ser um homem melhor.
iv
AGRADECIMENTOS
Primeiramente agradeço aos meus pais por me oferecer o conhecimento como prioridade em minha
vida e financiar tudo que esteve ao alcance deles para mim e meu irmão.
Meu irmão foi a peça fundamental depois dos meus pais para que eu esteja nesse caminho do qual
esse trabalho resume mais uma etapa.
À minha família inteira, dentre eles avôs e avós, primos e primas, tios e tias, que sabem do meu
esforço, que conhecem minha capacidade e que sempre me apóiam e comemoram comigo minhas
vitórias. À minha avó Helena em especial à quem dedico este trabalho.
Agradeço à todos os professores que passaram por minha vida, sem eles seria mais difícil aprender e
ser alguém. Em especial à Leizer Schnitman, por me orientar neste trabalho e em uma iniciação
científica em outro tempo, e a Jés de Jesus, orientador de outra iniciação científica em que também
pude tirar grandes aprendizados.
Aos meus amigos da universidade que passaram comigo boa parte do meu tempo, estudaram
comigo nos finais de semana, me ajudaram nas minhas dúvidas e que demos muitas risadas juntos.
Em especial a Andrei Firmino, Bruno Matos, Francisco Bacellar, Iuri Saldanha, Gabriel Assis, Joalbo
Borges, Juan Gonzalez e Lucas Deça.
Uma pessoa muito importante para o desenvolvimento desse trabalho e que se tornou meu amigo,
meu co-orientador Rafael Rebouças.
À Ruy Barros, meu supervisor de estágio na Mana Engenharia, que foi totalmente compreensivo
dada a importância do cumprimento desse trabalho.
v
“Grandes poderes trazem
grandes responsabilidades.”
vi
Resumo
Este trabalho mostra a modelagem em sistema de 2ª ordem e aplicação de técnicas de controle
clássicas num sistema de levitação magnética. Esse sistema faz parte do material de estudo do
Laboratório de Controle do Centro de Capacitação Tecnológica em Automação Industrial da Escola
Politécnica da Universidade Federal da Bahia. Este sistema é um kit didático da ECP (Educational
Control Products), modelo 730, e é operado e monitorado por software próprio da empresa. Com o
software ainda é possível exportar dados para trabalhar em Matlab®, o qual também foi utilizado
para este trabalho na modelagem do sistema e na proposta de sintonias de controle. Com os dados
adquiridos no sistema físico e com auxílio do manual de instruções do kit, um modelo é proposto
para o sistema de levitação através da técnica de linearização por compensação das não linearidades
do sistema, e então são feitas sintonias de controle clássico no modelo e implementados no sistema
real.
vii
LISTA DE FIGURAS
Figura 34: Lugar das raízes com os requisitos mínimos de projeto ....................................................................... 52
Figura 35: Lugar das raízes do controlador PD ..................................................................................................... 53
ix
LISTA DE TABELAS
x
LISTA DE SÍMBOLOS E SIGLAS
% – Percentual do momento de pico ou sobre sinal ou overshoot
– Parâmetro constante do modelo do atuador
– Parâmetro da não linearidade do atuador
ADC – Analogic Digital Converter
– Parâmetro constante do modelo do atuador
– Parâmetro da não linearidade do atuador
– Densidade de fluxo eletromagnético
– Atrito dinâmico
() – Transformada de Laplace da saída de um sistema de segunda ordem qualquer
DAC – Digital Analogic Converter
DSP – Digital Signal Process
– Parâmetro constante do modelo do sensor; erro entre medidas
– Erro em regime permanente
– Erro entre o sinal de referência e a saída do sistema
– Vetor erro
ECP – Educational Control Products
– Parâmetro constante do modelo do sensor; força magnética do atuador
– Função do sensor
!
– Inversa da função do sensor
" – Parâmetro constante do modelo do sensor; aceleração da gravidade
#() – Função de transferência do modelo dinâmico do levitador
h - Parâmetro constante do modelo do sensor
%() – Função de transferência de segunda ordem qualquer
& – Corrente elétrica
' – Função custo
'() – Função custo do Método de Monte Carlo
'((* – Função custo do Método dos Mínimos Quadrados
+ – Índice
+,- – Ganho de hardware
./ – Constante de erro estático de velocidade
.0 – Constante de erro estático de aceleração
.1 – Ganho proporcional
.2 – Ganho derivativo
.23 – Ganho derivativo digital
.4 – Ganho integral
.4 – Ganho integral digital
xi
5 – Comprimento do solenóide
LED – Ligth Emissor Diode
6 – Massa do disco magnético ou unidade de distância [metro]
7 – Parâmetro constante do modelo do atuador; relação espiras por unidade de
comprimento do solenóide; índice
8 – Número de espiras do solenóide; número de elementos; unidade de força [Newton]
PC – Personal Computer
PCI – Peripheral Component Interconnect
9 – Variável qualquer
Q – Vetor qualquer
; – Sinal de referência
<() – Transformada de Laplace do sinal de referência
< – Raio do solenóide
– Variável da transformada de Laplace; unidade de tempo [segundo]
SI – Sistema Internacional de Medidas
SISO – Single Input Single Output
=> – Tempo de pico
= – Tempo de assentamento
? – Tempo de amostragem do Executive Program
@ – Esforço de controle medido
@ABC4CD – Esforço de controle medido
@ADCBED – Esforço de controle obtido pelo modelo
@A – Esforço de controle obtido pelo modelo
@F – Raiz de quarta potência do esforço de controle
@G – Esforço de controle que sai do controlador PID
@C – Contribuição do esforço de controle devido ao controlador derivativo
@4 – Contribuição do esforço de controle devido ao controlador integral
@> – Contribuição do esforço de controle devido ao controlador proporcional
H – Vetor que representa os valores dos esforços de controle
HA – Vetor que representa os valores dos esforços de controle do modelo
HF – Vetor dos valores de uF
J() – Transformada de Laplace da entrada em um sistema de segunda ordem qualquer
L – Altura do disco em metros
LM – Derivada da altura do disco em metros
LN – Segunda derivada da altura do disco em metros
O() – Transformada de Laplace da altura do disco em metros
L! – Altura do disco em centímetros
xii
O! – Vetor com valores de y!
yQ – Leitura do sensor
O – Matriz com as variáveis independentes de yQ
yR – Altura do sensor em counts
OA – Matriz com os valore de yR
O – Vetor que representa os valores de f(y! + b)F
V – Matriz com os valores dos parâmetros e, f, g e h
VY – Matriz com os valores dos parâmetros e, f, g e h estimados
Z[ – Constante de permeabilidade do espaço livre
\ – Parte real da variável complexa
] – Coeficiente de amortecimento
^C – Freqüência natural amortecida
^_ – Freqüência natural
xiii
SUMÁRIO
1. Introdução ....................................................................................................................................... 1
1.1. Sistema de Levitação Magnética ............................................................................................. 1
1.1.1. Kit de Levitação Magnética ............................................................................................. 2
1.1.2. Funcionamento ............................................................................................................... 4
1.1.3. Considerações Gerais ...................................................................................................... 5
2. Calibração do Sensor ....................................................................................................................... 6
2.1. Análise do Comportamento do Sensor ................................................................................... 6
2.2. Estimação Paramétrica ............................................................................................................ 8
2.3. Validação dos Parâmetros ..................................................................................................... 11
3. Calibração do Atuador ................................................................................................................... 14
3.1. Funcionamento do Atuador .................................................................................................. 14
3.2. Análise do Atuador ................................................................................................................ 16
3.3. Estimação Paramétrica do Atuador....................................................................................... 18
3.3.1. Estimação Pelo Método de Monte Carlo ...................................................................... 19
3.3.2. Estimação Pelo Método dos Mínimos Quadrados ........................................................ 24
3.3.3. Comparação Entre os Métodos ..................................................................................... 27
3.4. Validação do Modelo............................................................................................................. 29
4. Identificação do Modelo ............................................................................................................... 30
4.1. Tratamento das Não Linearidades do Atuador e do Sensor ................................................. 30
4.2. Subsistema Dinâmico da Planta ............................................................................................ 31
4.3. Sistema de Levitação Magnética em Diagrama de Blocos .................................................... 33
4.4. O Sistema Linearizado ........................................................................................................... 35
4.5. Validação do Modelo............................................................................................................. 40
5. Controle do Sistema de Levitação Magnética ............................................................................... 43
5.1. Controlador P ........................................................................................................................ 43
5.2. Controlador PD ...................................................................................................................... 47
5.3. Controlador PID ..................................................................................................................... 54
5.4. Outros Tipos de Entradas ...................................................................................................... 58
5.5. Considerações Sobre os Controladores................................................................................. 60
6. Conclusão e Considerações Finais ................................................................................................. 61
6.1. Sugestão de Trabalhos Futuros ............................................................................................. 61
7. Bibliografia..................................................................................................................................... 62
ANEXOS ................................................................................................................................................. 63
xiv
ANEXO A – Método dos Mínimos Quadrados ................................................................................... 63
ANEXO B – Algoritmos Matlab® ........................................................................................................ 66
ANEXO C – Implementação dos Controladores ................................................................................ 81
xv
1. Introdução
A modelagem de sistemas é importante para que se conheça o comportamento de determinado
processo. A modelagem de um sistema, de forma resumida, é o sistema real existente descrito
através de equações matemáticas, utilizando de ferramentas e propriedades dessa ciência para
facilitar o estudo do sistema. Com o modelo do sistema obtido matematicamente, é possível prever,
através de simulações sobre o modelo obtido, o seu comportamento quando submetido a uma
entrada conhecida.
A modelagem é importante principalmente para o projeto e implementação de controle no
sistema. Quando se tem o modelo de um sistema, os controladores podem ser calculados através de
alguma teoria, tratando o modelo matemático como um sistema em ambiente virtual. Após o projeto
de controle nesse ambiente, este é posto no sistema real que, quando o modelo define bem o
sistema, os comportamentos do sistema real e virtual se aproximam.
O controle faz-se necessário em um sistema quando se deseja este tenha um comportamento
desejado. O controle em questão é o controle em malha fechada, em que não é necessária a
intervenção humana para que seja controlada uma variável, sendo feito tudo computacionalmente, o
que poupa o serviço humano de trabalhos cansativos ou perigosos. O projeto de controle e sua
implementação é de fundamental importância nesses projetos.
Utilizando de um kit didático de um sistema de levitação magnética, esse trabalho tem como
objetivo mostrar a modelagem de um sistema e através desse modelo encontrado propor
controladores, bem como utilizar os ganhos do controlador encontrados em ambiente virtual para
implementar no sistema.
Ainda neste capítulo será feita uma breve identificação do sistema de levitação utilizado para a
realização deste trabalho. No capítulo 2 o sensor é tratado de forma que parâmetros do seu modelo
sejam encontrados para a sua calibração. No capítulo 3 o atuador é quem é calibrado, tendo
parâmetros do seu modelo encontrados para essa finalidade. O sistema de levitação é então
modelado no capítulo 4, onde são utilizadas a calibração do sensor e do atuador encontradas nos
capítulos anteriores. No capítulo 5 são propostos e implementados alguns controladores clássicos, e
o comportamento do sistema é observado com tais controladores. No capítulo 6 se tem a conclusão
sobre os resultados obtidos no decorrer deste trabalho.
1
Na Figura 1, a foto do kit didático em que este trabalho foi desenvolvido tem suas partes
fundamentais identificadas.
Neste capítulo estão descritas brevemente as partes da planta identificadas na Figura 1 e outras
também importantes para realização do trabalho, juntamente com uma descrição resumida do
funcionamento do kit didático. O sensor e o atuador são detalhados em capítulos específicos, com os
respectivos estudos realizados para o trabalho.
O sistema físico do kit de levitação magnética está mostrado na Figura 1, e mais detalhadamente
pode ser visualizado na Figura 2. Uma base com alças, para facilitar seu transporte, e com pés de
borracha, para e deixar a plataforma nivelada e o kit não sofrer impactos quando colocados sobre
alguma superfície, suportam o que será definido aqui como torre de levitação, o condicionador de
sinais e um suporte para disco magnético, vistos na Figura 2.
A torre de levitação é a planta do kit didático e é composta por: dois atuadores do tipo
solenóide, um na parte inferior e outro na parte superior; dois sensores de posicionamento do tipo
laser, um dentro de cada atuador; uma régua de referência em centímetros, com a menor divisão de
1 milímetro utilizada para mostrar a altura do disco magnético na parte física; um bastão de vidro
que atua como guia do disco magnético. Os LEDs indicam quando há corrente passando na bobina,
ficando na cor verde quando está em operação, e laranja quando tem uma sobre corrente. A planta é
o sistema dinâmico de estudo deste trabalho.
2
Figura 2: Planta do sistema de levitação magnética.
O condicionador de sinal é o lugar por onde a planta recebe e fornece os sinais de esforços de
controle e de informação do sensor, respectivamente. Esses sinais têm como fonte e destino o
sistema computacional de controle. O condicionador de sinais é ligado através de um cabo a uma
parte do kit denominada de blackbox.
O blackbox, por sua vez, se comunica com uma placa DSP (Digital Signal Process), localizada no
slot PCI de um computador pessoal, ou PC. O blackbox é uma caixa metálica que contém em seu
interior circuitos com função de amplificar e tratar os sinais enviados pelo DSP. O DSP é o
responsável pela troca de dados entre o computador e o sistema físico, digitalizando e processando
os sinais de saída e entrada do sistema para e da planta, ou seja, sinais enviados para os atuadores e
sinais recebidos dos sensores, realizando a tarefa de controle e aquisição de dados. E o computador,
um PC normal, atua como interface entre o DSP e o software do próprio kit didático, o Executive
Software. Com este programa é possível operar o kit estimulando a planta, aplicando algoritmos de
controle, analisando comportamento do sistema através da leitura do sensor, traçar gráficos, coletar
e exportar dados, entre outras funções disponíveis. Na Figura 3 é mostrado o esquema em diagrama
de blocos da interação destes elementos.
3
Figura 3:: Diagrama de bloco de interação do kit didático de levitação magnética
Existem alguns modos para o estudo de controle na planta. Este trabalho é realizado sobre
estudo do modo de controle SISO (single
( input single output – uma entrada e uma saída). Neste
modo é utilizado apenas um atuador para o esforço de controle como saída do modo de controle e
um sensor, para o conhecimento do posicionamento do disco magnético, como a entrada. Nesse
modo de controle somente um disco magnético
magnético é utilizado. O sensor e o atuador utilizados para os
fins desse trabalho foram os inferiores da torre de levitação.
1.1.2. Funcionamento
As partes que foram descritas no subitem anterior se comunicam entre si da forma como foi
colocado na Figura 3. A seguir, uma breve explicação de como ocorre essa comunicação.
O algoritmo de controle é feito pelo usuário, ou operador, do kit no Executive Program.
Program O
usuário implementa o algoritmo, através do software, na placa DSP, e esta executa o algoritmo. Isso
envolve a leitura da entrada de referência,
referência definida pelo operador, e leitura de valores do sensor,
sensor
que é a realimentação,, computando o algoritmo, e saindo o sinal de esforço de controle digital para
o conversor digital analógico
alógico (DAC). No caso do modo SISO de controle, serão necessárias uma
entrada de referência e uma saída de esforço de controle.
O DAC converte o fluxo de palavras digitais da referência para uma tensão analógica a qual é
transformada em uma corrente por um
u amplificador servo, que está no blackbox,
blackbox e então em uma
força pelo solenóide.. O sistema físico então transforma a força em movimento. Esses
Ess movimentos do
disco são sentidos pelo sensor laser,
laser o qual retorna sinais analógicos de posição do disco.
disco
Esses sinais
inais vindos do sensor são convertidos através de um conversor analógico digital (ADC)
em palavras digitais e utilizados pelo DSP para processamento. E então o sinal do sensor volta ao
algoritmo como realimentação e aparece disponível na tela do PC.
PC Além do
o sinal de posição, outro
sinal, o do sensor de temperatura do laser,
laser também é realimentado e transformado em digital pelo
ADC por um sensor interno de compensação de temperatura.
A funcionalidade da compensação de temperatura do sensor é devido a redução inerente na
potência emitida como uma função da temperatura. Essa compensação é conseguida através de um
processamento em segundo plano e é transparente ao usuário. O usuário pode habilitar ou
desabilitar a compensação de temperatura do sensor por um campo selecionável no software.
4
Para a movimentação do disco magnético na guia além do sinal de referência, o software traz
trajetórias de movimento, como o step, o movimento rampa, senoidal entre outros. Esses
movimentos assim como suas equações são detalhados no manual do kit [1].
Quando o usuário especifica uma trajetória e, subseqüentemente a executa, os dados da
manobra capturados pelo sensor são baixados para a placa de controle. O DSP ainda gera e armazena
os valores de referência dos movimentos de entrada correspondentes para uso do algoritmo de
controle em tempo real. Durante toda a manobra, qualquer dado especificado pelo usuário é
capturado e armazenado na memória na placa. Ao completar a manobra, os dados são enviados ao
PC onde ficam disponíveis para gerar gráficos, armazená-los e/ou exportá-los.
Mais detalhes do funcionamento e características são encontrados no manual do kit didático [1].
Para fins desse trabalho é suficiente o entendimento mostrado até então.
Como ressalva do que já foi descrito até aqui além de novas informações, este subitem é para
esclarecer algumas considerações que foram feitas para restringir o projeto no sentido de focar a sua
aplicação.
O modo de controle trabalhado foi o modo SISO (single input single output). Isso significa que foi
utilizado somente um disco magnético com o conjunto inferior de atuador e sensor. Este conjunto
pode ser tratado de forma mais simples que o conjunto superior, pois o disco magnético fica em
repouso sobre o atuador na ausência de forças externas ao sistema de levitação ou força exercida
pelo atuador. Dessa forma, quando este trabalho se refere a torre de levitação será considerado
apenas o conjunto inferior de atuador e sensor.
Há um contato entre a guia de vidro e o disco magnético, o que gera atrito no limite do
movimento, atrito estático, e durante o seu movimento, atrito dinâmico. O primeiro nem sequer é
tratado no manual de instruções [1], enquanto que o segundo é visto na referência, porém
desprezado para fins de simplificação de cálculos. Nesse trabalho o atrito dinâmico é considerado
para uma maior aproximação do modelo encontrado com o sistema real.
5
2. Calibração do Sensor
O sensor, como visto, é uma das principais partes do sistema de levitação magnética. É através
dele que o usuário é informado da posição do disco magnético. Além disso, quando implementado
algum algoritmo, o sensor de posição realimenta o sistema computacional para que o controlador
siga a referência estimada pelo operador.
Para melhor entender o sensor, é necessário um estudo de como ele se comporta com a
variação da altura do disco magnético. O objetivo deste capítulo é estudar o sensor, através de dados
coletados diretamente do sistema real, obter um modelo de modo a seguir seu comportamento e
transformar sua resposta mais compreensível.
Primeiramente é mostrado o comportamento do sensor como este é configurado pelo
fabricante. Um modelo fornecido pelo fabricante no manual [1] é apresentado e trabalhado e para
ter seus parâmetros estimados no sentido de buscar resultados mais próximos e que reflitam no
comportamento prático da planta. Por fim é mostrada a validação dos novos parâmetros estimados,
demonstrando o comportamento do sensor após a estimação dos parâmetros.
6
vindos do sensor foi definida pelo fabricante, o usuário somente seleciona a opção de utilizar esse
modo. O outro modo é discutido adiante.
A Tabela 1 seguinte mostra as alturas em centímetros em que foi posto o disco magnético e as
leituras do sensor correspondentes a cada uma dessas alturas. As leituras do sensor, para todo o
trabalho, foram realizadas com a compensação térmica habilitada no Executive Program.
0,00 35070
0,50 30066
1,00 24928
2,00 16785
3,00 11605
4,00 8409
5,00 5698
6,00 4089
Tabela 1: Relação entre posição real e a leitura do sensor.
É perceptível através em uma breve leitura da Tabela 1 que à medida que o disco magnético se
afasta do seu estado de repouso (0,00 cm), a contagem, em counts, diminui.
A partir da Tabela 1 obtida com os dados coletados do sistema no modo como é configurado
pelo fabricante, o gráfico da contagem do sistema em relação a altura real em centímetros foi então
gerado com auxílio da ferramenta Matlab® (Figura 4).
No gráfico da Figura 4 é possível visualizar de forma mais clara a equivalência entre as medições
das alturas em counts, fazendo uso da equação 1 na transformação das medidas de centímetros para
contagem, e a leitura do sensor também em counts, como foi observado pela tabela. Além de
7
evidenciar a equivalência entre altura e leitura do sensor prevista da Tabela 1, o gráfico mostra a não
linearidade da correspondência entre as alturas e as leituras do sensor.
O modelo trazido pelo manual de instruções do kit [1] é apresentado na equação 2. O modelo
tem como saída a altura do sensor em counts, que tem sua relação com a altura real mostrada na
equação 1 e no gráfico da Figura 4 corresponde ao eixo “Posição”, a qual depende da leitura do
sensor e de alguns parâmetros constantes. Este modelo matemático independe do sensor térmico do
sensor de posição, e não leva em consideração a perda de potência luminosa com o aumento da
temperatura do sensor, esta é compensada pelo software Executive Program. O modelo é descrito
como segue:
LA = + + " + ℎL [f@7=]
L gL
(2)
O ato de encontrar valores para os parâmetros , , " e ℎ é definido pelo fabricante como
“calibração/linearização”. Os parâmetros podem simplesmente ser ajustados para que o software
possa retornar um comportamento que o usuário deseja. Por isso, neste trabalho, a estimação
paramétrica realizada pode também ser entendida como calibração. A estimação paramétrica do
sensor é detalhada a seguir.
2.2.Estimação Paramétrica
Como os parâmetros do modelo do sensor são identificáveis, este trabalho encontra valores
para os parâmetros do modelo para que se tenha um comportamento um pouco previsível com a
intenção de deixar de utilizar o modo “Use raw sensor counts (no calibration / linearization)”, o qual
foi utilizado para a coleta de dados para análise do comportamento do sensor. A identificação dos
parâmetros do modelo neste trabalho tem como objetivo encontrar uma relação linear entre a altura
do disco e a leitura do sensor, ambos em counts.
Para tal objetivo, o tratamento de dados foi de tal forma que os novos parâmetros , , " e ℎ
retornassem valores próximos aos encontrados experimentalmente, encontrando uma curva
8
aproximada da real. O método utilizado para conseguir encontrar valores dos parâmetros adequados
foi o método dos mínimos quadrados. Detalhes desse método são encontrados no Anexo A deste
trabalho.
Pode-se considerar o modelo matemático do sensor da equação 2 de forma matricial, como na
equação 3 seguinte:
OA = O V (3)
Onde OA é a matriz com os valore de yR , O é a matriz com as variáveis independentes de yQ e V
é a matriz com os valores dos parâmetros , , " e ℎ. Isso pode ser feito devido a correspondência de
valores entre as leituras do sensor, yQ , e as alturas, yR , ambos em counts. Os valores de V são
constantes e é a matriz deve ser encontrada.
1 1
De outra forma a equação 3, para o caso aplicado neste trabalho, pode ser vista como:
o 1 L! r
nL! gL! q
LA! 1 1
n q
L 1 L
i Aj l = nLj gLj j q
∙i l
⋮ n q "
LA_ ⋮
(4)
n1 1 q ℎ
n 1 L_ q
mL_ gL_ p
A equação 4 pode também ser vista como um sistema de equações, onde o valor no termo
esquerdo da igualdade corresponde ao termo direito no modo de equação, respectivo ao seu índice.
Foram coletadas 7 = 8 pontos de amostra do sistema sensor, ou seja, o sistema de equações é sobre-
determinado já que tem 8 equações para se encontrar 4 incógnitas, as quais são , , " e ℎ. A
matriz O , portanto, não tem posto completo, ou seja, não é uma matriz quadrada. Para se obter a
inversa de uma matriz, é necessário que a mesma seja quadrática. Ou seja, os valores do vetor V não
poderiam ser definidos simplesmente como:
VY = O !
OA (5)
Para solucionar problemas com sistemas sobre-determinados existe uma ferramenta
matemática bastante conhecida para a realização do método dos mínimos quadrados. A dedução da
pseudo-inversa é mostrada em detalhes no Anexo A, ou mais bem compreendida na referência
bibliográfica [3] deste trabalho. Dessa forma, V foi possível ser encontrado da seguinte forma:
são dados como segue:
−120608168,4925370
7232531,517053738
i"l = w
−22213,30307014746
ℎ −0,360886378343139
9
Com intuito de cálculos mais precisos, tanto na ferramenta Matlab® quanto no Executive
Program, foi mantido o maior número de casas decimais possíveis. O modelo matemático do sensor
com os parâmetros constantes , , " e ℎ substituído pelos valores encontrados dos mesmos é
chamado aqui de sensor modelado.
Com intuito de comparação entre o modelo matemático do sensor com os parâmetros obtidos e
os dados empíricos, os valores da leitura do sensor encontrados na coleta de dados do sistema, os
mesmos da Tabela 1, foram substituídos na equação 2 do sensor modelado em L , e então foram
obtidos valores de LA correspondentes no modelo matemático.
Os valores esperados do modelo são idênticos as alturas em counts em que o disco magnético
foi colocado para coletar a leitura do sensor correspondente, porém essa não é a realidade. Os
valores obtidos pelo modelo se aproximam desses valores esperados. A Tabela 2 mostra a relação,
para que sejam comparadas, entre as alturas esperadas, em centímetros e em counts, as alturas
encontradas, também em centímetros e em counts, e os respectivos valores da leitura do sensor.
Altura do disco Altura do disco Altura do disco Altura do disco Sensor (counts)
magnético esperada magnético esperada magnético obtida (cm) magnético obtida
(cm) (counts) (counts)
10
Figura 5: Comparação entre dados experimentais e obtidos do sensor modelado
As curvas estão muito próximas de forma que em alguns lugares elas se sobrepõem. O erro
entre as curvas não é constante, como observado através da Tabela 2 anterior e está mais bem
compreendido na Tabela 3 seguinte.
O erro em centímetros é o valor absoluto da diferença entre a altura do disco esperada e a
obtida através do sensor modelado. Para obter o erro em porcentagem, o erro em centímetros é
dividido pela medida esperada.
Na altura de 0,00 centímetros, o erro em porcentagem não foi colocado na tabela por se tratar
de um erro infinito.
Como mostrado no início do subitem 2.2, o objetivo da estimação paramétrica deste trabalho é
identificar os parâmetros constantes , , " e ℎ de forma que a leitura do sensor retorne ao usuário
valores diretamente proporcionais entre a leitura e as alturas. Foi utilizado o Método dos Mínimos
11
Quadrados para estimar tais parâmetros de forma que a curva do modelo com os parâmetros
estimados seguisse bem próxima a curva dos dados experimentais.
O gráfico que comparara o sensor modelado e os dados coletados foi mostrado e foi constatada
a diferença entre os valores dos parâmetros e o comportamento do modelo. Para validar os
parâmetros estimados neste trabalho, foi necessário fazer uma nova coleta de dados.
Os novos parâmetros obtidos foram inseridos no software Executive Program em local próprio
para isso. Com os parâmetros estimados inseridos e habilitados no programa a leitura do sensor é
realizada no modo em que são utilizados os parâmetros constantes do modelo. Será com esses
parâmetros que o computador fará os cálculos para identificar a altura do disco magnético.
A coleta de dados foi feita de forma semelhante como foi feita a Tabela 1, elevando o disco
magnético manualmente para determinadas alturas e coletando os valores da leitura do sensor.
Porém, as alturas utilizadas são diferentes das utilizadas na coleta de dados da Tabela 1.
Com os parâmetros encontrados através do Método dos Mínimos Quadrados e inseridos no
software, a resposta esperada do sensor é uma diretamente proporcional. Para assegurar a robustez
do método aplicado e o modo de cálculo utilizado pelo software para as mensagens vindas do
sensor, leituras do sensor para alturas aleatórias foram coletadas. As alturas, no entanto, foram
tomadas no intervalo de 0,00 a 6,00 centímetros.
A Tabela 4 mostra a relação entre as alturas em centímetros estipuladas e a leitura do sensor
com os parâmetros estimados carregados no software.
De acordo com a Tabela 4 quanto maior é a altura do disco magnético, maior é a leitura do
sensor. Portanto o objetivo de tornar a relação entre a altura e a leitura do sensor diretamente
proporcional foi conquistado.
De modo a facilitar a observação da linearidade do sistema, graficamente, com os parâmetros
estimados, a Figura 6 relaciona a altura com a leitura do sensor da Tabela 4, ambos em counts.
12
Figura 6: Gráfico da posição real do disco X leitura do Sensor_1 com novos parâmetros.
O erro para alturas maiores é menor em relação às alturas mais baixas. O erro para a maioria
das alturas é menor que dois por cento, o que retorna uma boa aproximação linear entre o sistema
real e a leitura do sensor. Isso é muito importante na realimentação do sensor, pois, a referência
determinada pelo operador pode ser seguida pelo controlador.
13
3. Calibração do Atuador
Na planta do kit didático de levitação magnética, o atuador é a saída do sistema eletrônico e,
junto com o sensor, é a parte principal da planta. É através dele que o disco magnético pode levitar
no espaço devido a ação de forças eletromagnéticas, que com auxílio do guia de vidro identificado na
Figura 2 se tem uma direção orientada na levitação.
Igualmente como mostrado no capítulo relacionado ao sensor, as respostas do atuador a um
dado esforço de controle, definido pelo usuário no kit, devem ser analisadas para que se possa
compreender o comportamento do funcionamento do atuador dado um esforço de controle.
Neste capítulo é mostrado de uma forma rápida o princípio de funcionamento do atuador. O
comportamento do atuador através de dados coletados é mostrado aqui. É apresentado o modelo
matemático do atuador fornecido pelo fabricante. A estimação dos parâmetros do modelo é feita de
modo que o modelo apresente comportamento semelhante ao atuador real. A validação da
estimação do modelo com os parâmetros encontrados é feita ao final deste capítulo.
14
As linhas de campo são linhas imaginárias que figuram o comportamento do campo magnético
próximo a sua fonte, são utilizadas para demonstrar nos livros didáticos a intensidade do campo
magnético, como na referência [2] deste trabalho. Quanto mais próximas as linhas de campo estão
umas das outras, mais intenso é o campo, e quanto menor a concentração de linhas de campo em
uma região, menos intenso é o campo magnético.
A intensidade do campo magnético sobre um corpo qualquer diminui na medida em que este
corpo se afasta, e o mesmo acontece com um solenóide. O campo magnético gerado pelo solenóide,
para uma mesma corrente, é mais intenso dentro do solenóide que fora, e quanto mais afastado do
solenóide, menos intenso é o campo, assim como para o imã.
O solenóide pode ser considerado, portanto, um imã que pode ter o seu campo magnético
variado. No entanto é um imã com intensidade de campo variável, pois, quanto mais corrente se
fornece ao solenóide, mais intenso o campo magnético gerado por este. A Figura 7 e a Figura 8
mostram as linhas de campo de um solenóide e de um imã comum. As linhas mostram
comportamento semelhante entre o solenóide e o imã.
Na prática, é fácil observar que pólos dos imãs semelhantes se repelem enquanto que os pólos
diferentes se atraem mutuamente. Essas forças são as de repulsão ou de atração, respectivamente.
Gerando um campo magnético no solenóide e dependendo da disposição dos pólos de um imã
próximo, este pode ser atraído ou repelido.
No sistema de levitação magnética quando é fornecida corrente ao atuador da planta, este gera
um campo eletromagnético repelindo o disco magnético, que é um imã comum, que está disposto de
forma que os pólos magnéticos do solenóide e do imã voltados um para o outro são idênticos O disco
fica em repouso quando a força magnética coincide com o peso do disco magnético.
A forma como o esforço de controle fornecido pelo usuário, em algoritmo implementado no
Executive Program, atua na planta é tratada no capítulo 1 deste trabalho.
15
3.2. Análise do Atuador
16
u (counts) u equivalente em [N] Posição do disco (cm)
Observando o gráfico nota-se que a relação entre o esforço de controle e a posição do disco no
espaço é uma relação não linear e à medida que se aumenta o esforço de controle, a altura que o
disco alcança também aumenta. Entre os esforços de controle de 10000 e 12000 counts não houve
uma variação muito grande na altura, indicando uma tendência a saturação do atuador.
Igualmente como para o sensor, o fabricante disponibiliza o modelo matemático do atuador, o
qual rege a sua força de acordo com o dado esforço de controle no manual do kit [1]. Este modelo
leva em consideração a corrente que percorre o solenóide e a altura do disco magnético em
17
centímetros, retornando a força magnética que atua no disco magnético em Newtons. O modelo é
&
regido por:
= [8]
(L! + )_
(9)
Em que é a força magnética que o atuador exerce no disco magnético, & é a corrente elétrica
que passa pelo atuador, L! é a altura do disco em centímetros e , e 7 são parâmetros constantes
relacionados às propriedades físicas das bobinas e podem ser determinados por modelagem
numérica da configuração magnética ou por métodos empíricos. O valor de 7 está entre 3 < 7 < 4,5,
e neste trabalho, e de acordo com o manual [1], foi utilizado 7 = 4, pois parece produzir uma boa
aproximação dos dados empíricos e é computacionalmente mais simples para implementar em
processamento de tempo real por ser um número inteiro.
A força que o atuador exerce no disco magnético é igual ao peso do disco magnético, quando
em equilíbrio. Na coleta experimental de dados realizada é necessária a estabilidade do disco no ar,
ou seja, o momento em que a força do atuador se iguala a força gravitacional do disco magnético.
Sendo assim, de acordo com o modelo, para manter o lado direito da equação 9 constante, toda vez
que for aumentada a corrente & a altura do disco magnético também deve ser elevada para sempre
ter o valor constante do peso do disco magnético. Isso não ocorre para qualquer valor de corrente,
pois se for colocado valores de corrente relativamente pequenos o disco não sairá do lugar por não
ter força suficiente para elevar o disco, e para correntes muito elevadas ocorreria a saturação do
atuador devido as suas limitações físicas.
O modelo da equação 9, entretanto leva em consideração a corrente elétrica que percorre o
solenóide, ao invés do esforço de controle. Podemos reescrever o modelo da equação 9 já levando
em consideração o esforço de controle @ ao invés da corrente & e também já considerando o 7 = 4.
@
Dessa forma:
= [8]
(L! + )F
(10)
18
3.3.1. Estimação Pelo Método de Monte Carlo
@
gasta muito tempo computacional.
=
(L! + )F
(11)
@
= + L!
(12)
Não existe somente um valor para as variáveis experimentais L! e @, mas sim dois vetores
correspondentes entre si, um para cada uma das variáveis. Em outros termos, a equação 11 pode ser
representada como:
O = H (13)
Sendo que o vetor O representa os valores de (L! + )F e o vetor H representa os valores dos
esforços de controle @. Sendo e constantes, o vetor O! tem a mesma dimensão do vetor H, e
conseqüentemente O tem a mesma dimensão de H, o que significa que é realmente um número
escalar, cujo valor é encontrado através da utilização da pseudo-inversa do vetor O.
= tu7v(O)H (14)
Variando o valor e de acordo com a equação 14, novos valores de são encontrados para
cada estipulado utilizando dos valores da Tabela 6. Isso porque o vetor O terá elementos diferentes
para cada parâmetro utilizado, já que o vetor depende deste parâmetro também. Expondo a
equação que representa os valores do vetor O, o qual contém o vetor O! , a equação 14 pode ser
representada como na equação 15 que mostra que para diferentes valores de são encontrados
valores correspondentes de . A quarta potência da matriz resultante de (O! + ! )F é aplicada a cada
elemento.
19
! = tu7v((O! + ! )F )H
j = tu7v((O! + j )F )H
⋮
(15)
_ = tu7v((O! + _ )F )H
Com um valor do parâmetro fornecido pelo usuário, e com valor de correspondente
encontrado pela equação 14, é possível utilizar o modelo, substituindo os valores de e , para
cálculo de valores de L! ou @ com o intuito de comparar com os dados empíricos da Tabela 6.
Para valores comparados entre o modelo e os dados coletados do sensor foram os da altura
determinada inicialmente pelo usuário em counts. Para isso foi aplicado no modelo a leitura do
sensor, medida obtida com o posicionamento do disco magnético feito pelo usuário. No atuador os
valores comparados serão os dos esforços de controle. Será aplicada as medidas em centímetros
obtidas a partir do esforço de controle fornecido ao sistema de levitação pelo usuário.
O objetivo da calibração é achar o menor erro possível entre o modelo com os parâmetros e o
sistema real, de forma que a matemática reflita a realidade de forma aproximada. Considerando
como erro a diferença entre o valor medido e o valor obtido pelo modelo, pode escrever, para o caso
do atuador, que:
= @ABC4CD − @ADCBED (16)
Sendo que os valores de @ADCBED , ou @A , obtido para cada parâmetro e , é encontrado da
equação 13, modificando-a para:
O_ = HA (17)
Sendo HA o vetor dos valores de esforço de controle @A .
Para cada par de parâmetros encontrado, existe um vetor HA , como indicado pelo índice de
na equação 17, que pode ser comparado com o vetor H e gerar um vetor erro , como indicado na
equação 18.
_ = H − HA (18)
Comparar todos os vetores erro obtidos e encontrar o que tem valores de erros menores
referente a todas as medidas de esforço de controle é difícil. Uma função custo então foi utilizada
para poder transformar e comparar cada vetor em forma escalar e achar o vetor HA que apresenta
o menor erro, para cada par de parâmetros e . A função custo utilizada é o somatório do
quadrado dos erros de um vetor com N elementos, como mostra a equação 19.
!
Como para cada par de parâmetros e é encontrado um vetor erro , e para cada vetor
existe uma função custo ', então para cada par de parâmetros e existe um valor da função '. De
outra forma, para cada fixado e encontrado, existe um valor da função '.
20
Foram fixados diferentes valores de no intervalo de 4 a 8 e então foram utilizadas as equações
11, 14, 16, 17, 18 e 19 para encontrar a função custo ' de cada parâmetro fixado e compará-las
entre si afim de encontrar o menor valor.
Para visualizar como os valores de ' variam de acordo com o parâmetro no intervalo, foi
traçado um gráfico como mostra a Figura 10. Os valores de na figura estão com a variação de 0,1
entre eles.
21
Após muitas iterações, foi observado que para o intervalo de 6,28186 até 6,28189 com um
passo de 0,0000001 entre os valores de , os valores dos parâmetros e e da função custo '() não
são muito diferentes nos 5 primeiros algarismos em relação a variação do no intervalo de 6,28 até
6,29 com o passo de 0,0001, e outros intervalos e passos maiores que esse e menores que o
intervalo de 6, 28186 até 6, 28189 com o passo de 0,0000001.
O intervalo encontrado entre 6,28186 a 6,28189 com o passo 0,0000001, é mostrado no
gráfico da Figura 11.
Nos eixos do gráfico da Figura 11 a numeração dos pontos parecem ser idênticas devido a
limitação do programa por não ter escala menor que a mostrada. São mostrados valores
aproximados dos números correspondentes àquele ponto. Também por esse motivo que os pontos
da relação entre o parâmetro a função custo ' mais parece uma curva contínua.
O valor do custo mínimo '() e dos parâmetros e para o intervalo definido são:
= 0,951237934870990
= 6,281870600000000
'() = 728889,9849112975
Após substituir os valores dos parâmetros no modelo, este pode ser utilizado para obter os
esforços de controle correspondentes às alturas encontradas, para que seja comparado com o
comportamento físico do atuador mostrado na Figura 9. Os esforços de controle do sistema real e do
modelo, com as alturas correspondentes estão mostrados na Tabela 7. O modelo que tem os
parâmetros encontrados por esse método é denominado aqui como atuador MC.
22
u esperado (counts) u equivalente em [N] u atuador MC (counts) u equivalente em [N] Posição do disco (cm)
(esperado) (atuador MC)
A curva do atuador MC é contínua em sua forma, diferente dos dados experimentais que
apresentam um comportamento sem uma forma muito bem definida. Porém, se comparadas ambas
as curvas em um só gráfico, é possível visualizar que o comportamento do atuador é semelhante ao
obtido pelo atuador MC. A Figura 12 mostra a comparação entre os gráficos.
Na Figura 12 a curva do modelo fica bastante próxima da curva dos dados experimentais. Na
Tabela 8 estão relacionados os esforços de controle esperado e obtido em seus equivalentes e o erro
estes está em Newtons e em porcentagem.
23
u equivalente em [N] u equivalente em [N] Erro (counts) Erro (%)
(esperado) (atuador MC)
É importante destacar que na obtenção dos parâmetros do sensor (capítulo anterior), este
método não foi aplicado devido a dificuldade computacional, uma vez que o modelo tem quatro
parâmetros para serem encontrados, o que aumenta muito o esforço computacional para aplicação
do método de Monte Carlo.
O outro método na estimação dos parâmetros do atuador para a sua calibração foi o mesmo
utilizado para obter os parâmetros do sensor: o método dos mínimos quadrados. Com ele, é fácil
obter os parâmetros sem muitas iterações matemáticas, utilizando apenas os vetores da altura do
disco magnético e dos esforços de controle.
No modelo matemático do atuador, o vetor O! não multiplica um vetor de parâmetros como no
caso do sensor. Dessa forma, não é possível realizar o método dos mínimos quadrados simplesmente
a partir da equação 10, a qual corresponde ao modelo.
Para o método ser utilizado é necessário reorganizar o modelo matemático, de forma que o
vetor O! seja multiplicado pelos parâmetros constantes. Reescrevendo a equação 10 de modo que o
esforço de controle @ fique em função de L! .
@ = (L! + )F (20)
Tirando a raiz quarta de ambos os termos da equação 20:
√@ = g(L! + )
(21)
Considerando que:
24
@F = √@ e 9 = g
(22)
Reescrevendo a equação 21 com estas considerações:
@F = 9(L! + ) (23)
9
A equação 23 pode ser reescrita como:
L! 1
A equação 25 pode ser reescrita como:
@F
@ L 1 9
w F = w ! ∙ 9
⋮ ⋮
@F
(26)
L! 1
A equação 26 pode ser vista como um sistema de equações, onde o vetor da esquerda da
igualdade tem correspondência com as equações do termo da direita, de acordo com o índice 7.
Como foram coletadas 7 = 12 amostras de esforço de controle e altura (Tabela 6), a equação 26 é um
sistema sobre-determinado, o qual tem 12 equações para encontrar 2 incógnitas.
A matriz O! tem dimensão 12x2, ou seja, não tem posto completo, o que o impede de ter uma
matriz para encontrar os valores de através de:
= O! ! HF (27)
Para encontrar do vetor , deve ser utilizada a pseudo-inversa, já apresentada na determinação
dos parâmetros do sensor. Lembrando que para detalhes dos métodos dos mínimos quadrados e a
pseudo-inversa, deve consultar o anexo A ou a referência [3] deste trabalho.
= tu7v(O! )HF (28)
Utilizando o vetor dos esforços de controle e suas respectivas alturas encontradas, e fazendo
uso das equações 22, os parâmetros constantes e são encontrados. A função custo da equação
19 também é utilizada para que mais adiante se compare os dois métodos. Os respectivos valores
são:
= 0,883368508150108
= 6,447022826793239
'((* = 757378,3931493824
25
De modo semelhante ao que foi feito até então, os parâmetros encontrados foram colocados no
modelo, e assim, com os valores das alturas encontradas experimentalmente no sistema físico, foram
obtidos valores dos esforços de controle, respectivo a cada altura, pelo modelo matemático. O
modelo matemático do atuador que utiliza dos parâmetros encontrados por este método é
denominado aqui como atuador MMQ.
Na Tabela 9 são relacionados os valores dos esforços de controle esperado e obtido pelo modelo
e a altura correspondente utilizada para encontrar cada esforço de controle.
u esperado (counts) u equivalente em [N] u atuador MMQ u equivalente em [N] Posição do disco (cm)
(esperado) (counts) (atuador MMQ)
A curva do gráfico do modelo é parecida com a curva encontrada pelo atuador MC, pois ambos
têm o mesmo objetivo. O que diferencia são alguns valores, já que os parâmetros constantes
encontrados em ambos os modelos são diferentes. A Figura 13 mostra gráfico comparativo entre as
curvas do atuador MMQ e dos dados experimentais coletados do sistema físico real.
26
Figura 13: Comparação entre as curvas dos dados experimentais e do atuador MMQ
Como realizado para os casos anteriores, a Tabela 10 faz uma relação entre os esforços de
controle esperados e obtidos pelo atuador MMQ e os erros em Newtons e em porcentagem para que
fique demonstrar a diferença de cada medida.
Para ambos os métodos utilizados para a estimação paramétrica do atuador foram encontradas
curvas que aproximaram o comportamento dos atuadores modelados com o sistema real. Os gráficos
das curvas dos atuadores MC e MMQ comparados com o sistema real podem ser vistos na Figura 12
e na Figura 13, respectivamente.
27
A comparação dos métodos a partir dos gráficos gerados por ambos é um modo direto para a
compreensão do quanto os métodos se distanciam entre si e do sistema de levitação real. A Figura
14 mostra o gráfico que compara as 3 curvas obtidas, pelos modelos e experimentalmente.
No gráfico, as curvas dos métodos se aproximam entre si. Porém, não há superposição devido as
diferenças entre os parâmetros de cada modelo.
O modelo adotado deve ser o que apresenta menor erro entre todas as medidas coletadas e os
resultados obtidos pelo modelo. Por exemplo, um modelo com apenas uma medida mais próxima do
sistema real que o outro modelo não deve ser escolhido, pois se distanciará do sistema real para
todas as outras medidas.
O interesse, portanto, é saber a diferença em termos numéricos da precisão de cada modelo.
Com a função custo, equação 19, é possível comparar os métodos através dos erros de ambos os
modelos obtidos e verificar qual dos dois se aproxima mais do sistema real do atuador.
'() = 728889,9849112975
'((* = 757378,3931493824
Comparando a função custo de ambos os modelos obtidos do atuador, se tem que a do método
de Monte Carlo é menor que a dos mínimos quadrados. Isso se deve ao pequeno intervalo em que se
variava o e o passo entre eles dentro deste intervalo.
O método de Monte Carlo não é o mais prático de realizar, porém se mostra mais eficiente na
estimação dos parâmetros do atuador. Vale ressaltar mais uma vez que este mesmo método não foi
utilizado para o sensor devido a quantidade de parâmetros do modelo, quatro parâmetros.
Os dois modelos encontrados através dos métodos descritos funcionam para a aproximação do
modelo do atuador fornecido pelo fabricante em relação ao sistema real, como verificado nos
gráficos. Porém, o modelo do atuador que é utilizado nesse trabalho é o atuador MC encontrado.
Este modelo retornou o menor valor da função custo e por isso foi utilizado.
28
3.4. Validação do Modelo
29
4. Identificação do Modelo
Em capítulos anteriores foi visto que o atuador e o sensor têm modelos matemáticos que
representam os seus comportamentos. Seus parâmetros foram estimados e então os modelos
obtidos foram submetidos a uma das variáveis coletadas experimentalmente para retornar a outra
variável. Com isso, foi concluído que o comportamento do modelo matemático para ambos se
aproxima da realidade de uma forma geral.
O que foi estudado em capítulos anteriores é de extrema importância, como é visto neste
capítulo, para a linearização do sistema de levitação magnética. Os modelos fornecidos pelo
fabricante e os parâmetros encontrados neste trabalho farão com que se possa projetar os
controladores adequados para o sistema de levitação.
Neste capítulo é mostrado o sistema dinâmico da planta do sistema de levitação magnética de
forma matemática e em diagrama de blocos. A razão de porque se faz necessário conhecer os
parâmetros dos modelos do atuador e do sensor são visualizados aqui. A linearização do modelo do
sistema de levitação magnética é estudada passo a passo neste capítulo. E ao final deste, é
encontrada a função de transferência da planta com todos os seus parâmetros.
O sistema de levitação magnética é complexo, com não linearidades das partes principais do
sistema físico, como mostrado em estudo anterior a este capítulo, que são as do atuador e a do
sensor. O movimento do disco magnético, desse modo, não é regido apenas por sua equação de
movimento, mas também por essas não linearidades. Ou seja, o modelo matemático do sistema não
seria algo simples de ser tratado.
Um sistema não linear é aquele que não atende o princípio da superposição, ou seja, não se
pode obter a resposta a duas entradas considerando simultâneas considerando as entradas
individualmente e somando os resultados[4], o que torna a resposta do sistema desconhecida em
relação às suas entradas, principalmente devido a perturbações externas. Técnicas de linearização
são aplicadas comumente para que se obtenha um modelo linear de um sistema não linear, de modo
que seja simples a análise e o projeto de controle para o referido sistema.
A técnica de linearização aplicada neste trabalho é linearização por compensação das não-
linearidades. Nesse caso são utilizadas funções inversas das não linearidades modeladas do sistema
em questão. Para este trabalho, as não linearidades modeladas correspondem as do sensor e
atuador. A importância da estimação paramétrica é de encontrar a função inversa da não linearidade
de cada modelo, do atuador e do sensor.
Os inversos das não linearidades dos modelos do atuador e do sensor são utilizados de modo
que estes anulem as não linearidades do sensor e do atuador. Desse modo o sensor poderá retornar
30
valores de distância de modo linear, condizente com a realidade, como pode ser visualizado no
gráfico da Figura 6, e o atuador moverá o disco para distâncias linearmente proporcionais ao esforço
de controle. A técnica de compensação, no caso do sensor, é realizada da seguinte forma:
! (L! ) = L! (29)
A compensação da não linearidade do sensor é feita computacionalmente, através do modelo
do atuador com os parâmetros encontrados na sua calibração, o software transforma leitura do
senso L em LA . Já a não linearidade do atuador é compensada em algoritmo feito pelo operador. O
usuário então deve ter conhecimento de como é feita a compensação da não linearidade do atuador.
Considerando a equação 10 como a força que o atuador faz sobre o disco magnético, tem-se
que a compensação da não linearidade deixará a equação 10 dependente apenas do esforço de
controle @. Para isso, a compensação é realizada como segue:
1
((10 F
∙ LA + )F ) ≜ .! ! =M 1
! + )F
(L
(30)
no disco magnético, sendo e parâmetros reais da não linearidade e L! a altura real do disco.
Fazendo isso a força do atuador no disco fica dependente somente do esforço de controle, ou
= (@).
Como o sistema de levitação magnética é muito complexo, é necessário dividir o todo em partes
de forma que se consiga trabalhar sobre cada uma para que se tenha uma boa aproximação do
sistema real. No caso deste trabalho, o sistema de levitação é separado no subsistema do sensor,
subsistema do atuador, os quais têm suas não linearidades compensadas, e o subsistema dinâmico
da planta.
Para este trabalho, em que é considerado somente um conjunto de sensor e atuador e um disco
magnético, o então modo SISO, ou monovariável, o subsistema do movimento do disco magnético é
regido pela seguinte equação diferencial do movimento do disco.
6LN + LM = (@, L! ) − 6" (31)
Na equação 31, L é distância do disco ao solenóide inferior em [6]; 6 é massa do disco
magnético [."], c é o coeficiente de atrito viscoso com o ar [8/6], é a força magnética que o
solenóide exerce no disco em [8] e " é a gravidade [6⁄ j ]. A força indicada na equação 31 é a do
atuador sobre o disco magnético, equação 10.
31
Uma função de transferência pode ser determinada experimentalmente, fornecendo entradas
conhecidas à um sistema e coletando suas respostas para identificação. Pode ser também obtida
através das equações diferenciais do sistema, desde que a equação seja invariante no tempo.
A função de transferência é um método utilizado na análise e projetos de sistemas que tem
aplicabilidade a sistemas de equações diferenciais lineares invariantes no tempo. Ela é um modelo
matemático para expressar a equação diferencial que relaciona a variável de saída à variável de
entrada, é uma propriedade inerente ao sistema. Conhecendo a função de transferência de um
sistema, é possível estudar a saída ou resposta do sistema para várias maneiras de entradas. [4]
A equação do movimento do disco, equação 31, tem todas as características necessárias para se
poder obter a função de transferência do movimento do disco a partir dela. No entanto é necessário
fazer algumas considerações para isso.
Considerando que a não linearidade do atuador já tenha sido realizada e força do atuador sobre
o disco depende somente do esforço de controle estipulado pelo usuário, pode ser entendido que:
E4_B0430çãD
(@, L! ) ¡¢¢¢¢¢¢¢¢£ (@) ≜ @ (32)
Onde r é chamado de sinal de referência. A equação 34 pode ser realizada no sinal de entrada
via software, graças a equivalência entre as unidades [N] e [counts]. A equação 33 pode ser reescrita:
6LN + LM = ; (35)
Para encontrar a função de transferência do sistema dinâmico da planta através da equação
dinâmica diferencial é necessário conhecer a transformada de Laplace, em que uma equação
diferencial qualquer, linear e invariante no tempo, tem a sua equivalente no domínio das
freqüências. As referências [4], [9] e [10] abordam o assunto da transformada de Laplace direcionada
a sistemas de controle com as propriedades e teoremas inerentes ao assunto.
A transformada de Laplace é aplicada na equação diferencial linear do movimento do disco,
obtendo-se:
6 j O() + O() = <() (36)
A função de transferência é a razão entre a saída e a entrada de um sistema. Na equação do
movimento do disco, a entrada fornecida pelo usuário é a referência, e sua saída é a posição do
disco. A equação 37 mostra a função de transferência do modelo da planta.
32
O() 1
#() = =
<() 6 +
j
(37)
O sistema de levitação magnética, sem as não linearidades devido ao atuador e ao sensor e com
compensação da gravidade, é um sistema de segunda ordem linear. Esse tipo de sistema um modelo
clássico e bastante estudado, para o qual existem várias referências, como, por exemplo, as
referências [4] e [5] desse trabalho.
mg
1 1
-
(10j L + )F 10¥ (L! )
6 j +
u [counts] y[m] ys [counts]
f [N] +
sensor não linear
sistema
Figura 15: Diagrama de blocos do sistema em seu modo original
No diagrama de blocos da Figura 15 a função não linear do sensor é multiplicada por um fator
de 106 porque a saída da função de transferência dinâmica da planta está em metros, e para que seja
utilizada a relação da equação 1 é necessário que L seja antes convertida para centímetros para
33
então ser convertida em counts. Vale lembrar que L! é dado em centímetros, desse modo vale a
relação seguinte.
L! = 100L (37)
Para anular a não linearidade do sensor é necessário multiplicar a não linearidade por sua
inversa, como mostra o diagrama da Figura 16.
mg
1 1
-
(10j L + )F (L! )
6 j +
u [counts] f [N] + y[m] ys
10¥ !
ym[counts]
sistema
inversa
Figura 16: Diagrama de Blocos do Sistema com Compensação do Sensor
O retorno do sensor da posição do disco agora é LA , o qual tem uma relação diretamente
proporcional entre a altura do disco e a contagem do DAC. Para eliminar a não linearidade do
atuador, também é utilizada a inversa da não linearidade do atuador, como mostrado na Figura 17.
u [counts]
mg
1 1
+ -
(10 F
∙ LA + )F 10¥
(10j L + )F
ym[counts]
6 j +
f [N] + y[m]
mg sistema
Figura 17: Diagrama de blocos do sistema com compensações do Sensor, Atuador e Gravidade
1
6 j +
u [counts] y[m]
34
4.4. O Sistema Linearizado
A linearização feita por compensação das não linearidades do sistema deixa o sistema de
levitação magnética como uma função de transferência de segunda ordem simples, amplamente
estudada academicamente. Então é importante conhecer melhor o sistema linearizado.
Para qualquer sistema, é importante saber sobre a estabilidade do sistema. Respostas oscilantes
ou que tendem ao infinito são indesejadas. Para analisar uma função de transferência em malha
aberta, como a da Figura 18, quanto a sua estabilidade, deve ser feito um estudo da sua resposta em
regime permanente. O regime permanente ocorre quando = → ∞.
Para utilizar a função de transferência encontrada no subitem anterior, é aplicado o teorema do
valor final. O teorema do valor final relaciona o comportamento em regime estacionário de ℎ(=) ao
comportamento de %() nas proximidades de = 0 [4]. O teorema do valor final é dado por:
lim ℎ(=) = lim %()
ª→« →[
(38)
Considerando que o estímulo fornecido ao sistema de levitação seja do tipo degrau, utilizando o
1 1 1
teorema do valor final na equação 37:
A equação 40 mostra que teoricamente o sistema é instável em malha aberta, sua resposta
tende ao infinito em regime permanente. Isso significa que, teoricamente, o disco magnético subiria
infinitamente o disco no sistema real.
O disco magnético, no entanto, não fica limitado pelas características físicas do sistema. Apesar
da não linearidade do atuador, a qual leva em consideração a altura do disco, ter sido compensada, o
campo magnético gerado pelo atuador ainda depende da distância. O subitem 3.1 deste trabalho
mostra que o campo magnético diminui com a distância em relação a sua fonte geradora. Por esse
motivo o disco chega a uma determinada altura e fica estável, desde que o esforço de controle não
forneça uma corrente muito alta, pois o sistema cortará computacionalmente seu fornecimento para
a preservação da bobina.
Em ambiente de simulação o sistema tem uma resposta como a esperada na teoria, ou seja, que
a resposta ao degrau tende ao infinito. O sistema deve então ser realimentado pela sua resposta, já
que a realimentação, entre tantos outros benefícios, traz estabilidade aos sistemas instáveis em
malha aberta.
Além do propósito de tornar o sistema estável, a realimentação servirá também para que o
sistema siga a referência fornecida pelo usuário, redução da sensibilidade em relação aos parâmetros
da planta e controle da resposta temporal do sistema. O sinal de referência será comparado com o
sinal de saída, o resultado dessa comparação é multiplicado por um ganho e então inserido na
função de transferência dinâmica da planta, fazendo com que o disco magnético se movimente.
35
O ganho proporcional a que o erro entre a saída e a referência no sistema de levitação
magnética além do que é fornecido pelo operador, será composto também por propriedades
inerentes às várias partes do hardware do sistema de levitação. O DAC, o ADC, o amplificador servo
são exemplos de partes do hardware que inserem ganhos no sistema de levitação. Esse ganho será
denominado aqui de k ®. O ganho inserido pelo usuário ao sistema de levitação é o ganho .1 . Esse
ganho deve ser suficiente para que o sinal consiga tirar o disco magnético da sua posição de repouso.
O sistema em malha fechada, considerando todas as não linearidades compensadas, e com o
ganho proporcional e do hardware, em diagrama de blocos se resume ao mostrado na Figura 19:
1
.1 +,-
6 j +
r + y[counts]
A resposta em regime permanente é menor que ∞, o que implica que o sistema é estável em
malha fechada. Para o caso mostrado na equação 42 a resposta em regime permanente tem a
mesma amplitude do sinal de entrada, o que implica dizer que o sistema em malha fechada tem
ganho unitário, e portanto, segue o sinal de referência aplicado.
Da função de transferência ?(), somente o valor de 6 é conhecido. Os valores de , .1 e +,-
precisam ser encontrados. Para isso, ?() deve ser comparado com a forma-padrão do sistema de
segunda ordem [4].
() ^_j
%() = = j
J() + 2]^_ + ^_j
(43)
36
A forma padrão do sistema de segunda ordem é dada na equação 43, em que ] é o coeficiente
de amortecimento e ^_ é freqüência natural não amortecida. Os valores de ] e ^_ podem ser
definidos através de dados experimentais. Para definir o valor de ] é definido pelo momento de pico
(), ou overshoot, em porcentagem em relação ao sinal de referência, enquanto que o de ^_ é
definido pelo tempo de pico => . As seguintes relações definem esses parâmetros:
−57 (%/100)
]=
g± j + 57j (%/100)
(44)
±
e
^_ =
=> g1 − ] j
(45)
.1 +,-
^_ =
6
(46)
1
e
]= ² ³
2^_ 6
(47)
No entanto, para que o valor de +,- seja conhecido, este deve ser a única incógnita na equação.
Para isso, um .1 deve ser definido pelo usuário para encontrar esses parâmetros.
O ganho .1 foi definido empiricamente no sistema real. Foi observado que se o ganho .1 é
muito pequeno, o sinal não é amplificado o suficiente para poder movimentar o disco magnético. O
modelo do sistema dinâmico não considera o atrito estático do disco, por isso o ganho .1 teve de ser
aumentado até vencer essa barreira. Por outro lado, se for muito grande, o sistema fica instável, ou
seja, o disco fica oscilando e nunca se estabiliza para um dado esforço de controle, ou então,
sabendo que valores elevador de .1 associam maiores esforços de controle, o fornecimento de
corrente é cortado devido a proteção intrínseca do kit didático. A escolha do .1 foi feita de forma
que o sistema tivesse comportamento linear.
O ganho que de .1 = 0,85 apresenta resultados em que a planta pôde ser considerada linear.
Este ganho é inserido no sistema através de um algoritmo de malha fechada, o qual também contém
a compensação da não linearidade do atuador. É através desse algoritmo, então, que a modelagem
do atuador pode ser validada, como especificado no subitem 3.4.
A Tabela 11 relaciona os valores entre as alturas e os esforços de controle obtidos com este ganho
imposto no sistema de malha fechada e a Figura 20 é o gráfico gerado pelos dados acima.
37
u (counts) Posição do disco (cm)
10000 1,00
11000 1,05
12000 1,10
13000 1,25
14000 1,35
15000 1,40
16000 1,55
18000 1,70
20000 1,90
Tabela 11: Relação entre esforço de controle e altura do disco magnético no sistema linearizado
Figura 20: Relação da posição do disco e o esforço de controle fornecido em malha fechada
38
por rotinas específicas. O manual de instruções [1] traz as equações matemáticas de cada tipo de
trajetória.
O Executive Program tem a propriedade de gerar gráficos e exportar os dados que são coletados
em tempo real. Com os dados exportados é possível utilizá-los para estudar o sistema e gerar
gráficos através de outros programas, que no caso deste trabalho foi utilizado o Matlab®.
O gráfico da Figura 21 mostra o sinal de referência, fornecido pela rotina do Executive Program,
e a leitura do sensor. Através deste gráfico é possível obter o overshoot e o tempo de pico,
necessários para utilizar as equações 46 e 47.
No gráfico da Figura 21 o disco magnético não estabiliza sobre a referência devido ao modelo
não levar em consideração o atrito, além de o controle ser puramente proporcional (o que é
detalhado mais adiante no capítulo seguinte) o que não corrige a não modelagem do atrito estático,
o disco magnético pára acima da altura desejada. No primeiro degrau o disco magnético sofre mais
influência do atrito estático que os outros, pois o disco está inicialmente em repouso, enquanto que
nos outros degraus o disco magnético já está em movimento.
O tempo de pico e overshoot não foram pegos do gráfico da Figura 21, mas diretamente dos
dados que o geraram para se obter uma melhor precisão, por ser mais simples o uso dos dados do
que observando o gráfico proveniente do Matlab®, devido a escala do gráfico não favorecer a isso.
Os overshoots de cada degrau foram respectivamente 84,12%, 71,46% e 74,09. Os seus tempos de
pico respectivos foram 0,1330, 0,1240 e 0,1240, em segundos.
Para cada degrau que o sistema foi submetido foram pegos os respectivos tempos de pico e
overshoots, e deles foram tiradas médias aritméticas de ambos. Com a média foram obtidos os
valores do coeficiente de amortecimento ] e da freqüência natural do sistema ^_ , através das
39
equações 44 e 45. E utilizando das equações 46 e 47 é possível obter os valores de +,- e . Para o
cálculo foi considerado que 6 = 0,120 +" e .1 = 0,85.
] = 0.084727214988862
^_ = 24.826220534989581
+,- = 87.012878972038351
= 0.504829565910949
A função de transferência do sistema de levitação magnética com as não linearidades
616,3
compensadas e com realimentação fica da seguinte forma.
?() =
j + 4,207 + 616,3
(48)
Com isso, diagrama de blocos da Figura 19 pode ser reestruturado da seguinte forma como
mostrado na Figura 22:
+,-
.1
6 j +
r + y[counts]
4.5.Validação do Modelo
40
Ao contrário do sistema real, no entanto, não é necessário um esforço de controle constante e
para poder estimular a trajetória do disco, pois no ambiente virtual não existem as limitações físicas
do mundo real. Ao invés disso foi colocada uma fonte geradora de sinal de pulsos configurável.
Foram feitas configurações idênticas as de quando feito a coleta de dados no sistema real. Foram
colocados 3 pulsos, com amplitude de 1 e um período de 2 segundos e a mesma taxa de
amostragem, da mesma forma como foi obtido os dados do sistema real. Foi utilizado um
osciloscópio para ver o estímulo e a resposta em tempo real e também essas variáveis foram
enviadas para o workspace do Matlab® com a finalidade de tratar os dados depois.
O gráfico da Figura 25 mostra a resposta da função de transferência obtida devido aos impulsos
fornecidos ao sistema.
Como a função de transferência não leva em consideração o atrito estático e por não ter um
amortecimento maior, o final de cada degrau no gráfico da Figura 23 se diferencia do sistema real
por não obter um valor quase fixo. Ao invés disso o sistema modelado continua oscilando, e a
resposta necessita de mais de 1 segundo para se estabilizar na referência, ao invés de estabilizar em
uma altura acima da desejada em menos de 1 segundo.
Comparando as duas respostas em um mesmo gráfico, essa diferença de comportamento é mais
bem vista. Para isso é necessário que a resposta do sistema modelado seja colocada em counts, para
isso é só multiplicar as amplitudes dos sinais de referência e a resposta por 104.
41
Figura 24: Comparação entre dados do modelo e dados real da resposta do sistema
O modelo obtido pela identificação paramétrica utilizando sistemas de segunda ordem obteve
um modelo do sistema que se aproxima do sistema real. A modelagem do atrito estático não faz
parte deste trabalho, motivo pelo qual o sistema de segunda ordem pode não ter ficado mais
próximo do sistema real.
No entanto o modelo traz respostas satisfatórias em relação aos primeiros instantes do pulso
fornecido pelo usuário. Região em que o sistema de levitação pode ser trabalhado para retornar
respostas mais satisfatórias que as encontradas neste item.
42
5. Controle do Sistema de Levitação Magnética
Controlar um sistema significa dar à resposta do sistema características desejáveis em relação a
uma determinada entrada. O controlador atua sobre o erro entre a entrada de referência a que o
sistema é submetido e sua resposta, em relação a esta entrada. O controlador deve ficar antes do
sistema, como indicado pelo bloco .1 da Figura 22 no capítulo anterior.
As características da resposta que podem ser modificadas por um controlador podem ser de
características de regime permanente ou da resposta transitória. A característica de regime
permanente se resume em o sistema seguir a referência quando = → ∞. A melhoria da resposta
transitória se dá quanto ao overshoot, tempo de pico, tempo de subida e tempo de acomodação. O
projeto do controlador deve levar em consideração as características desejáveis da resposta do
sistema a uma determinada entrada de referência.
Neste capítulo, o modelo obtido anteriormente de #() é utilizado para fazer sintonias de
controle que são testadas através de simulação em ambiente virtual, e seus parâmetros de controle
encontrados são aplicados ao sistema real. O sistema real, com o controlador projetado já
implementado, é estimulado por esforços de controle obtendo respostas semelhantes as obtidas na
simulação.
As sintonias de controle realizadas nesse trabalho tem propósito de mostrar o quanto a resposta
do sistema pode ser melhorada em relação a resposta encontrada na Figura 21, no entanto existem
diversas soluções para o mesmo objetivo de projeto além das que são apresentadas aqui. Além disso,
outras propostas de projetos podem ser realizadas.
5.1.Controlador P
Um controlador proporcional age sobre o erro de forma proporcional. Se o erro entre a saída e a
entrada de referência de um mesmo sistema for constante, a saída do controlador será o erro
multiplicado .1 vezes, e também será constante.
O ganho .1 no capítulo anterior foi definido como .1 = 0,85 e, na configuração da Figura 22, é
um controlador proporcional. A resposta do sistema em relação ao controlador .1 = 0,85 já foi
mostrada no capítulo anterior, a qual foi necessária para encontrar os parâmetros constantes de
#(). Além disso, esse ganho mostrou a resposta do atuador linearizado.
Neste subitem o ganho procurado deve retornar uma resposta satisfatória de modo que o
sistema acompanhe o sinal de referência ; fornecido. O método utilizado aqui para a sintonia de
controladores proporcionais é o método do lugar das raízes. Com esse método é possível encontrar
vários valores para .1 . Detalhes da técnica de análise do lugar das raízes podem ser vistos nas
referências [4] e [5], capítulos 6 e 8 respectivamente.
43
Os valores de .1 que podem ser utilizados no sistema de levitação devem ser suficientemente
grandes para que o disco se desloque ao longo do guia, mas não podem ser muito grande devido a
proteção do sistema de levitação contra correntes elevadas na bobina, além fazer com que o sistema
tenha uma resposta desejável pelo usuário.
Para verificar a estabilidade do sistema neste trabalho com os controladores, daqui em diante
será observando o lugar das raízes para determinado controlador. Se todos os pólos que estiverem
de uma função de transferência estiverem no semi-plano esquerdo no gráfico, então o sistema é
estável, enquanto que se ao menos um pólo da função de transferência estiver no semi-plano direito
do lugar das raízes, então o sistema é instável se for utilizado tal pólo.
No lugar das raízes o ganho .1 pode ser limitado de acordo com a resposta que se deseja do
sistema segundo os critérios de resposta em regime permanente e/ou da resposta transitória, para
mais detalhes de estudo de resposta transitória ou em regime permanente, ver referências [4] e [5].
O lugar das raízes da função de transferência da equação 49 (capítulo anterior) é exposto na
Figura 25 como segue.
A Figura 25 linhas com cores diferentes, as cores em questão são verde e azul. As linhas
representam os possíveis valores dos pólos da função de transferência em malha fechada caso o .1
seja aumentado. Os valores dos pólos tendem a se afastar dos pólos de #(), marcados com “x” na
figura, a medida que .1 aumenta seguindo essas linhas. A Figura 26 mostra em destaque os pólos de
#() e dois pólos correspondentes a .1 = 0,0058.
O modelo obtido retornou uma resposta transitória muito lenta para se estabilizar, ao passo que
o sistema real se estabiliza rapidamente, devido a características físicas do sistema. O tempo de
assentamento pode ser utilizado como um critério desejado para a resposta transitória, para que o
sistema não demore a se estabilizar. O critério do tempo de assentamento de 5% é dado por:
44
3
= =
]^_
(52)
O produto ]^_ também é chamado de atenuação [4]. Este produto é representado por \ e é a
parte real da variável complexa que representa a transformada de Laplace. No plano complexo
= \ está sobre o eixo real.
O tempo de assentamento para o sistema de levitação magnética deve ser menor que a metade
do período, haja vista que o degrau só dura esse intervalo de tempo, de modo que a resposta se
estabilize na referência. Através da equação 52, encontra-se o valor de \, valor real de e no gráfico
todos os ganhos que estão sobre ou a esquerda de \ atendem ao requisito de tempo de
assentamento.
Através do lugar das raízes obtido com o auxílio do Matlab® e da equação 52 é possível obter o
tempo de assentamento mínimo que o sistema pode conseguir desde que se saiba o menor valor de
\ no lugar das raízes utilizando a #().
O \ que traz o menor valor do tempo de assentamento é para \ = -2,1, pois é onde pode-se ter
dois pólos com o mesmo valor de \. Isso limita o sistema na busca por respostas que tenham tempo
de assentamento dentro do meio período, pois o tempo de assentamento fica limitado a = =
1,4286s.
O ganho nas proximidades de \ = -2,1 é muito pequeno para mover o disco. Para isso deve-se
aumentar a freqüência natural amortecida do sistema, isto é, = -2,1±jωd com ωd ≠ 0. Isso resulta
em uma diminuição do amortecimento o que faz aumentar o valor overshoot.
Em ambiente virtual, simulações podem ser feitas para diferentes de .1 e nota-se que o sinal do
sistema nem sequer chega a referência para valores de ganho muito pequenos. À exemplo disso, um
ponto em = -2,1+j2,39 é mostrado na Figura 27.
45
Figura 27: Pólo para = ,
Com o ganho de .1 = 0,014 a resposta do sistema simulado mal chega a referência fornecida
pelo usuário, e quando atinge o valor da referência, já passou o tempo de meio período.
Com o controlador proporcional não é possível fazer muitas mudanças em relação a referência
degrau com período de 2 segundos. No capítulo anterior foi mostrado o comportamento do sistema
com o .1 = 0,85. Nas imediações desse valor de .1 , considerando as imediações como 0,8 ≤ .1 ≤
1,0, o comportamento do sistema não traz diferenças significativas, modificando muito pouco os
tempos que envolvem a análise de resposta transitória, como o tempo de subida, tempo de pico e o
tempo de assentamento, e o overshoot.
46
O sistema não fica com uma resposta rápida e não segue a referência de modo mais aproximado
somente com um controlador proporcional, pois esse controlador é muito limitado para esse
sistema.
5.2. Controlador PD
+,-
.1
6 j +
r + + y[counts]
.2
- +
No gráfico do lugar das raízes o ganho procurado é o que multiplica todo o sistema #(). Como
na equação 53 existem 2 ganhos, .2 e .1 , se faz necessário que se coloque o ganho .1 em
evidência. Assim é possível escolher onde o zero será alocado no lugar das raízes e ainda assim
conseguir visualizar o ganho da função de transferência. A equação 53 fica como segue.
+,- .1
(?2 + 1)
#() = 6
j + 6
(54)
Onde:
.2 = .1 ?2 (55)
A escolha do zero de #() é depende da escolha de ?2 da seguinte forma:
1
=\=
?2
(56)
47
Após a definição do projetista de onde será alocado o valor do zero, a equação 56 deve ser
utilizada para encontrar ?2 . Para configurar o seu controlador devem ser colocados valores do .1 e
.2 . O valor de .1 é pego diretamente do gráfico do lugar das raízes gerado pelo Matlab®, e a
equação 55 é utilizada para encontrar o valor de .2 .
O zero inserido no sistema pelo controlador deve ser escolhido de forma que amplie as opções
de ganho do sistema, aumentando as opções de projeto, já que com o controlador PD é possível
colocar ganhos maiores para o sistema. No caso do lugar das raízes da Figura 25 é possível colocar o
zero entre os pólos ou a esquerda dos pólos.
Se o zero for escolhido de forma que fique entre os pólos de #(), os valores de um dos pólos
tenderá para o zero enquanto que do outro tenderá para infinito. Dessa forma para qualquer valor
de .1 escolhido terá um coeficiente de amortecimento, ], igual a 1. O lugar das raízes terá a seguinte
forma:
Figura 30: Lugar das raízes de G(s) com zero entre os pólos
Com essa configuração a resposta fica lenta e muito amortecida e não chega ao menos no sinal
de referência. Na Figura 30, o zero está alocado em = -2. Para esta configuração, considerando o
.1 = 0,85, como utilizado na modelagem do sistema, e conseqüentemente .2 = 0,425, a resposta
do sistema modelado fica é mostrado na Figura 31. Outros valores de .1 e .2 maiores que esses
foram testados e os resultados foram semelhantes ao da Figura 31.
48
Figura 31: Resposta do modelo para = , e
= ,
Para a escolha de um zero a esquerda dos pólos da Figura 25, o lugar das raízes toma o seguinte
formato.
Figura 32: Lugar das raízes de G(s) com zero na esquerda dos pólos
O formato do lugar das raízes da Figura 32 possibilita obter valores diferentes de ganho .1 , e de
]. Variar o .1 nessa configuração permite obter uma resposta mais rápida do sistema,
subamortecida, já que o ] pode ser menor que 1. O ganho e o coeficiente de amortecimento ainda
podem ser modificados dependendo de onde o zero for colocado.
Tomando como referência um mesmo ponto no eixo real, \, a medida que o zero é deslocado
para a esquerda o ganho neste ponto aumenta e o coeficiente de amortecimento diminui. De outra
forma, quanto mais a esquerda dos pólos o zero for colocado, para um mesmo \ de referência, será
observado maiores ganhos e maiores overshoots.
49
Para exemplificar a diferença de valores de .1 e ] para diferentes valores do zero, considerando
\ = -6 como ponto de referência, para quando zero é colocado em \ = -50, foi observado que .1 =
0,503 e ] = 0,315, e quando o zero foi colocado em \ = -100 obteve-se .1 = 0,966 e ] = 0,227.
O ganho .1 influencia na resposta transitória de forma que a quanto maior o .1 mais rápida
será a resposta do sistema. Por outro lado, o ganho .2 influencia na resposta transitória inserindo
amortecimento no sistema, já que o controle derivativo atua na variação do erro entre a referência
estabelecida e a saída do sistema de modo que quanto mais brusca é a variação do erro, maior é a
atuação do controle derivativo.
O ganho .1 deve ser definido de forma que, juntamente com .2 , faça com que o sistema seja
subamortecido para que retorne uma resposta transitória rápida e que o overshoot não muito
grande a fim de que a resposta siga o sinal de referência mais rapidamente.
No capítulo anterior é visto que o tempo de pico e o overshoot são utilizados para achar os
parâmetros da função de transferência do sistema comparando-o com a forma padrão da equação
de um sistema de segunda ordem. Para o projeto do controlador PD neste trabalho é levado em
consideração o tempo de assentamento e o overshoot.
O tempo de assentamento é utilizado para saber o valor máximo de \ e o valor do overshoot
para ter o valor mínimo de ]. No lugar das raízes, ] determina o ângulo entre o eixo real e um pólo
qualquer que esteja localizado no 3º e 4º quadrantes do plano dos números complexos. A Figura 33
mostra em destaque linhas correspondente à alguns ] no lugar das raízes.
É possível que encontrar, portanto, pólos no plano complexo definindo o tempo de
assentamento e o overshoot requeridos pelo projeto. Para o controlador deste trabalho, foi
requerido o seguinte tempo de assentamento e overshoot:
t Q < 0,10s
MP < 10%
imaginária, sendo que a parte imaginária, ωd, pode ser encontrada por:
O pólo que atende as especificações de projeto é composto por uma parte real e outra
^C = \tan(ϕ) (60)
Utilizando os requisitos máximos do projeto, ou seja, o \ máximo e o ] mínimo encontrados,
obtém-se os seguintes pólos:
! = −30 + Æ40,93 e j = −30 − Æ40,93 (61)
A condição angular do lugar das raízes é utilizada para encontrar o local onde deve ser alocado o
zero. Essa condição diz que a soma dos ângulos formados pelos vetores no plano complexo que se
originam nos pólos e zeros de malha aberta e vão até o ponto do pólo , em sentido anti-horário, é
igual a um múltiplo ímpar de 180°. De forma prática, considerando um sistema com ganho de malha
aberta igual a Ç() e o ganho de laço Ç()(), tem-se:
Ç()
%() =
1 + Ç()()
(62)
51
O zero é encontrado através de relação tangencial entre o zero do sistema e o pólo do lugar das
40,93
raízes como segue:
tan(68,64°) =
\ − 30
Nesse caso específico, o zero do sistema deve ser alocado no ponto \ = -46,01. Todos esses
valores foram aproximados de forma que, quando for gerado o gráfico do lugar das raízes pelo
Matlab® através de um algoritmo, levando em consideração todas as casas decimais possíveis, tem
parâmetros com valores próximos aos encontrados aqui, como mostrado na Figura 34.
52
Figura 35: Lugar das raízes do controlador PD
Para essa simulação, de acordo com os resultados obtidos pela localização dos pólos no lugar
das raízes, os valores dos ganhos são:
.1 = 3,78 e .2 = 0,0881 (65)
O Matlab® retornou um .2 com mais casas decimais que o apresentado em 65, no entanto, a
aproximação feita para esse ganho não altera a resposta do sistema consideravelmente.
Após realizar o projeto em ambiente virtual, onde os requisitos de projeto foram atendidos, foi
feita a implementação dos ganhos do controlador no sistema físico de levitação magnética. No
53
algoritmo de controle, o ganho derivativo sofre influência do tempo de amostragem do DSP por se
tratar de um sistema digital. Para maiores detalhes de implementação, ver Anexo C.
A resposta do sistema com os ganhos encontrados no projeto é mostrada na Figura 37.
.2
+,-
.1
+
6 j +
r + y[counts]
+
.2
- +
Onde:
.1 = . Í (?2 ?4 + 1)
.2 = .′?2 (68)
.4 = .′?4
Para manter a características da resposta transitória adquirida pelo controlador PD, serão
mantidos o valor de .1 e do zero encontrados, que são mostrados na Figura 35.
O integrador insere um pólo na origem do lugar das raízes do sistema. O valor de ?4 deve ser de
tal forma que o zero fique próximo da origem, de modo que a contribuição angular do compensador
calculada nos pólos dominantes de segunda ordem originais seja aproximadamente zero [5]. Para o
projeto do controlador PID deste trabalho, foi determinado que ?4 = 0,3.
Mantendo o zero inserido pelo controlador PD do subitem 5.2 e com a contribuição do
controlador integrador, o lugar das raízes do sistema fica como apresentado na Figura 39. A Figura 40
mostra o detalhe do lugar das raízes da Figura 39 próximo a origem.
55
Figura 39: Lugar das raízes com contribuição do integrador
Como .1 foi mantido o mesmo para a nova configuração, e tendo o valor de ?2 e ?4 , foi achado
o valor de .′ para então encontrar os valores de .2 e .4 . Os valores dos ganhos encontrados são de:
.1 = 3,78
.2 = 0,0875
.4 = 1,1261
Os ganhos são colocados dessa forma no controlador para que a resposta do sistema, tanto no
simulado quanto no físico, sejam mais precisas.
Os ganhos são colocados na configuração da Figura 38 e o sistema é simulado. A resposta da
simulação é mostrada na Figura 41.
56
Figura 41: Resposta do sistema modelado com o controlador PID
As respostas aos degraus do sistema com o controlador PID não ficaram melhores que o
controlador PD. Os tempos de assentamento para os três degraus, respectivamente, são: 0,079,
0,081 e 0,085. Os overshoot para os três degraus são, respectivamente: 14,81%, 14,37% e 13,83%.
A inserção do controlador integrador no controle PD aumentou o tempo de resposta e o
overshoot para a resposta em degrau. Para essa resposta em degrau o erro de regime permanente
com qualquer tipo de controlador deveria tender a 0, no entanto isso não ocorre devido a não
linearidades do sistema não modelada neste trabalho.
57
O sistema ainda pode ser testado para outros tipos de entrada como as entradas rampa e
parábola. Esses tipos de entrada e as respostas dos controladores são mostrados a seguir.
Como o controlador proporcional não foi projetado nesse trabalho devido aos motivos
mostrados no subitem 5.1, este não será implementado no sistema para conhecer sua resposta às
entradas rampa e parábola.
Para entrada rampa, teoricamente o sistema com o controlador PD deverá seguir a referência
1
com um erro, chamado de erro de velocidade, que é dado por:
=
./
(69)
Onde:
./ = 5u6 #()
→[
(70)
Que para o caso deste trabalho fica como segue.
+,- .1
./ =
(67)
Ou seja, quanto maior .1 menor será o erro em regime, considerando que o ganho de hardware
e o atrito dinâmico como constantes. Com o controlador PID, este passa a ser do tipo 2, o que a
teoria da referência [4] e [5] mostra que o erro de regime para a entrada rampa é nulo.
Para entrada em parábola o erro de regime permanente de um sistema tipo 1 tende a infinito e
o do tipo 2 tende a uma constante. Para o caso do sistema com o controlador PID, o erro de regime
1
permanente para uma entrada parábola é:
=
.0
(71)
Onde:
.0 = 5u6 j #()
→[
(72)
+,- .4
Que para o caso deste trabalho fica como segue.
.0 =
(73)
Quanto maior .4 menor será o erro de regime permanente para uma entrada parábola.
O sistema com os controladores PD e PID obtidos em 5.2 e 5.3 é estimulado para as entradas
rampa obtendo as seguintes respostas.
58
Figura 43: Resposta do sistema com controle PD Figura 44: Resposta do sistema com controle PID
Figura 45: Resposta do sistema com controle PD Figura 46: Resposta do sistema com controle PID
Apesar de o sistema de ser do tipo 1 com o controlador PD, o sistema não tende a infinito pelos
mesmos motivos apresentados no capítulo 4 quando é apresentada a função de transferência do
sistema linearizado por compensação. A saída do sistema é a posição do disco, e este é elevado
dependendo do campo magnético gerado pelo solenóide. O campo magnético diminui com o
aumento da distância em relação a sua fonte geradora, o que estabiliza o disco em alguma posição.
A comparação entre as respostas, com os diferentes controladores, para as entradas rampa e
parábola através da sobreposição dos gráficos de ambas respostas não convém , pois as linhas ficam
muito próximas, dificultando a análise visual. Para comparação do desempenho dos controladores
nas respostas do sistema pode ser utilizado algum dos índices de desempenho conhecidos como
ITAE, IAE, ISE, ITSE.
Como o intuito não é comparar os índices de desempenho, o índice IAE é utilizado aqui para
comparar o desempenho dos controladores nos 2 tipos de entrada utilizadas nesse subitem, para os
controladores PD e PID.
A Tabela 12 mostra os resultados do índice de desempenho do sistema quando controlado pelos
controladores PID e PD. Dessa forma fica claro o melhor desempenho para o controlador PID. Isso é
devido ao integrador inserido no ganho de malha aberta.
59
Controlador
Tipo de entrada PD PID
Rampa 427973 141872
Parábola 334242 105433
Tabela 12: Índice de desempenho IAE dos controladores PD e PID
O controlador proporcional para o sistema de levitação magnética é muito limitado, pois com
desse tipo de controlador não é possível obter tempos de assentamento menor que 1 segundo. Além
disso, na prática, o ganho não pode ser muito elevado devido a proteção que o kit didático tem
contra altas correntes do sistema, interrompendo o fornecimento de corrente à bobina.
Inserindo um controlador derivativo, ou seja, um zero no ganho de malha aberta, é possível
obter valores maiores do ganho proporcional, o que torna a resposta mais rápida. Através do
controlador derivativo é possível obter diferentes valores do coeficiente de amortecimento, podendo
dessa forma projetar uma resposta transitória para o sistema.
A contribuição do integrador pelo controlador PID não chegou a melhorar o sistema para as
entradas degrau, o que era previsível antes mesmo de implementar o controlador já que o
integrador insere um segundo pólo na origem. O controlador integral foi implementado com caráter
didático, sendo que não é uma alternativa prática para ser utilizado no sistema, o controlador PD se
mostrou satisfatório. No entanto, para entradas de referência do tipo rampa e parábola, o
controlador PID mostrou melhor desempenho que o controlador PD.
60
6. Conclusão e Considerações Finais
O estudo realizado neste trabalho sobre o kit de levitação magnética levou em consideração a
linearização através da compensação das não linearidades do atuador e do sensor. Com o sistema
linearizado, a equação dinâmica do sistema de levitação é comparada a um sistema de segunda
ordem, encontrando um modelo para o sistema. Em seguida, uma sintonia de controle clássico é
aplicada utilizando o método do lugar das raízes.
Para a linearização do sistema por compensação das não linearidades, são utilizados os modelos
matemáticos do sensor e do atuador que são encontrados no manual de instruções do kit [1].
A obtenção da função de transferência é importante para que se possa estudar o sistema
através de simulações. Além disso, a função de transferência encontrada foi bastante utilizada no
projeto dos controladores PD e PID para encontrar os seus ganhos, para daí então serem
implementados no sistema físico.
As respostas do sistema físico e modelado não são idênticas devido a não linearidades que não
são tratadas nesse trabalho. À exemplo disso, o atrito estático não está modelado, o qual deve ser
vencido para o disco entrar em movimento quando inicialmente em repouso.
Comparando os gráficos das figuras do sistema físico e modelado, em que o sistema modelado é
submetido a esforços de controle semelhantes aos do sistema físico, é perceptível o comportamento
semelhante.
Os controladores projetados e implementados obtiveram respostas melhores do sistema se
comparadas a do sistema somente com o controle proporcional. No entanto os controladores
propostos aqui não é a única solução para melhorar o desempenho do sistema.
Outros tipos de linearização, diferentes do visto aqui, podem ser estudados e realizados sobre o
kit didático de levitação magnética. Outro estudo para modelagem do kit pode ser feito
considerando suas não linearidades.
Considerando a modelagem ainda por linearização do sistema, em um outro trabalho, o atrito
estático poderia ser levado em consideração para ajudar na obtenção de um modelo que reflita
melhor o comportamento do kit.
Outras técnicas de controle podem ser utilizadas sobre o sistema, já que o controlador proposto
aqui, bem como o método utilizado para obtê-lo, não é única solução para esse sistema.
Modelos encontrados por diferentes técnicas e com diferentes considerações, bem como os
controladores propostos encontrados por diferentes meios podem ser estudados e comparados em
outros trabalhos.
61
7. Bibliografia
[1] Parks, Thomas R. 1999. Manual For Model 730: Magnetic Levitation System. Bell Canyon : ECP,
1999.
[2] Tipler, Paul A. 1999. Física para Cientistas e Engenheiros. [trad.] Horacio Macedo e Ronaldo de
Biasi. Nova Iorque : Livros Técnicos e Científicos Editora, 1999.
[4] Ogata, Katsuhiko. 2006. Engenharia de Controle Moderno. [trad.] Paulo A Maya. 4ª Edição. São
Paulo : Prentice Hall, 2006.
[5] Nise, Norman S. 2002. Engenharia de Sistemas de Controle. [trad.] Bernardo S da Silva Filho. 3ª
Edição. Pomona : LTC - Livros Técnicos e Científicos Editora S.A., 2002.
[6] Campos, Mário César M. Massa de e Teixeira, Hebert C. G. 2006. Controles Típicos de
Equipamentos e Processos Industriais. São Paulo : Edgard Blücher, 2006.
[7] Matsumoto, Élia Y. 2001. MATLAB 6: Fundamentos de Programação. São Paulo : Érica, 2001.
[8] Matsumoto, Élia Y. 2002. Simulink 5: fundamentos. São Paulo : Érica, 2002.
[9] Chen, Chi-Tong. 1993. Analog and Digital Control System Design, Transfer-Function, State-Space,
and Algebric Methods. s.l. : Harcourt Brace Jovanovich College Publishers, 1993.
[10] Franklin, Gene F., Powell, J. David e Emami-Naeini, Abbas. 1995. Feedback Control of Dynamic
Systems. 3ª Edição. s.l. : Addison-Wesley Publishing Company, 1995.
[11] Kuo, Benjamin C. 1992. Digital Control Systems. 2ª Edição. s.l. : Harcourt Brace Jovanovich
College Publishers, 1992.
62
ANEXOS
O passo inicial então é escolher a curva que melhor se adapte ao conjunto de dados, definindo o
que será considerado o melhor tipo de função, isto é, se o ajuste será feito por uma reta, parábola,
exponencial, etc. Essa curva é expressa por uma função
f L = "(Ð),, e é escolhida em geral segundo
algum critério físico ou empiricamente.
( ! , L! ), (Ðj , Lj ),..., (Ð_ ,
Analisando Figura 47 onde um conjunto de dados representado pelos (Ð
L_ ). Para um
m dado valor de Ð, por exemplo, Ð! , haverá uma diferença entre L! e o valor
63
correspondente determinado na função. Conforme indicado na Figura 47, representa-se essa
diferença por Ñ! , que é designado como desvio, erro ou resíduo. Analogamente, para os valores Ðj ,
..., Ð_ obtém-se os desvios Ñj , ..., Ñ_ . Desse modo, uma medida da qualidade do ajustamento da
função g aos dados obtidos pode ser fornecida pela função custo.
' = Ñ!j + Ñjj + ⋯ + Ñ_j (A1)
Ou seja, quanto menor o valor da função ', melhor será o ajuste da curva em relação aos
pontos de interesse.
No intuito de minimizar a função custo, equação A1, é aplicado o método dos mínimos
quadrados. Para aplicar este método primeiramente define-se uma função " candidata, que no caso
de uma função do tipo polinomial, por exemplo, a qual pode ser escrita genericamente da maneira a
seguir
"(Ð) = [ + ! Ð ! + j Ð j + ⋯ + Ð (A2)
A função "(Ð) pode ser escrita de forma matricial como:
L = @V (A3)
onde
@ = [1 Ð ! Ð j … Ð ] (A4)
[
e
o ! r
n q
V = nj q
n⋮q
(A5)
m p
Supondo que existe a disposição 7 medidas (L! a L_ ) correspondentes a 7 entradas (@! a @_ ), ou
L! = @! V
seja:
Lj = @j V
⋮
L_ = @_ V
(A6)
L!
em que:
Lj
O=w⋮
L_
(A8)
e
@! 1 Ð ! Ð j … Ð!
o !! !j r
@j 1 Ð Ð … Ð
n q
H=w ⋮ = j j j
n ⋮ q
@_
(A9)
m1 Ð_! Ð_j … Ð_ p
64
Assim tem se que vetor O tem dimensão 7 Ð 1 e a matriz U 7 × (+ + 1). O método dos
mínimos quadrados então é aplicado no sentido de minimizar a função custo ' através do ajuste dos
coeficientes do vetor V. O método dos Mínimos Quadrados foi tratado de forma independente por
Gauss e Legendre o qual foi postulado o seguinte teorema:
“O valor mais provável de grandezas desconhecidas é o que minimiza a soma dos quadrados da
OY = HVY (A10)
Sabendo que o valor do desvio é o valor medido subtraído do valor estimado, e adotando
OÖ = O − OY (A11)
e
VÖ = V − VY (A12)
OÖ = HVÖ
obtém-se
(A13)
Esta ultima é denominada como equação do erro. A estimativa de V é obtida minimizando o a
'(V) = OÖ × OÖ = ØO − HVYØ
j
(A15)
Portanto, para se obter a melhor estimativa no sentido dos mínimos quadrados, deve-se obter θY
satisfazendo:
Ù'
função.
VY = [H × H] ! H × O
logo o conjunto de coeficientes que minimiza a função custo pode ser finalmente obtido por:
(A19)
O termo [H × H] ! H× também é conhecido como matriz pseudo-inversa, ou seja:
tu7v(H) = [H × H] ! H× (A20)
Então a equação A19 pode ser reescrita na forma:
VY = tu7v(H)O × (A21)
65
Consultando a referência [3] deste trabalho, é possível obter mais informações sobre a pseudo-
inversa e algumas propriedades de matrizes importantes para a dedução da pseudo-inversa.
O Matlab® foi ferramenta essencial neste trabalho, pois foi através dele que foi possível gerar os
gráficos dos dados coletados do atuador e sensor, simular o sistema gerando a resposta em relação a
entrada fornecida pelo usuário e onde foi possível calcular os parâmetros do sensor, atuador e da
função de transferência em malha aberta.
Nesse anexo estão os algoritmos feitos no Matlab® em que foram obtidos os resultados que são
utilizados nesse trabalho. Serão apresentados na ordem de utilização, separando-os em categorias
como sensor, atuador, identificação e modelagem e controle.
Sensor
O algoritmo utilizado para a coleta e armazenamento dos dados coletados do sensor mostrados
na Tabela 1 relacionando a altura em centímetros com a leitura do sensor em counts:
% Código para auxiliar o processo de aquisição de dados relativos ao
% sensor. O usuário define a leitura do sensor para dada altura e é
% solicitado para que o mesmo salve o arquivo com as variáveis.
clc
clear
close all
%Define variável 'posicao'
posicao = [0 0.5 1 2 3 4 5 6];
66
%Carrega arquivo com os dados coletados
arquivo = input('Digite o nome do arquivo de dados : ', 's');
load(arquivo);
e = Theta(1)
f = Theta(2)
g = Theta(3)
h = Theta(4)
67
O algoritmo utilizado para a coleta e armazenamento dos dados coletados do sensor mostrados
na Tabela 4 relacionando a altura em centímetros com a leitura do sensor em counts:
% Algoritmo para verificar a linearização aplicada ao sensor. O usuário
% define a leitura do sensor para dada altura e é solicitado para que o
% mesmo salve o arquivo com as variáveis. Traça gráfico a partir dos dados
% coletados com os parâmetros [e f g h]' obtidos através do MMQ.
%clc
clear
close all
%Define variável 'posicao'
posicao = [0.8 1.4 2.1 2.8 3.5 4.4 5.1 5.8];
68
Atuador
Para o atuador também foi utilizado um algoritmo para coletar os dados do sistema físico,
salvando as variáveis ao final e ainda gera o gráfico da Figura 9.
% Código para auxiliar o processo de aquisição de dados relativos ao
atuador
close all
clear
clc
close all;
clc
clear
69
%Valores de b -> intervalo de valores a serem testados
inicio = 6.28186;
fim = 6.28189;
passo = 0.0000001;
% Constantes do modelo
N=4.0; % expoente da potência
m= 0.120; % massa medida do disco [Kg]
g=9.8; % gravidade [m/s^2]
f = m*g; % força peso do disco [N*m/s]
%Define Jmin
Jmin=inf;
%Início
for b = inicio : passo : fim
%Valor de a obtido através das medidas e do valor de b
a = f*[(y_med+b).^N]\u_med;
%Valor da contagem obtido do modelo
u_mod = f*a*[(y_med+b).^N] ;
%Cálculo do erro entre o valor
e=u_med-u_mod;
%Cálculo da função custo
J=e'*e;
%Compara valores de Jmin com o J respectivo ao b, armazenando o menor
%valor em Jmin
Jmin=min(Jmin,J);
%Guarda o valor de b para o qual o custo é mínimo
if Jmin==J
bJmin=b;
end;
%Gráfico dos valores de b versus valores da função custo
figure(1)
hold on;
plot(b,J,'.');
grid
xlabel('Valor do parâmetro b')
ylabel('Valor da função custo J')
legend('Pontos correspondentes');
end;
%Através do valor de b que tem menor função custo mínima é obtido o valor
%de a
aJmin=f*[(y_med+bJmin).^N]\u_med;
%Valor da contagem obtido através do modelo com os parâmetros estimados
uJmin=f*aJmin*[(y_med+bJmin).^N];
%Gráfico com os dados dos valores medidos e com os valores do modelo
figure(2);
plot(y_med,u_med,'b-o',y_med,uJmin,'r-x')
xlabel('Posição (cm)');
ylabel('Esforço de controle u (counts)');
legend('Dados experimentais','Dados atuador MC','Location','Northwest');
grid;
%Mostra valores de a e b
disp('Valor de a e b: ');
a=aJmin
b=bJmin
%Mostra o valor da função custo mínima
disp('Valor da função custo para os parâmetros obtidos : ');
Jmin
70
O algoritmo que utiliza do Método dos Mínimos Quadrados para encontrar os parâmetros do
modelo do atuador é mostrado abaixo. Esse algoritmo também gera o gráfico da Figura 13.
%Método dos Mínimos Quadrados para determinação dos parâmetros do modelo do
%atuador.
clear
clc
close all
%Constantes do modelo
N=4.0; % expoente da potência
m= 0.120; % massa medida do disco [Kg]
g=9.8; % gravidade [m/s^2]
f = m*g; % força peso do disco [N*m/s]
%Definição do vetor U4
u_4 = u_med.^(1/4);
%Definição do vetor Y
vetor_y = [y_med ones(length(y_med),1)];
% Dado o modelo na forma U = Y*Theta
% Theta = (y^-1*u)*F^-1 --> Theta = (pinv(y)*u)*F^-1
Theta = pinv(vetor_y)*u_4;
71
O algoritmo a seguir, gera o gráfico para comparação entre as curvas dos atuadores modelados,
MC e MMQ, e dos dados experimentais. É necessário que os parâmetros do atuador MC tenham sido
salvos, sejam eles o , e '() .
% Compara os dados experimentais com os valores obtidos do atuador pelo
% Método de Monte Carlo e pelo Método dos Mínimos quadrados.
clear
clc
close all
% Dados coletados
y_med = posicao';
u_med = contagem';
%Definição dos parâmetros do atuador MC
amc = a;
bmc = b;
%Constantes do modelo
N=4.0; % expoente da potência
m= 0.120; % massa medida do disco [Kg]
g=9.8; % gravidade [m/s^2]
f = m*g; % força peso do disco [N*m/s]
%Definição do vetor U4
u_4 = u_med.^(1/4);
%Definição do vetor Y
vetor_y = [y_med ones(length(y_med),1)];
% Dado o modelo na forma U = Y*Theta
% Theta = (y^-1*u)*F^-1 --> Theta = (pinv(y)*u)*F^-1
Theta = pinv(vetor_y)*u_4;
72
Identificação e Modelagem
O algoritmo de coleta de dados do atuador calibrado e que gera o gráfico da Figura 20 é como
segue.
%Código para auxiliar o processo de aquisição de dados relativos ao
%atuador com a linearização já implementada.
close all
clear
clc
%Define variável contagem
contagem = [10000 11000 12000 13000 14000 15000 16000 18000 20000];
y_med = posicao';
u_med = contagem';
%Definição do vetor U4
u_4 = u_med.^(1/4);
%Definição do vetor Y
vetor_y = [y_med ones(length(y_med),1)];
% Dado o modelo na forma U = Y*Theta
% Theta = (y^-1*u)*F^-1 --> Theta = (pinv(y)*u)*F^-1
Theta = pinv(vetor_y)*u_4;
73
% Rotina para salvar o arquivo de dados
nome = input('Entre com o nome do arquivo de dados : ', 's');
save(nome,'contagem','posicao');
disp(['Arquivo salvo em : ' nome '.mat']);
O software do kit didático tem a facilidade de poder exportar os dados da trajetória a que o
operador sujeita o sistema. Esses dados são exportados em formato de texto de bloco de notas do
Windows®, extensão *.txt.
Esse arquivo de texto tem o formato de uma matriz, onde as colunas são variáveis do software e
a partir da segunda linha em diante se tem o valor de cada variável. Os valores de cada variável na
mesma linha correspondem à um mesmo instante. O menor desses arquivos neste trabalho tem 678
linhas, sendo trabalhoso colocá-lo aqui, além de o leitor não entender do que se tratam cada coluna.
O Matlab® consegue ler esse arquivo e, através do algoritmo mostrado logo em seguida, separar
as variáveis que interessa para serem utilizadas nesse trabalho, as quais são: tempo, esforço de
controle e leitura do sensor. Não só no capítulo que se refere à modelagem, mas também ao capítulo
que trata do controle do sistema. Todas as figuras de resposta do sistema foram obtidas através
desse algoritmo.
%Ler arquivo *.txt exportados do software do kit de levitação magnética e
%separa as colunas correspondentes ao tempo, esforço de controle e leitura
%do sensor.
clc
clear
close all
Após utilizar o algoritmo logo anterior, é necessário separar os degraus e suas respostas. O
algoritmo a seguir é utilizado justamente para poder separar os dados dos 3 degraus.
%Separador os degraus da resposta exportada do software do kit didático,
%haja visto que o período do degrau é de 2 segundos e o sinal é uma série
%de 3 degraus.
close all
clc
%Não se deve utilizar a função "clear" já que este separador de degraus
%utiliza as variáveis obtidas das respostas do sistema.
Para modelagem foi necessário conhecer parâmetros dos degraus, tais como o overshoot e
tempo de pico para fazer os cálculos necessários e obter os parâmetros da função de transferência
75
de malha aberta com o sistema linearizado. O algoritmo a seguir encontra o overshoot e tempo de
pico de cada degrau, faz a média aritmética e retorna os parâmetros desejados do sistema. E a
função de transferência em malha fechada para um dado ganho.
Esse algoritmo é utilizado no capítulo 5 também, no entanto a função de transferência para os
outros casos são verdadeiras, já que existem controladores PD e PID. O algoritmo, nesse caso, é
utilizado somente para conhecer o tempo de pico e overshoot da resposta do sistema.
%Calcula os coeficientes de amortecimento, frequência não amortecida, tempo
%de pico médio, overshoot médio, o atrito c do modelo e o ganho de hardware
%do sistema.
close all
clear
clc
%Carrega arquivos com os degraus
arquivo = input('Digite o nome do arquivo de dados : ', 's');
load(arquivo);
76
%Encontra constante de amortecimento e frequência natural do sistema
qsi = -log(overshoot_pc)/(sqrt(pi^2+log(overshoot_pc)^2))
fn = pi/(tp_m*sqrt(1-qsi^2))
Variáveis são enviadas para o workspace do Matlab pelo bloco “To workspace” da Figura 48
acima. Essas variáveis são enviadas em formato de structure, onde se tem os vetores tempo, sinal de
referência e resposta do sistema. O algoritmo abaixo lê a variável em structure, retornando os
vetores separados e gerando gráfico do sinal em relação ao tempo junto com a resposta em relação
ao tempo, como o da Figura 23.
Esse algoritmo também foi utilizado para gerar gráficos das respostas do sistema com os
controladores do capítulo 5.
%Algoritmo para plotar gráfico dos parâmetros provenientes de estruturas
%Antes deve ser rodado um arquivo *.mdl onde exporta, com o tempo, duas
%saídas do sistema para o workspace
clc
close all
Controle
A maioria do lugar das raízes desse capítulo foram todos feitos um a um, sem a facilidade de ter
um algoritmo para isso gerar esses gráficos.
Para o projeto de sintonia de controle, o seguinte algoritmo foi feito com o intuito de o usuário
definir os parâmetros de projeto como o tempo de assentamento e o overshoot, obtendo o zero que
deve ser colocado no lugar das raízes.
% Esse algoritmo tem a finalidade de ajudar o usuário na localização do
% zero em um controlador PD dado o sobresinal máximo e o tempo de pico. O
% tempo de assentamento deve ser calculado pelo usuário de forma que seja
% atendido pelos parâmetros pedidos. Antes de rodar esse programa, os
% valores do atrito c e do ganho de hardware devem estar no workspace do
% Matlab.
clc
%Define variável resp
resp='n';
%Instrui o usuário
ts = input('Defina o valor do tempo de assentamento 5% desejado
(segundos): ');
MP = input('Defina o valor do do sobresinal desejado: ');
disp(' ')
disp('Os valores de sigma e csi mínimos são:')
disp(' ')
sigma=3/ts
csi=sqrt(log(MP)^2/(pi^2+log(MP)^2))
As trajetórias rampa e parábola do software do kit, não são como mostradas nas Figuras 43, 44,
45 e 46. A trajetória tem a subida, que é mostrada na figura, e a descida para retornar para o ponto
de partida. Após os dados do arquivo *.txt ser armazenado no Matlab®, o programa abaixo traça o
gráfico mostrado nas figuras e ainda mostra o índice de desempenho IAE.
%Esse algoritmo auxilia em separar a subida da entrada rampa e parábola,
%armazenando os dados referente a essa parte da curva. O arquivo *.txt já
%deve ter sido lido pelo Matlab e o usuário deve ter armazenado as
%variáveis em algum arquivo *.mat.
clc
clear
80
ANEXO C – Implementação dos Controladores
.2
como:
.23 =
?
Sendo que .2 é o ganho derivativo encontrado através do projeto considerando a transformada
de Laplace e .23 é o ganho considerando a transformada z.
Na configuração mostrada na Figura 49 o controlador proporcional é implementado para autar
na diferença entre a entrada e a saída. No entanto, o controlador derivativo, em sua implementação,
não atua desta forma.
A diferença entre a entrada e a saída varia com o deslocamento do disco na guia. O movimento
do disco faz com que ele esteja em posições diferentes para tempos diferentes. Pode-se considerar
então que quando o disco está em movimento, o erro da referência em relação a entrada varia com
o tempo. A diferença, ou erro, entre o sinal de referência e a saída do sistema pode então ser
interpretada matematicamente como (=), sendo que o = dentro dos parênteses não significa que
o erro é de fato uma função do tempo, mas sim que acontece naquele momento.
O controlador derivativo em sua implementação no sistema de levitação magnética, segundo o
manual [1], deve ter uma entrada que seja a diferença entre os erros da referência em relação a
saída em momentos diferentes, ou seja, a entrada do controlador derivativo em sua implementação
deve ser:
(=) − (= − ? )
É no termo acima em que a derivada atua e então é multiplicado pelo ganho .23 . Sendo
implementado da forma:
@C = .23 ∙ (=) − (= − ? )
81
Sendo que @C é a contribuição do esforço de controle fornecido à planta pelo controlador
derivativo.
No caso do controlador integral, o seu ganho derivativo considerando o sistema digital, ou seja,
transformando de Laplace para a transformada z, ficou como segue:
.43 = .4 ?
A implementação do controlador integral, da mesma forma que o controle derivativo, não é
simples como a implementação do controlador proporcional.
Para um determinado erro entre a referência e a saída do sistema, é fornecido um esforço de
controle diferente, de modo que o disco se aproxime da referência. Como o erro depende do tempo
quando o disco está em movimento, pode-se dizer que o esforço também é diferente para diferentes
momentos, ou seja:
@(=), @(= + ? ), @(= + 2? ), …
Sendo que o = entre parênteses não representa que o esforço de controle é função do tempo,
mas sim que ocorrem em momentos de tempos diferentes.
Foi necessário que em cada ciclo do algoritmo, o algoritmo armazenasse o valor do esforço de
controle para ser utilizado no próximo ciclo como parte da saída do controlador integral. A outra
parte da saída do controlador integral é composta pelo ganho multiplicado pelo erro. A
implementação do controlador ficou como segue:
@4 = .43 ∙ (= + ? ) + @(=)
Sendo que @4 é a contribuição do esforço de controle fornecido à planta pelo controlador
integral.
A saída do controlador PID, implementado no algoritmo dentro do Executive Program do kit
didático, com base no manual de instruções [1] é:
@G = @> + @C + @4
Sendo @G é o esforço de controle do controlador PID e @> é a parcela do esforço de controle
devido ao controlador proporcional.
82