ArduinoLinux

Controlando servo-motor com Arduino

Controlando servo-motor com Arduino

Demorei a escrever mais artigos sobre Arduino porque para dar continuidade ao controle de motores precisarei de um CI L293D, que é um circuito integrado que faz o papel de ponte H dispensando a criação de um circuito para isso, incluindo o diodo. Assim que conseguir comprá-lo, daremos continuidade no controle de um motor que abre e fecha a porta do drive cd CD/DVD. Procurem por um motor desses em assistências técnicas. Normalmente isso já é lixo eletrônico e você poderá consegui-lo até gratuitamente. Por enquanto, vamos controlando servo-motor com Arduino, que também é bastante divertido.

Estive controlando servo-motor com Arduino esses dias e decidi dividir em duas partes. Nesse, basicamente controlaremos a direção por um potenciômetro. No próximo veremos como automatizar o funcionamento do motor e posteriormente criaremos uma função para movimentar o servo-motor quando necessário, para esquerda ou direita.

Felizmente, já existe uma biblioteca pronta para manipulação de servo-motor que vem no SDK do Arduino. O código para movimentação do servo-motor seria basicamente esse:

 

Repassando as conexões

controlando servo-motor com Arduino : conexão
controlando servo-motor com Arduino : conexão

Confesso que não sei se há um padrão na ordem dos fios para cada tipo de servo. De cores, tenho certeza que muda de marca para marca. Estou utilizando o servo-motor de 5g da RC Timer, que vai de 4.8v a 6v; perfeito para utilizar no Arduino para pequenos projetos. Ele tem um torque de 1kg/cm, o suficiente para fazermos nosso robozinho.
Os fios desse servo tem as cores:
-Laranja
-Vermelho
-Marrom

Não tenho os fios das mesmas cores para interligar ao servo, então fiz o seguinte:
Marrom – Azul
Vermelho – Vermelho
Laranja – Branco

Na imagem abaixo, note os fios no potenciômetro sliding.
– O laranja está na porta analógico 0.
– O preto (paralelo ao laranja) é o terra e está ligado ao terra do Arduino.
– O Azul (logo atrás do preto, na mesma fileira) é uma extensão do terra ligado ao Marrom do servo.
– O verde (ao fundo, do outro lado do potenciômetro) está ligado ao 5v do Arduino.
– O vermelho (na mesma fileira do verde) está ligado ao Vermelho do servo.
– O branco está conectado do Laranja do servo ao pino digital 8 do Arduino.

controlando servo-motor com Arduino
controlando servo-motor com Arduino

O potenciômetro pode ser qualquer um de 10k. Na verdade, para simular um volante (pois o servo utilizaremos como controlador de um eixo) seria melhor utilizar um potenciômetro circular analógico.

O resultado pode ser visto nesse simples video:

Espero que essa semana eu consiga comprar de alguma forma uma ponte H L293D. Se alguém na capital de São Paulo tiver o componente e/ou lojas para recomendar, por favor entre em contato.

Recomendo também a leitura desse controle digital dos servo-motor, utilizado no robô, também citado nesse segundo artigo.