Robô Alpinista



 

Este projeto foi atualizado em 14/08/2010 para utilizar o Arne Basic 2k. Também desenhei uma placa para facilitar a montagem. Agora não será mais necessário montar o robô em uma matriz de contatos. Isso facilitará sua demonstração em feiras e outras. Boa montagem!!!

O Robô Alpinista é um robô "mais que diferente", pois não utiliza rodas, "pernas", esteiras, e outras para sua locomoção. Ele usa as garras e a articulação do seu "corpo". A parte mecânica é extremamente simples e foi desenvolvida com material de sucata (veja as fotos!). Ele pode percorrer um cabo na vertical ou na horizontal. A velocidade de deslocamento não é grande, mas vê-lo em "ação" é muito interessante. 

Clique para ampliar


  Seqüência - Robô Alpinista "escalando"...


... escalando...

Todo o controle é feito através de um PC com LOGO, http://www.nied.unicamp.br, ou outro programa qualquer e o novo microcontrolador Embedded Arne Basic 2K. Esta nova versão agora conta com uma placa de cirucito impresso para auxiliar a montagem.


COMO O ROBÔ SE MOVIMENTA

Os movimentos do Robô Alpinista são muito diferentes dos considerados “normais” para um robô. Na maioria dos casos aplicam-se rodas, esteiras ou até mesmo “pernas”. Porém para estas aplicações, estaria me referindo a robôs cujo deslocamento seria feito no chão. A proposta do robô alpinista é um pouco diferente e, eu diría até um tanto inusitada.

Para se locomover o robô necessita de um cabo, seja na vertical ou na horizontal e precisa ainda estar “fora do chão”, ou seja, deve estar “nas alturas” (mas nem tanto). Ele utiliza duas garras (uma superior e outra inferior) e uma “junta” central para executar quatro movimentos básicos: agarrar, soltar, dobrar e esticar. A seqüência com que estes movimentos são executados em cada parte do robô (garra superior e inferior ou junta) determinará a direção em que o mesmo seguirá. As garras e a junta são na verdade, servos de aeromodelo. Com estes consegue-se boas alavancas com excelente precisão. 

Na figura abaixo mostro a seqüência dos movimentos necessários para que o robô realize um “passo”. Primeiro o robô é demonstrado “esticado” e com as duas garras fechadas, segurando o cabo. Este é o estado de descanso do robô. A seguir é mostrado a garra inferior aberta e a junta esticada. Depois mostro o robô com sua junta dobrada e a garra inferior aberta. Neste momento o robô avança alguns poucos centímetros na direção da garra superior. Em seguida o robô é demonstrado com a junta dobrada, mas com a garra inferior fechada. Neste momento ele busca apoio para executar o movimento de esticar. Depois o robô abre a garra superior (ainda dobrado) e em seguida o robô estica sua junta (garra superior aberta). Assim ele avança mais alguns centímetros em direção da garra superior. Agora o robô precisa fechar a garra superior. Desta maneira ele retornou ao estado inicial. Como pode-se observar a velocidade do robô não é alta.

Para que o robô retorne um “passo”, ou seja, avance na direção da garra inferior a seqüência deve ser invertida. Na tabela abaixo mostro uma analise da seqüência necessária para mover o robô em ambos os sentidos:

Tabela - Seqüência de movimentos

Mover em direção da garra superior

Mover em direção da garra inferior

1º - abrir a garra inferior

2º - dobrar a junta

3º - fechar a garra inferior

4º - abrir a garra superior

5º - esticar a junta

6º - fechar a garra superior

1º - abrir a garra superior

2º - dobrar a junta

3º - fechar a garra superior

4º - abrir a garra inferior

5º - esticar a junta

6º - fechar a garra inferior

Como pode ser percebido pela tabela acima, de acordo com o sentido desejado devemos inverter apenas o abrir e fechar das garras. O “dobrar” e “esticar” da junta é feito sempre na mesma ordem.



CIRCUITO

