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