desenvolvimento do software e atualização do hardware e firmware

Transcrição

desenvolvimento do software e atualização do hardware e firmware
DESENVOLVIMENTO DO SOFTWARE E ATUALIZAÇÃO DO HARDWARE E
FIRMWARE DO BRAÇO ROBÓTICO MA2000
Daniel T. Gonçalves Mariano, Juliana Calixto Pulheiz, Carlos Augusto Bissochi Jr. (Dr.), Amanda
Medeiros de Freitas
Universidade Federal de Uberlândia/ Faculdade de Engenharia Elétrica/ Núcleo de Controle e Automação/ Laboratório de
Automação, Servomecanismos e Controle (LASEC), Uberlândia – MG
[email protected], [email protected]
Resumo - O objetivo deste trabalho é desenvolver um
software e realizar a atualização tecnológica no hardware
e firmware do robô MA2000 da TecQuipment que
garantirá uma sobrevida para o equipamento. Uma
interface aberta de programação, operação e controle
permitirá a utilização deste equipamento em diversas
aplicações, contribuindo nas áreas de ensino e pesquisa.
Palavras-Chave – Atualização, firmware, hardware,
manipulador, robô, software.
DEVELOPMENT OF SOFTWARE AND
UPDATE OF HARDWARE AND FIRMWARE
ROBOTIC ARM MA2000
Abstract - The aim of this document is to develop
software and perform a technology upgrade in hardware
and firmware of MA2000 robot from TecQuipment, that
will ensure survival for this equipment. An open interface
for programming, operation and control will allow the
use of this equipment in various applications, which will
add to areas of education and research.
1
Keywords - Firmware, hardware, manipulator, robot,
software, update.
NOMENCLATURA
MCC
Motor de Corrente Contínua
I. INTRODUÇÃO
que as empresas brasileiras estão investindo na inovação dos
processos de produção. Essa inovação está interligada ao
desenvolvimento da automação industrial.
Ressalta-se que a pesquisa e o desenvolvimento de
dispositivos robóticos são fundamentais para a automação
dos processos de fabricação industrial. Uma das vantagens
dos dispositivos robóticos é que podem substituir o homem
em tarefas de risco, que possam vir a comprometer a sua
integridade. Tarefas realizadas em ambientes que apresentam
altos índices de calor, ruído, gases tóxicos, esforço físico
extremo, entre outros fatores, inviabilizam a execução por
um operador humano.
Os robôs possuem diferentes formatos que variam de
acordo com o tipo de aplicação para a qual estão voltados.
Na pesquisa que se pretende realizar, o robô utilizado
(MA2000 da TQ) é do tipo PUMA (Programmable Universal
Machine for Assembly). Estes robôs de coordenadas de
revolução (ou articulados) possuem juntas que descrevem
movimentos que se assemelham aos de um braço humano.
A estrutura de um robô manipulador industrial consiste
basicamente numa série de corpos rígidos, idealmente sem
deformação pela ação das forças aplicadas, que se
denominam elos (links). Esses elos podem ter diversos
tamanhos e formas dependendo da aplicação. Os elos são
unidos por juntas, também denominadas de articulações, que
lhes permitem ter um movimento relativo entre si [1]. Assim,
em alguma localização do elo existirá uma junta que o une
com o elo seguinte, permitindo-lhe um movimento, segundo
ilustra a Figura 1 [2]. Conforma-se assim uma cadeia
cinemática aberta formada de elos interligados por juntas,
conforme Figura 2.
A. Considerações Iniciais
A industrialização passou ao longo dos anos por
significativos avanços que mudaram a forma de conceber e
confeccionar seus produtos. Eficiência, rendimento e
otimização são termos que orientam o processo industrial,
haja vista o comportamento do sistema financeiro, que rege
as relações econômicas nas quais as indústrias estão
envolvidas.
No Brasil, a modernização dos processos industriais
avança a passos largos e os dados da Associação Brasileira
da Indústria Elétrica e Eletrônica – ABINEE – demonstram
Fig. 1. Junta rotacional unindo dois elos consecutivos
realizar o desenvolvimento de um software e a atualização
tecnológica no hardware e firmware do braço robótico
MA2000 de modo a permitir que ele possa ser comandado
por sinais externos. Além disso, admitir o acesso a sua
unidade de comando por meio de um microcontrolador para
que outros tipos de controle possam ser empregados
futuramente.
Fig. 2. Robô manipulador MA2000 (objeto deste trabalho)
Os manipuladores industriais são montados geralmente
em uma base fixa e o primeiro elo está preso a esta base por
meio de uma junta. A mobilidade do robô manipulador
depende do número de elos e articulações, ou seja, de
quantos graus de liberdade (DOF) o mesmo possui. Sendo
assim, estes dispositivos são projetados para realizar
diferentes tarefas e deve ser capaz de repeti-las (executar
movimentos no espaço, transferindo objetos e ferramentas de
um ponto para outro) de acordo com as instruções de um
controlador.
A Figura 3 ilustra o digrama de blocos dos sistemas
eletro-eletrônicos, constituídos por hardware, firmware e
software, cujo funcionamento harmônico confere ao braço
mecânico a capacidade de realizar as mais diversas tarefas
com elevada precisão.
Fig. 3. Diagrama de blocos dos sistemas eletro-eletrônicos
dos robôs manipuladores.
Embora o manipulador MA2000 seja um robô didático e
possua algumas das principais características dos robôs
industriais, ele apresenta baixo desempenho e com interface
homem/máquina limitada a poucas instruções padronizadas
pelo fabricante, o que limita a sua utilização em diversas
atividades de ensino e pesquisa.
A forma em que o manipulador MA2000 foi concebido
impossibilita, por exemplo, a utilização de sinais
provenientes de transdutores acoplados a um braço humano
para comandá-lo. O mesmo é verdade para comandos de voz,
comandos por visão computacional, ou comandos
provenientes de outras máquinas e sistemas. A utilização de
controladores avançados baseados em inteligência artificial
são tecnologias que não podem ser empregadas na
configuração original do robô. A intenção deste trabalho é
B. Motivação
O MA2000 é o único robô manipulador da Faculdade de
Engenharia Elétrica da UFU e apresentava diversos
problemas de funcionamento. O software de controle do robô
operava apenas no Sistema Operacional DOS. As instruções
de saída e entrada (I/O) trafegavam somente pelo barramento
ISA. Estes recursos de hardware e software não são
encontrados nos computadores comercializados atualmente e,
assim, o robô apresentava a necessidade de ser atualizado
tecnologicamente. Além disso, a comunicação do usuário
com o robô MA2000 era feita somente por um painel de
comandos que impossibilita a interface com outros sistemas,
limitando sua aplicação em diversas pesquisas.
A atualização tecnológica proposta neste trabalho, além
de garantir uma sobrevida para o equipamento que
continuará sendo utilizado para o treinamento de estudantes,
permitirá também a sua utilização em diversas áreas de
pesquisa em nossa Faculdade de Engenharia Elétrica, tais
como:
 Automação de processos industriais;
 Modelagem e controle de manipuladores
