Anais do XVI Encontro de Iniciação Científica e Pós-Graduação do ITA – XVII ENCITA / 2011 Instituto Tecnológico de Aeronáutica, São José dos Campos, SP, Brasil, 19 de outubro de 2011 Braço Robótico Controlado pelo Matlab com Interface Microcontrolada Danilo Rodrigues Fontana Universidade Paulista - UNIP Bolsista PIBIC-CNPq [email protected] Luiz Roberto Marim Instituto Tecnológico de Aeronáutica - ITA Instituto Mauá de Tecnologia – IMT Rua Ernesto Soares Filho, 130 – São Bernardo do Campo - SP [email protected] Resumo. Atualmente existem placas de controle que facilitam a construção de circuitos para controle de dispositivos, visando isso, utilizamos nosso julgamento de engenharia e optamos por trabalhar com a placa ARDUINO MEGA 2560 para agilizar o trabalho, além disso, aperfeiçoar o sistema uma vez que podemos manipular os comandos via Matlab sem precisar chamar bibliotecas de outras linguagens. Outra vantagem em usar a placa ARDUINO é que a conexão pode ser feita via porta USB, tornando possível que a mesma seja controlada por qualquer computador ou notebook com portas USB, coisa que era difícil com a porta paralela que é uma tecnologia praticamente obsoleta tanto na informática (hardwares) quanto na indústria atual. O processo de idealização da estrutura do braçorobótico teve como objetivo escolher perfis, vigas e chapas de fácil acesso e aquisição. Para tal, escolhemos o alumínio por ser um material leve, uma vez que nossos motores são provenientes de impressoras antigas e tem baixa capacidade de torque e custo acessível. Com as dimensões dos motores escolhemos cantoneiras e chapas de alumínio para construir a estrutura, o processo de usinagem e acoplamento dos motores pode ser visto nas figuras do projeto. Também construímos uma base para apoiar o braço e fixar as placas de controle e fonte de alimentação. Palavras chave: Braço robótico , Matlab, ARDUINO 1. Introdução A placa ARDUINO é uma plataforma de hardware com entradas e saídas analógicas, digitais e outras como PWM e RX e TX. O uso de tal dispositivo facilitou o trabalho com a parte eletrônica e propiciou um ganho de tempo para estudar os meios como foi sendo desenvolvida a eletrônica industrial e de potência. Com isso, abrimos uma gama de oportunidades de aperfeiçoamento para o projeto que antes seria inviável, uma vez que com a placa usada podemos incorporar novos dispositivos de controle sem necessitar fazer grandes alterações na matriz eletrônica do projeto. Outro fato que observamos foi que na maior parte das vezes a parte eletrônica é a que falha, assim, optamos por garantir um sistema eletrônico mais confiável para reduzir a margem de falhas do projeto. O braço a ser construído foi concebido para ser pequeno, um material de bancada para que possa servir de modelo para pequenos testes e principalmente ser de fácil manuseio. Além disso o braço precisa ser leve, ter montagem simples, não ocupar muito espaço físico e ser capaz de erguer as cargas solicitadas sem falhar. Em relação à construção do braço foi preciso primeiro encontrar os motores de passo para depois determinarmos as dimensões das partes mecânicas, isso porque motores de passo usados na indústria têm um preço relativamente alto e não se adequavam aos requisitos do projeto. 2. ARDUINO MEGA 2560 A ARDUINO MEGA 2560 é uma placa microcontrolada que tem 54 entradas/saídas digitais em que 14 delas podem ser usadas como saídas PWM, 16 entradas analógicas, 4 UARTs (portas seriais de hardware), um cristal oscilador de 16 MHz, conexão USB, uma tomada de energia e botão de reset. Contém tudo que é preciso para suportar o microcontrolador e apresenta uma maneira simples e rápida para se conectar com o computador através de um cabo USB ou por um adaptador AC para DC, ou mesmo com uma bateria para ligá-la [ARDUINO]. Anais do XVI ENCITA, ITA,20 de outubro de 2011 , Figura 1 - Vista Superior da placa ARDUINO MEGA 2560 O uso de placas ARDUINO é recomendado quando se deseja fazer trabalhos que envolvem: Controle digital e analógico Projetos que usam motores DC, servos e motores de passo Projetos que apresentam restrições em peso, volume e tamanho Projetos que requerem adaptações como mudanças de código e funções Existem várias plataformas que se comunicam com as placas ARDUINO O uso da placa facilitou muito a comunicação com o computador e por ter interface com o Matlab o controle do movimento e posição dos motores pode ser feito de maneira bem mais simples e mais eficaz. ARDUINO, http://arduino.cc/en/Main/ArduinoBoardMega2560, acessado em 05 de março de 2011. 3. CI's Os circuitos integrados surgiram na década de 70 devido ao interesse em circuitos cada vez menores. Circuitos integrados são circuitos eletrônicos funcionais, constituídos por um conjunto de transistores, díodos, resistências e condensadores, fabricados num mesmo processo, sobre uma substância comum semicondutora de silício que se designa vulgarmente por chip. O uso de CI`s aumenta a velocidade de trabalho, tem menor consumo de energia, melhor manutenção, melhora as características técnicas do circuito e são mais fáceis para manutenção. [AIM-Spice] Os CI`s utilizados no projeto são da família ULN 2803 que são transistores octais Darlington de alta corrente e alta tensão. Os oito transistores NPN Darlington são ideais para interfaces com circuitos de baixo nível lógico digital e que usam alta corrente/tensão como relês, martelos de impressoras ou outras cargas similares como o acionamento dos motores já que os mesmos requerem uma corrente em torno de 500 mA [CI ULN 2803]. Também utilizamos pontes H, o SN754410 que é uma ponte de alta corrente designada a fornecer corrente na saída de até 1 A e tensões de 4.5 a 36 V. As pontes H são usadas principalmente para controlar motores de passos, solenóides e reles. Figura 2.1 - Conexões do ULN 2803 Figura 2.2 - Conexões do SN754410 Como podemos ver o ULN 2803 trabalha com oito entradas que podem controlar oito saídas possibilitando assim controlar dois motores por vez. A corrente de trabalho é de 500 mA e a tensão pode chegar até 50 V. Ao determinarmos os motores escolhemos a fonte de alimentação baseada na corrente necessária para garantir o trabalho dos mesmos e por isso, optamos por uma fonte 24 V e 3 A que foi suficiente para alimentar os 3 motores usados no braço e garantir uma futura atualização caso queiramos incrementar o projeto com outro motor ou outros dispositivos Anais do XVI ENCITA, ITA,20 de outubro de 2011 , como sensores. Vale ressaltar que os motores bipolares precisam de pontes H para serem controlados, o mesmo se dá, pois motores de 4 fios não tem um fio comum e por isso é preciso usar pontes H que chaveiam o motor. CMOS Circuit Design, Layout, and Simulation, R. Jacob Baker, Harry W. Li and David E. Boyce, IEEE Press Series on Microeletcnics Systems AIM-Spice - Automatic Integrated Circuit Modeling Spice (AIM-Spice) is based on Berkeley Spice version 3.E1, the popular analog circuit simulator developed at the University of California, at Berkeley. http:// www.aimspice.com. CI ULN 2803 - Acessado em 20 de Janeiro de 2011. http://pdf1.alldatasheet.com/datasheet-pdf/view/12687/ONSEMI/ULN2803.html 4. Matlab O grupo de pesquisa vem realizando trabalhos com o Matlab desde 2008, tendo artigos publicados com o uso do software na área de Redes Neurais Artificiais [FONTANA, 2008-2010]. Entretanto, nunca havíamos trabalhado com sistemas mecânicos e/ou controle, desse modo, a pesquisa foi focada em controle e os comandos utilizados. A pesquisa mostrou que como acreditávamos o Simulink, uma das ferramentas do Matlab, é um bom aliado ao desenvolvimento, pois é estruturado por blocos o que facilita a lógica de controle e possibilita um input mais simples para o sistema tanto usando a porta paralela quanto usando a placa ARDUINO, bastando baixar a biblioteca no próprio site da MATHWORKS. Visando criar um meio que ajudasse o usuário a utilizar o braço robótico desenvolvemos um menu que interativo que facilitava o controle e entendimento dos procedimentos a serem tomados. O objetivo do menu é tornar o controle do mecanismo mais amigável e mostrar a verdadeira vantagem do uso de motores de passo que é a precisão na movimentação. Figura 3 - Painel Principal que controla os movimentos do Braço Na Figura 3 podemos ver que o menu contém uma área destinada a explicar ao usuário como operar, clicando no botão "Manual" abrimos uma nova janela que contém informações dos motores de passo, dos CI's usados e de como operar o programa. Na Figura 4 podemos ver além da tela do Manual as telas de Setup e os mecanismos avançados que trazem informações sobre quais as portas da placa ARDUINO estão sendo usadas e qual a sequência de ativação das bobinas. Anais do XVI ENCITA, ITA,20 de outubro de 2011 , Figura 4 - Manual e Setup do programa Também implementamos no programa um auto-teste onde o é feita um "check-up" das condições dos motores fazendo com que ele realize um auto teste e caso haja alguma restrição ou alguma falha será diagnosticado antes do usuário exercer algum comando. Devemos ressaltar que o braço não dispõe de sensores então ao desligar ou desativar o braço era necessário colocar a estrutura em estado de repouso, apoiada para que pudesse ser feito o auto teste quando ligado novamente a partir de uma mesma condição e sendo assim, podemos monitorar as verdadeiras falhas e estabelecer rapidamente qual a diretriz a ser tomada quanto ao problema. Fontana, D. R., Marim, L. R.; Sistema de Autenticação/Identificação Pessoal Biométrica Através da Palma da Mão com o Auxílio de Redes Neurais Artificiais. Artigo publicado nos anais do Encontro de Iniciação Científica e PósGraduação do ITA – XV ENCITA / 2009, http://www.bibl.ita.br/xvencita/FUND07.pdf Fontana, D. R., Marim, L. R.; Reconhecimento de Caracteres Através de Redes Neurais Artificiais com Aplicação a Placas de Automóveis. Artigo publicado nos anais do Encontro de Iniciação Científica e Pós-Graduação do ITA – XVI ENCITA / 2010, http://www.bibl.ita.br/xviencita/IEF-7.pdf Hahn, Valentine, Essencial Matlab for Engineers and Scientists, 3rd Edition, ELSEVIER, 2007. 5. Motores Motores de passo são dispositivos mecânicos eletromagnéticos que podem ser controlados digitalmente através de um hardware específico ou através de softwares. Geralmente são empregados onde a precisão é um muito importante, como por exemplo, impressoras, scanners, discos rígidos, etc. Nesse projeto usaremos o motor de passo para controlar os movimentos do nosso braço. O motor de passo é composto por 4 bobinas que são energizadas seqüencialmente fazendo assim com que o eixo central gire, provendo assim o movimento. Para controlarmos a velocidade do motor, basta enviar uma seqüência de pulsos digitais num intervalo de tempo determinado. Anais do XVI ENCITA, ITA,20 de outubro de 2011 , Figura 5.1 - Motor desligado* Figura 5.2 - Bobina energizada* A precisão do motor fornece um dado importante para que possamos determinar quantos passos serão necessários para completar uma volta ou mesmo deslocar "n" graus. Para isso, basta dividir o valor do ângulo que deseja mover pelo valor da precisão do motor. Figura 6 - Precisão do Motor * A forma com que o motor irá operar dependerá bastante do que se deseja controlar, em determinadas aplicações o torque é mais importante, outras a precisão ou mesmo a velocidade é a necessidade. Para podermos trabalhar com motores de passo é preciso saber características de funcionamento como a tensão de alimentação, a máxima corrente elétrica suportada nas bobinas, a precisão, o torque e outras características. Figura 7 - Modos de operação do motor * Pela Figura 7 podemos analisar os regimes de operação, no nosso projeto optamos por usar o passo completo 2 no motor da base, pois é uma região que sofre mais carregamento, logo precisa de mais torque e conseguimos isso acionando as duas bobinas sequenciais por vez. Os demais motores que são responsáveis por movimentar os outros segmentos dos braços trabalham com passo completo 1 logo, somente uma bobina é energizada por vez. Anais do XVI ENCITA, ITA,20 de outubro de 2011 , * Todas as figuras foram retiradas do site www.rogercom.com, seção de artigos, subseções: Introdução a Porta Paralela, Controlando até 32 aparelhos externo através da Porta Paralela, Sistema de controle de acesso através da Porta Paralela, Controle de Motor de Passo através da Porta Paralela. Motores de passo têm a grande vantagem da precisão se comparados aos motores DC, entretanto é muito mais fácil controlar um motor DC e mais usual. Tanto é que a indústria usa motores DC mesmo quando requerem precisão, bastando utilizar simples comandos de PWM associados a inversores de frequência para controlarem tanto a precisão quanto as velocidades, o uso de motores de corrente continua teve um grande incremento nos últimos anos, graças a eletrônica de potência. Por isso, nesse projeto optamos por utilizar como segundo plano, motores DC caso encontrássemos algum problema mais grave quanto à aquisição ou controle com os motores de passo. 6. Esquema Elétrico Para controlar motores de passo vimos que é preciso criar o driver que faz com que o acionamento das bobinas seja feito de modo sequencial, isso pode ser feito por meio dos CI's ULN 2803 para motores unipolares e pela ponte H para SN745510NE para os motores bipolares. As figuras abaixo representam o esquema de ligação de motores de passo uni e bipolares, também podemos usar esquema semelhante para o controle de motores DC, já que podemos controlar o sentido da rotação com uma ponte H semelhante a SN745510 ou mesmo com um CI L293D, que oferece mais proteção ao circuito. Figura 8 - Esquema de montagem do circuito motor de passo unipolar Figura 9 - Esquema de montagem do circuito motor de passo bipolar Anais do XVI ENCITA, ITA,20 de outubro de 2011 , A fonte de alimentação para o circuito foi uma fonte de 24 V e 3A que fornece energia suficiente para alimentar os 3 motores que controlam o braço, tendo uma sobra de energia que possibilita a troca dos motores caso haja necessidades futuras. 7. Materiais e Construção Os materiais usados na construção do braço foram pequenas cantoneiras de alumínio que eram leves e fáceis de usinar, além disso, como os motores têm baixo torque devido ao seu tamanho e porte, foi preciso alterar o projeto inicial e construir um braço mais leve e menor. Figura 10 - Foto da montagem do braço sem a pá A montagem finalizada é composta também pela pá que serve para pegar os objetos e também é a parte final do braço. A grande vantagem é que todas as peças são parafusadas e isso facilita a montagem e desmontagem de forma rápida, inclusive as buchas que prendem o motor no braço e provêem a movimentação. A imagem do braço desenhado no Inventor 2011 segue abaixo. Figura 11 - Montagem no Software Inventor 2011 Anais do XVI ENCITA, ITA,20 de outubro de 2011 , A chapa base que é usada no desenho tem o objetivo de estabilizar o braço e evitar que o mesmo balance, por isso optamos por instalar o braço na chapa somente para apresentações, uma vez que na fase de testes não foi observado nenhum desequilíbrio, sendo assim, a base sólida será usada quando o projeto for devidamente finalizado e todos os componentes estiverem testados e passados pelos métodos de falha. 8. Resultados Obtidos Os métodos de falha escolhidos para testar o sistema consistem de três testes, sendo que o primeiro é o acionamento dos motores de passo livres por uma hora sem interrupção para validar a resposta do software ao controle e garantir que não ocorra nenhum delay ou mal funcionamento que acarrete na queima de uma placa ou componente critico. O segundo teste é acionar os motores em pares e depois todos juntos para garantir que não ocorra nenhuma falha. Vale ressaltar que os testes foram feitos nessa ordem para assegurar que os métodos de falha sejam conhecidos e assim possam ser controlados. O terceiro teste é um teste de fadiga em que os três motores são acionados ao mesmo tempo e colocados para atuar com as cargas, fazendo vários ciclos do comando auto-teste do painel de controle. Uma vez que conhecemos os meios como o sistema pode falhar, podemos tomar as devidas precauções e realizar manutenções preventivas que mantém a confiabilidade do braço e dos eletrônicos. Os motores de passo se comportaram de forma inadequada em boa parte dos testes, aquecendo demais e em alguns casos, nem mesmo com dissipadores de calor no circuito foi possível manter a vida útil do motor dentro do especificado, mesmo estando de acordo com as especificações do fabricante. Entretanto, a precisão foi algo notável que de certo modo valeu o trabalho e o gasto com os motores e CI's. Para projetos futuros recomendamos o uso de motores DC, pois são mais fáceis de controlar, mais baratos, mais simples de adquirir e operar. É mais viável usar motores DC, por isso, futuramente implementaremos motores de corrente contínua no braço robótico e associados a um shield do ARDUINO que é específico para o controle de motores, poderemos alterar o projeto e voltar ao porte e tamanho inicial. 9. Agradecimentos Agradecemos ao ITA e ao CNPQ por fornecerem o espaço físico e a verba para o desenvolvimento do projeto e incentivo a pesquisa. 10. Referências AIM-Spice - Automatic Integrated Circuit Modeling Spice (AIM-Spice) is based on Berkeley Spice version 3.E1, the popular analog circuit simulator developed at the University of California, at Berkeley. http:// www.aimspice.com. ARDUINO, http://arduino.cc/en/Main/ArduinoBoardMega2560, acessado em 05 de março de 2011. ARDUINO, http://arduino.cc/en/Tutorial/MotorKnob, acessado em 22 de julho de 2011. CMOS Circuit Design, Layout, and Simulation, R. Jacob Baker, Harry W. Li and David E. Boyce, IEEE Press Series on Microeletcnics Systems CI ULN 2803 - Acessado em 20 de Janeiro de 2011. http://pdf1.alldatasheet.com/datasheet-pdf/view/12687/ONSEMI/ULN2803.html * Todas as figuras foram retiradas do site www.rogercom.com, seção de artigos, subseções: Introdução a Porta Paralela, Controlando até 32 aparelhos externo através da Porta Paralela, Sistema de controle de acesso através da Porta Paralela, Controle de Motor de Passo através da Porta Paralela. Fontana, D. R., Marim, L. R.; Sistema de Autenticação/Identificação Pessoal Biométrica Através da Palma da Mão com o Auxílio de Redes Neurais Artificiais. Artigo publicado nos anais do Encontro de Iniciação Científica e PósGraduação do ITA – XV ENCITA / 2009, http://www.bibl.ita.br/xvencita/FUND07.pdf Fontana, D. R., Marim, L. R.; Reconhecimento de Caracteres Através de Redes Neurais Artificiais com Aplicação a Placas de Automóveis. Artigo publicado nos anais do Encontro de Iniciação Científica e Pós-Graduação do ITA – XVI ENCITA / 2010, http://www.bibl.ita.br/xviencita/IEF-7.pdf Hahn, Valentine, Essencial Matlab for Engineers and Scientists, 3rd Edition, ELSEVIER, 2007.