Na figura abaixo mostro o circuito elétrico do nosso robô. Ele é muito simples, pois utiliza um microcontrolador “Embedded” Arne Basic 2K, que pode ser aquirido na Loja do Arne, 3 servos de aeromodelo, um regulador de tensão 7805 e uma fonte 12VDC, além de mais alguns componentes.


O microcontrolador realiza todo o controle do robô. É ele quem faz a interface entre os servos e o PC. Apesar do microcontrolador possuir um pino +5V que poderia ser utilizado na alimentação dos servos, eu optei por inserir um regulador externo. A corrente máxima que pode ser fornecida pelo regulador interno é de apenas 80mA e como os servos podem consumir algo maior que o limite do regulador interno não é recomendável usá-lo, pois com toda certeza o mesmo poderia queimar.

Para a comunicação com o PC, nesta nova versão, usei o circuito drive RS-232 presente no microcontrolador. Isso facilitou bastante o desenho do lay-out da placa.

Para a conexão do PC e da placa do robô você precisará montar um cabo, com até 2 metros de comprimento, como o descrito abaixo.

DB09 Fêmea (PC)                                                                             DB09 Macho (Placa robô)
         2 ............................................................................................................... 2
         3 ............................................................................................................... 3
         5 ............................................................................................................... 5
         7 ...
              |
         8 ...



MONTAGEM ELETRÔNICA

Na figura abaixo apresento o desenho da placa para esta nova versão. A mesma é bem simples e não apresentará nenhum problema em sua confecção. Mais abaixo, em Downloads você encontrará o desenho desta placa em duas versões: "invertida" para quem usa processo manual na confecção de circuitos impressos e "não invertida" para aqueles que usam processo de transferência témica. Escolha a sua! ;-)



O uso de um soquete para CI1 é altamente recomendado, assim como o uso de barra de pinos para os cabos de ligação com os servos. CI2 pode trabalhar sem um dissipador de calor. Coloque-o apenas se o uso do robô for prolongado. Cuidado ao soldar os capacitores eletrolíticos, o LED e também o diodo. Evite invertê-los.

Um ponto importante deste projeto é o cabo de conexão entre a placa e os servos. Preferencialmente este cabo deve ser leve e bem maleável. Em meu protótipo eu utilizei um cabo flat cinza com 5 vias e 3 metros de comprimento. Uma via para o +5VDC dos servos, outra para o GND e três vias independentes para o sinal de cada servo. Todos os pontos +5VDC dos três servos foram conectados entre si, assim como os pontos de GND. Eu usei um pedaço de barra de pinos para isso. Veja a figura abaixo.



Você também pode optar por fazer um cabo independente para cada servo, sem muitos problemas. Porém você deve fazer com que este "conjunto" não venha a se tornar um peso extra para o robô.

Após a montagem faça uma verificação na mesma. Não tenha pressa. Verifique as trilhas da placa, a correta posição dos componentes, a qualidade da sua solda, etc. Jamais assuma uma posição do tipo "eu nunca erro!" ou pior "eu sei que está tudo certo!". É melhor perder alguns minutos em uma boa verificação que horas (ou dias) buscando por novos componentes!


MONTAGEM MECÂNICA

A montagem mecânica para está versão, permanece a mesma. Ela continua não necessitando de materiais específicos ou difíceis de se encontrar. Na figura abaixo você tem uma visão das peças utilizadas na montagem mecânica. Utilizei materiais alternativos, encontrados nas gavetas da minha bancada (e acredito que muitos deles são comuns na sua bancada também). São parafusos, pequenos pedaços de placa de circuito impresso (sobras), um pedaço de plástico com 20 x 15 mm e 3 mm de espessura, arame de aço com 2 mm de diâmetro, uma chapa para computadores (aquelas utilizadas para fechar as aberturas deixadas por uma placa retirada), dois pedaços de mangueira de silicone, e mais alguns outros.



Na figura abaixo mostro o lay-out do robô com as medidas das peças para facilitar a montagem.

A figura abaixo mostra o “braço da junção”, feito com uma chapa muito conhecida e utilizada em computadores. eu acho que você com certeza têm uma em sua bancada e caso não a tenha, relaxe. É possível consegui-lá em oficinas de manutenção de computadores, por um custo muito pequeno (muitas vezes até, sem custo algum).


