Avaliação do Usuário

Estrela inativaEstrela inativaEstrela inativaEstrela inativaEstrela inativa
 

 

Motores de passos são equipamentos interessantes uma vez que podemos determinar a velocidade de a quantidade de graus que desejamos que eles virem.

 

Porém no quesito velocidade não são tão eficientes, uma vez que girando muito rápido, devido a inércia do rotor eles podem girar mais do que o desejado, perdendo passos, ou seja, devem ser utilizados em baixas velocidades.

Você pode encontrar motores de passo em vários lugares: lojas na Internet, impressoras e drives velhos.

Existem vários tipos, o que vamos usar é um motor de passos de 6 fios, comprado na Internet. Esse aqui:

Como comprei o motor na Internet junto veio a descrição dos fios, sendo:

Verde – bobina 1

Marrom – bobina 2

Amarelo – bobina 3

Vermelho – bobina 4

Preto (2 fios) – comum

Caso você use um motor usado, obtido de uma impressora ou scanner, por exemplo, para identificar o fio comum use um multímetro e encontre o fio com a menor resistência entre todos, ele será o comum.

Também precisaremos de uma fonte de alimentação para o motor, já que o Arduino é alimentado com os 5V da porta USB e o motor de passo, invariavelmente, trabalha com 12V. Você deve escolher uma fonte que forneça como saída no máximo 500mA, devido a limitação do circuito integrado que usaremos, descrito mais abaixo. Identificar isso numa fonte hoje em dia é fácil, pois esse tipo de informação vem impresso nela. A que vou usar fornece 12V de saída à 200mA:

Para controlar o motor precisamos de um driver para motor de passo sendo que o CI ULN2003 atende bem a essa necessidade. O CI que usarei seja exatamente esse e que aparece na imagem abaixo:

À esquerda do CI temos os pinos de 1 até 8, de cima para baixo e à direita temos os pinos 9 até 16, de baixo para cima. À esquerda temos as entradas de dados e à direita às saídas. Lembre-se que a saída suporta no máximo 500mA!

Ligaremos o CI obedecendo ao seguinte esquema:

Sendo:

A – pino 3 do Arduino

B – pino 4 do Arduino

C – pino 5 do Arduino

D – pino 6 do Arduino

1 – Bobina 1 do motor

2 – Bobina 2 do motor

3 – Bobina 3 do motor

4 – Bobina 4 do motor

5 – ao comum do motor

12V – ao positivo da fonte

GND – ao negativo da fonte

Zener – Diodo Zener de 12V 0,5W, como o da imagem abaixo:

Vamos montar tudo em uma placa de ensaio (proto-board):

Tudo ligar e verificado, agora é hora de desenvolvermos nosso programa em C para o Arduino:

 

{code}

void setup()

{

pinMode(3,OUTPUT);

pinMode(4,OUTPUT);

pinMode(5,OUTPUT);

pinMode(6,OUTPUT);

}

void loop()

{

digitalWrite(3,HIGH);

delay(100);

digitalWrite(3,LOW);

delay(1 00);

digitalWrite(4,HIGH);

delay(100);

digitalWrite(4,LOW);

delay(100);

digitalWrite(5,HIGH);

delay(100);

digitalWrite(5,LOW);

delay(100);

digitalWrite(6,HIGH);

delay(100);

digitalWrite(6,LOW);

delay(100);

}

{/code}

 

Com esse código damos um passo completo de cada vez, ou seja, energizamos uma bobina a cada vez.

 

{youtube}RVDoGkCzLPg{/youtube}

 

Podemos melhorá-lo para dar meio passo, ou seja, energizar as bobinas aos pares, assim o motor girará mais suavemente:

 

{youtube}hbnNKMZxd7Q{/youtube}

 

{code}

void setup()

{

pinMode(3,OUTPUT);

pinMode(4,OUTPUT);

pinMode(5,OUTPUT);

pinMode(6,OUTPUT);

}

void loop()

{

digitalWrite(3,HIGH);

delay(100);

digitalWrite(4,HIGH);

delay(100);

digitalWrite(3,LOW);

delay(1 00);

digitalWrite(5,HIGH);

delay(100);

digitalWrite(4,LOW);

delay(100);

digitalWrite(6,HIGH);

delay(100);

digitalWrite(5,LOW);

delay(100);

digitalWrite(3,HIGH);

delay(100);

digitalWrite(6,LOW);

}

{/code}

 

Alguns pontos nesse projeto a serem considerados:

1. Para inverter a rotação, basta inverter a sequencia da energização das bobinas;

2. Há um aquecimento no CI ULN2003, portanto é preciso uma dissipação desse calor;

3. Existem também aquecimento no motor, quando maior o tempo de uso maior a geração de calor;

4. No caso de uma montagem autônoma será preciso de uma fonte 12V para o motor independente da alimentação 5V para o Arduino;

 

BOAS IDEIAS E BOM DIVERTIMENTO!