Você está na página 1de 97

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

EBERTI RODRIGUES SILVA

2008
UNIVERSIDADE FEDERAL DA BAHIA
ESCOLA POLITÉCNICA
CURSO DE GRADUAÇÃO EM ENGENHARIA ELÉTRICA

EBERTI RODRIGUES SILVA

MODELAGEM E CONTROLE DE UM
SISTEMA DE LEVITAÇÃO MAGNÉTICA

Trabalho apresentado ao Curso de


Graduação em Engenharia Elétrica da
Universidade Federal da Bahia como
parte dos requisitos para a obtenção do
título de Engenheiro Eletricista.

Orientador: LEIZER SCHNITMAN


Co-orientador: RAFAEL REBOUÇAS

SALVADOR
2008

ii
EBERTI RODRIGUES SILVA

MODELAGEM E CONTROLE DE UM SISTEMA


DE LEVITAÇÃO MAGNÉTICA

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.

À mulher companheira, dedicada, atenciosa, compreensiva, que me incentivou em todos os


momentos, que me deu colo sempre que precisei. Érica, obrigado por existir em minha vida.

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.

Palavras-chave: Levitação magnética, Sistema de segunda ordem, Controle clássico.

vii
LISTA DE FIGURAS

Figura 1: Kit didático de sistema de levitação magnética. ...................................................................................... 2


Figura 2: Planta do sistema de levitação magnética. ............................................................................................. 3
Figura 3: Diagrama de bloco de interação do kit didático de levitação magnética ................................................ 4
Figura 4: Gráfico da posição real do disco X leitura do sensor. ............................................................................... 7
Figura 5: Comparação entre dados experimentais e obtidos do sensor modelado .............................................. 11
Figura 6: Gráfico da posição real do disco X leitura do Sensor_1 com novos parâmetros. ................................... 13
Figura 7: Linhas de campo de um solenóide. ........................................................................................................ 15
Figura 8: Linhas de campo de um imã. ................................................................................................................. 15
Figura 9: Relação esforço de controle u x posição do disco magnético ................................................................ 17
Figura 10: Relação entre função custo J e o parâmetro b ..................................................................................... 21
Figura 11: Relação entre função custo J e o parâmetro b em novo intervalo ....................................................... 22
Figura 12: Comparação entre as curvas dos dados experimentais e do atuador MC ........................................... 23
Figura 13: Comparação entre as curvas dos dados experimentais e do atuador MMQ ....................................... 27
Figura 14: Comparação dos modelos encontrados e dos dados experimentais ................................................... 28
Figura 15: Diagrama de blocos do sistema em seu modo original ....................................................................... 33
Figura 16: Diagrama de Blocos do Sistema com Compensação do Sensor ........................................................... 34
Figura 17: Diagrama de blocos do sistema com compensações do Sensor, Atuador e Gravidade ....................... 34
Figura 18: Diagrama de blocos final do sistema de levitação magnética ............................................................. 34
Figura 19: Diagrama de blocos do sistema de levitação linearizado em malha fechada ..................................... 36
Figura 20: Relação da posição do disco e o esforço de controle fornecido em malha fechada ............................ 38
Figura 21: Relação entre o sinal de referência e resposta do sistema .................................................................. 39
Figura 22: Diagrama de blocos do sistema de levitação ....................................................................................... 40
Figura 23: Relação entre o sinal de referência e resposta do sistema modelado ................................................. 41
Figura 24: Comparação entre dados do modelo e dados real da resposta do sistema ........................................ 42
Figura 25: Lugar das raízes do modelo do sistema de levitação ........................................................................... 44

Figura 27: Pólo para  = ,  ....................................................................................................................... 46


Figura 26: Comparação entre ganhos e pólos....................................................................................................... 45

Figura 28: Resposta do sistema com controlador proporcional  = ,  ..................................................... 46


Figura 29: Diagrama de blocos do controlador PD paralelo ................................................................................. 47

Figura 31: Resposta do modelo para  = ,  e 


= ,  ...................................................................... 49
Figura 30: Lugar das raízes de G(s) com zero entre os pólos ................................................................................ 48

Figura 33: Linhas correspondentes a alguns ...................................................................................................... 50


Figura 32: Lugar das raízes de G(s) com zero na esquerda dos pólos ................................................................... 49

Figura 34: Lugar das raízes com os requisitos mínimos de projeto ....................................................................... 52
Figura 35: Lugar das raízes do controlador PD ..................................................................................................... 53

Figura 37: Resposta do sistema para  = ,  e 


= ,  ................................................................... 54
Figura 36: Resposta do sistema modelado com o controlador PD ........................................................................ 53

Figura 38: Diagrama de blocos do controlador PID paralelo ................................................................................ 55


Figura 39: Lugar das raízes com contribuição do integrador ................................................................................ 56
Figura 40: Detalhe do lugar das raízes próximo a origem .................................................................................... 56
Figura 41: Resposta do sistema modelado com o controlador PID ....................................................................... 57
Figura 42: Resposta do sistema físico com o controlador PID .............................................................................. 57
Figura 43: Resposta do sistema com controle PD ................................................................................................. 59
Figura 44: Resposta do sistema com controle PID ................................................................................................ 59
Figura 45: Resposta do sistema com controle PD ................................................................................................. 59
Figura 46: Resposta do sistema com controle PID ................................................................................................ 59
Figura 47: Pontos a serem ajustados e curva candidata....................................................................................... 63
Figura 48: Sistema com controlador P no Simulink ............................................................................................... 77
viii
Figura 49: Sistema com controlador PD no Simulink ............................................................................................ 80
Figura 50: Sistema com controlador PID no Simulink ........................................................................................... 80

ix
LISTA DE TABELAS

Tabela 1: Relação entre posição real e a leitura do sensor. .................................................................................... 7


Tabela 2: Relação entre alturas esperadas, obtidas pelo sensor modelado, o erro e a leitura respectiva do
sensor. ................................................................................................................................................... 10
Tabela 3: Relação entre alturas esperadas, obtidas pelo modelo novo e o erro do entre ambos. ....................... 11
Tabela 4: Relação entre posição real e a leitura do sensor com parâmetros estimados ...................................... 12
Tabela 5: Relação entre alturas esperadas, as equivalentes obtidas pela nova leitura do sensor e o erro entre
ambos. ................................................................................................................................................... 13
Tabela 6: Relação entre esforço de controle e altura do disco magnético. .......................................................... 17
Tabela 7: Relação entre esforços de controle esperados e obtidos do modelo com as alturas correspondentes. 23
Tabela 8: Relação entre esforços de controle esperados e obtidos pelo atuador MC e o erro do entre ambos ... 24
Tabela 9: Relação entre esforços de controle esperados e obtidos do atuador MMQ com as alturas
correspondentes .................................................................................................................................... 26
Tabela 10: Relação entre esforços de controle esperados e obtidos pelo atuador MMQ e o erro do entre ambos
............................................................................................................................................................. 27
Tabela 11: Relação entre esforço de controle e altura do disco magnético no sistema linearizado..................... 38
Tabela 12: Índice de desempenho IAE dos controladores PD e PID ...................................................................... 60

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.1.Sistema de Levitação Magnética

O sistema de levitação magnética é um kit didático em que é possível estudar suas


características funcionais e seu comportamento. As características construtivas muito detalhadas
deste kit didático não fazem parte do escopo deste trabalho, porém serão expostas brevemente
algumas de suas partes que serão importantes para o entendimento do trabalho.