industriais;
 Estudo da cinemática direta e inversa de
posição;
 Aplicação de controladores avançados (Lógica
Fuzzy, Redes Neurais Artificiais, outros) no
controle de trajetórias;
 Acionamento do manipulador por meio do
eletrooculograma
(EOG),
por
sinais
provenientes de transdutores instalados no braço
humano (EMG), por comando de voz;
 Utilização da Interface Cérebro-Máquina
(ICM), utilizando a atividade elétrica cerebral
(eletroencefalograma), para comandar o
manipulador.
 Processamento de sinal, em razão da baixa
relação-sinal-ruído da ICM (- 60 dB) exigir a
utilização
de
complexas
ferramentas
matemáticas.
 Acionamento do manipulador por meio de
sinais provenientes do tratamento de imagens;
 Aplicação prática da realidade virtual no
comando de manipuladores.
II. O ROBÔ MA2000
O MA2000 da TecQuipment é um braço robótico
articulado tipo PUMA. Sua longitude com o braço
completamente estendido é de 50cm, e o peso máximo que
pode deslocar é de 1kg. A faixa para os ângulos
correspondentes aos eixos do braço (waist, shoulder e elbow)
Fig. 4. Eixos do robô
Conversor
Eletrônico
Chaveado
Motor de
Corrente
Contínua
Redutor de
Velocidade
Eixo da
Junta
sinal proporcional a posição
Sensor de
Posição
Para os três primeiros graus de liberdade (waist, shoulder e elbow)
A/D
A Figura 5 mostra o diagrama de blocos do acionamento
dos motores de corrente contínua (MCC) dos seis graus de
liberdade do robô, sendo que os três primeiros (waist,
shoulder e elbow) são utilizados para o posicionamento do
efetuador e os três últimos (pitch, yaw e roll) são utilizados
para a orientação do efetuador dentro da área de trabalho. O
efetuador consiste de uma garra pneumática de dois dedos,
como uma pinça.
A atualização tecnológica proposta neste trabalho irá
modificar a estrutura dos circuitos eletrônicos de
acionamento e controle dos MCC dos três primeiros graus de
liberdade, além de substituir os três atuadores dos graus de
liberdade utilizados para orientação do efetuador, que estão
danificados, por servomotores.
Os conversores eletrônicos de potência (Figura 5) serão
substituídos por conversores chaveados que permitirão a
operação dos MCC nos quatro quadrantes. O
microprocessador 6502 será substituído por um
microcontrolador PIC da Microchip. A comunicação entre o
microcontrolador e o PC será realizada pelo barramento USB
(Universal Serial Bus).
A Figura 6 ilustra o diagrama de blocos para a operação
do braço robótico MA2000 após a atualização tecnológica
que garantirá uma sobrevida para o equipamento e permitirá
a sua utilização em diversas áreas de pesquisa.
Ação de Controle
é de 0o a 270o. Por sua vez, os do punho são 0 o a 180o para
pitch e yaw e 0o a 90o para roll [3].
Conversor
Eletrônico de
Potência
Motor de
Corrente
Contínua
Redutor de
Velocidade
Eixo da
Junta
PIC
Microcontrolador
ARM 7
Servomotores
Juntas para Orientação
pitch, yaw e roll
18F2550
Conversor
A/D
Microprocessador
6502
CONTROLADOR
Conversor
A/D
Sensor de
Posição
Barramento
USB
Ação de Controle
Teclado
sinal proporcional a posição
Computador
(PC)
Fig. 6. Diagrama de blocos para operação do robô após
atualização tecnológica.
Teclado
PPI 8255
Intel
Computador
(PC)
Fig. 5. Diagrama de blocos de acionamento dos MCC.
No slot para expansão do PC (barramento ISA) é
instalada a placa de comunicação ligada diretamente ao
controlador do robô. Esta placa é baseada na Interface
Periférica Programável PPI 8255 da Intel, e se encarrega de
manipular os pacotes de comunicação em ambos os sentidos
(I/O).
O controlador é a interface entre o PC e o braço robótico
e é constituído por diversos circuitos eletrônicos, dentre os
quais faz parte o microprocessador 6502 da Rockwell. Neste
microprocessador estão os algoritmos para o cálculo do
modelo cinemático inverso, com os quais se obtêm os valores
numéricos de atuação de cada articulação. Todo o tratamento
matemático permanece oculto ao usuário e o
microprocessador é praticamente inacessível.
III. ATUALIZAÇÃO DO HARDWARE
A. Conversor Eletrônico Chaveado
A velocidade de um MCC pode ser controlada através de
três variáveis: a tensão aplicada ao enrolamento de armadura
(Vt), o fluxo de entreferro () e a resistência de armadura
(Ra). Porém para a devida aplicação não é indicado utilizar o
controle de velocidade por fluxo de entreferro, pois o motor
utilizado é a imã permanente e possui fluxo constante; e nem
a utilização de controle pela resistência de armadura, pois
este método dissipa grande parte da energia envolvida no
processo [5].
Então para um melhor desempenho sistêmico, o controle
da velocidade através da tensão aplicada ao enrolamento de
armadura (Vt) é o mais indicado para o presente trabalho,
uma vez que permite ajustes relativamente rápidos (sempre
limitados pela dinâmica elétrica e mecânica do sistema),
além de, adicionalmente, possibilitar o controle do torque,
através do controle da corrente de armadura.
O conversor eletrônico chaveado escolhido para esta
aplicação deve permitir operação nos quatro quadrantes, ou
seja, tração e frenagem, avante e à ré, como mostrado na
Tabela 1 [5].
TABELA 1
Quatro Quadrantes de Operação do Motor de Corrente
Contínua
Neste trabalho utiliza-se a Modulação por Largura de
Pulso (PWM), com frequência de chaveamento em torno de
20kHz, cujo período é muito menor do que a constante de
tempo elétrica do motor, a fim de permitir uma reduzida
ondulação na corrente e, portanto, no torque.
A topologia do conversor escolhida é denominada de full
bridge, e consiste de quatro transistores (T1, T2, T3 e T4) e
quatro diodos (D1, D2, D3 e D4) arranjados conforme ilustra
a Figura 8. Este arranjo topológico possibilita diferentes tipos
de comando dos transistores, sendo que neste projeto poderá
ser utilizado o comando simultâneo e os comandos separados
dos componentes de chaveamento, dependendo do tipo de
operação que se deseja impor ao sistema.
Para maior comodidade, o circuito integrado L298 foi
escolhido, pois é um driver duplo de full bridge, projetado
para aceitar níveis de lógica TTL padrão e acionar cargas
indutivas como relés, solenóides, MCCs e motores de passo.
Duas entradas de habilitação, EnA e EnB, as quais podem ser
vistas na Figura 7 [4] permitem habilitar ou desabilitar o
dispositivo independente dos sinais de entrada. Os emissores
dos transistores de baixo de cada uma das pontes estão
ligados ao mesmo terminal externo, que pode ser usado para
a conexão de um resistor de detecção [4].
Fig. 7. Diagrama de blocos de uma das pontes full bridge do
L298
Para o funcionamento perfeito de uma full bridge é
necessário que diodos de roda livre sejam acrescentados no
projeto, entre o coletor e emissor de cada transistor da ponte,
como o modelo apresentado na Figura 8 [5].
Fig. 8. Conversor full bridge
B. Simulação do circuito e confecção da placa
O devido trabalho teve seu circuito simulado no software
Proteus 7.6, como pode ser visto na Figura 9.
Fig. 9. Simulação do circuito de controle dos MCCs a partir do PIC 18F2550.
Enquanto o circuito impresso foi feito no software
EAGLE 5.9:
Um conversor analógico para digital é um circuito capaz
de transformar um valor de tensão numa informação binária.
É utilizado para realizar a leitura de sensores. O sensor do
projeto é baseado num potenciômetro acoplado a junta do
braço mecânico. Para cada posição angular que a junta
assume um sinal de saída proporcional a excursão do
potenciômetro é retornado na forma de um valor de tensão.
Esse valor é o sinal de realimentação no circuito MA2000. O
circuito do projeto do MA2000 possui uma precisão de 8bits.
O PWM (Pulse Width Modulation) ou Modulação por
Largura de Pulso é a modulação da razão cíclica de um sinal
para controlar a alimentação entregue a uma carga. O sinal
muda seu estado de positivo para zero, várias vezes por
segundo. A porcentagem do tempo que este sinal permanece
em nível alto define o ciclo de trabalho, ou duty cycle, da
saída. A frequência do PWM está relacionado com o circuito
implementado no microcontrolador. Para o PIC18F2550 a
freqüência e a resolução do PWM são calculadas através das
seguintes equações:
(1)
Fig. 10. Layout da placa de controle e potência no software
EAGLE 5.9.
(2)
(3)
Onde:
FPWM: frequência PWM
Fosc: frequência oscilador
PR2: prescaler
TMR2prescaler: prescaler do Timer 2
RPWM: resolução PWM
DCPWM: razão cíclica PWM
IV. ATUALIZAÇÃO DO FIRMWARE
Fig. 11. Placa de controle e potência confeccionada para a
aplicar o novo método de controle aos MCCs.
C. Microcontrolador
Os microcontroladores são dispositivos eletrônicos
compostos por processador, memória e periféricos,
interligados através de barramentos. São embarcados no
interior de dispositivos e são programáveis para realizar
funções específicas. Para o projeto vigente foi utilizado
microcontroladores da família PIC, fabricados pela
Microchip Technology. O PIC18F2550 possui 8 canais para
conversão a/d a 10 bits, controlador de comunicação USB,
controladores PWM, características essas que atendem as
demandas para o projeto do robô MA2000 [6].
As
instruções
operacionais
programadas
no
microcontrolador têm o propósito de receber a realimentação
proveniente dos sensores de posição das juntas pelas portas
de conversão a/d. O microncotrolador gera um sinal de erro
proveniente da comparação entre o sinal da realimentação e o
sinal de referência. O sinal de erro do compensador,
implementado no PIC, resulta em pulsos de controle que
serão enviados ao conversor full bridge. O conversor full
bridge é responsável por atuar no MCC com o propósito de
zerar o erro de deslocamento angular. A referência para o
posicionamento das juntas é enviada pelo software de PC,
conectado ao hardware através de uma comunicação USB,
para o microcontrolador. A comunicação USB utiliza o
protocolo de comunicação CDC (Comunication Device
Class).
V. DESENVOLVIMENTO DO SOFTWARE
A interface tem como objetivo propiciar ao usuário uma
maneira mais eficiente de se controlar o braço robótico. O
software foi construído na plataforma .NET baseado na
linguagem de programação C#. O software comunica-se ao
microcontrolador através de uma comunicação USB. A
interface permite o usuário determinar os parâmetros de
posição para os três primeiros graus de liberdade do braço
mecânico (waist, sholder e elbow), determinar a velocidade
de deslocamento das juntas através do ajuste do valor do
ciclo de trabalho do PWM. Um listbox registra os parâmetros
de posição para cada ponto alcançado pelo braço, permitindo
gravar uma sequência de movimentos determinadas pelo
usuário.
Fig. 12. Interface do software para o MA2000
VI. RESULTADOS DOS TESTES
Através do software desenvolvido em C# e do Proteus,
foi possível simular o circuito do MA2000 e simular seu
funcionamento. Após estabelecer a conexão USB entre o
microcontrolador emulado no Proteus e o software no C#, é
enviado os parâmetros do PWM e os ângulos para os três
primeiros graus de liberdade do robô (wrist, sholder e
elbow). Na janela Virtual USB do Proteus pode-se verificar
que o microcontrolador recebeu os dados transmitidos ao
longo do barramento USB, durante a simulação. No Proteus
acompanhou-se o deslocamento dos motores para as posições
de referência e mostrou a mudança da razão cíclica do PWM
no osciloscópio, conforme pode ser visualizado na Figura 13:
Fig. 13. Simulação do Software e do circuito do MA2000 em
funcionamento através do Proteus e do C#.
Na simulação prática realizou-se o controle dos três
primeiros graus de liberdade do MA2000. A razão para o
controle dos motores se restringirem apenas a esses graus de
liberdade se justificou pelo fato de serem circuitos de maior
complexidade a serem implementados, haja vista que os
últimos três graus de liberdade são referentes à servomotores,
que por sua vez requerem um controle simples em
comparação com o MCC acoplado ao sensor de
posicionamento.
VII. CONCLUSÕES
Este artigo resultou de um trabalho de iniciação científica
sobre a atualização tecnológica do robô MA2000 da
Faculdade de Engenharia Elétrica, o qual se encontrava
inativo.
Houve a necessidade de substituir os dispositivos que
estavam no sistema de controle e no drive de potência, então
com uma abrangente busca bibliográfica observou-se a
necessidade de um sistema de controle mais eficiente e um
drive de potência mais simplificado.
Contudo a escolha do circuito integrado com conversores
eletrônicos chaveados, o L298, se deu pelo fato deste atender
à necessidade de permitir a atuação dos MCCs nos quatro
quadrantes.
Outra importante escolha foi a utilização do PIC 18F2550,
embora já exista tecnologias mais atuais, a escolha deste
dispositivo foi devido ao bom conhecimento que já havia
sobre o mesmo, por ser economicamente acessível, e
também por ter dentre suas características a comunicação
USB, a conversão A/D de 8 bits e função própria para a
geração de PWM, enfim características fundamentais para a
atualização do robô.
AGRADECIMENTOS
Os autores agradecem ao Laboratório de Automação,
Servomecanismos e Controle (LASEC) pela disponibilização
do espaço físico e dos componentes utilizados na confecção
do hardware atualizado, e aos professores deste núcleo pela
colaboração direta neste trabalho. Este projeto foi financiado
pelo CNPq (CNPQ2010 - ENG036).
REFERÊNCIAS BIBLIOGRÁFICAS
[1] F. Pazos, “Automação de Sistemas e Robótica”, pp.257,
Axcel Books do Brasil, Rio de Janeiro, 2002.
[2] J. M. Rosário, “Princípios de Mecatrônica”, pp.154,
Pearson Prentice Hall, 2005.
[3] TeqQuipment, manual do Robô MA2000.
[4] STMicroelectronics GROUP OF COMPANIES,
datasheet L298 Dual Full-Bridge Driver, Itália, 2000.
[5] J. Schonek, “Pulsador Reversível para a Alimentação de
uma Máquina de Corrente Contínua nos Quatro
Quadrantes do Plano Torque Velocidade”. Anais II do
Congresso Brasileiro de Aeronáutica, Florianópolis, SC,
1978.
[6] Microchip Technology, Datasheet PIC 18F2550 – 28Pin High- Peformance, Enhanced Flash USB
Microcontrollers with nanoWatt Technology, 2004.

Documentos relacionados

reformulação do hardware do braço robótico ma2000 com emprego

reformulação do hardware do braço robótico ma2000 com emprego O MA2000 é o único robô manipulador da Faculdade de Engenharia Elétrica (FEELT) e apresentava diversos problemas de funcionamento. Embora o manipulador MA2000 seja um robô didático e possua algumas...

Leia mais