Minibloq e arudino

Minibloq e arudino

ARDUINO E MINIBLOQ

 

            Pesquisas em fóruns da WEB revelaram a possibilidade de programação do Arduino, orientada por blocos no programa MINIBLOQ[1]. O programa foi baixado e alguns vídeos tutoriais foram encontrados no YOUTUBE, todos em língua estrangeira. Mais um Arduino foi adquirido, junto com alguns motores de passo. Mais pesquisas na WEB e a descoberta de que o MINIBLOQ só controlava motores CC e servo-motores. Mais aquisições no Ebay, e a espera de aproximadamente dois meses para que os componentes começassem a chegar.

            Alguns sensores chegaram e a disponibilidade de um servo-motor de um sistema de rádio controle (utilizado em um barco RC), provocaram a vontade de criar algo útil. As primeiras montagens com o MINIBLOQ aconteceram, lendo sensores e acionando motor CC através de um transistor, além do servo-motor.

 

Fig. 01: Arduino, na placa de prototipagem, programado pelo MINIBLOQ.

 

            O MINIBLOQ é um software orientado por objetos, do tipo “arraste e solte” (drag and drop,) compilador para C, ou seja, o programa é construído colocando blocos na área de trabalho, de forma sequencial, traduzindo a linguagem “visual” para a linguagem C, e enviando para ser armazenada no Arduino, através do cabo USB. Permite o controle de 6 entradas analógicas, três servo-motores padrão, uma cigarra (buzzer), uma saída digital[2] e saídas para controle de motores de CC[3] através de comandos de PWM[4] (para velocidade) e um pino para direção Zero (dir 0) e outro para direção Um (dir 1).

Fig. 02: Software MINIBLOQ.

           Durante as aulas do componente curricular “Automação” para o técnico em mecânica, ministrado pelo autor, foi utilizado um manipulador de acionamento pneumático para a programação de CLP´s[5]. O manipulador, do tipo peak-and-place[6], apresenta três eixos cartesianos de movimentação (X, Y e Z), e um dispositivo que apanha a peça (ventosa, garra, eletroímã), possibilitando grande variedade de movimentos e programas. O manipulador despertou o interesse dos alunos, por contextualizar os conhecimentos e permitir o “aprender fazendo”.

            Deste manipulador surgiu a ideia de desenvolver um dispositivo semelhante, porem com acionamento elétrico e controlado pelo Arduino. A dificuldade encontrada foi à conversão do movimento rotativo dos motores de CC para movimentos lineares, necessários no dispositivo.

            Durante uma observação na sucata do autor, um drive de CD de computadores apresentou-se como solução viável. O dispositivo que movimenta a gaveta do CD, bem como o sistema que movimenta a cabeça leitora a laser, utilizam motores de CC já conectados a um sistema de redução de velocidade e um sistema de cremalheira, que converte o movimento rotativo para movimento linear. Como bônus, uma chave de fim de curso já está acoplada ao mecanismo. O sistema de movimentação linear é bem construído, com razoável rigidez mecânica e poucas folgas, tornando-o ideal para um sistema de movimentação robótico.

 

Fig.03: Gaveta de CD de computador.

Fig. 04: Dois eixos de movimentação, utilizando o drive de CD.

            A montagem, sem compromisso com organização ou estética, teve como objetivo testar o Arduino, programado pelo MINIBLOQ, bem como desafiar a capacidade de programação e construção do autor. Em uma sucata eletrônica, alguns sistemas de movimentação da cabeça leitora laser, foram encontrados já desmontados. Estes sistemas também são encontrados em leitores de CD de música, de carros, som residencial, e em leitores de DVD´s. é normal que estes sistemas tenham dois motores de corrente contínua, um para movimentar a cabeça de leitura laser e um para girar o disco, além da cabeça de leitura. A cabeça de leitura é composta por espelhos, lentes, sistemas de posicionamento eletromagnéticos e o canhão laser.

            Deve-se ressaltar que o canhão laser é um dispositivo que apresenta riscos, se energizado, podendo causar cegueira. Assim, não se recomenda a energização de tais componentes, por mais que a curiosidade seja despertada. O sistema deve ser simplesmente desmontado e descartado.

           

Fig. 05: Sistema de movimentação da cabeça leitora laser, vista inferior. À direita o sistema original, e a esquerda, o sistema modificado.

Fig. 06: Sistema de movimentação da cabeça leitora laser, vista superior. À direita o sistema original, e a esquerda o sistema desmontado.

 

Fig. 07: Detalhe do nicho da cabeça leitora laser, com o leitor removido.

 

            Até este ponto, dois eixos de movimentação estavam disponíveis, estando de acordo com a capacidade do MINIBLOQ em controlar dois motores CC. O movimento do eixo Z deveria ser controlado de outra forma. Como o MINIBLOQ pode controlar três servo motores, e o nicho da cabeça leitora laser apresenta tamanho adequado para alojar um micro-servo-motor de 9g[7], uma micro retífica foi utilizada para remover o excesso de material e alargar o furo, de forma que o servo-motor fosse ali fixado.

Fig. 08: Nicho da cabeça leitora laser, modificado para aceitar o servo-motor.

 

  

Fig. 09: Nicho da cabeça leitora laser, com o servo-motor em seu lugar.

 

            A fixação de servo-motores, usualmente, é feita por quatro parafusos em seus lados. Neste sistema, o uso de parafusos não se adaptava ao dispositivo. Optou-se pela fixação com cola, e o adesivo selecionado foi o veda-calha, um adesivo com excelente qualidade extrutural, boa fixação mecânica em componentes plásticos,  e facilidade de aplicação.  A desvantagem é o elevado tempo de cura, acima de 12 horas. Nos testes realizados, o adesivo transparente apresentou melhor fixação que o de cor prata. O adesivo deve ser aplicado nas duas superfícies a serem unidas, e a união não deve ser retardada.