1
Na Figura 1, a foto do kit didático em que este trabalho foi desenvolvido tem suas partes
fundamentais identificadas.

Figura 1: Kit didático de sistema de levitação magnética.

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.

1.1.1. Kit de Levitação Magnética

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.

1.1.3. Considerações Gerais

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.

2.1. Análise do Comportamento do Sensor

Antes de iniciar a descrição do comportamento do sensor, é fundamental saber a unidade de


medida de distância utilizada neste trabalho. Na planta do sistema de levitação magnética, foi
utilizada a régua de referência em centímetros, identificada na Figura 2, para a mensuração da altura
real. Contudo, para reduzir efeitos de quantização computacional, durante o subseqüente
processamento digital, é considerado que cada unidade de centímetro corresponde a 10000
unidades em contagem, que também pode ser chamada de counts, no sistema. Esta é uma unidade
própria do sistema para que os dados digitais e digitalizados sejam tratados computacionalmente.
1 [cm] = 10F [f@7=]. (1)
Para conhecer o comportamento do sensor empiricamente em sua configuração padrão do kit
didático foram estabelecidas alturas em centímetros em que o disco magnético fosse posto para que
o sensor retornasse o valor da sua leitura em counts. Para cada medida, o disco foi elevado
manualmente até o ponto em centímetros de acordo com a régua de referência do próprio kit
didático.
O software tem dois modos de calcular o sinal proveniente do sensor para retornar ao usuário a
posição do disco e/ou para realimentar um algoritmo em malha fechada. Cabe ao operador escolher
qual o modo quer que o software opere. Um desses modos é acessível ao operador e o outro não.
O modo inacessível ao usuário foi utilizado na coleta de dados realizada para análise do
comportamento do sensor, como indicado a seguir, e está descrito no software como “Use raw
sensor counts (no calibration / linearization)”. Nesse modo, a configuração do tratamento dos sinais

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.

Altura do disco magnético Sensor (counts)


(cm)

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).

Figura 4: Gráfico da posição real do disco X leitura do sensor.

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)

Na equação 2, LA é a posição do disco em counts, transformada de centímetros para counts


pela relação da equação 1, e L é a leitura do sensor, a qual aparece na tela do Executive Program
para o usuário, também em counts, , , " e ℎ são parâmetros constantes do modelo. O resultado da
equação, LA , é a relação entre a altura em counts com a altura real, seguindo a relação da equação
1. A leitura do sensor L é a contagem que é mostrada pelo software próprio do kit.
A configuração dos parâmetros , , " e ℎ está acessível ao operador do kit e é o outro modo
utilizado pelo software para fazer os devidos cálculos com a mensagem que vem do sensor. Nesse
modo de configuração do sensor o operador pode utilizar de outras ferramentas para estimar os
parâmetros e defini-los no software, de modo a ter o comportamento do sensor previsível.

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:

VY = tu7v(O )OA (6)


Utilizando os valores da Tabela 1 foi possível encontrar os valores para os parâmetros
constantes , , " e ℎ do modelo matemático do sensor. Os valores obtidos para estes parâmetros


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)

0,00 0 0,0312 312 35070

0,50 5000 0,4636 4636 30066

1,00 10000 0,9760 9760 24928

2,00 20000 2,0369 20369 16785

3,00 30000 3,0344 30344 11605

4,00 40000 3,9280 39280 8409

5,00 50000 5,0378 50378 5698

6,00 60000 5,9920 59920 4089


Tabela 2: Relação entre alturas esperadas, obtidas pelo sensor modelado, o erro e a leitura respectiva do sensor.

O comportamento do modelo é semelhante ao comportamento do sensor com seus dados


empíricos, o que significa que o modelo matemático está bem próximo da realidade do sistema real.
Além disso, é observável na tabela que os valores calculados pelo modelo, para valores de altura
esperados diferentes de 0,00 centímetros, que o modelo tem valores de leitura próximos ao do
sistema real. A Figura 5 traz um gráfico comparativo entre as curvas do modelo novo e dos dados
experimentais.

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.

Altura do disco magnético Altura do disco Erro (cm) Erro (%)


esperada (cm) magnético obtida (cm)

0,00 0,0312 0,0312 -

0,50 0,4636 0,0364 7,28

1,00 0,9760 0,024 2,40

2,00 2,0369 0,0369 1,85

3,00 3,0344 0,0344 1,15

4,00 3,9280 0,072 1,80

5,00 5,0378 0,0378 0,76

6,00 5,9920 0,0080 0,13


Tabela 3: Relação entre alturas esperadas, obtidas pelo modelo novo e o erro do entre ambos.

Na altura de 0,00 centímetros, o erro em porcentagem não foi colocado na tabela por se tratar
de um erro infinito.

2.3. Validação dos Parâmetros

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.

Altura do disco magnético Sensor_1 (counts) Altura equivalente da


esperada (cm) leitura do sensor (cm)

0,80 8182 0,8182

1,40 13955 1,3955

2,10 20960 2,0960

2,80 28349 2,8349

3,50 35437 3,5437

4,40 44403 4,4403

5,10 51281 5,1281

5,80 57530 5,7530


Tabela 4: Relação entre posição real e a leitura do sensor com parâmetros estimados

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.

Percebe-se através do gráfico da Figura 6 que o sensor tem um comportamento próximo ao


linear. Pela Figura 6, nota-se que o comportamento do sensor é praticamente linear, ficando apenas
uma pequena diferença entre a altura esperada e a altura obtida pelo modelo. A tabela 5 mostra a
relação entre a altura esperada pelo sensor e a altura equivalente obtida empiricamente, ambas em
centímetros.

Altura do disco magnético Altura equivalente a Erro (cm) Erro (%)


esperada (cm) leitura do sensor (cm)

0,80 0,8182 0,0182 2,28%

1,40 1,3955 0,0045 0,32%

2,10 2,0960 0,0040 0,19%

2,80 2,8349 0,0349 1,25%

3,50 3,5437 0,0437 1,25%

4,40 4,4403 0,0403 0,92%

5,10 5,1281 0,0281 0,55%

5,80 5,7530 0,0470 0,81%


Tabela 5: Relação entre alturas esperadas, as equivalentes obtidas pela nova leitura do sensor e o erro entre ambos.

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.

3.1. Funcionamento do Atuador

O atuador eletromagnético é um solenóide de fios de cobre de N espiras. Quando este é


