Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
ALAN FERREIRA ZANATTA
SIMULAÇÃO, ANÁLISE E CONTROLE DE MOTOR DE CORRENTE
CONTÍNUA VIA REDE CAN (CONTROLLER AREA NETWORK) EM
SISTEMAS DE MANUFATURA
Trabalho de Conclusão de Curso
apresentando ao curso de graduação
de Engenharia Mecatrônica da
Escola de Engenharia de São Carlos
da Universidade de São Paulo.
Orientador: Prof. Dr. Arthur José
Vieira Porto
São Carlos, SP
2010
2
3
4
RESUMO
ZANATTA, A. F. (2010). Simulação, Análise e Controle de Motor de Corrente Contínua via Rede CAN (Controller Area Network) em Sistema de Manufatura. Trabalho de Conclusão de Curso - Escola de Engenharia de São Carlos, Universidade de São Paulo, São Carlos, 2010. Sistemas de controle via redes (NCS – Networked Control Systems) representam um recente paradigma na pesquisa de sistemas distribuídos com redes industriais. Este trabalho apresenta o desenvolvimento de um NCS via rede CAN (Controller Area Network) para controle de posição de motores DC focando nas tarefas de simulação, análise e controle. Resultados obtidos comprovam a viabilidade de aplicação de NCS com redes CAN, fornecendo informações sobre sua implementação e validando a utilização da ferramenta TrueTime em seu projeto. Palavra-chave: Controle via rede, Protocolo CAN, Motor de corrente contínua
5
ÍNDICE
I) RESUMO ......................................................................................................................................... 7
II) INTRODUÇÃO ................................................................................................................................. 8
III) REVISÃO BIBLIOGRÁFICA ...................................................................................................... 10
III.1) SISTEMAS DE CONTROLE VIA REDE – NCS ................................................................... 10
III.2) METODOLOGIAS DE CONTROLE PARA NCS .................................................................. 12
IV) REVISÃO CONCEITUAL .......................................................................................................... 14
IV.1) MODELOS DINÂMICOS E FUNÇÃO TRANSFERÊNCIA ................................................... 14
IV.2) SISTEMAS DE CONTROLE (MALHA ABERTA E MALHA FECHADA) .............................. 14
IV.3) ENCODERS .......................................................................................................................... 15
IV.3.1) ENCODER INCREMENTAL ......................................................................................... 15
IV.4) PROTOCOLO CAN ............................................................................................................... 16
IV.4.1) FORMATO DAS MENSAGENS .................................................................................... 18
IV.4.2) FERRAMENTA TRUETIME .......................................................................................... 19
V) CONSTRUÇAO DO MÓDULO DE MOTOR DC ....................................................................... 23
V.1) MOTOR DE CORRENTE CONTÍNUA .................................................................................. 24
V.2) ACIONAMENTO DO MOTOR DC ........................................................................................ 24
V.3) LEITURA DO ENCODER ...................................................................................................... 25
V.4) PROGRAMAÇÃO DO PIC .................................................................................................... 28
VI) MODELAGEM MATEMÁTICA .................................................................................................. 32
VI.1) FUNÇÃO TRANSFERÊNCIA - MOTOR DC ......................................................................... 32
VI.2) FUNÇAO TRANSFERÊNCIA - MOTOR MAXON ................................................................. 35
VII) VERIFICAÇÃO DO MODELO ................................................................................................... 36
VII.1) RESPOSTA A ENTRADA DEGRAU................................................................................. 36
VII.2) RESPOSTA A UM CONTROLE PROPORCIONAL ......................................................... 38
VIII) SISTEMA DE CONTROLE VIA REDE CAN ............................................................................. 42
VIII.1) PROJETO E SIMULAÇÃO ................................................................................................ 42
VIII.2) CONTROLE REAL VIA REDE CAN ................................................................................. 44
VIII.3) COMPARAÇÃO ENTRE AS RESPOSTAS DA SIMULAÇÃO E DA IMPLEMENTAÇÃO
REAL DO NCS VIA REDE ................................................................................................................ 45
6
IX) CONCLUSÕES ......................................................................................................................... 48
X) DIFICULDADES ENCONTRADAS ........................................................................................... 49
XI) ANÁLISE DOS RESULTADOS ................................................................................................. 51
XII) REFERÊNCIAS BIBLIOGRÁFICAS ......................................................................................... 52
LISTA DE FIGURAS
Figura 1. Estrutura de um sistema de controle via redes (NCS) ..................................................................... 8
Figura 2. NCS com Estrutura Direta (Modificado de Tipsuwan e Chow, 2003) ............................................ 10
Figura 3. NCS com Estrutura Hierárquica (Modificado de Tipsuwan e Chow, 2003) ................................... 11
Figura 4. Esquema de um Encoder de Duas Trilhas .................................................................................... 16
Figura 5. Sinal produzido pelo Encoder nos Canais A e B ........................................................................... 16
Figura 6. Níveis Elétricos do Protocolo CAN ................................................................................................ 18
Figura 7. Mensagem CAN 2.0A .................................................................................................................... 18
Figura 8. Mensagem CAN 2.0B .................................................................................................................... 19
Figura 9. Blocos da Biblioteca TrueTime ...................................................................................................... 20
Figura 10. Bancada de Motor de Corrente Contínua .................................................................................... 23
Figura 11. Especificações e Desenho Técnico - Motor RE-max 24 .............................................................. 24
Figura 12. Esquema CI LMD18200 ............................................................................................................... 25
Figura 13. Foto do Driver PWM .................................................................................................................... 25
Figura 14. Esquema HCTL2017-A00 ............................................................................................................ 26
Figura 15. Esquemático do Circuito da Interface CAN Padrão (BRAZ et. al. 2004) ..................................... 29
Figura 16. Imagem da Interface CAN Implementada (Sousa, 2002) ............................................................ 30
Figura 17. Diagrama - Programação PIC ...................................................................................................... 31
Figura 18. Esquema Motor de Corrente Contínua ........................................................................................ 32
Figura 19. Diagrama de Blocos - Sistema em Malha Aberta ........................................................................ 36
Figura 20. Resposta ao degrau de 3V .......................................................................................................... 37
Figura 21. Resposta ao degrau de 6V. ......................................................................................................... 37
Figura 22. Resposta ao degrau de 12V. ....................................................................................................... 38
Figura 23. Diagrama de Controle do Motor na Plataforma Labview ............................................................. 39
Figura 24. Diagrama de Blocos - Sistema em Malha Fechada com Controle Proporcional ......................... 39
Figura 25. Resposta ao Controle Proporcional K=1...................................................................................... 40
Figura 26. Resposta ao Controle Proporcional K=3...................................................................................... 40
Figura 27. Resposta ao Controle Proporcional K=10.................................................................................... 41
Figura 28. Biblioteca de Blocos do TrueTime ............................................................................................... 42
Figura 29. NCS para Controle de um Motor DC implementado na Ferramenta TrueTime ........................... 43
Figura 30. Esquemático Controle via Rede CAN .......................................................................................... 44
Figura 31. Controle PD (K=1 e Td=0.001) via rede CAN (simulado e real) .................................................. 45
Figura 32. Controle PD (K=3 e Td=0.001) via rede CAN (simulado e real) ................................................. 46
Figura 33. Controle PD (K=10 e Td=0.001) via rede CAN (simulado e real) ................................................ 46
7
I) RESUMO
Apresenta-se o relatório do Trabalho de Conclusão de Curso, sob o tema: “Simulação,
Análise e Controle de Motor de Corrente Contínua via Rede CAN em Sistemas de
Manufatura”.
Este trabalho busca estudar a aplicação de NCS via rede CAN em sistemas de
manufatura e dar suporte ao projeto de pesquisa FAPESP, Processo nº 2008/03481-1. O
módulo de motor de corrente contínuo proposto e desenvolvido neste trabalho integrará a
bancada de testes de NCS em desenvolvimento no projeto de pesquisa citado.
Para a realização deste trabalho, diversas ferramentas computacionais foram
estudadas como: programação em Matlab e Matlab Simulink, programação de
microprocessadores em MPLAB, desenvolvimento de sistemas de controle em Labview; e
também vários conceitos como: modelagem matemática de sistemas mecânicos e elétricos,
protocolo CAN, controles via redes CAN, dentre outros.
A construção do módulo de motor de corrente contínua, sua integração com a rede
CAN, o desenvolvimento, aplicação e estudo de controles via rede e a identificação e
estudo de possíveis erros na execução do controle são os objetivos deste trabalho. O
módulo construído também ficará disponível para outros experimentos e para o aprendizado
desta tecnologia.
8
II) INTRODUÇÃO
As arquiteturas tradicionais de comunicação e controle ponto a ponto, implementadas
nos sistemas de manufatura industriais nos últimos tempos, são compostas por cabeamento
conectando o computador ou dispositivo central de controle a cada sensor e atuador do
sistema. Este tipo de controle tradicional e centralizado, no entanto não fornece os novos
requisitos de desenvolvimento de sistemas de controle como modularidade, controle
descentralizado, facilidade de diagnóstico e baixo custo (YANG, 2006).
Nos sistemas de manufatura atuais, a introdução de arquiteturas de redes industriais
pode melhorar a eficiência, a flexibilidade e a confiabilidade do sistema, reduzindo o tempo
e os custos de instalação e manutenção (MOYNE & TILBURY, 2007). Essa tecnologia de
redes, com suas vantagens, foi rapidamente absorvida para satisfazer as necessidades de
comunicação entre sistemas e equipamentos aplicados em automação e controle (LIAN,
MOYNE & TILBURY, 2001).
Aplicações recentes de sistemas de controle distribuído demonstram o surgimento de
uma nova abordagem para a utilização de redes industriais. Nessa abordagem, o
controlador e a planta ficam fisicamente separados e são conectados por uma rede de
comunicação. Este tipo de implementação em sistemas industriais, onde as malhas de
controle são fechadas sob uma rede de comunicação, como mostrado na Figura 1, tem sido
denominada de Sistema de Controle via Redes (NCS - Networked Control System) (YANG,
2006).
Figura 1. Estrutura de um sistema de controle via redes (NCS)
Rede de Controle
Processo 1
Controlador 1
Processo n
Controlador n
Atuadores1
msg msg msg msg
Sensores1
Atuadoresn
Sensoresn
Rede de Controle
Processo 1Processo 1
Controlador 1Controlador 1
Processo nProcesso n
Controlador nControlador n
Atuadores1
Atuadores1
msg msg msg msg
Sensores1
Sensores1
Atuadoresn
Atuadoresn
Sensoresn
Sensoresn
9
Os modernos sistemas automatizados de manufatura são compostos por múltiplos
subsistemas ou processos. O principal objetivo do controle nessa aplicação é a
coordenação e comunicação desses processos de forma que atendam a requisitos
individuais e conjuntos, garantindo um bom funcionamento e desempenho global do
sistema. Em NCS, os dispositivos conectados têm que compartilhar da melhor maneira
possível o meio disponível para a troca de informações e ainda cumprir com requisitos
temporais de transmissão de dados. Como solução para este problema, diversos protocolos
de comunicação para NCS têm sido pesquisados e desenvolvidos como o CAN (Controller
Area Network), Profibus e Foundation Fieldbus (MOYNE & TILBURY, 2007).
Não importando o tipo de protocolo de comunicação utilizado, o desempenho e a
estabilidade de um NCS sempre são afetados pela presença da rede de comunicação e de
fatores degenerativos como a discretização e os atrasos de comunicação (delay) entre os
sensores, atuadores e controladores do sistema (BAILLIEUL & ANTSAKLIS, 2007). Esses
atrasos de comunicação são resultados do compartilhamento do meio de comunicação com
outras malhas de controle como também do tempo de processamento requerido para
codificação dos sinais e computação dos dados (LIAN, MOYNE & TILBURY, 2002).
Buscando minimizar esses efeitos causados pela presença da rede de comunicação,
diversas metodologias de controle têm sido desenvolvidas especificamente para NCS, a
partir de técnicas de controle avançadas, como pode ser visto em Tipsuwan & Chow (2003).
No entanto, por causa da variabilidade e da dificuldade de se calcular esses atrasos, os
NCS podem apresentar características de sistemas variantes no tempo, tornando essas
tarefas de projeto e controle ainda mais desafiadoras (HUO, FANG & MA, 2004).
10
III) REVISÃO BIBLIOGRÁFICA
As pesquisas atuais em NCS têm focado principalmente duas linhas de trabalho. Uma
na parte relacionada com a análise da influência dos atrasos de comunicação no
desempenho e estabilidade do sistema, bem como o desenvolvimento de ferramentas para
simulação desses sistemas (CERVIN et al., 2006; TORNGREN et al., 2006). E outra no
desenvolvimento de metodologias de projeto e controle de NCS para compensar os efeitos
dos atrasos de comunicação melhorando o desempenho e garantindo a estabilidade do
sistema (TIPSUWAN & CHOW, 2003; HESPANHA, NAGHSHTABRIZI & XU, 2007).
III.1) SISTEMAS DE CONTROLE VIA REDE – NCS
Uma grande tendência nos sistemas de manufatura industriais é a integração de
comunicação e controle de vários níveis de processos de manufatura. Uma solução que
vem sendo adotada para isso é a utilização de tecnologias de sistemas de controle
distribuído via redes de comunicação (YANG, 2006), também chamados de sistemas de
controle via redes (NCS). De acordo com Tipsuwan e Chow (2003), os NCS podem ser
classificados em dois grupos: estrutura direta e estrutura hierárquica. Na estrutura direta,
mostrada na Figura 2, o controlador e a planta ficam fisicamente alocados em locais
separados e são conectados diretamente por uma rede de comunicação formando uma
malha de controle remota. O sinal de controle é enviado para o atuador através de uma
mensagem encaminhada via rede, enquanto o sensor amostra a saída da planta e retorna a
informação para o controlador também transmitindo a informação através da rede.
Figura 2. NCS com Estrutura Direta (Modificado de Tipsuwan e Chow, 2003)
11
Já a estrutura hierárquica, mostrada na Figura 3, consiste de um controlador principal
e um sistema de controle em malha fechada remoto. Periodicamente, o controlador principal
calcula e envia uma mensagem com o sinal de referência através da rede para o sistema
remoto. O sistema remoto processa o sinal de referência e executa localmente o controle
em malha fechada.
Figura 3. NCS com Estrutura Hierárquica (Modificado de Tipsuwan e Chow, 2003)
Segundo Perez (2006), os critérios para escolha de uma das duas estruturas para o
desenvolvimento de NCS dependem das restrições de projeto e das preferências do
projetista. Normalmente, NCS que utilizam a Internet utilizam a estrutura hierárquica, pelo
fato do tempo de transmissão das mensagens variarem consideravelmente e sua estimação
ser consideravelmente difícil. Já NCS implementados através de redes industriais ou locais,
utilizam a estrutura direta, por possuírem tempos de transmissão menores e tempos de
resposta mais previsíveis. Santos (2004) define os principais domínios de aplicação de NCS
como automotivo, sistemas de manufatura, robótica e ensino a distância. De acordo com
esses domínios, focos de pesquisa diferentes são selecionados como no caso do
automotivo (GAID et al., 2006), onde informações sobre sistemas de tempo real (deadline
de mensagens) são priorizadas e no caso de sistemas de manufatura (MOYNE & TILBURY,
2007), onde informações sobre técnicas para controle e comunicação dos diversos
processos de um sistema com um todo são enfatizadas.
Geralmente nos NCS, as tarefas de processamento, troca de informações e controle
são distribuídas entre várias unidades de controle eletrônico (ECU), dedicadas ao controle
de uma parte do processo. Para que a troca de informações entre essas ECU ocorra de
maneira eficiente, um grande número de protocolos de comunicação tem sido desenvolvido
12
e aplicado em NCS (MOYNE & TILBURY, 2007), como o Profibus, CAN e Foundation
Fieldbus. Dentre esses protocolos, o CAN (BOSCH, 2006) originalmente desenvolvido para
aplicações em na área automotiva, se encontra atualmente muito difundido e tem sido
utilizado em muitas outras aplicações industriais de controle (OTHMAN et al., 2006).
III.2) METODOLOGIAS DE CONTROLE PARA NCS
Recentemente, muitos trabalhos de pesquisa têm apresentado metodologias de
projeto e controle para NCSs em sistemas de manufatura. Uma metodologia de controle é
requerida para minimizar os efeitos dos atrasos de comunicação em um NCS, melhorando
seu desempenho e garantindo sua estabilidade. Uma revisão de algumas metodologias é
apresentada em Tipsuwan & Chow (2003) e Li & Fang (2005). Entre elas, a metodologia de
programação de ganho (TIPSUWAN, 2003) utiliza uma técnica de ajustar os ganhos de um
controlador de um NCS para compensar os efeitos dos atrasos de comunicação. Nesta
metodologia, os ganhos são ajustados de acordo com o erro de saída do sistema causado
pelo atraso da rede. Hong & Kim (2000) apresentam uma metodologia de programação de
tempo de amostragem que seleciona corretamente os tempos de amostragem dos
dispositivos de um NCS, minimizando os efeitos do atraso no desempenho do sistema.
Paradigmas de técnicas de controle convencional, baseadas em controladores PID
(POHJOLA, 2006), controle robusto (CLOOSTERMAN et al., 2006), controle regulador
linear quadrático (LQR) (ZHANG & HUA-JING, 2006) e controle preditivo baseado em
modelo (ALLDREDGE, 2007) estão entre as mais utilizadas no desenvolvimento dessas
metodologias. De forma a se lidar com as incertezas dos atrasos de comunicação nos
NCSs, técnicas de inteligência artificial, como sistemas fuzzy (TIAN, WANG, CHENG,
2007), redes neurais (ZHAO & XIA, 2006a) e algoritmos genéticos (SHIN & SUNWOO,
2007) também acabaram aplicadas nesse desenvolvimento.
Essas metodologias de controle têm sido desenvolvidas baseadas em diversos tipos e
protocolos de redes de comunicação em conjunto com diferentes abordagens para
tratamento dos efeitos dos atrasos de comunicação no NCS. Os trabalhos de Lee et al.
13
(2003, 2004) comparam e avaliam o desempenho de um NCS via rede Profibus com
controladores PID, fuzzy e sintonizados com algoritmo genético. Os resultados
demonstraram que a utilização de sistemas fuzzy pode ser uma escolha viável para NCSs
pelo fato de não requerer um modelo do processo controlado e apresentar certa robustez
em relação aos atrasos de comunicação da rede. Godoy et al. (2006a) aplica a metodologia
de programação de tempo de amostragem para um NCS via rede CAN. Nesse trabalho,
com a aplicação da metodologia de controle, uma otimização do NCS é conseguida,
minimizando os efeitos dos atrasos de comunicação no desempenho do sistema.
14
IV) REVISÃO CONCEITUAL
A revisão conceitual dos assuntos: modelos dinâmicos, definição e desenvolvimento
de função transferência de sistemas físicos, sistemas de controle em malha aberta e
fechada, funcionamento de encoders, protocolo CAN e ferramenta TrueTime do MatLab
Simulink foram essenciais para o desenvolvimento dos trabalhos deste projeto.
IV.1) MODELOS DINÂMICOS E FUNÇÃO TRANSFERÊNCIA
A dinâmica de sistemas pode ser entendida como o estudo do comportamento, em
função do tempo, de grandezas que estão relacionadas com parte do universo que foi
imaginariamente separada para este fim com o conseqüente desenvolvimento do modelo
dinâmico. (FELICIO, 2007).
A função de transferência de um sistema de equações diferenciais invariantes no
tempo é definida como a relação da transformada de Laplace da saída (função resposta)
para a transformada de Laplace da entrada (função excitação) sob a hipótese de que todas
as condições iniciais são nulas. (OGATA, 1993).
Usualmente, utiliza-se das leis físicas que descrevem o sistema para se obter o
conjunto de equações lineares que modelam seu comportamento, ou seja, o modelo
matemático. Posteriormente, a função transferência pode ser obtida aplicando-se a
Transformada de Laplace ao conjunto de equações.
É importante ressaltar que o conceito de função transferência e sua aplicabilidade são
restritos aos sistemas de equações diferenciais lineares invariantes no tempo.
A validação da modelagem matemática realizada, com a conseqüente obtenção da
função transferência do sistema, pode ser realizada comparando-se as respostas do
modelo matemático e do sistema a uma mesma entrada.
IV.2) SISTEMAS DE CONTROLE (MALHA ABERTA E MALHA FECHADA)
A combinação de componentes que atuam conjuntamente para realizar certo objetivo
é a definição de sistema. Os controles realimentados são operações, que na presença de
15
distúrbios ou perturbações, reduzem a diferença entre a saída de um sistema e a entrada
de referência.
Aqueles sistemas em que a saída não tem nenhum efeito sobre a ação de controle
são chamados de sistemas de controle em malha aberta. A saída desses sistemas não é
medida nem realimentada para comparação com a entrada.
Assim, a cada entrada de referência corresponde uma condição de operação fixa;
em conseqüência, a precisão do sistema depende de uma calibração. Na presença de uma
perturbação, um sistema de controle de malha aberta não apresentará um bom
desempenho.
Os sistemas de controle realimentados também são denominados sistemas de
controle de malha fechada. Nestes sistemas, a diferença entre o sinal de entrada e o sinal
realimentado é introduzida no controlador de modo a reduzir o erro e trazer a saída do
sistema a um valor desejado.
IV.3) ENCODERS
Encoders são transdutores de movimento capazes de converter deslocamentos
angulares ou lineares em pulsos de sinais digitais.
Estes sensores possuem internamente um ou mais discos (máscaras) perfurados
fixados no eixo em rotação. Tais discos se encontram entre uma fonte de luz e um
fotodetector. O disco é codificado em setores opacos e transparentes que permitem ou
bloqueiam a recepção da luz proveniente da fonte pelo fotodetector. A cada recepção de
luz, é gerado um pulso digital, sendo que quando o disco esta em rotação, temos um trem
de pulsos digitais.
IV.3.1) ENCODER INCREMENTAL
Os encoders incrementais geram um pulso digital a cada passagem “opaco-
transparente” da trilha codificada.
Encoders com apenas uma camada perfurada geram uma seqüência de pulsos
digitais cuja freqüência indica a velocidade angular do disco, no entanto, não indicam a
16
posição do disco. Encoders com duas camadas perfuradas, esquema na Figura 4, geram
dois sinais de pulsos, Figura 5, sendo cada um proveniente de uma das camadas e
defasado de 90º um em relação ao outro. Com o tratamento apropriado destes pulsos,
pode-se determinar a posição, a velocidade e a direção de rotação.
Figura 4. Esquema de um Encoder de Duas Trilhas
Figura 5. Sinal produzido pelo Encoder nos Canais A e B
IV.4) PROTOCOLO CAN
O protocolo CAN, como desenvolvido por Robert Bosch GmbH, foi padronizado e
documentado internacionalmente pela ISO, gerando a Norma ISSO 11898, para aplicações
17
de alta velocidade, e a Norma ISO 11519, para aplicações de baixa velocidade (SOUSA,
2002).
O CAN é um protocolo de comunicação serial síncrono no qual o sincronismo dos
módulos conectados à rede se dá com relação ao início de cada mensagem. Os módulos
podem se tornar mestre em determinado momento e escravo em outro (multi-mestre).
As mensagens são enviadas em regime multicast, ou seja, toda e qualquer
mensagem é enviada para todos os da rede.
Os módulos da rede verificam o estado do barramento, analisando se outro módulo
está ou não enviando mensagens com maior prioridade. Caso isto seja constatado, o
módulo cuja mensagem tiver menor prioridade cessará sua transmissão e o de maior
prioridade continuará enviando sua mensagem deste ponto, sem ter que reiniciá-la, tal
característica é fundamentada no conceito CSMA/CD with NDA (Carrier Sense Multiple
Access / Collision Detection with Non-Destructive Arbitration).
O protocolo CAN é baseado no conceito NRZ (Non Return to Zero), no qual cada bit
(0 ou 1) é transmitido por um valor de tensão específico e constante.
Existem redes baseadas em 1, 2 e 4 fios elétricos. As redes com 2 e 4 fios trabalham
com os sinais de dados CAN_H (CAN High) e CAN_L (CAN Low). No caso dos barramentos
com 4 fios, além dos sinais de dados, um fio com o VCC (alimentação) e outro com o GND
(referência) fazem parte do barramento, levando a alimentação às duas terminações ativas
da rede. As redes com apenas 1 fio têm este, o fio de dados, chamado exclusivamente de
linha CAN.
Os dados enviados através da rede devem ser interpretados pela análise da diferença
de potencial entre os fios CAN_H e CAN_L. O barramento CAN é classificado como Par
Trançado Diferencial, tal característica atenua fortemente os efeitos causados por
interferências eletro-magnéticas, uma vez que qualquer ação sobre um dos fios será sentida
também pelo outro, causando flutuação em ambos os sinais para o mesmo sentido e com a
mesma intensidade. Como o que vale para os módulos que recebem as mensagens é a
18
diferença de potencial entre os condutores CAN_H e CAN_L (e esta permanecerá
inalterada), a comunicação não é prejudicada.
No CAN, os dados não são representados por bits em nível “0” ou nível “1”. São
representados por bits Dominantes e bits Recessivos, criados em função da condição
presente nos fios CAN_H e CAN_L. A Figura 6 ilustra os níveis de tensão em uma rede
CAN, assim como os bits Dominantes e Recessivos.
Figura 6. Níveis Elétricos do Protocolo CAN
IV.4.1) FORMATO DAS MENSAGENS
Existem dois formatos de mensagens no protocolo CAN:
CAN 2.0A – Mensagens com identificador de 11 bits. É possível ter até 2048
mensagens em uma rede com este formato. A Figura 7 apresenta o quadro de mensagem
do CAN 2.0A.
Figura 7. Mensagem CAN 2.0A
19
CAN 2.0B – Mensagens com identificador de 29 bits. É possível ter,
aproximadamente, 537 milhões de mensagens em uma rede constituída sob este formato. A
Figura 8 apresenta o quadro de mensagem do formato CAN 2.0B.
Figura 8. Mensagem CAN 2.0B
IV.4.2) FERRAMENTA TRUETIME
A ferramenta TrueTime, desenvolvida pelo Departamento de Controle Automático da
Universidade de Lund na Suécia, é um toolbox do MATLAB/Simulink utilizado para facilitar a
simulação de operação e comportamento temporal de um NCS ou um sistema distribuído
com múltiplos controladores operando em tempo real (CERVIN et al., 2003). Essa
ferramenta é composta basicamente por uma biblioteca do Simulink contendo seis blocos,
sendo o bloco de kernel (TrueTime Kernel), dois blocos de rede (com fio – TrueTime
Network e sem fio – TrueTime Wireless Network), dois blocos de transmissão de
mensagens (envia mensagem – ttSendMsg e recebe mensagem – ttGetMsg) e um bloco de
bateria (TrueTime Battery), mostrados na Figura 9. A utilização desses blocos permite
simular e analisar a inclusão de uma rede de comunicação e do trafego de mensagens
(blocos de rede e blocos de transmissão de mensagens) num sistema de controle e a
operação de um processador de tempo real (bloco kernel) executando tarefas de controle e
interface de dados (I/Os). Juntamente com os blocos da biblioteca, a ferramenta possui um
conjunto de funções adicionais (fornecidas em arquivos C++ ou Matlab Mex) desenvolvidas
20
para configurar e definir a execução de atividades realizadas pelo bloco kernel. Entre essas
funções pode-se citar a conversão AD/DA, envio e recebimento de mensagens, criação e
gerenciamento de tarefas, interrupções, temporizadores e monitoração de eventos. Os
blocos e funções da biblioteca da ferramenta TrueTime se conectam diretamente aos blocos
já existentes nas bibliotecas disponíveis no Simulink, facilitando sua utilização.
Figura 9. Blocos da Biblioteca TrueTime
Os blocos de rede e de kernel da biblioteca são baseados em eventos, podendo ser
eventos internos ou externos, os quais determinam a execução de suas atividades. Eventos
internos são relacionados ao tempo, como por exemplo, o tempo definido terminou, a tarefa
foi executada ou a mensagem foi transmitida. Eventos externos são relacionados com
interrupções ou fatos externos aos blocos como, por exemplo, uma mensagem foi detectada
na rede ou a velocidade do motor ultrapassou a referencia.
Um modelo da ferramenta TrueTime pode conter diversos blocos, como por exemplo
mais de um bloco de rede (simulando um sistema com mais de uma rede) e um mesmo
bloco de kernel conectado em mais de uma rede. Cada rede (ou bloco de rede) no modelo é
identificada por um número e cada dispositivo (ou bloco de kernel) conectado em uma rede
é identificado por um número, o qual é único para essa rede.
IV.4.2.1) BLOCO DE KERNEL (TRUETIME KERNEL)
O bloco de kernel da ferramenta é composto por uma função do Matlab que simula
um computador ou processador com um kernel baseado em eventos, operações de
21
conversão A/D e D/A, interface de dados (I/O), comunicação via rede, canal externo para
interrupções e variáveis de monitoramento (Schedule e Monitors) (CERVIN, OHLIN &
HENRIKSSON, 2007). Internamente no bloco de kernel, estruturas como filas, memórias,
buffers, temporizadores estão implementados e são utilizados nas simulações. A
comunicação via rede é realizada através de uma entrada de recepção de mensagens da
rede (Rcv), uma saída de envio de mensagens para a rede (Snd). O bloco de kernel contém
ainda uma entrada (E) e uma saída (P) que são utilizadas juntamente com o bloco de
bateria (TrueTime Battery).
IV.4.2.2) BLOCOS DE REDE
Os blocos de rede da ferramenta também são baseados em eventos e simulam o
mecanismo de acesso ao meio de comunicação, a transmissão das mensagens na rede e
tempos de processamento relativo à transmissão das mensagens, de acordo com o tipo de
rede ou protocolo escolhido (CERVIN, OHLIN & HENRIKSSON, 2007). Cada mensagem
transmitida na rede contém informações sobre o dispositivo de origem e de destino da
mensagem, dados definidos pelo usuário (medição realizadas, sinais de controle) e
tamanho da mensagem. Outras informações específicas sobre características de tempo real
como prioridade e deadline das mensagens são opcionais e definidas de acordo com o
protocolo escolhido.
IV.4.2.3) BLOCOS DE TRANSMISSÃO DE MENSAGENS
Os blocos de transmissão de mensagens (envio e recebimento) são utilizados para
simplificar a simulação e análise de redes de comunicação e sistemas de controle via redes.
A principal característica desses blocos é a não necessidade de utilização de blocos de
kernel para transmissão de mensagens em um sistema. Assim, a criação de scripts de
inicialização de blocos de kernel não é necessária e simplifica-se a criação de códigos para
transmissão de mensagens. No entanto, os blocos de transmissão de mensagens não
permitem a criação de códigos mais complexos como algoritmos de controle. Num mesmo
22
modelo do TrueTime podem ser utilizado blocos de rede e blocos de transmissão de
mensagens simultaneamente.
23
V) CONSTRUÇAO DO MÓDULO DE MOTOR DC
Com o objetivo de realização de experimentos de controle de posição de motores de
corrente contínua, foi construído uma malha de controle para a plataforma de NCS, a qual é
apresentada na Figura 10. Essa malha de controle é constituída por um motor DC, um
encoder para medição da posição, um drive de acionamento PWM, um circuito eletrônico de
leitura do encoder, uma fonte AC/DC para alimentação dos dispositivos e conectores
específicos para a rede CAN. O objetivo deste NCS é a realização de experimentos de
controle de posição (referência em graus) definida pelo usuário.
Os sinais de entrada (sinal de controle PWM para acionamento do motor DC) e saída
(medição da posição da haste através do encoder) do sistema são transmitidos através da
rede CAN da plataforma, sendo que a integração da malha de controle à rede CAN foi feita
utilizando-se da interface CAN descrita anteriormente.
Figura 10. Bancada de Motor de Corrente Contínua
24
V.1) MOTOR DE CORRENTE CONTÍNUA
O motor de corrente contínua escolhido para ser usado no sistema foi da Fabricante
Maxon, modelo 359175. Este modelo é composto pelo conjunto:
1. Motor Modelo RE-max 24, ordem 222053: especificações e desenho técnico na
Figura 11;
Figura 11. Especificações e Desenho Técnico - Motor RE-max 24
2. Redução Planetary Gearhead GP 22 C: Redução: 109 : 1;
3. Encoder MR, Tipo M, 512 Pulsos/Volta, 3 Canais.
V.2) ACIONAMENTO DO MOTOR DC
O acionamento de motores DC pode ser feito de diversas maneiras. Uma técnica
difundida atualmente é a de Pulse Width Modulation (PWM). A vantagem desta técnica
quando comparada a variação contínua de tensão, por exemplo, é que o PWM apresenta
menores perdas de energia e menor aquecimento dos componentes do circuito de
acionamento, permitindo que estes sejam menores e mais baratos.
O PWM consiste em um método chaveado de tensão em freqüência da ordem de
KHz, pelo qual, através de uma onda quadrada, controla-se a tensão aplicada ao motor. A
tensão média aplicada no motor é dada pela razão entre o período em que a onda do PWM
fica "ativa" e o período em que ela fica "inativa" vezes a tensão máxima de alimentação.
Para tal, foi utilizado um CI contendo uma Ponte H, modelo LMD18200. O esquema com as
25
ligações deste circuito integrado pode ser visto na Figura 12 e a imagem do circuito
construído, na Figura 13.
Figura 12. Esquema CI LMD18200
Figura 13. Foto do Driver PWM
V.3) LEITURA DO ENCODER
Inicialmente foi desenvolvido um sistema responsável pela obtenção da posição em
graus do eixo do motor que consistia de: um Circuito Integrado DM74LS74AN que definia o
sentido de rotação do motor; e pela ligação de um canal do encoder diretamente no clock
secundário do PIC, o qual, através de um tratamento por interrupções do sinal de
26
quadratura e da aquisição do sentido de rotação gerado no CI DM74LS74N, gerava o
ângulo de rotação do motor.
No entanto, após a realização de uma série de testes, verificou-se que tal sistema não
era confiável e em situações em que as variações de velocidade eram grandes, os dados
de posição do eixo do motor gerados pelo PIC não eram compatíveis com o sistema físico.
Nesse cenário, outras possibilidades de circuitos que tratam sinais de quadratura
foram pesquisadas e estudadas.
Assim, para a determinação da posição do motor ao longo do tempo, optou-se pelo
circuito integrado HCTL2017-A00 (Figura 14) em conjunto com rotinas no PIC18F258.
Estas, responsáveis pelo correto tratamento dos sinais de saída do HCTL2017 e pela
colocação de uma mensagem na rede CAN, contendo o número de pulsos do encoder
naquele instante.
Figura 14. Esquema HCTL2017-A00
As funções deste circuito integrado abrangem a decodificação dos sinais de
quadratura dos canais do encoder, a contagem de pulsos e a interface digital com o
microcontrolador.
Por apresentar um contador de 16 bits, a montagem dos bits mais significativos –
MSB – (Most Significant Byte - byte formado pelos bits 8 à 15) e bits menos significativos –
27
LSB – (Least Significant Byte - byte formado pelos bits 1 à 7), seqüenciando os dois bytes
(16 bits) da leitura dos sinais dos canais A e B do encoder após a quadratura destes, dá-se
pela manipulação dos pinos SEL, OE e RST .
Com o pino OE em nível lógico alto, não haverá sinal de leitura nas entradas dos
pinos D0 à D7, pois ele está ligado às portas NAND internas do contador, desabilitando a
contagem dos bits. Logo, para começar a leitura dos dois bytes mais e menos significativos,
tal pino deverá permanecer em nível lógico baixo. O pino SEL seleciona a leitura dos bits
mais e menos significativos. Com o pino SEL em baixa, os bits mais significativos são lidos
primeiramente e em alta, os bits menos significativos são lidos, montando os dois bytes.
O pino 5 é o RST (reset) que é ativado em baixa, porém tem sua lógica invertida na
entrada com uma porta NOT, assim o pino tem que ser mantido em nível lógico baixo para
funcionar e em alta para reiniciar o CI. O pino 2 (CLK) é a entrada do clock (precisa ser 3
vezes maior que o maior sinal do encoder), se o clock não for 3 vezes maior o sinal de
saída não será confiável, pois pode haver perda de sinal durante a leitura do encoder.
Os pinos 6 e 7 (entradas dos canais A e B, respectivamente) são conectados às
saídas A e B do encoder, os quais recebem os sinais em quadratura com defasagem de
90°. Desta forma, pode-se conhecer o sentido de rotação do encoder.
Os pinos 1 e 9 ao 15 correspondem ao D0 a D7 que se referem a um bit de saída do
sinal lido, montando primeiramente o MSB e, posteriormente, o LSB. O pino 8 (GND) e o
pino 16 (VDD) são a referência e alimentação, respectivamente. No projeto, o
microcontrolador irá controlar os pinos SEL e OE para a leitura do encoder, e os bytes
serão captados pela portas do microcontrolador, que farão a verificação dos valores e sua
correção através de rotinas de controle.
A acuracidade da decodificação de quadratura do CI HCTL2017 é alta quando
comparada a outros métodos de decodificação, como a utilização de portas comuns ou
tratamento de interrupções via clock secundário em microcontroladores.
28
Visto a importância de terem-se dados de posição precisos e confiáveis para a
realização de um controle de posição adequado, a decisão pelo uso deste circuito anexo é
justificada.
V.4) PROGRAMAÇÃO DO PIC
Uma rede CAN é composta pelo conjunto de dispositivos conectados (sensores e
atuadores), interfaces de integração (nós CAN ou ECU) e barramento. SOUSA (2002)
apresenta um levantamento de componentes e circuitos eletrônicos para desenvolvimento
de redes CAN, sendo sugerida uma interface padrão para integração destes dispositivos,
que foi posteriormente adaptada e aperfeiçoada em BRAZ et al. (2004).
A rede CAN deste experimento foi montada utilizando-se desta interface. O
esquemático do circuito desta interface CAN implementada, mostrado na Figura 15, é
composto basicamente por três módulos integrados, que são:
1. Transceptor CAN: módulo responsável pela adaptação dos níveis de tensão entre
circuito do nó CAN e do barramento CAN;
2. Transceptor RS232: módulo responsável pela adaptação dos níveis de tensão entre
circuito do nó CAN e a interface RS232, baseada em um controlador tipo USART
(Universal Synchronous / Asynchronous Receiver Transmitter);
3. Microcontrolador com Controlador CAN: módulo constituído por CPU, memória,
programas computacionais, interfaces para outros dispositivos e controlador CAN, que
é o módulo central da implementação e do controle do protocolo utilizado para
comunicação.
29
Figura 15. Esquemático do Circuito da Interface CAN Padrão (BRAZ et. al. 2004)
Entre as especificações e características dessa interface, mostradas de acordo com
as legendas da imagem da interface da Figura 16, podem-se citar:
1. Microcontrolador PIC18F258 (MICROCHIP, 2006a) com controlador CAN –
Legenda 4;
2. Transceiver MCP2551 (MICROCHIP, 2006) da Microchip – 2;
3. Circuito integrado de condicionamento da porta serial MAX232 (MAXIM,2006) –
Legenda 3;
4. Barramento CAN a 4 fios (GND, VCC, CAN_H, CAN_L) – Legenda 6;
5. Conexão de dispositivos através de interface Serial RS232 – Legenda 1;
6. Conexão de sensores e atuadores através de portas de E/S (entrada e saída) –
Legenda 5;
7. Conexão de outros dispositivos através de interfaces SPI (Serial Peripheral
Interface.), I2C (Inter-integrated Circuit) (MICROCHIP, 2006a);
8. Controle de dispositivos através de portas PWM (Pulse With Modulation), A/D
(conversores analógico – digital), (MICROCHIP, 2006a).
30
Figura 16. Imagem da Interface CAN Implementada (Sousa, 2002)
Na integração do módulo de corrente contínua à rede CAN, é tarefa do PIC: realizar o
controle do CI HCTL2017-A00, montar o inteiro de 2 Bytes com sinal contendo o número de
pulsos do encoder (positivo: sentido horário; e negativo: sentido anti-horário) a partir de
duas leituras consecutivas dos terminais de saída do HCTL (como explicado na seção
anterior), e pelo envio de uma mensagem pela rede CAN contendo essas informações, para
que a ECU possa recebê-la e recuperar os dados descritos.
A ECU, tendo a posição do motor, através do tratamento adequado do número de
pulsos recebido em um inteiro de 16 bits com sinal, realizará o controle projetado e colocará
na rede CAN uma mensagem contendo: um número entre 0 e 100 que corresponde à
porcentagem da tensão de alimentação (24V) a qual o motor será submetido naquele
instante e a direção para o qual o motor deve girar.
É tarefa do PIC: receber a mensagem contendo a porcentagem de tensão de
alimentação a ser aplicada e a direção de rotação desejada, criar um sinal PWM e um sinal
de direção de rotação e aplicá-los na entrada do circuito contendo a Ponte H.
31
Foi programado que o PIC enviará uma mensagem a cada 100ms contendo os dados
de posição e receberá uma mensagem de atuação assim que esta estiver disponível na
rede.
As tarefas que o PIC deve executar foram programadas na linguagem C utilizando o
software MPLAB com o Compilador C18 da Microchip. O diagrama de programação pode
ser visto na Figura 17.
Figura 17. Diagrama - Programação PIC
Desta forma, com a programação do PIC, finalizou-se a construção do módulo de
motor de corrente contínua. O módulo está construído, integrado a rede CAN, enviando
mensagens com informação de seu sensor (encoder) e recebendo mensagens de atuação
(PWM/motor).
O módulo construído foi utilizado como plataforma de testes para o desenvolvimento
de controles via rede CAN, os quais serão detalhados neste relatório em seções adiante.
32
VI) MODELAGEM MATEMÁTICA
A modelagem matemática se apresenta como ferramenta para o desenvolvimento de
controladores e para a simulação do sistema.
VI.1) FUNÇÃO TRANSFERÊNCIA - MOTOR DC
O motor de corrente contínua, como o utilizado neste trabalho, pode ser representado
esquematicamente pela Figura 18.
Figura 18. Esquema Motor de Corrente Contínua
Usando a Lei de Kirchhoff’s da Voltagem, obtemos a seguinte equação:
∙ ∙ 0 (1)
- Tensão Aplicada nos Terminais do Motor
- Resistência da Armadura
- Corrente da Armadura
- Indutância da Armadura
- Força Contra Eletromotriz
Aplicando a Transformada de Laplace:
∙ ∙ ∙ 0 (2)
Os motores de corrente contínua convertem energia através da interação de dois
campos magnéticos: um dos campos é produzido por um imã e o outro é induzido por uma
corrente elétrica nas espiras da armadura. Essa interação gera um torque no eixo do rotor.
33
Uma força contra eletromotriz, proporcional à velocidade do rotor, também é gerada
em conseqüência da rotação. Assim, a velocidade do rotor será proporcional a tensão
aplicada.
∙ (3)
Sendo:
- Constante Contra Eletromotriz do Motor
- Ângulo de Saída do Motor
Aplicando a Transformada de Laplace:
∙ ∙ (4)
Substituindo (4) em (2):
∙ ∙ ∙ ∙ ∙ 0 (5)
Rearranjando:
∙∙∙ (6)
Aplicando a Segunda Lei de Movimento de Newton no motor e na redução:
∙ ∙ (7)
∙ !" ∙ (8)
Sendo:
- Momento de Inércia do Motor
- Torque na Saída do Motor
- Torque na Entrada da Redução
# - Eficiência da Redução
- Coeficiente de Redução
- Momento de Inércia da Redução
34
- Ângulo de Saída da Redução
!" - Coeficiente de Atrito Equivalente
Substituindo (7) em (8):
∙ # ∙ ∙ # ∙ ∙ ∙ !" ∙ (9)
Temos que:
∙ (10)
Como resultado da interação entre os campos magnéticos, uma corrente elétrica flui
através das espiras e um torque, proporcional a corrente aplicada, é gerado.
# ∙ ∙ (11)
Sendo:
# - Eficiência do Motor
- Constante de Torque do Motor
Substituindo (10) e (11) em (9):
∙ # ∙ # ∙ ∙ ∙ # ∙ $ ∙ ∙ !" ∙ (12)
Aplicando a Transformada de Laplace:
∙ ∙ $ + # ∙ $ ∙ ∙ ∙ $ + !" ∙ ∙ # ∙ # ∙ ∙ ∙ (13)
Substituindo (10) em (6):
∙∙∙∙ (14)
Substituindo (14) em (13):
∙ ∙ $ + # ∙ $ ∙ ∙ ∙ $ + !" ∙ ∙ # ∙ # ∙ ∙ ∙ & ∙ ∙ ∙ ∙ + '(15)
Considerando:
" + # ∙ ∙ $ (16)
35
Rearranjando (15), temos as funções transferência:
# ∙ # ∙ ∙
-" ∙ . ∙ / + -" ∙ + !" ∙ . ∙ $ + (!" ∙ + # ∙ # ∙ ∙ ∙ $) ∙
VI.2) FUNÇAO TRANSFERÊNCIA - MOTOR MAXON
A função transferência obtida no tópico anterior estabelece uma relação entre a
tensão aplicada nos terminais do motor e a posição de saída da redução em função dos
parâmetros característicos do motor e da redução. Estes variam de acordo com o modelo e
o fabricante.
No presente trabalho, o motor utilizado foi do fabricante Maxon, modelo 359175.
Tal modelo é um conjunto encoder + motor + redutor, com os seguintes parâmetros:
Motor Modelo RE-max 24, ordem 222053
4.17 ∙ 103 Kg.m2
!" 2.19 ∙ 106 N.m.s
# 0.84
8 4.4 ∙ 109 V.s/rad
0.0244 N.m/A
0.000406 H ≈ 0
8.47 Ω
Redução Planetary Gearhead GP 22 C
0.4 ∙ 103 Kg.m2
= 109
# = 0.59
Assim, substituindo os termos na função transferência do tópico anterior, temos:
=
1.318
0.02476 ∙ $ + 3.509 ∙
36
VII) VERIFICAÇÃO DO MODELO
VII.1) RESPOSTA A ENTRADA DEGRAU
Experimentos, sem o uso de rede de comunicação CAN, foram realizados para
analisar as respostas do sistema real a uma entrada degrau em malha aberta e compará-las
com a simulação deste controle feita em Matlab/Simulink com o intuito de verificar a
acuracidade do modelo matemático desenvolvido para o motor.
O sistema simulado em Matlab Simulink é representado pelo diagrama de blocos da
Figura 19.
Figura 19. Diagrama de Blocos - Sistema em Malha Aberta
Nos experimentos, três diferentes tensões foram aplicadas no motor: 3V (Figura 20),
6V (Figura 21) e 12V (Figura 22).
37
Figura 20. Resposta ao degrau de 3V
Figura 21. Resposta ao degrau de 6V.
38
Figura 22. Resposta ao degrau de 12V.
A partir dos três gráficos acima podemos comparar as respostas da simulação (em
vermelho) e do sistema real (em azul). Podemos verificar que as respostas do sistema real
são bem próximas da simulação, o que valida a modelagem realizada.
VII.2) RESPOSTA A UM CONTROLE PROPORCIONAL
Um controle proporcional foi desenvolvido na plataforma Labview (Figura 23) e
experimentos foram realizados para analisar as respostas do sistema real e compará-las
com a simulação deste controle feita em Matlab Simulink (Figura 24).
A interface de comunicação utilizada para adquirir os sinais do encoder e realizar a
atuação no motor através do controle em Labview foi a Placa NI USB 6210. Para
desenvolver o programa da Figura 23, um estudo sobre aquisição e geração de sinais em
Labview foi realizado e toda uma lógica de controle foi criada.
39
Figura 23. Diagrama de Controle do Motor na Plataforma Labview
Figura 24. Diagrama de Blocos - Sistema em Malha Fechada com Controle Proporcional
Nos experimentos, três diferentes ganhos K foram utilizados no controle proporcional:
K=1 (Figura 25), K=3 (Figura 26) e K=10 (Figura 27).
40
Figura 25. Resposta ao Controle Proporcional K=1.
Figura 26. Resposta ao Controle Proporcional K=3.
41
Figura 27. Resposta ao Controle Proporcional K=10.
A partir dos três gráficos acima podemos comparar as respostas da simulação (em
vermelho) e do sistema real (em azul) das respostas dos controles proporcionais. Podemos
verificar que as respostas do sistema real são bem próximas da simulação, o que reforça a
validação da modelagem do sistema realizada.
As comparações realizadas entre as respostas do modelo matemático quando
simulado em malha aberta e fechado com as respostas do sistema reais, apresentando
respostas bem próximas permitiram a validação do modelo matemático.
A obtenção de uma função transferência que descreva a resposta do sistema com alta
precisão é de fundamental importância para o projeto de controles, sendo estes diretos ou
via rede.
42
VIII) SISTEMA DE CONTROLE VIA REDE CAN
VIII.1) PROJETO E SIMULAÇÃO
Um controle proporcional derivativo foi desenvolvido e implementado no sistema
através da rede de comunicação CAN. Experimentos foram realizados para analisar as
respostas do sistema real e compará-las com a simulação deste controle realizada com o
Toolbox TrueTime do Matlab/Simulink.
A utilização de ferramentas de simulação e projeto de NCS é necessária para o
desenvolvimento de sistemas de controle, pois permite ao projetista avaliar a dinâmica do
sistema de controle antes de sua implementação real, reduzindo tempo e custos de projeto
e desenvolvimento.
A ferramenta TrueTime (http://www.control.lth.se/truetime) é um Toolbox do
Matlab/Simulink usado para facilitar a simulação da operação e do comportamento temporal
de NCS e de sistemas embarcados ou distribuídos com múltiplos controles operando em
tempo real. A ferramenta consiste de uma biblioteca de blocos do Simulink, basicamente
com um bloco computacional de kernel e blocos de rede de comunicação, como mostrado
na Figura 28, e uma coleção de arquivos MEX do Matlab.
Figura 28. Biblioteca de Blocos do TrueTime
Uma completa simulação do NCS pode ser definida na ferramenta utilizando os
blocos disponíveis, desde o modelo da planta, o algoritmo de controle até a rede de
comunicação usada (CERVIN et al., 2006).
Simulações em TrueTime são programadas da mesma forma que os sistemas de
NCS. O programa é escrito em código Matlab ou em C++. A execução das tarefas e das
43
interrupções é definida por funções. Cada tarefa é definida pela especificação de atributos
(prioridade, deadline, período etc.). A principal diferença entre a simulação e a programação
real é que na primeira, os tempos de execução/transmissão devem ser especificados pelo
desenvolvedor. Essa abordagem confere alta flexibilidade a ferramenta de simulação
TrueTime.
Figura 29. NCS para Controle de um Motor DC implementado na Ferramenta TrueTime
Na Figura 29, o termo Transfer Function é a função transferência obtida a partir da
modelagem matemática apresentada em seções anteriores deste relatório com as
apropriadas substituições das variáveis pelos parâmetros reais do motor.
Para o NCS via rede CAN projetado, foi definida uma velocidade de 250 Kbits/s para a
rede e mensagens de 2 bytes para os dados transmitidos. Em relação aos parâmetros
definidos para as ECUs do NCS, a ECU 1 funciona como gerador de carga para a rede. A
ECU 2 (atuador) é responsável por receber a mensagem CAN e enviar o sinal de controle
(u) convertido (D/A) para o processo. A ECU 4 (sensor) é responsável pela leitura e
conversão (A/D) do sinal de saída (y) do processo e envio da mensagem CAN para o
controlador. A ECU 3 (controlador) é responsável pelo recebimento das mensagens CAN do
sensor, aplicação do algoritmo de controle projetado e envio das mensagens CAN para o
atuador.
Três controladores PD discreto com aproximação derivativa, definidos abaixo, foram
implementados. Os parâmetros da parcela derivativa variaram de um controle para outro,
44
sendo K=1, K=3 e K=10, já os outros termos permaneceram constantes, sendo Td=0,001,
h=0,1s (taxa de amostragem) e N=10 (constante de filtragem derivativa).
VIII.2) CONTROLE REAL VIA REDE CAN
Os mesmos controles simulados no item anterior com o Toolbox TrueTime do Matlab
foram implementados no sistema real através de uma rede CAN administrada por software
desenvolvido na plataforma LabView. O esquemático de tal implementação pode ser
visualizado na Figura 30.
Figura 30. Esquemático Controle via Rede CAN
No NCS desenvolvido, as informações do sensor referentes ao número de pulsos do
encoder que traduzem a posição do motor são interpretadas pela ECU e enviadas
periodicamente para o controlador via mensagens na rede CAN. O controlador, neste caso,
é um computador pessoal que se comunica com a rede CAN através de uma placa PCI-
CAN.
Após o recebimento da mensagem, o controlador executa o algoritmo de controle
configurado, obtém o sinal de controle e o envia a informação via mensagem pela rede CAN
para o atuador. Tanto o controlador como o atuador funcionam baseados em eventos.
45
VIII.3) COMPARAÇÃO ENTRE AS RESPOSTAS DA SIMULAÇÃO E DA
IMPLEMENTAÇÃO REAL DO NCS VIA REDE
As respostas obtidas do controle simulado com o Toolbox TrueTime do
Matlab/Simulink e as respostas do sistema real podem ser observadas na Figura 31, na
Figura 32 e na Figura 33.
Figura 31. Controle PD (K=1 e Td=0.001) via rede CAN (simulado e real)
46
Figura 32. Controle PD (K=3 e Td=0.001) via rede CAN (simulado e real)
Figura 33. Controle PD (K=10 e Td=0.001) via rede CAN (simulado e real)
47
Analisando os gráficos acima nota-se claramente a grande semelhança entre as
curvas “real” e “simulada”. Esta semelhança entre os controles “real” e “simulado” deve-se
principalmente a acuracidade do modelo matemático desenvolvido anteriormente para o
motor DC; e também ao uso do Toolbox TrueTime do Matlab/Simulink com as corretas
parametrizações para a simulação da rede de comunicação CAN, descrevendo-a de forma
precisa.
48
IX) CONCLUSÕES
O desenvolvimento de NCS é, essencialmente, um problema multidisciplinar que
envolve desde a modelagem do sistema físico, passando por sua validação, pela simulação
do controle via rede e finalmente pela implantação real do NCS.
Neste trabalho, todas as etapas descritas foram completamente desenvolvidas e as
respostas do sistema simulado e real foram obtidas. A comparação destas permite validar a
implantação do projeto do módulo e do NCS propostos e afirmar que a aplicação de NCS
com redes CAN para controle de motor de corrente contínua é viável.
A utilização de ferramentas de simulação e projeto de NCS é necessária para o
desenvolvimento de sistemas de controle, pois permite ao projetista avaliar a dinâmica do
sistema de controle antes de sua implementação real, reduzindo tempo e custos de projeto
e desenvolvimento.
Também com o intuito de se avaliar a eficiência da ferramenta de simulação
TrueTime do Matlab/Simulink, esta foi utilizada neste trabalho e se mostrou precisa na
simulação da rede de comunicação CAN e do NCS, sendo indicada para a utilização no
desenvolvimento de sistemas de controle via rede.
49
X) DIFICULDADES ENCONTRADAS
No primeiro semestre do projeto deste trabalho de conclusão de curso, uma das
dificuldades encontradas foi na adaptação do modelo matemático a simulação real. Os
atritos, estático e dinâmico, do motor interferem nas respostas das simulações. Como a
modelagem deste atrito é de complexo desenvolvimento e não é o objetivo deste trabalho
de conclusão de curso, verificou-se experimentalmente a tensão utilizada pelo motor para
que este supere o atrito e inicie seu movimento: o valor de 0,26V foi encontrado.
A partir desta informação, pode-se aplicar essa tensão inicialmente e
permanentemente em todos os experimentos de forma que o motor já estivesse na
eminência de entrar em movimento antes do controle iniciar sua atuação.
Desta forma, pode-se comparar os resultados da modelagem e dos experimentos e
verificar o modelo matemático proposto, mesmo este não contendo a modelagem dos
atritos do motor.
O estudo do funcionamento do PIC, de seus registradores, portas e comunicação com
o conseqüente desenvolvimento do programa em C para ser executado pelo PIC também
exigiu grande dedicação e esforço do aluno.
A comunicação através da rede CAN, um tema desconhecido pelo aluno até o início
deste trabalho de conclusão de curso, exigiu o estudo dos protocolos de comunicação e
funcionamento do CAN e das bibliotecas de comunicação já existentes.
No segundo semestre do projeto deste trabalho de conclusão de curso, problemas
com o sistema inicialmente desenvolvido para executar a leitura e o tratamento dos sinais
do encoder do motor foram encontrados. Tal sistema se mostrou pouco preciso e confiável
e, assim, não adequado para a utilização em uma malha de controle via redes, a qual
requer precisão dos dados do sensor para a realização de um controle adequado.
Desta forma, outras formas de realizar a leitura e tratamento dos sinais de quadratura
do encoder foram pesquisadas, estudadas, testadas e optou-se pela que se mostrou mais
adequada, como descrito anteriormente neste relatório.
50
A simulação do controle via rede CAN do módulo de motor de corrente contínua exigiu
uma ampla pesquisa das ferramentas disponíveis para tal uso. O toolbox TrueTime do
Matlab/Simulink se mostrou o mais promissor e foi escolhido como plataforma de testes.
51
XI) ANÁLISE DOS RESULTADOS
A construção do módulo de corrente contínuo e sua integração com uma rede CAN foi
finalizada.
O modelo matemático desenvolvido foi validado e permite sua utilização para
trabalhos futuros relacionados a projetos de controles de motores de corrente contínua.
A comparação das respostas das simulações do controle via rede CAN do sistema
apresentado com as respostas do controle real do mesmo permitiu validar o uso da
ferramenta TrueTime para simulações de controle via redes.
O desenvolvimento e validação do NCS via rede CAN proposto neste trabalho
comprovam sua viabilidade de aplicação em controles de motores de corrente contínua.
Com tal comprovação, o objetivo deste trabalho de conclusão de curso é alcançado e
informações sobre a implementação e validação deste NCS são apresentadas ao longo
deste relatório.
O módulo de corrente contínua desenvolvido neste projeto foi integrado a uma
plataforma de testes de NCS em desenvolvimento no projeto de pesquisa FAPESP
08/03481-1 e permitirá também a realização de futuros estudos e experimentos e o
aprendizado dessa tecnologia.
Como resultado deste trabalho também se tem a publicação de um artigo científico no
9º Congresso Temático de Dinâmica, Controle e Aplicações - DINCON2010 - com o título
“Simulação, Análise e Controle de Motor de Corrente Contínua Utilizando um Sistema de
Controle via Rede CAN”, sendo o autor deste trabalho de conclusão de curso o primeiro
autor do artigo.
52
XII) REFERÊNCIAS BIBLIOGRÁFICAS
ALLDREDGE, G. W. (2007). PID and Model Predictive Control in a Networked Environment. Master dissertation, Department of Electrical Engineering and Computer Science, CASE Western Reserve UNIVERSITY, 130p., August. BAILLIEUL, J.; ANTSAKLIS, P.J. (2007). Control and Communication Challenges in Networked Real-Time Systems. In: Proceedings of the IEEE TECHNOLOGY OF NETWORKED CONTROL SYSTEMS, v. 95, n. 1, p. 9-28, January.
BOSCH. (2006). CAN 2.0 Specification Version, Acesso em: Setembro 2006. Disponível em: http://www.can.bosch.com.
CERVIN, A.; HENRIKSSON, D.; LINCOLN, B.; EKER, J.; ARZEN, K. E. (2003). How does control timing affect performance? Analysis and simulation of timing using Jitterburg and Truetime, IEEE Control System Magazine, v. 23, p. 16-30, June.
CERVIN, A.; ARZEN, K. E.; HENRIKSSON, D.; LLUESMA, M.; BALBASTRE, P.; RIPOLL, I.; CRESPO, A. (2006). Control Loop Timing Analysis Using TrueTime and Jitterbug, In: Proceedings of the 2006 IEEE Conference on Computer Aided Control Systems Design, p. 1194-1199, 4-6 October.
CERVIN, A.; OHLIN, M.; HENRIKSSON, D. (2007). Simulation of Networked Control Systems Using TrueTime. In: Proceedings of the 3rd International Workshop on Networked Control Systems: Tolerant to Faults, Nancy, France, June.
CLOOSTERMAN, M.; WOUW, N. V.; HEEMELS, M.; NIJMEIJER, H. (2006). Robust Stability of Networked Control Systems with Time-varying Network-induced Delays, In: Proceedings of the 45th IEEE Conference on Decision & Control, p. 4980-4985, December. FELICIO, L. C. Modelagem da Dinâmica de Sistemas e Estudo da Resposta, 2007, Ed. Rima.
GAID, M. B.; CELA, A.; DIALLO, S.; KOCIK, R.;HAMOUCHE, R.; REAMA, A. (2006). Performance Evaluation of the Distributed Implementation of a Car Suspension System. In Proceedings of the IFAC Workshop on Programmable Devices and Embedded Systems. Czech Republic, February.
GODOY, E. P.; SOUSA, R. V.; PORTO, A. J. V.; INAMASU, R. Y. (2006a). Application of a sampling time scheduling for the optimization of distributed control system based on CAN protocol. In: Proceedings of the 5th Brazilian Conference on Dynamics, Control, and Their Applications, SBMAC.
HESPANHA, J. P.; NAGHSHTABRIZI, P.; XU, Y. (2007). A Survey of Recent Results in Networked Control Systems, IEEE Proceedings of the Technology of Networked Control Systems, v. 95, n. 1, p. 138-162, January.
HONG, S. H.; KIM, W. H. (2000). Bandwidth allocation scheme in CAN protocol. IEEE Proceedings of Control Theory and Applications, v. 147, n. 1, p. 37–44.
HUO, Z.; FANG, H.; MA, C. (2004). Networked control system: state of the art. In: Proceedings of the 50th World Congress on Intelligent Control and Automation, WCICA 2004, v. 2, p. 1319- 1322, June.
LEE, K. C.; LEE, S.; LEE, M. H. (2003). Remote fuzzy logic control of networked control system via Profibus-DP. IEEE Transactions on Industrial Electronics, v. 50, n. 4, p. 784-792, August.
LEE, K. C.; LEE, S.; LEE, M. H. (2004). Implementation and PID tuning of network-based control systems via Profibus polling network. Computer Standards & Interfaces, v. 26, n. 3, p. 229–240, May.
LI, Y.; FANG, H. (2005). Control methodologies of large delays in networked control systems. In: Proceedings of the International Conference on Control and Automation, v. 2, p. 1225–1230.
LIAN, F. L.; MOYNE, J. R; TILBURY, D. M. (2001). Performance evaluation of control networks: Ethernet, Controlnet and Device Net. IEEE Control Systems Magazine, p. 66-83.
______. (2002). Network Design Consideration for Distributed Control Systems. IEEE Transactions on Control Systems Technology, v. 10(2), p. 297-307, March.
MOYNE, J. R.; TILBURY, D. M. (2007). The Emergence of Industrial Control Networks for Manufacturing Control, Diagnostics, and Safety Data, IEEE Proceedings of Technology of Networked Control Systems, v. 95, n. 1, p. 29-47, January.
OGATA, K. Engenharia de controle moderno, 1993, Ed. Prentice Hall.
53
OTHMAN, H. F.; AJI, Y. R.; FAKHREDDIN, F. T.; AL-ALI, A. R. (2006). Controller Area Networks: Evolution and Applications, In: Proceedings of the 2nd International Conference on Information and Communication Technologies - ICTTA 06, v. 2, p. 3088- 3093, 24-28 April.
PEREZ, D. A. (2006). Propostas de Co-Projeto para Sistemas de Controle via Rede. Dissertação de Mestrado. Universidade Federal de Santa Catarina, Florianópolis, 104p.
POHJOLA, M. (2006). PID Controller Design in Networked Control Systems, Master Dissertation, Department of Automation and Systems Technology, Helsinki University of Technology, 91p.
SANTOS, M. M. D. (2004). Metodologias de Projeto para Sistemas de Controle via Redes. Tese de Doutorado. Universidade Federal de Santa Catarina, Florianópolis, 110p.
SOUSA, R.V. CAN (Controller Area Network): uma abordagem para automação e controle na área agrícola. 2002. Dissertação de Mestrado, Universidade de São Paulo. São Carlos, 94p.
SHIN, M.; SUNWOO, M. (2007). Optimal Period and Priority Assignment for a Networked Control System Scheduled by a Fixed Priority Scheduling System. International Journal of Automotive Technology, v. 8, n. 1, p. 39-48, February.
TIAN, X.; WANG, X.; CHENG, Y. (2007). A Self-tuning Fuzzy Controller for Networked Control System. International Journal of Computer Science and Network Security, v. 7, n. 1, p. 97-102.
TIPSUWAN, Y. (2003). Gain Scheduling for Networked Control System. Doctor thesis. Department of Electrical and Computer Engineering, University of North Carolina State. 175p.
TIPSUWAN, Y.; CHOW, M. Y. (2003). Control Methodologies in Networked Control Systems. Control Engineering Practice, v. 11, n. 3, p. 1099-1111.
TORNGREN, M.; HENRIKSSON, D.; REDELL, O.; KIRSCH, C.; EL-KHOURY, J.; SIMON, D.; SOREL, Y.; HANZALEK, Z.; ARZEN, K. E. (2006). Co-design of Control Systems and their real-time implementation – A Tool Survey. Technical Report, Mechatronics Lab, Department of Machine Design, Royal Institute of Technology, Sweden.
YANG, T. C. (2006). Networked control system: a brief survey. IEEE Proceedings of Control Theory and Applications, v. 153, n 4, July, p. 403–412.
ZHANG, L.; HUA-JING, F. (2006). A novel controller design and evaluation for networked control systems with time-variant delays. Journal of the Franklin Institute. v. 343 p. 161–167.
ZHAO, W.; XIA, F. (2006a). A Neural Network Approach to QoS Management in Networked Control Systems over Ethernet, Lecture Notes in Control and Information Sciences, n. 344, p. 444-449.