Fig. 10: Aplicação de cola para fixação do servo-motor.

Fig. 11: Fixação do servo-motor.

            Os dois eixos de movimentação ( X e Y) também foram fixados com a utilização do adesivo veda-calhas.

            O dispositivo XYZ não teria razão de existir se não existisse a possibilidade de manipulação de algum objeto. A utilização de uma garra não se adaptava as pequenas dimensões dos sistemas de movimentação, e o uso de ventosas demandaria o uso de alguma fora de gerador de vácuo.  A solução encontrada foi o uso de eletro-ímã, que possibilita a movimetnação de peças metálicas. A construção manual do eletro-ímã é complexa e demanda a utilização de fios finíssimos de cobre esmaltado, sobre uma forma de metal dia-magético[8], nem sempre fácil de se encontrar em pequenas quantidades. Ao observar o relé que acionaira o eletro-ímã, percebeu-se que a solução estava lá dentro, pronta para o uso. Um relé simples, com bobina de 5 Volts, encontrado na sucata, foi desmontado (quebrado) e a bobina foi retirada, com cuidado para não danificar os terminais de alimentação da bobina.

            Para a movimentação vertical do eletro-ímã, uma peça em forma de L foi confeccionada a partir de uma fina chapa de fibra, que foi conectada ao servo-motor por um pedaço de arame,.e os fios de alimentação da bobina foram utilizados como cabo de movimentação vertical do eletro-ímã. Porém a exatidão de posicionamento foi prejudicada, devido a relativa rigidez do fio e a alta velociade de deslocamento do servo-motor, a solução encontrada foi a utilização de um guia para o fio, posicionado no limite superior de movimentação do eletro-imã.

            Os sistemas de movimentação X e Y, retirados dos leitores de CD, já contavam com uma chave detectora  de final de curso[9], e outra chave foi adicionada na outra extremidade de cada sistema de movimentação.

            A montagem foi feita sobre uma chapa de piso laminado, fixando os componetnes mecâncios e placas eletrônicas, com parafusos. Um potencômetro e duas chaves de acionamento manual foram previstos, para testes de programação.

 

 Fig. 12: Dispositivo XYZ programado com MINIBLOQ.

  

Fig. 13: Detalhe do servo-motor e do motor do eixo Y.

Fig. 14: Detalhe do sistema de redução dos eixos X e Y.

 

Fig. 15: Sistema de controle do dispositivo XYZ, programado com MINIBLOQ.

Fig.16: Conexões da placa Arduino UNO, programado pelo MINIBLOQ.

   

Fig.17: Conexões de entrada da máquina XYZ.

Fig. 18: Conexões do controle de motores CC, da máquina XYZ.

Fig. 19: Conexão do servo-motor e do eletroímã, da máquina XYZ.

Fig. 20: Programa da máquina XYZ, no software MINIBLOQ.

 

            O sistema XYZ funcionou corretamente, e surgiu a ideia de utilizar o Arduino para controlar sistemas robóticos montados com LEGO. Após uma busca na internet, um LEGO Mindstorms RCX foi comprado, com a finalidade de utilizar o sistema mecânico estrutural, os motores e sensores, originais do RCX. Os dispositivos e o sistema estrutural estavam em bom estado, mas os cabos de conexão estavam deteriorados.

 

 

Fig.21: Sensor de proximidade do LEGO Mindstorms RCX e seus cabos de conexão.

 

Fig.22: Motor e sensor do LEGO Mindstorms RCX e seus cabos de conexão.

 

            O sistema de montagem utilizado na máquina XYZ apresentou um inconveniente, o Arduino e c controlador de motores CC ficaram presos ao dispositivo, e não poderiam ser utilizados em outras montagens. Algo deveria ser feito, para flexibilizar o uso dos sistemas de controle, e uma variedade de sensores e atuadores, disponíveis para o Arduino.

            Mais um LEGO foi adquirido, desta vez um LEGO Mindstorms NXT, e o seu sistema de conexões chamou a atenção. O NXT utiliza conectores RJ45[10], com a posição do pino de trava, modificada. A dificuldade de uso destes conectores é a necessidade de um alicate especial para fixação do cabo aos conectores, além de seu custo e dificuldade de obtenção dos conectores fêmea, no comércio nacional.

 

 

 

 Continue Lendo

Início

Lego e Arduino na Educação

Como funciona o Arduino, suas entradas e saídas, cuidados ao trabalhar com  Arduino.

Controlando motores de Corrente Contínua.

Arduino e Minibloq

Scratch para Arduino (S4A)

Construindo o Arduino para o Scratch e sua caixa.

A Caixa de Comando.

Construindo sensores, para o Arduino e Scratch, sobre peças LEGO.

 

 

 

 

[1] http://blog.minibloq.org/p/download.html

[2] Liga/desliga.

[3] Corrente contínua.

[4] Pusle Width Modulation – Modulação por largura de pulsos. Com saída baixa, pequenos “pacotes” de energia são enviados, aumentando o valor de saída, os pacotes aumentam.

[5] Controlador Lógico Programável, um computador específico para o controle de máquinas.

[6] Pega e coloca. Apanha uma peça em uma posição e desloca, colocando em outra posição.

[7] O micro-servo-motor utilizado foi um TowerPro, de 9 gramas, modelo SG90.

[8] Metal magnetizável, mas sem “memória” magnética.

[9] A chave é acionada quando o movimento chega ao seu limite mecânico de movimentação.

[10] Conectores utilizados em cabeamento de redes de dados, para informática.