percorrido por corrente elétrica gera um de campo magnético que faz elevar ou abaixar o disco
dependendo da intensidade do campo magnético, se a intensidade do campo aumenta o disco
magnético é elevado e se a intensidade do campo diminui o disco é abaixado.
A densidade de fluxo eletromagnético dentro de um solenóide é dada por:
Z[ 7& 5
= ∙
2 √5 j + < j
(7)

Sendo Z[ é a constante de permeabilidade do espaço livre, 7 é a relação espiras por unidade de


comprimento do solenóide (8⁄5 ), I é a corrente elétrica, 5 é o comprimento do solenóide e < é o raio
do solenóide.
A equação 7 sugere que o campo magnético de um solenóide de N espiras depende da
intensidade de corrente. A relação entre intensidade de campo e a elevação ou abaixamento do
disco magnético recai sobre a corrente, de acordo com a equação 7, ou seja, se a intensidade da
corrente aumentar, o disco será elevado da sua posição, caso contrário, se a intensidade de corrente
diminuir, o disco magnético tenderá para baixo devido a força peso do disco. Se a polaridade da
corrente na bobina for invertida o disco será puxado para baixo.
O efeito do campo magnético gerado pelo solenóide não está somente dentro dele. O solenóide
funciona com um imã, onde existe o pólo norte, de onde saem as linhas de campo magnético que
divergem entre si e chegam ao pólo sul.

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ã.

Figura 7: Linhas de campo de um solenóide. Figura 8: Linhas de campo de um 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

Quando o usuário estabelece um esforço de controle através do algoritmo no Executive


Program, chega ao atuador somente a corrente que o faz atuar. O disco magnético fica posicionado
de forma que seu pólo que está voltado para o atuador é semelhante ao gerado pelo solenóide
quando percorrido por corrente, para o caso do modo de controle SISO aplicado para este trabalho,
em que é considerado apenas o atuador inferior.
Quanto maior o esforço de controle estabelecido, maior é a corrente fornecida ao atuador e,
portanto, maior é o campo gerado pelo mesmo. O campo gerado pelo solenóide movimenta o disco
magnético até uma determinada altura onde este se estabiliza, ou levita, o que acontece quando a
força exercida pelo atuador sobre o disco se iguala a força peso do disco.
A unidade do esforço de controle, utilizada para tratamento computacional pelo DAC, é
estabelecida em counts, de forma semelhante a utilizada para o sensor. A relação entre a unidade de
força em Newtons e a unidade de contagem do DAC em counts é descrita como:
1 [N] = 10F [f@7=]. (8)
As diferentes alturas em que o disco levita equivalem a diferentes esforços de controle
fornecidos pelo operador. Para uma análise prática do comportamento do atuador, a planta foi
submetida a alguns esforços de controle para poder saber a altura equivalente de cada um destes. A
Tabela 6 mostra a relação entre os esforços de controle a que a planta foi submetida e as alturas
correspondentes.
Para coletar os dados da Tabela 6 foi necessário começar com esforços de controle pequenos,
até que este se movimentasse um pouco. As variações têm como passo de variação mínimo de 500
counts, pois com passos menores que este a altura do disco magnético não varia muito, dada a
relação counts x N.
Após o valor de 12000 counts, independente do acréscimo que for feito sobre esse valor, a
altura sofrerá muito pouca variação, reconhecendo desta forma que 12000 counts como o valor onde
começa a saturação do sistema do atuador. E, além disso, os fios que compõem o solenóide não
podem suportar correntes relativamente altas por muito tempo, devido ao fio de que é feito o
solenóide ser muito fino e sua resistência ser muito baixa. Devido a saturação do solenóide como imã
e para a proteção do equipamento, o tratamento de dados valores acima de 12000 counts não foram
considerados.

16
u (counts) u equivalente em [N] Posição do disco (cm)

3000 0,30 0,8

3500 0,35 1,2

4000 0,40 1,5

4500 0,45 1,6

5000 0,50 1,9

5500 0,55 2,2

6000 0,60 2,3

7000 0,70 2,5

8000 0,80 2,9

9000 0,90 3,3

10000 1,00 3,5

12000 1,20 3,8


Tabela 6: Relação entre esforço de controle e altura do disco magnético.

A Figura 9 mostra o gráfico da relação da altura em centímetros em relação ao esforço de


controle em counts para os dados experimentais que estão relacionados na Tabela 6:

Figura 9: Relação esforço de controle u x posição do disco magnético

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)

Os outros parâmetros não definidos, o  e o , podem ser estimados, de forma semelhante ao


feito para o sensor, de modo que o modelo reflita, aproximadamente, a realidade do sistema físico.

3.3. Estimação Paramétrica do Atuador

Para encontrar os parâmetros constantes  e  do modelo matemático do atuador foram


utilizados dois métodos. O primeiro método foi o de Monte Carlo e o segundo foi o método dos
mínimos quadrados, semelhante ao aplicado na estimação paramétrica realizada para o sensor. Aqui
são mostrados os dois métodos e logo depois a comparação entre estes através de uma função
conhecida como função custo.

18
3.3.1. Estimação Pelo Método de Monte Carlo

O modelo matemático do atuador tem apenas dois parâmetros a serem encontrados, o


parâmetro  e o . O terceiro parâmetro do modelo, o 7, não é necessário estimar, já que este foi
determinado devido a boa aproximação do modelo ao sistema real e melhor cálculo computacional,
como é visto no subitem anterior.
Por ter apenas dois parâmetros constantes, é possível fixar um e encontrar o outro, tendo
disponíveis os valores das incógnitas e de outros parâmetros constantes. No atuador, portanto, esse
método pode ser utilizado, visto que os valores dos parâmetros 7 e  são conhecidos e as incógnitas
@ e L! foram os dados coletados, o esforço de controle a altura correspondente respectivamente,
dispostos na Tabela 6. O parâmetro escolhido para ser fixo foi o parâmetro , dessa forma não se

@
gasta muito tempo computacional.

=
(L! + )F
(11)

A equação 10 reescrita na forma da equação 11, em que a variável dependente é o parâmetro ,


evidencia que é mais simples fixar o , para calcular o  do que no contrário, como mostra a equação
12:

ˆ @
 = ‡ + 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.
Π!

' = Š ‹j (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.

Figura 10: Relação entre função custo J e o parâmetro b

O ponto mínimo do gráfico da Figura 10 representa o menor valor da função custo e o


parâmetro  correspondente a este valor. O valor de  é encontrado pela equação 14. O menor valor
da função custo e os respectivos valores dos parâmetros do atuador são:
 = 0,943766491914563
 = 6,300000000000001
'() = 729189,6946746791
A função custo ' é representada acima como '() , que é a função custo do método de Monte
Carlo.
Os valores de  foram fixados em um intervalo e com espaçamento relativamente grandes.
Valores que estão entre dois desses valores obtidos para  não são considerados, como, por
exemplo, 6,31 ou 6,35, os quais estão entre 6,3 e 6,4 não são considerados valores de  e portanto a
função custo não é calculada com estes valores.
Com a finalidade de tem uma gama maior de resultados, e encontrar um valor de '() ainda
menor, o intervalo onde o  é fixado e a distância entre eles são diminuídos.
Como se pretende achar um menor valor para '() , é necessário que o novo intervalo a ser
tomado contenha o valor mínimo de '() . Como por exemplo, a partir da Figura 10 deve-se fixar
valores de  entre 6 e 6,5 com a distância de 0,01 entre os valores.

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.

Figura 11: Relação entre função custo J e o parâmetro b em novo intervalo

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)

3000 0,30 2814 0,2814 0,8

3500 0,35 3505 0,3503 1,2

4000 0,40 4102 0,4102 1,5

4500 0,45 4317 0,4317 1,6

5000 0,50 5013 0,5013 1,9

5500 0,55 5790 0,5790 2,2

6000 0,60 6068 0,6068 2,3

7000 0,70 6653 0,6653 2,5

8000 0,80 7951 0,7951 2,9

9000 0,90 9430 0,9430 3,3

10000 1,00 10242 1,0242 3,5

12000 1,20 11557 1,1557 3,8


Tabela 7: Relação entre esforços de controle esperados e obtidos do modelo com as alturas correspondentes

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.

