"Tartaruga Desenhista" para o LOGO


O robô que será apresentado neste artigo é ideal para aquerles que desejam montar um robô simples sem o uso de microcontroladores, comandado por um PC e capaz de “impressionar” qualquer plateia em uma feira ou mostra técnica em colégios e faculdades.


A PROPOSTA

A Tartaruga Desenhista ou Robô Desenhista (você poderá chamar seu robô pelo nome que julgar mais adequado) é um “robô” simples que não utiliza microcontroladores no seu controle. Tudo é feito com CI’s discretos. O cérebro do robô (ou tartaruga) é um simples PC, com porta paralela e o programa Super LOGO instalado.

A proposta era desenvolver um robô capaz de obedecer a comandos enviados por um PC para dois motores de passo (para uma maior precisão nos movimentos) e um servo utilizado em aeromodelos para levantar e abaixar uma caneta (ou lápis).

Desta forma, seria possível realizar um desenho qualquer de acordo com a programação inserida no Super LOGO. Alunos da área da computação têm neste pequeno robô uma oportunidade de desenvolver algoritmos para o traçado de desenhos e gráficos "reais" muito interessantes. O robô passa assim a ser uma “extensão” do algoritmo desenvolvido, demonstrando sua execução de forma “real” (fora da tela do computador) e não apenas "virtual".


COMO FUNCIONA

Acredito que a melhor maneira de descrever o funcionamento do robô é detalhar o funcionamento dos dois pontos principais do mesmo: os motores de passo e o servo. O restante do circuito (componentes eletrônicos) será visto mais à frente quando falarei um pouco mais sobre o circuito.


COMO FUNCIONA UM MOTOR DE PASSO

O robô possui dois motores de passo, conforme dito anteriormente, para sua locomoção. Um motor de passo tem uma precisão maior que um motor DC (se considerarmos ambos sem qualquer tipo de realimentação).

Os motores selecionados para o robô são do tipo unipolar (não é necessário inverter a polaridade para girar nos dois sentidos) com seis ou cinco fios, duas bobinas independentes.

Estes motores são amplamente difundidos no mundo da eletrônica / mecatrônica / microrobótica. Sua precisão, aliada a sua força (torque) fazem deste tipo de motor um excelente “posicionador”. Eles estão presentes em impressoras, pequenos CNC’s, mesas “XY”, impressoras 3D, etc. Por estas e muitas outras razões, os motores de passo também são utilizados em pequenos e médios robôs. Nesta página já demonstrei outros robôs que utilizaram motores de passo para se locomover com precisão por uma sala como o ADR-2 e o ADR-3.

Para operar um motor de passo, é preciso “ligar” e “desligar” suas bobinas em uma seqüência correta. A freqüência com que estas bobinas são “chaveadas” (liga / desliga) determinará a velocidade de giro do motor. Para fazê-lo girar em sentido contrário devemos inverter a seqüência de chaveamento. Veja a tabela abaixo, nela descrevo a seqüência para operar um motor de passo de seis fios (duas bobinas independentes).


Seqüência de Passos

1

2

3

4

...1...

Bobina 1

1

1

0

0

1

Bobina 2

0

0

1

1

0

Bobina 3

1

0

0

1

1

Bobina 4

0

1

1

0

0

Os valores iguais a “1” equivalem à bobina ligada e os valores iguais a “0” equivalem à bobina desligada. A analise da tabela é feita do “passo 1” para o “passo 4”. A partir desse ponto a operação é repetida para manter o motor em funcionamento. Lembrando que a maioria dos motores necessitam de mais de 70 passos para uma volta completa. Quanto mais passos para uma volta o motor necessitar, mais preciso o mesmo será (desconsiderando aqui o microstepping muito utilizado em impressoras 3D e CNCs) .

Para fazer o motor girar em sentido contrário, basta fazer a analise inversa da tabela. O primeiro passo será então o de número “4” e o último o de número “1”. Esta operação é repetida até se conseguir o número de voltas desejado.

Infelizmente não existe uma padronização entre os fabricantes de motores de passo que permita através de um código de cores, identificar as ligações de suas bobinas internamente. Para isso é necessário que você, de posse de um multímetro na posição de leitura de resistências, faça uma analise de seu motor. A figura abaixo demonstra como isso é feito.



COMO FUNCIONA UM SERVO


O servo (figura acima) é muito empregado no fascinante “mundo da mecatrônica”. O fato é que de todos os elementos capazes de converter energia elétrica em movimento mecânico, o servo é o que permite uma maior gama de aplicações. É possível empregá-los na construção de braços mecânicos, usá-los como simples caixas de redução para locomoção de pequenos robôs, tratamento e controle de alavancas, entre outras.