Na figura abaixo é possível observar os suportes externos para o cabo. A função destas peças é impedir que o cabo “escape” das garras, quando estas se abrem. Desenvolvi as mesmas com dois pedaços de placa de circuito impresso virgem de 20 x 20 mm e dois pedaços de arame de 2mm de diâmetro dobrados em forma de “U” soldados as placas.

Para unir os servos da garra inferior com o servo da junção, formando o conjunto “inferior” do robô, utilizei um pequeno pedaço de plástico com 15 x 20 mm e 3mm de espessura. 



PROGRAMAÇÃO

Para controlar o Robô Alpinista são necessários dois programas: um para o microcontrolador (ALPINISTA_ARNEBASIC2K.BAS) e outro para o PC (ALPINISTA_NEW.LGO).


O programa ALPINISTA_NEW.LGO funciona da seguinte maneira: A função principal “Robô” monta a tela com os botões (comandos validos), conforme a figura abaixo. Ao “clicar” em um dos botões, o programa envia uma string de comando via porta serial RS-232 para o Arne Basic 2K. Após o envio da string o programa aguarda um byte de retorno do microcontrolador, que confirmará o recebimento do comando. São três os comandos possíveis na tela; Subir, descer e parar.  A figura abaixo mostra o fluxograma deste programa.

Na tabela abaixo inseri os movimentos e a string referente a estes no protocolo de comunicação. O envio correto das strings permite realizar o movimento do robô.

Tabela - Movimentos e strings referentes

Comandos Válidos (em formato ASCII)

Efeito

String (em formato ASCII)

1

Abre garra inferior

AL11

2

Fecha garra inferior

AL12

3

Abre garra superior

AL13

4

Fecha garra superior

AL14

5

Estica articulação

AL15

6

Dobra articulação

AL16

O funcionamento do programa ALPINISTA_ARNEBASIC2K.BAS é bem simples. Ele inicia as variáveis necessárias e configura o Arne Basic 2K. As interrupções do mesmo precisam estar ligadas, pois a função “SERVO” utiliza um dos “TIMER’s” do microcontrolador. A comunicação serial também utiliza uma interrupção, pois a mesma é feita via hardware.

Após iniciar o “ambiente”, o Arne Basic 2K aguarda uma string de comando, faz a analise da mesma e, se válida, executa o comando solicitado mudando a posição de um dos servos, dependendo do comando recebido. Após a alteração da posição dos servos, o microcontrolador envia um byte para avisar o programa no PC que o comando foi recebido. Com isso tem-se um sincronismo entre recepção e transmissão. Na figura abaixo é mostrado o fluxograma para o programa ALPINISTA_ARNEBASIC2K.BAS.



CONCLUSÃO

Este é mais um projeto super interessante para se fazer com o microcontrolador Arne Basic 2k ou ainda um outro qualquer a sua escolha. Ele reune desafios interessantes. Espero que este projeto o ajude de alguma maneira. Boa montagem e até a próxima!



DOWNLOADS:

- Esquema elétrico
-
Lay-out invertido para processo manual
- Lay-out não invertido para processo transferência térmica
- Código fonte para Arne Basic 2k
- Código fonte para PC (Super Logo)
- Lista de materiais


A primeira versão deste projeto foi publicado, com minha autorização, na "extinta" Revista Mecatrônica Fácil nº 12 de Setembro/Outubro de 2003.

Especificações da nova versão:

- Cérebro     - Arne Basic 2K
- Motores - 3 servos "standart" Futaba.
- Sensores - nenhum
- Alimentação - 12 VDC externa
- Chassi - material de sucata
- Programa - BASIC

 


Copyright deste conteúdo reservado para Márcio José Soares e protegido pela Lei de Direitos Autorais LEI N° 9.610, de 19 de Fevereiro de 1998. É estritamente proibida a reprodução total ou parcial do conteúdo desta página em outros pontos da internet, livros ou outros tipos de publicações comerciais ou não, sem a prévia autorização por escrito do autor.