Figura 12: Comparação entre as curvas dos dados experimentais e do atuador MC

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)

0,30 0,2814 0,0186 6,20

0,35 0,3505 0,0005 0,14

0,40 0,4102 0,0102 2,55

0,45 0,4317 0,0183 4,07

0,50 0,5013 0,0013 0,26

0,55 0,5790 0,0290 5,27

0,60 0,6068 0,0068 1,13

0,70 0,6653 0,0347 4,96

0,80 0,7951 0,0049 0,61

0,90 0,9430 0,0430 4,78

1,00 1,0242 0,0242 2,42

1,20 1,1557 0,0443 3,69


Tabela 8: Relação entre esforços de controle esperados e obtidos pelo atuador MC e o erro do entre ambos

É 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.

3.3.2. Estimação Pelo Método dos Mínimos Quadrados

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:

@F = [L! 1] Ž9 (24)

Considerando os vetores dos dados de @F e L! , a equação 24 pode ser reescrita na forma


matricial:
HF = O!  (25)
O modelo matemático do atuador, como está representado pela equação 25, pode ser então
utilizado para obter os parâmetros  e . Para encontrar o valor de  é necessário utilizar da
consideração 22 correspondente a esse parâmetro, já que é encontrado pela equação 25 é o valor da
constante 9. Para relacionar o esforço de controle @ com a altura L! , também é necessário calcular o
valor de @ através da respectiva consideração.

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)

3000 0,30 2865 2865 0,8

3500 0,35 3552 3552 1,2

4000 0,40 4143 4143 1,5

4500 0,45 4356 4356 1,6

5000 0,50 5043 5043 1,9

5500 0,55 5808 5808 2,2

6000 0,60 6081 6081 2,3

7000 0,70 6657 6657 2,5

8000 0,80 7929 7929 2,9

9000 0,90 9376 9376 3,3

10000 1,00 10170 10170 3,5

12000 1,20 11454 11454 3,8


Tabela 9: Relação entre esforços de controle esperados e obtidos do atuador MMQ com as alturas correspondentes

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.

u (counts) u modelo (counts) Erro (counts) Erro (%)

0,30 0,2865 0135 4,50

0,35 0,3552 0052 1,49

0,40 0,4143 0143 3,58

0,45 0,4356 0144 3,20

0,50 0,5043 0043 0,86

0,55 0,5808 308 5,60

0,60 0,6081 81 1,35

0,70 0,6657 343 4,90

0,80 0,7929 71 0,89

0,90 0,9376 376 4,18

1,00 1,0170 170 1,70

1,20 1,1454 546 4,55


Tabela 10: Relação entre esforços de controle esperados e obtidos pelo atuador MMQ e o erro do entre ambos

3.3.3. Comparação Entre os Métodos

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.

Figura 14: Comparação dos modelos encontrados e dos dados experimentais

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

A validação do modelo do atuador não é tão simples quanto a do sensor. No sensor os


parâmetros encontrados são colocados no software com facilidade através de uma ferramenta que o
próprio Executive Program disponibiliza para a calibração do sensor. Os parâmetros do sensor são,
portanto, utilizados automaticamente pelo software. Isso não acontece para o atuador. Deve ser
feito um algoritmo específico para poder utilizar os parâmetros  e  encontrados.
O algoritmo a ser feito deve levar em consideração que o esforço de controle depende da
distância do disco em relação ao sensor inferior. Para validar a estimação dos parâmetros constantes
do modelo do atuador, é então necessário que o sistema esteja em malha fechada. Para tanto, deve-
se conhecer o sistema como um todo para a sua realização, elaborar um algoritmo e então aplicar os
parâmetros do atuador.
No próximo capítulo a modelagem do sistema é realizada e então será possível a validação dos
parâmetros do atuador.

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.

4.1. Tratamento das Não Linearidades do Atuador e do Sensor

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)

Onde .˜! ≜ ((10 F


∙ LA + )F ) é a rotina de compensação da não linearidade do esforço de
controle, lembrando que  e  são os parâmetros estimados do atuador e 10 F
∙ LA é a distância

medida pelo sensor já transformada em centímetros. ™˜! ≜ 0


!
š (›‘ œš )
ˆ é a não linearidade da força

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.

4.2. 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)

A equação diferencial do movimento do disco fica simplesmente equivalendo a:


6LN + LM = @ − 6" (33)
O termo da força peso do disco magnético pode ser considerado uma perturbação constante na
equação do movimento. A perturbação pode ser eliminada do sistema, se a entrada considerada for:
@ = ; + 6" (34)

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.

4.3. Sistema de Levitação Magnética em Diagrama de Blocos

No capítulo 1 é explicado de forma sucinta como ocorre a comunicação entre as partes do


sistema de levitação magnética. Desde o PC, onde o usuário impõe um esforço de controle ao
atuador, até a atuação na planta do solenóide e então sendo realimentado pelo sinal do sensor que
informa a posição.
Para o sistema de levitação magnética, anteriormente foram estudados os seus subsistemas
separados e o método de linearização aplicado ao atuador e ao sensor, e demonstrado para cada um
desses subsistemas como foi aplicado o método da compensação das não linearidades. O efeito da
gravidade sobre o disco também foi compensado na entrada do sinal de referência para poder
encontrar a função de transferência que diz respeito ao movimento do disco magnético.
Essa interação entre os subsistemas e suas compensações podem ser mais bem visualizadas
através de diagramas de blocos. É uma representação gráfica das funções desempenhadas por cada
componente e o fluxo de sinal entre eles. Esses diagramas descrevem o inter-relacionamento que
existe entre os vários componentes [4]. A técnica de utilização dos diagramas de blocos facilita no
entendimento de um sistema complexo, principalmente quando é necessário tratar subsistemas
isolados, como é feito neste trabalho.
No sistema de levitação magnética, o usuário fornece um sinal ao solenóide, o qual atua na
planta e então o sensor lê a posição do disco e retorna ao usuário. Considerando o efeito da
gravidade como uma perturbação no movimento do disco, a Figura 15 mostra o diagrama de blocos
do sistema de levitação magnética da forma supracitada.

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

sensor não linear

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

Na Figura 17, além da compensação da não linearidade do atuador, é mostrada a realimentação


do sensor no sistema e a compensação do efeito da gravidade. Para eliminar os efeitos da força peso
que age sobre o disco magnético, um esforço de igual proporção é inserido junto com o sinal do
esforço de controle.
Com as não linearidades compensadas por suas inversas e cancelando o efeito da gravidade
sobre o sistema, o modelo do sistema de levitação magnética fica bastante simplificado, da forma
como segue na Figura 18.

1
6 j + 
u [counts] y[m]

Figura 18: Diagrama de blocos final do sistema de levitação magnética

Fornecendo um esforço de controle qualquer, o sistema de levitação magnética, na forma em


que está mostrado na Figura 18, responde como um sistema de segunda ordem, que é um sistema
bastante conhecido e estudado em modelagens e controles.

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:

lim #() = lim  • j – =∞