Sua simplicidade de operação aliada as suas características mecânicas, permite seu emprego na “micro-robótica” e fins didáticos com muita facilidade.



Na figura acima você pode ver a estrutura de um servo básico. Ele é constituído de um motor, um dispositivo de realimentação e um sensor de posição (potenciômetro). O dispositivo de realimentação permite que um circuito de controle coloque a “alavanca” na posição desejada.

Como você pode notar através da figura abaixo, o servo permite transformar pulsos elétricos em movimentos proporcionais. Isso porque existe uma “proporcionalidade” entre os sinais que são levados ao servo e a posição da alavanca.



De acordo com o “pulso” (sinal) recebido pelo servo ele irá posicionar sua “alavanca”. Estes pulsos têm largura pré-determinada que variam de 1x10-3 segundos a 2x10-3 segundos com espaçamentos de 20x10-3 segundos, dependendo do fabricante. Sendo assim, podemos posicionar sua alavanca simplesmente variando a largura do pulso (sinal) a ser enviado.

Para você que deseja conhecer um pouco mais sobre o funcionamento de um servo e também construir alguns circuitos práticos, indico o artigo “Como funcionam os servos (MEC282)” de Newton C. Braga publicado no site Instituto NCB. Clique aqui para ler esse artigo.

Nota: É importante conhecer o servo a ser empregado em um determinado projeto para o seu sucesso e uma consulta ao site do fabricante poderá ajudar neste sentido. Muitos projetos podem simplesmente não funcionar adequadamente pela simples troca de um servo, previamente indicado.


O CIRCUITO


Na figura acima você tem o esquema elétrico do robô “tartaruga”. Ele possui apenas três CIs. CI1 possui internamente oito “drivers” do tipo “darlington” capazes de drenar correntes de até 500 mA (0,5 A) sob tensões de até 50 VDC. A grande maioria dos motores de passo pequenos trabalha com tensão de bobina igual a 12 VDC e correntes de até 500 mA em suas bobinas (corrente observada sob regime de carga máxima). Aconselho observar nas especificações do seu motor (geralmente dispostas atrás do mesmo) se este está de acordo com as especificações do CI1 (o datasheet pode ser encontrado na Internet).

Quando CI1 recebe em uma de suas entradas 5VDC, a saída correspondente é levada à saturação, ligando a bobina do motor de passo, ligada a esta saída. 

Os resistores R1 a R8 são resistores limitadores de corrente e auxiliam na proteção à porta paralela do PC.

Você deve ter percebido que basicamente o que CI1 faz é aumentar a capacidade de corrente e tensão de trabalho para os pinos de dados da porta paralela (pinos 2 a 9). Os bits menos significativo (D0 a D3) da porta controlam um motor, os bits mais significativos (D4 a D7) controlam o outro motor. Sendo assim, basta inserir os valores demonstrados na tabela "Sequencia dos Passos", nos bits descritos, e teremos o controle dos motores. Isso será visto mais à frente quando falarmos um pouco sobre o programa de controle.

CI2 é um duplo “555”. Este CI é utilizado para controlar um servo de aeromodelo que levantará ou abaixará nosso “lápis” (ou caneta). O datasheet deste componente é facilmente encontrado na internet e sua leitura é altamente recomendável.

Você observará que temos um oscilador do tipo astável (primeiro “555” do CI2) controlando um temporizador monoestável (segundo “555” do CI2). O primeiro gera pulsos próximos a 20 ms (0,02s) e o segundo quando ativado gera pulsos entre 1ms a 2ms (0,001s e 0,002s). O controle da posição do servo é feito alterando o valor de “R” com o transistor Q1 que coloca em “curto” o trimpot “P1” forçando a transição do valor máximo para o mínimo no monoestável (e vice-versa). Abaixo temos as fórmulas e a demonstração dos cálculos para cada bloco.

