Abstract: This work has evaluated the potential and flexibility of a computational hardware with a
host-target prototyping environment applied to the digital control of dynamic systems. Having this
purpose, controllers for a magnetic levitation system have been developed employing Matlab´s xPC
Target, Real-Time Workshop and Simulink tools and the host-target environment.
1. INTRODUÇÃO
O controle digital de sistemas dinâmicos tornou-se algo comum. Para aplicações nas quais
controladores demandam um volume de cálculo grande é importante dispor de hardware e software
adequado. Tradicionalmente um kernel de tempo real e placas com DSPs e conversores A/D e D/A
têm sido usadas no PC para rodar software que implementa controladores complexos. A desvantagem
desta solução é seu custo. Uma alternativa é o uso de dois PCs na configuração mestre escravo. O PC
escravo (sem periféricos) é mais barato que uma placa de DSP de alta performance e fornece recursos
computacionais comparáveis. O objetivo do projeto foi avaliar o potencial e a flexibilidade do
hardware computacional na configuração mestre-escravo usando o kit “levitador magnético”
(MAGLEV -fabricado pela Feedback Instruments Ltd). A programação dos controladores aconteceu
no ambiente Matlab/SIMULINK. Código executável foi gerado usando as ferramentas “Real-Time
Workshop” e “xPC Target”. O hardware mestre-escravo foi composto de dois PCs, sendo um deles
(escravo) equipado com placas de conversão A/D e D/A. A comunicação entre os PCs ocorre via
interface serial.
2. O AMBIENTE MATLAB/SIMULINK
Para realizar este trabalho foi utilizado o software Matlab 6.0, da empresa The MathWorks,
Inc. Este software consiste numa linguagem de alta performance para realizar cálculos científicos.
Essa linguagem permite resolver muitos problemas de cálculo numérico, especialmente aqueles
envolvendo matrizes e vetores, num tempo significativamente menor do que se levaria para escrever
programas em linguagem C ou FORTRAN. Em um ambiente amigável integram-se cálculo,
visualização e programação. O interesse deste trabalho no software Matlab reside no ambiente
SIMULINK, o qual se tem tornado um dos softwares mais usados nas universidades e nas indústrias a
fim de se modelar e simular sistemas dinâmicos. Nesse ambiente, os sistemas dinâmicos são tratados
com base no conceito de função de transferência, construindo-se diagramas de bloco. A partir de um
editor de modelos, criam-se modelos de sistemas dinâmicos utilizando-se de blocos providos por uma
biblioteca numa interface gráfica bastante amigável. O modelo criado pode ser simulado de forma que
o usuário possa acompanhar os valores de todas as variáveis envolvidas. Essas variáveis podem ser
visualizadas graficamente ou podem ser armazenadas na forma de matrizes. São parâmetros
importantes da simulação o tempo de simulação e o tempo de amostragem, que determinam a
velocidade de simulação e a exatidão da solução, à qual se pode chegar por diversos métodos de
integração. Note-se que as simulações realizadas no SIMULINK não se processam em tempo real.
1
3. O HARDWARE MESTRE-ESCRAVO
Como foi dito, a simulação executada no SIMULINK não ocorre em tempo real, o que não
permite que ele seja usado na atividade de controle de um sistema físico. Entretanto, a ferramenta
Real-Time Workshop disponibiliza recursos para a execução de simulações em tempo real. Um desses
recursos é o chamado xPC Target, o qual se vale de uma configuração mestre-escravo.
Tais recursos serão utilizados no controle a que se destina este trabalho. O Real-time
Workshop, utilizando um compilador Watcom C/C++ em “background”, gera códigos otimizados,
portáteis e padronizados a partir dos modelos do Simulink, esses códigos são carregados ao PC
escravo, o qual executa um kernel de tempo real de 32 bit extremamente compacto. Esse sistema é
introduzido no escravo através de um disco flexível gerado no PC mestre. A comunicação entre os
dois PCs realiza-se via interface serial. Visto que o PC escravo é dedicado a executar o código gerado,
não possuindo periféricos e dispondo de muita memória, o xPC Target alcança performance e
estabilidade aumentadas. A figura 1 esquematiza a configuração mestre-escravo utilizada.
Para estabelecer comunicação com o mundo físico o PC escravo dispõe de conversores A/D e
D/A, que são interpretados como blocos de entrada e saída no ambiente Simulink. Assim, ele poderá
ser usado no controle de sistemas dinâmicos. Depois de devidamente preparado e desenvolvido, o PC
escravo pode ser utilizado como controlador de sistemas dinâmicos sem a necessidade de um PC
mestre (não foi realizado nesse projeto). O hardware mestre-escravo empregado neste trabalho
consistiu num PC escravo com processador Pentium II, 333 MHz, de 64 MB de memória RAM
equipado com placas conversoras CIO-DAS16/Jr (A/D) e CIO-DDA06/12 (D/A), da Computer
Boards; e num PC mestre ligado ao primeiro por cabo serial, executanto o software Matlab/Simulink,
da The MathWorks Inc. Uma das vantagens do uso da configuração mestre-escravo na realização de
simulações em tempo real é a possibilidade de se poder gravar os valores das variáveis desejadas.
Esses valores podem ser exibidos gráfica ou numericamente no PC escravo durante a simulação ou
podem ser carregados para o PC mestre, onde se podem manipular esses dados, analisando-se a
performance do controlador implementado.
O sistema escolhido para avaliar o controlador desenvolvido neste trabalho foi o kit “levitador
magnético”. O uso de sistemas de levitação magnética tem ganhado considerável interesse devido à
grande importância prática em muitos campos da engenharia. Da perspectiva da engenharia de
controle, um sistema de levitação magnética é um sistema complexo visto que ele apresenta não-
linearidades e é naturalmente instável, não podendo mesmo ser estabilizado por realimentação
2
negativa de ganho. A maneira mais simples, mas não a melhor, de tratar esse sistema é linearizá-lo em
torno de um dado ponto de operação. Isso permite aplicar técnicas de controle linear bem definidas. O
sistema de levitação magnética MAGLEV, produzido pela Feedback Instruments Ltd., consiste num
equipamento simples e compacto.
O sistema de levitação magnética não é estável por si só visto que possui pólos com parte real
positiva. Pela mesma razão, ele não pode ser estabilizado simplesmente através da variação do ganho
de realimentação negativa (C(s)=constante na figura 3). O sistema de levitação magnética requer um
controlador apropriado. Como controlador foi implementado um compensador em avanço de fase com
a seguinte lei de controle, sugerida pelo manual do kit “levitador magnético”.
s + 50
C (s ) = 10
s + 500
Figura 3 – Diagrama de blocos para o sistema de levitação magnética controlado por C(s)
3
Figura 4 – Hardware em configuração mestre-escravo controlando o levitador magnético
4
2
1.5
0.5
-0.5
-1
-1.5
-2
2 4 6 8 10 12 14 16
O xPC Target dispõe de recursos que permitem a monitoração gráfica das variáveis do sistema
simultaneamente à simulação em tempo real. Havendo a preocupação de avaliar a sobrecarga que tal
atividade poderia causar no PC escravo, foram realizados diversos experimentos utilizando os recursos
dos blocos HostScope (permite monitorar graficamente as variáveis no PC mestre durante a simulação
5
em tempo real) e TargetScope (permite monitorar graficamente as variáveis no PC escravo durante a
simulação em tempo real). Tanto para o PC escravo como para o mestre, consideraram-se fatores
como o número de amostras que deve aparecer na plotagem de cada tela, o intervalo entre essas
amostras, o número de variáveis monitoradas e o número de “Scopes”. Constatou-se que essa prática
não trouxe prejuízo à atividade de controle propriamente dita para o sistema em questão, não tendo
sido verificado aumento no tempo de execução de tarefa. As restrições que se podem encontrar estão
na memória do escravo e na sua capacidade de transmissão de dados, o que pode vir a prejudicar a
monitoração de variáveis utilizando instrumentos virtuais. Pela simplicidade do experimento em
questão, não surgiram tais limitações.
7. CONCLUSÃO
O controlador visado foi executado e teve seu desempenho avaliado segundo a variação de
diversos parâmetros. Seu desempenho foi satisfatório tendo em conta que se conseguiu a levitação sob
condições não ideais, a saber: ponto de operação escolhido não compatível com a lei de controle
escolhida, o que levou ao aparecimento de oscilações; e magnetização remanescente no sistema.
Ao longo do ano em que se desenvolveu este trabalho, as maiores dificuldades encontradas na
execução das tarefas deveram-se ao software. A principal delas foi a transmissão defeituosa de dados
do PC escravo para o mestre. A solução encontrada foi diminuir a velocidade de transmissão, o que,
porém, tornou o carregamento de dados demasiado lento. Também faz-se necessário notar que o
sistema físico com que se trabalhou possuía riqueza e complexidade tais que impuseram a execução de
um controle rudimentar, considerando-se que foi usada uma lei de controle fixa para um sistema não-
linear cujos parâmetros mudam a cada experimento. Assim, o interesse no sistema escolhido reside na
possibilidade do desenvolvimento de futuras estratégias de otimização.
A monitoração de variáveis através de instrumentos virtuais foi uma prática que trouxe
resultados positivos ao trabalho desenvolvido. Não sendo encontradas limitações em seu emprego nos
experimentos montados.
O controlador utilizado possui grandes vantagens com relação a outros controladores. Uma
delas é o seu baixo custo. Outra é a quantidade significativa de tempo que se poupa ao utilizar o
ambiente Matlab/SIMULINK e o Real-Time Workshop na programação dos controladores. Programar
e testar controladores em linguagens de mais baixo nível seria demasiado laborioso. Apenas é feita
uma ressalva quanto ao fato de não se possuir a tecnologia usada nesses softwares e não haver
autonomia para resolver alguns erros de programação que possam surgir.
AGRADECIMENTOS
Ao Prof. Dr. Karl Heinz Kienitz, orientador desta iniciação científica; aos membros da
Coordenação Local do PIBIC e ao CNPq.
REFERÊNCIAS BIBLIOGRÁFICAS