→[  →[ 6 +  
(40)

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]

Figura 19: Diagrama de blocos do sistema de levitação linearizado em malha fechada

Os termos de conversão entre as unidades do sistema SI e entre essas e as unidades em counts


foram omitidas, já que essas transformações são realizadas via software. No Executive Program é
necessário tratar as informações somente em counts, portanto todas as medidas são tratadas nessas
unidades ficando o usuário responsável pela transformação das unidades caso seja necessário para
seus objetivos de estudos externos ao software.
A função de transferência em malha fechada relacionada a Figura 19 é dada por:
.1 +,-
O() 6
?() = =
<()  j +  + .1 +,-
6 6
(41)

Aplicando-se o teorema do valor final em ?(), a resposta do sistema em malha fechada em


regime permanente dado um degrau unitário é:
.1 +,-
1 6 1
lim ?() = lim ¯ ° =1
  . +
 j + 6 + 16,- 
→[ →[
(42)

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)

Com os valores de ] e ^_ os parâmetros +,- e  podem ser definidos. Comparando as equações


41 e 43, podem ser feitas as seguintes relações:

.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

Os resultados encontrados com a compensação da não linearidade do atuador, e com o valor


definido de .1 , validam o modelo do atuador encontrado no capítulo 3.
Valores menores que 1,0 cm não foram considerados na validação do resultado. Entre 0,0 e 0,8
cm o sensor tem um comportamento não linear, mesmo com a compensação, devido às pequenas
alturas, o que dificulta até mesmo no manuseio do disco para tais medições. Além disso, para que o
movimento do disco seja analisado, é importante que se tenha uma distância razoável em relação da
base, afinal, devido a oscilação do disco magnético em uma configuração subamortecida, este não
toca a base, o que é significante para a captação das distâncias pelo sensor.
É através das equações 46 e 47 que é possível obter os valores de k ­® e c, respectivamente. O
sistema é então colocado na altura de 1,20 cm através do algoritmo de malha fechada, e então é
estimulado através de 3 impulsos degraus com amplitude 10000 counts e período de 2000 ms. Os
impulsos degraus e outras trajetórias, assim como rampa e senoidal, são feitas pelo próprio software,

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.

Figura 21: Relação entre o sinal de referência e resposta do sistema

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)

Como o ganho de hardware é o ganho do próprio sistema, a função de transferência de G()


pode ser reescrita na forma:
725,1073
#() =
 j + 4,207
(49)

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]

Figura 22: Diagrama de blocos do sistema de levitação

Os parâmetros encontrados de +,- e  são constantes ao sistema e não dependem do sinal de


entrada nem do ganho .1 . A freqüência natural ^_ e o coeficiente de amortecimento ], no entanto,
dependem diretamente e inversamente, respectivamente, do valor de .1 .

4.5.Validação do Modelo

A função de transferência em malha fechada do sistema de levitação magnética obtida


caracteriza o sistema real matematicamente, de forma que se o sistema modelado for estimulado da
mesma forma que o sistema real as respostas de ambos serão parecidas. Em outras palavras, O
modelo encontrado pode ser simulado em ambiente virtual e o comportamento neste será
aproximadamente o comportamento do sistema em ambiente real.
O ambiente Simulink®, que faz parte do Matlab®, foi utilizado para simular a planta de levitação
magnética. O diagrama de blocos idêntico ao da Figura 22 foi configurado no Simulink® para realizar
a simulação.

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.

Figura 23: Relação entre o sinal de referência e resposta do sistema modelado

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.

Figura 25: Lugar das raízes do modelo do sistema de levitação

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.

Figura 26: Comparação entre ganhos e pólos

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  = , 

A resposta do sistema simulado é mostrada na Figura 28.

Figura 28: Resposta do sistema com controlador proporcional  = , 

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

Uma ação de controle derivativo, quando acrescentada a um controlador proporcional, permite


que se obtenha um controlador de alta sensibilidade. Uma vantagem em utilizar a ação de controle
derivativo é que essa responde a uma taxa de variação do erro atuante e pode produzir uma
correção significativa antes que o valor do erro atuante se torne muito elevado [4].
Embora o controle derivativo não afete diretamente o erro estacionário, ele aumenta o
amortecimento do sistema, permitindo, assim, o uso de um valor mais elevado do ganho .1 , o que
vai resultar em uma maior precisão de regime permanente [4]. O ganho .1 não pode ser muito alto
para que o sistema não interrompa o fornecimento de corrente.
A implementação do controlador PD utilizada foi colocar um zero no lugar das raízes
apresentado na Figura 25. Para isso foi colocado um controlador PD paralelo no ganho de malha
direta #() da seguinte forma:

+,-
.1
6 j + 
r + + y[counts]

.2 
- +

Figura 29: Diagrama de blocos do controlador PD paralelo

O ganho de malha aberta do sistema da Figura 29 é dado por:


+,-
(.2  + .1 )
#() = 6 
j + 6 
(53)

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%

Figura 33: Linhas correspondentes a alguns


50
Para essas características da resposta transitória são encontrados o ] mínimo e o \ máximo que
as atende, que são:
\ ≤ −30
] ≥ 0,5912
O ângulo formado entre o eixo real e a linha que sai da origem e encontra o pólo de malha
fechada é:
ϕ = arccos(]) ≤ 53,76° (59)

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)

A condição angular diz que:


∠“Ç()()” = É! + Éj − Ê! − Êj = ±180°(2+ + 1) (63)
Sendo que + é qualquer número inteiro não negativo. Sendo que os ângulos É_ são os ângulos
formados pelos zeros de Ç()() e Ê_ pelos pólos de Ç()(). Substituindo o valor do pólo do
lugar das raízes em cada fator do numerador e do denominador de Ç()(), encontram-se,
respectivamente, os ângulos dos zeros e dos pólos. Considerando a equação 54, e substituindo o
pólo ! de 61 no lugar da variável  nos fatores do denominador, obtém-se:
 e  + 4,207
−30 + Æ40,93 −25,97 + Æ40,93
126,24° 122,40°
O zero do controlador derivativo deve ser encontrado de forma que a condição de ângulo do
lugar das raízes seja atendida. Para isso deve ser feito:
∠#() = É! − 248.64° = ±180°(2+ + 1)
Desse modo:
É! = 68,64°

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.

Figura 34: Lugar das raízes com os requisitos mínimos de projeto

Quando o sistema é simulado com os ganhos de .1 e .2 , o tempo de assentamento e o


overshoot se afasta um pouco do valor para que foi dimensionado. Para o pólo indicado no lugar das
raízes da Figura 34, o sistema foi simulado e foi encontrado = = 0,103 e  = 0,0972. Apesar de as
diferenças serem pequenas, é possível diminuir o tempo de assentamento escolhendo um zero mais
a esquerda do atual e diminuir o overshoot aumentado o coeficiente de amortecimento.
Para o projeto do controlador deste trabalho foi considerado:
\ = −34
] = 0,65
Os pólos encontrados para esses requisitos de projeto foram:
! = −34 + Æ39,75 e j = −34 − Æ39,75 (64)
A Figura 35 mostra o lugar das raízes do controlador proposto com um dos pólos em destaque.

52
Figura 35: Lugar das raízes do controlador PD

O sistema simulado mostra um overshoot de  = 0,0648 e = = 0,095. A Figura 36 mostra a


resposta do sistema a uma entrada igual a que foi modelado o sistema no capítulo anterior.

Figura 36: Resposta do sistema modelado com o 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.

Figura 37: Resposta do sistema para  = ,  e 


= , 

Para cada degrau da resposta mostrada no gráfico da Figura 37 se tem: = = 0,077 e  =