Cálculo para o bloco astável:
F = 1.44 / (C * (R + (2 x R')))

com:


C = C1 em uF;
R = R9 em M Ohms;
R' = R10 em M Ohms.

Temos então:
F = 1.44 / (10 * (2,2 x 10-3 + (2*1,5x10-4))) = 57,6Hz

T = 1/F => T = 1/57,6Hz = 17,36 x 103 segundos

Cálculos para o bloco monoestável:
T = (1.1 * C * R) / 1000

com:

C = C3 em uF
R = (P1+R12) em K Ohms

Temos então:

para P1 no ajuste máximo(10k):

T = (1.1 * 0.1 * (10 + 10)) / 1000 = 0.0022 segundos ou 2.2 x 10-3 s

para P1 no ajuste mínimo (0k):

T = (1.1 * 0.1 * 10) / 1000 = 0.0011 segundos ou 1.1 x 10-3 s

CI3 é um regulador de tensão de 5VDC. Ele é utilizado para alimentar CI2 e qualquer outra parte que necessite de 5VDC e possa vir a ser acrescentada ao robô no futuro (altere como quiser!). A corrente máxima fornecida pelo CI é de 1 A.

A alimentação do circuito (robô) é feita por uma fonte externa de 12VDC com capacidade de fornecer até 1,5 Ampere de corrente.


MONTAGEM ELETRÔNICA


Na figura acima você tem minha sugestão para o lay-out do circuito impresso e foi utilizado em meu protótipo. Você também poderá utilizar outros métodos para a montagem do circuito, como o uso de uma placa padrão. A escolha é livre.

Comece por montar os jumpers presentes no circuito. Eles podem ser feitos com pequenos pedaços de fios rijos, por exemplo. Solde posteriormente os resistores e capacitores. Tenha cuidado para não trocar os resistores.

Alguns capacitores são do tipo eletrolítico e, portanto, polarizados. Tenha cuidado para não inverter sua polaridade e posição na placa. Os outros capacitores são do tipo poliéster e não são polarizados, porém deve-se tomar cuidado também para não trocar a posição dos mesmos na placa, o que comprometeria muito o funcionamento do circuito no controle do servo.

É recomendável o uso de suportes para os CIs. Isso ajudará na substituição de um CI (quando e se necessário) ou ainda na fácil reutilização de um deles em um outro projeto (prática muito comum).

Para a ligação do servo e motores utilizei em meu protótipo conectores conhecidos no mercado como “conectores KRE”, mas você também poderá soldar diretamente os fios à placa na falta dos "tais conectores". A escolha do método de ligação é livre e deve ser feita de acordo com a disponibilidade do material que cada um tem.

O conector DB15 utilizado na placa para receber o cabo de comunicação entre o robô e o PC pode ser soldado diretamente na placa ou ainda ser ligado através de fios. A escolha pelo tipo de conector, “placa” ou “aéreo”, dependerá mais da montagem mecânica (chassi) do robô do que da placa propriamente dita.


CABO DE COMUNICAÇÃO


O cabo de comunicação entre o PC e o robô não é comercial e, portanto, deverá ser montado por você mesmo. Na figura acima você tem o esquema elétrico do mesmo, assim como os tipos dos conectores necessários. Este poderá ser montado com cabo tipo “manga” ou ainda com cabo tipo “flat cable” (minha opção). O comprimento deste não deve exceder 4 m (quatro metros) máximos para evitar interferências e perda de sinal. Lembre-se que este cabo será ligado à porta paralela do PC, onde os sinais têm níveis lógicos 0VDC e 5VDC.

O cabo também transportará a alimentação da fonte de 12VDC até o robô através do conector P4 fêmea. O diodo Dx inserido na entrada de alimentação serve para proteger o circuito do robô e, conseqüentemente, a porta paralela do PC contra uma possível inversão de polaridade no conector da fonte externa. Seu uso é opcional, porém o “seguro morreu de velho”, diz o dito popular!


MONTAGEM MECÂNICA

Para a montagem do chassi selecionei duas caixas plásticas da fabricante nacional PATOLA. A caixa maior, utilizada para abrigar os motores, o servo e a “mecânica” necessária para mover o “lápis/caneta” é uma caixa para estabilizador CF815/F (branca, com a tampa pintada posteriormente de preto) e a caixa menor, que abrigou a placa é uma caixa com painel modelo PB600/2 (que também teve sua tampa pintada de preto). Os interessados em maiores informações sobre estas caixas, poderão consultar o site do fabricante das mesmas: http://www.patola.com.br

O uso de caixas comerciais plásticas já foi abordado em outros projetos (robôs) meus para as revistas da Editora Saber. Usar ou não um determinado material é escolha de cada um. Deixo isso por sua conta. Minha intenção sempre foi apenas demonstrar o uso de materiais “alternativos” na montagem de pequenos robôs.

Nota recente: Com o surgimento de novas tecnologias, novas possibilidades se abrem a cada dia! Hoje existem as impressoras 3D e quem possui uma "maravilha" dessas em mãos, poderá facilmente imprimir uma caixa para esse e outros projetos, bastando ter algum conhecimento nos programas utilizados para "desenhar" e "fatiar" de sua impressora.

Abaixo você tem algumas imagens da peça construída para mover a caneta. Ela é composta basicamente de duas partes: uma peça em “U” construída em madeira e um “balancim” de aeromodelo “VCC” (Vôo circular controlado). Esta peça pode ser encontrada em casas especializadas em aeromodelismo VCC (físicas e/ou virtuais). Para ligar a alavanca do servo ao balancim, utilizei outra peça também muito comum em lojas de aeromodelismo, um “ball link”.

Clique para aumentar



Compreenda que estas peças podem ser facilmente substituídas. No caso do balancim, o mesmo pode ser construído também em madeira ou outro material qualquer. Sua construção é bem simples. O “ball link” (peça que une os links dos servos às alavancas) também pode ser substituído por um arame rijo terminado em “Z” em suas pontas, por exemplo. A aquisição ou construção das peças fica por conta de cada um.

Acredito que as imagens fornecidas são o suficiente para que você tenha idéia da mecânica utilizada para mover a caneta. Se o conjunto for observado atentamente você verá que trata-se de uma “alavanca”, muito parecida com uma gangorra. As medidas deste conjunto ficam por conta de cada um, pois estas terão influência direta do tamanho final do robô, altura do mesmo em relação ao chão, entre outras.

Para apoiar o robô no chão utilizei uma bolinha de tênis de mesa (ping-pong) cortada ao meio e “colada” na parte inferior do chassi. A caixa CF815/F foi furada em sua base para receber os motores, dando passagem aos seus eixos e também para permitir o livre movimento do “lápis”. As rodas, também de aeromodelos, foram montadas diretamente sobre os eixos dos motores.

Nota: Você deve ter muita atenção ao montar o seu chassi. É muito importante que o furo para a passagem do “lápis” fique no mesmo eixo dos motores, evitando assim qualquer ângulo que poderia ser prejudicial ao “desenho”.

Na seqüência das figuras abaixo você tem uma visão geral do interior do meu protótipo. Isso poderá ajudar a compreender melhor a montagem do meu protótipo. Clique nas figuras para aumentá-las.










O PROGRAMA

Após uma montagem eletrônica e mecânica sempre ficamos “ávidos” para iniciar os testes. Porém, acredito que é preciso antes compreender o funcionamento do programa que controlará o robô, para ai sim, ter todas as informações necessárias para prosseguir com os testes e uso do robô. O programa de controle foi desenvolvido na linguagem LOGO. Abaixo mostro o "fluxograma" do mesmo.


O programa inicia a tela de controle e em seguida aguarda um comando. Este pode ser para frente, para trás, para direita, para esquerda, curva a direita, curva a esquerda, abaixar e levantar a “caneta”. Os outros comandos possíveis são: número de passos (0 a 500 passos) e velocidade entre os passos (1/60 a 10/60 segundos), ambos através de barras de rolagem.

Ao realizar um determinado comando, uma sub-rotina é chamada. No caso da movimentação do robô, as sub-rotinas realizam a “compilação” da tabela referente a operação dos motores de passo, demonstrada no início deste artigo. Estas sub-rotinas basicamente inserem nos bits de dados da porta paralela (D0 a D7) os dados demonstrados na tabela.

Um outro comando importante é “abaixar e levantar” a “caneta”. Ele é feito através do pino 1 (Strob) da porta paralela. Este pino de comando é na verdade um pino de saída e está ligado à base do transistor utilizado para por em “curto” P1 (trimpot) no circuito do robô. Desta forma temos a transição do valor máximo para o mínimo, no caso dos pulsos para o controle do servo, conforme descrito anteriormente.

Um detalhe importante sobre o robô é que ele descreve movimentos “retilíneos”, ou seja ele desenha retas. Apenas os comandos “curva a esquerda e direita” permitem um “desenho” mais próximo do circular. Isso porque os motores são acionados juntos para os outros comandos e de forma separada para os dois últimos descritos. Utilizando uma reta e um “arco” é possível realizar muitos desenhos interessantes. Tudo é questão de criatividade de cada “artista”.


TESTE E USO

Após montar o robô, cabo de comunicação, chassi e realizar a montagem dos itens sobre o mesmo, é sempre prudente conferir tudo. Cheque todas as ligações. Não tenha pressa nesta etapa. Evite repetir aquela frase: “eu tenha certeza que tudo está certo” para não se arrepender em seguida ao perceber que seu projeto se danificou, simplesmente porque havia sim, algo ligado/montado erroneamente. Verifique sem pressa todas as conexões, as soldas, etc. 

Instale o programa Super LOGO em seu computador. Em recente pesquisa (04/08/2020) encontrei o mesmo no seguinte link:

https://odisseu.nied.unicamp.br/wp-content/uploads/other-files/Super%20Logo%202000.zip

Nota: Lembrando que esse programa funciona bem em Windows XP 32 bits, mas não tem suporte para versões superiores (Vista, Windows 7 e Windows 10). Para esses casos sugiro o uso de uma "máquina virtual" rodando o Windows XP .

Copie o programa de controle do robô “DESENHISTA.LGO” que está mais abaixo em Downloads, instale-o em um subdiretório conhecido e abra-o com o Super LOGO. Ligue o cabo ao robô e ao PC (porta paralela LPT1). Ligue a fonte ao cabo e execute o programa.

Na figura abaixo você tem a tela do programa em execução. Clique nos botões e verifique a resposta do robô. Caso algo lhe pareça estranho, recorra ao item “Ajuda com problemas”.



AJUDA COM PROBLEMAS

A seguir listei alguns pontos que poderão ajudar você na solução de um possível problema.

“Liguei meu robô e nada aconteceu! Ele não se move! Nada acontece!”

Verifique os seguintes itens:

- Fonte de alimentação: veja se ela tem a tensão e correntes solicitadas e se a mesma não foi ligada invertida;

- Cabo de comunicação: veja se não ligou invertidos os fios que levam a alimentação até o robô. Teste nos pinos 14 e 7 do CI2 se existe 5VDC;

- Motores: confira todas as conexões dos mesmos.

“Liguei meu robô, o servo opera corretamente, mas os motores não!”

Verifique os seguintes itens:

- Ligação dos motores: conforme descrito no inicio do artigo, os motores não tem uma padronização nos seus fios de ligação. Procure testar conforme detalhado seus motores. Verifique se não foram ligados invertidos.

- Tensão de alimentação: verifique se a fonte pode fornecer a tensão e correntes solicitadas pelos motores

- Tensão dos motores: verifique se os motores que você tem em uso no seu robô são realmente motores de 12VDC nas bobinas. Alguns motores possuem tensão de 24VDC e outros de 48VDC. Use os recomendados.

- Motores queimados ou defeituosos. Verifique através de testes (sugeridos no inicio) do artigo se os seus motores estão ok (presença de resistência nas bobinas).

“Liguei meu robô, mas o servo parece funcionar ao contrário. Quando mando abaixar o lápis ele sobe e vice-versa!”

Verifique os seguintes itens:

- Ligação mecânica do servo: você terá de posicionar o servo no chassi de maneira que ele atenda o desejado. Basta trocar o lado do servo em relação à alavanca de movimento para o lápis.

“Liguei meu robô, mas os motores operam de forma estranha! Nenhum comando para movimentar o robô parece estar correto! Tudo parece invertido!”

Verifique os seguintes itens:

- Troque os motores de posição ou inverta a posição dos fios das bobinas entre eles até que todas as condições sejam atendidas.


CONCLUSÃO

O robô “Desenhista” é um robô bem simples, sem segredos de hardware e/ou software. Sua montagem não depende de muitos conhecimentos e por isso é recomendada até mesmo ao iniciante. Mas a este dou sempre um conselho: faça tudo com muita atenção! Leia o artigo até que tudo lhe pareça bem familiar. Observar uma ou duas figuras e correr para a loja com a lista de materiais não trará conhecimento. O verdadeiro conhecimento, necessário para uma montagem de sucesso, só será adquirido com a leitura e compreensão do que foi aqui demonstrado. Ninguém nasce sabendo tudo, mas nascemos com uma vontade enorme de aprender. Exercite esta vontade. Boa montagem e “desenhos”! Até a próxima!


DOWNLOADS

- Lista de materiais
- Esquema elétrico - arquivo PDF
- Lay-out da placa - lado inferior (não invertido!)
- Lay-out da placa - silk screen superior
- Programa de controle p/ Logo - arquivo .LGO



Este projeto foi publicado na Revista Mecatrônica Fácil nº 26 de Janeiro/Fevereiro de 2006. Maiores informações sobre o projeto através de meu e-mail.

Especificações:

- Cérebro - PC ou MSX (porque não?!)
- Motores - 2 motores de passo unipolares e um servo
- Sensores - nenhum
- Alimentação- Fonte externa 12V/1.3Ah
- Chassi - plástico (caixas comerciais, etc)
- Programa - Linguagem LOGO



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.