12,08% para o primeiro degrau, = = 0,079 e  = 12,22% para o segundo degrau e = = 0,083 e 
= 12,56 para o terceiro degrau. Para o valor do tempo de assentamento especificado no projeto, o
controlador conseguiu atender no sistema real, no entanto o overshoot não foi atendido.
O par de pólos escolhidos para fazerem parte da função de transferência de malha fechada faz
com que, em ambiente de simulação, o sistema tenha uma resposta dentro do dimensionamento do
projeto de controlador. No entanto, no âmbito real do sistema, a resposta não atende ao requisito
de overshoot do projeto por uma pequena margem de diferença. Isso é devido a características do
sistema que não foram modeladas tal como o atrito estático do guia do disco magnético.
Apesar de a resposta no sistema físico não ter os mesmo valores do sistema simulado, o que se
percebe comparando a Figura 36 e a Figura 37. Não foi possível contemplar os dois gráficos em uma
só figura, pois os vetores que compõe o gráfico das figuras de ambas respostas, simulada e do
sistema físico, são diferentes. É possível colocar os vetores do sistema simulado do mesmo tamanho
que os da resposta do sistema físico manipulando a tempo de amostragem do sistema simulado,
porém isso compromete a resposta da simulação.

5.3. Controlador PID

O controlador integral atua em um sistema de forma a melhorar a resposta em regime


permanente. Além disso, o uso do integrador aumenta o tipo do sistema [5] o que faz com que o
sistema tenha um erro de regime permanente nulo, dependendo do sinal de entrada.
54
No caso do sistema de levitação, é um sistema do tipo 1. Porém este foi testado somente com
entradas degrau até então. Para entrada degrau, o erro de regime permanente de um sistema tipo 1
é nulo. No entanto, resposta do controlador PD na Figura 37 mostra que o sistema segue a o sinal de
referência com uma margem de erro devido a limitações físicas não modeladas do sistema, como,
por exemplo, o atrito estático. Mais adiante é feito um estudo para outros tipos de entradas
diferentes do degrau.
O controlador PID paralelo utilizado no sistema de levitação foi inserido na seguinte
configuração:

.2 
+,-
.1
+
6 j + 
r + y[counts]
+

.2 
- +

Figura 38: Diagrama de blocos do controlador PID paralelo

O ganho de malha aberta do sistema acima é:


+,- .
².2  + .1 + 4 ³
#() = 6

j + 6 
(66)

A equação 66 pode ser simplificada por:


+,- .′
(?2  + 1)( + ?4 )
#() = 6 
 j ² + ³
6
(67)

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

Figura 40: Detalhe do lugar das raízes próximo a origem

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

Os ganhos do controlador PID encontrados são então implementados no sistema físico. A


resposta do sistema com o controlador PID é mostrada na Figura 42.

Figura 42: Resposta do sistema físico 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.

5.4.Outros Tipos de Entradas

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

E para a entrada parábola, as repostas do sistema correspondem a:

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

5.5.Considerações Sobre os Controladores

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.

6.1. Sugestão de Trabalhos Futuros

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.

[3] Aguirre, Luís Antônio. Introdução à Identificação de Sistemas.

[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

ANEXO A – Método dos Mínimos Quadrados

Em um levantamento experimental, não se dispões de instrumentos perfeitamente precisos


para se obter medidas das grandezas envolvidas. Na modelagem de dispositivos através de
experimentação, é comum a existência de medidas pouco confiáveis. Nesta situação, o método dos
mínimos quadrados é muito útil para ajustar parâmetros de um modelo pré-determina
pré determinado que retrate
o comportamento dos dados coletados.
Pode-se
se então, a partir da observação e dos valores medidos, escolher um modelo, no caso em
questão, uma função que pode ser do tipo polinomial, exponencial, logarítmica, trigonométrica, etc.
que melhor assemelhe as distribuição dos pontos referentes aos dados coletados. Uma vez escolhida
tal função, deve-se
se então determinar seus parâmetros baseando-se
baseando se no critério de que a soma dos
quadrados das distâncias Î! , Îj … Î_ das ordenadas dos pontos medidos até as ordenadas dos
pontos da curva de ajuste escolhida para as mesmas abscissas seja mínima, conforme ilustrado pela
figura 6.

Figura 47: Pontos a serem ajustados e curva candidata

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)

onde pode ser representada da seguinte forma matricial como segue:


O = HV (A7)

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

Assim, considerando θY como o valor estimado do vetor de parâmetros tem-se que:


diferença entre o valor medido e o valor calculado, ponderado pelo grau de precisão da medida.”

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Ö!j + OÖjj + ⋯ + OÖ_j


função custo:
(A14)
Novamente a equação A14 pode ser escrita de forma matricial pela equação a seguir.

'(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:

'“VY” = 6u7'(V) = 6u7ØO − HVYØ


j
(A16)

'“VY” = 6u7[O × O − 2O × HV + V × H × HV]


Logo a equação A16 pode ser escrita da seguinte maneira:
(A17)
Como '(V) é uma função quadrática em V, pode-se obter o ponto mínimo derivando-se esta

Ù'
função.

= −2[O × H]× + 2H × HVY = 0


ÙV
(A18)

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.

ANEXO B – Algoritmos Matlab®

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];

%Gera vetor contagem com os dados coletados


for k = 1 : length(posicao)
contagem(k) = input(['Entre com a leitura do sensor 1 na posição '
num2str(posicao(k)) , ' cm : ']);
end

% Rotina para gerar o gráfico


plot(posicao, contagem, 'o');
hold on
grid on
plot(posicao, contagem);
xlabel('Posição (cm)');
ylabel('Saída do sensor (Counts)');

% 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 código abaixo gera o gráfico da Figura 4.


% Traça gráfico com os dados coletados do sensor com parâmetros
% configurados do fabricante.
clear
clc
close all

66
%Carrega arquivo com os dados coletados
arquivo = input('Digite o nome do arquivo de dados : ', 's');
load(arquivo);

%A variável "posicao" é transformada para "ym" e "contagem'" em "ys"


ym = posicao*10000';
ys = contagem';

%Gera o gráfico da posição e leitura em counts


plot(ym,ys,'-o');
grid on
xlabel('Posição (counts)');
ylabel('Sensor (counts)');
legend('Dados experimentais')

Algoritmo do Método dos Mínimos Quadrados, utilizando a pseudo-inversa, para conseguir os


parâmetros do sensor e ainda gerar gráfico comparando o sensor modelado e os dados
experimentais (Figura 5):
% Estimação dos parâmetros do modelo do sensor utilizando o Método dos
% Mínimos Quadrados. Compara as curvas do gráfico dos dados coletados e do
% modelo do sensor com os parâmetros [e f g h]' obtidos no MMQ.
clear
clc
close all

arquivo = input('Digite o nome do arquivo de dados : ', 's');


load(arquivo);

%A variável "posicao" é transformada para "ym" e "contagem'" em "ys"


ym = posicao*10000';
ys = contagem';

% Dado o modelo do sensor:


% ym = e/ys + f/sqrt(ys) + g + h*ys
% Este pode ser escrito matricialmente como:
% ym = [1/ys 1/sqrt(ys) ones(length(ys) ys]*[e f g h]';
vetor_ys = [1./ys 1./sqrt(ys) ones(length(ys),1) ys];

% A estimativa dos coeficientes do modelo pode ser obtida utilizando a


pseudo-inversa.
Theta = pinv(vetor_ys)*ym';
disp(' ')
disp('Coeficientes estimados :')

e = Theta(1)
f = Theta(2)
g = Theta(3)
h = Theta(4)

% Rotina para gerar os gráficos


ym_est = e./ys + f./sqrt(ys) + g + h.*ys;
plot(ym_est,ys,'r-*');
grid on
hold on
plot(ym,ys,'b-o');
xlabel('ym (counts)');
ylabel('ys (counts)');
legend('Dados do sensor modelado', 'Dados experimentais')

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];

%Gera vetor contagem com os dados coletados


for k = 1 : length(posicao)
contagem(k) = input(['Entre com a leitura do sensor 1 na posição '
num2str(posicao(k)) , ' cm : ']);
end

% Rotina para gerar o gráfico


plot(posicao, contagem, '-o');
hold on
grid on
%title('Gráfico do comportamento do sensor linearizado')
xlabel('Posição (cm)');
ylabel('Sensor (counts)');

% 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']);

Algoritmo que gera o gráfico da Figura 6:


% Traça gráfico com os dados coletados do sensor com os parâmetros [e f g
% h]' obtidos através do MMQ.
clear
clc
close all

%Carrega o arquivo com os dados experimentais


arquivo = input('Digite o nome do arquivo de dados : ', 's');
load(arquivo);

%A variável "posicao" é transformada para "ym" e "contagem'" em "ys"


ym = posicao*10000';
ys = contagem';

%Gera o gráfico da posição e leitura em counts


plot(ym,ys,'-o');
grid on
xlabel('Posição (counts)');
ylabel('Sensor (counts)');
legend('Dados experimentais','Location','Northwest')

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

%Define variável contagem


contagem=[3000 3500 4000 4500 5000 5500 6000 7000 8000 9000 10000 12000];

%Instrui o usuário ao procedimento


disp(' - No código "Atuador.alg" do software da ECP altere o valor')
disp(' da variável control_effort1 para o valores apresentados a
seguir.')
disp(' - Para alterar o valor desta variável clique em "Edit Algorithm".')
disp(' - Em seguida aperte "Impement Algorithm" ')
disp(' ')

%Gera vetor contagem com os dados coletados


for k = 1 : length(contagem)
posicao(k) = input(['Mude o valor da variável control_effort1 para '
num2str(contagem(k)) , ' e digite a posição do disco em cm : ']);
end

% Rotina para gerar o gráfico


hold on
grid on
plot(posicao,contagem,'b-o');
xlabel('Posição (cm)');
ylabel('Esforço de controle u (counts)');
legend('Dados coletados','Location','Northwest');

% 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 algoritmo utilizado na estimação paramétrica do atuador através do Método de Monte Carlo,


e para gerar o gráfico da Figura 11 e Figura 12, é como segue.
%Método de Monte Carlo para determinação dos parâmetros do modelo do
%atuador.

close all;
clc
clear

%Carrega arquivo de dados


arquivo = input('Digite o nome do arquivo de dados : ', 's');
load(arquivo);

%A variável "posicao'" é colocada em "y_med" e "contagem" em "u_med"


y_med = posicao';
u_med = contagem';

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

%Carrega arquivos de dados


arquivo = input('Digite o nome do arquivo de dados : ', 's');
load(arquivo);

%A variável "posicao'" é colocada em "y_med" e "contagem" em "u_med"


y_med = posicao';
u_med = contagem';

%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;

% Através da manipulação algébrica é possível obter os valores de a e b


b = Theta(2)/Theta(1);
a = Theta(1)^4/f;

% Dados gerados a partir do modelo


u_mod = f*(a*(y_med + b).^4);

% Rotina para plotar o gráfico


hold on
grid
plot(y_med,u_med,'b-o');
plot(y_med,u_mod,'k-*');
xlabel('Posição (cm)');
ylabel('Esforço de controle u (counts)');
legend('Dados experimentais','Dados do atuador
MMQ','Location','Northwest');

% Cálculo do erro da função custo


erro = abs(u_med - u_mod);
disp('Valor de a e b escolhidos : ');
a
b
disp('Valor da função custo para os parâmetros obtidos : ');
J = erro'*erro

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

%Carrega arquivos de dados experimentais


arquivo1 = input('Digite o nome do arquivo de dados : ', 's');
load(arquivo1);
%Carrega dados de parâmetros do Método de Monte Carlo
arquivo2 = input('Digite o nome do arquivo de dados dos parâmetros : ',
's');
load(arquivo2);

% 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;

%Através da manipulação algébrica é possível obter os valores de a e b do


%atuador MMQ
bmmq = Theta(2)/Theta(1);
ammq = Theta(1)^4/f;

%Esforços de controle dos atuadores modelados


u_mmq = f*(ammq*(y_med + bmmq).^4);
u_mc = f*(amc*(y_med + bmc).^4);
%Rotina para plotar o gráfico
hold on
grid
plot(y_med,u_med,'b-o');
plot(y_med,u_mmq,'k-*');
plot(y_med,u_mc,'r-x');
xlabel('Posição (cm)');
ylabel('Esforço de controle u (counts)');
legend('Dados experimentais','Dados do atuador MMQ','Dados do atuador
MC','Location','Northwest');

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];

%Instrui o usuário ao procedimento


disp(' - No código "Malha_Fechada_Linear.alg" do software da ECP altere o
valor')
disp(' da variável ref para o valores apresentados a seguir.')
disp(' - Para alterar o valor desta variável clique em "Edit Algorithm".')
disp(' - Em seguida aperte "Implement Algorithm" ')
disp(' ')

%Gera vetor contagem com os dados coletados


for k = 1 : length(contagem)
posicao(k) = input(['Mude o valor da variável ref para '
num2str(contagem(k)) , ' e digite a posição do disco em cm : ']);
end

y_med = posicao';
u_med = contagem';

%Método dos Mínimos Quadrados para traçar melhor reta


%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;

%Através da manipulação algébrica é possível obter os valores de a e b


b = Theta(2)/Theta(1);
a = Theta(1)^4/f;

% Dados gerados a partir do modelo


u_mod = f*(a*(y_med + b).^4);

% Rotina para gerar o gráfico


hold on
grid on
plot(posicao,contagem,'o');
plot(y_med,u_mod,'k-');
xlabel('Posição (cm)');
ylabel('Esforço de controle u (counts)');
legend('Dados experimentais linear','Location','Northwest');

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

%Associa o nome do arquivo *.txt a uma variável do Matlab(R)


arquivo = input('Digite o nome do arquivo de dados (ex.: Dados.txt) :
','s');

% Abre o arquivo *.txt


fp = fopen(arquivo,'r');
reg = fgets(fp);

%Busca todos os caracteres contidos no txt


dados = [];
while reg ~= -1
dados = [dados reg];
reg = fgets(fp);
end
% Fecha o arquivo
fclose(fp);

% Rotina para limpar os dados obtidos - Pega apenas caracteres numéricos


pos_ini = findstr(dados,'[');
pos_fim = findstr(dados,']');
dados = dados(pos_ini+1 : pos_fim-1);
dados = str2num(dados);

% Separa os dados obtidos em 3 variáveis


t = dados(:,2);
u = dados(:,3);
y = dados(:,5);
74
% Rotina para gerar o gráfico os gráficos
plot(t,y,'r')
hold on
grid on
plot(t,u,'b')
xlabel('Tempo (s)')
ylabel('Amplitude (counts)')
legend('Resposta do sistema','Referência')

% Gera um arquivo *.mat com os dados e nome do arquivo txt


save (arquivo(1:end-4),'t','u','y')
disp(['Um arquivo contendo os dados coletados foi salvo em :',
arquivo(1:end-4),'.mat']);

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.

%Cria um vetor resp (resposta).


resp= [t u y];
%Índices e controle de laço
a=1;
b=1;
c=1;
%Laço para separar os degraus
while a <= length(t)
%Separa o primeiro degrau de 0 a 2 segundos
if t(a)<2
step1(a,:)=resp(a,:);
end
%Separa o segundo degrau de 2 a 4 segundos
if t(a)>2 & t(a)<4
step2(b,:)=resp(a,:);
b=b+1;
end
%Separa o segundo degrau de 4 a 6 segundos
if t(a)>4
step3(c,:)=resp(a,:);
c=c+1;
end
a=a+1
end

%Salva os degraus como desejado pelo usuário


nome = input('Entre com o nome do arquivo de dados : ', 's');
save(nome,'step1','step2','step3');

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);

%Variáveis para controle


a=1;
b=1;
c=1;

%Busca os overshoots de cada degrau


overshoot1=max(step1(:,3));
overshoot2=max(step2(:,3));
overshoot3=max(step3(:,3));

% Estabelece os valores das outras constantes para encontrar os valores de


% khw e c
u=max(step1(:,2));
kp = 0.85;
m= 0.120;

%Encontra o tempo de pico dos steps


for a=1:1:length(step1)
if step1(a,3)==overshoot1
tp1=step1(a,1)-step1(1,1);
end
end
for a=1:1:length(step2)
if step2(a,3)==overshoot2
tp2=step2(a,1)-step2(1,1);
end
end
for a=1:1:length(step3)
if step3(a,3)==overshoot3
tp3=step3(a,1)-step3(1,1);
end
end

%Dá o overshoot médio e o overshoot percentual do médio em relação ao sinal


%de referência
overshoot_m = (overshoot1+overshoot2+overshoot3)/3;
overshoot_pc = (overshoot_m-u)/u;

%Calcula o tempo de pico médio


tp_m = (tp1+tp2+tp3)/3;

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))

%Calcula os parâmetros khw e c


khw = fn^2*m/kp
c = 2*qsi*fn*m

%Função de transferência de malha fechada com Kp definido


num= [0 0 fn^2];
den=[1 2*qsi*fn fn^2];
FT=tf(num,den)

O sistema em malha fechada é simulado através do Simulink do Matlab® no esquema da Figura


22, como mostrado na Figura 48 abaixo:

Figura 48: Sistema com controlador P no Simulink

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

%Lê variável em structure colocando os valores nos vetores "tempo",


%"referencia" e "resposta"
s = input('Digite o nome da variável: ');
tempo = s.time;
sinais = s.signals;
referencia = sinais.values(:,2);
resposta = sinais.values(:,1);

%Rotina para gerar gráfico


plot(tempo,referencia,'b');
hold on
plot(tempo,resposta,'k');
grid
xlabel('Tempo (s)')
77
ylabel('Amplitude')
legend('Referência','Resposta do sistema modelado')

%Ajuste dos ranges do gráfico


disp('Ajuste do gráfico.')
disp(' ')
ymax = input('Valor máximo de Y: ');
ymin = input('Valor mínimo de Y: ');
xmax = input('Valor máximo de X: ');
xmin = input('Valor mínimo de X: ');
axis([xmin xmax ymin ymax]);

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))

%Rotina para que o usuário defina os parâmetros do seu projeto e verificar


%algumas conseqüências da sua definição
while resp=='n'
if resp=='n'
sigman= input('Escolha um valor de sigma que atenda a condição
acima: ');
if sigman<sigma
disp('Escolha errada!')
disp('Comece novamente!')
break
end

csin = input('Escolha um valor de csi que atenda a condição acima:


');
if csin<csi
disp('Escolha errada!')
disp('Comece novamente!')
break
end
78
end
clc
disp('Parâmetros mínimos:')
sigma=sigman;
csi=csin;
wd=sigma*tan(acos(csi))
tempo_de_pico=pi/wd
sobresinal=exp(-csi*pi/(sqrt(1-csi^2)))
tempo_de_assentamento_5=3/sigma
resp= input('Deseja utilizar esses valores mínimos? ','s');
if resp=='s'
clc
end
end
%Define o pólo de malha fechada escolhido
s=-sigma+i*wd;
%Verifica o vetor entre os pólos de malha aberta e o pólo de malha fechada
%encontrado
p1=s;
p2=s+(c/0.12);
%Define o ângulo do zero a ser selecionado em relação ao pólo de malha
%fechada escolhido
a1=angle(p1);
a2=angle(p2);
A=a1+a2;
B=A-pi;
C=pi-B;
%Rotina para calcular o zero de malha aberta e amostrar alguns parâmetros
%da resposta
zero=(sigma*tan(C)-wd)/tan(C)
Td=1/zero
tempo_de_pico
tempo_de_assentamento_5
sobresinal
wd
sigma
%Define o lugar das raízes com o zero
num=(khw/0.12)*[0 Td 1];
den=[1 c/0.12 0];
rlocus(num,den)

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

%Carrega o arquivo de dados


arquivo = input('Digite o nome do arquivo de dados : ', 's');
load(arquivo);

%Armazena o tempo em que a curva atinge o ponto máximo


xmax = input('Digite o tempo do máximo da curva : ');
%Cria um vetor resp (resposta).
79
resp= [t u y];
%Índices e controle de laço
a=1;
%Laço para armazenar os dados da subida em um vetor
while a <= length(t)
if t(a)<=xmax
subida(a,:)=resp(a,:);
end
a=a+1;
end

%Rotina para separar as colunas de resp


t=subida(:,1);
u=subida(:,2);
y=subida(:,3);
%Cálculo do erro
erro=abs(u-y);
disp('O índice de desempenho IAE corresponde a: ')
disp(' ')
IAE=sum(erro)

%Rotina para gerar gráfico


hold on
grid
plot(t,u,'b');
plot(t,y,'r');
xlabel('Tempo');
ylabel('Amplitude (counts)');
legend('Referência','Resposta do sistema');
axis([0 xmax -500 25000]);

As seguintes montagens no Simulink simularam o sistema com o controlador PD e PID,


respectivamente.

Figura 49: Sistema com controlador PD no Simulink

Figura 50: Sistema com controlador PID no Simulink

80
ANEXO C – Implementação dos Controladores

Para implementação do controlador PD o manual de instruções do kit de levitação [1] foi


consultado, pois neste é ensinado como fazer essa adaptação. O manual trás outra configuração para
implementação do controlador PD, porém o método de implementação utilizado foi semelhante ao
descrito.
O trabalho foi desenvolvido sobre transformada de Laplace, caracterizando um sistema
analógico. A implementação do controlador, no entanto, acontece digitalmente, necessitando de
uma transformação entre o ambiente de freqüência analógico e digital. A transformada z é utilizada
nesses casos. O manual de instruções [1] traz a equivalência entre a diferenciação analógica s e a
digital z de forma que:
1−Û !
≈
?
Sendo que ? é o período de amostragem com o valor de 0.884 ms. Para maiores detalhes da
transformada z ver referências [5], [10] e [11]. De modo prático, o algoritmo implementado ficou

.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

Você também pode gostar