Para isso utilizei um controlador para dois motores
DC baseado no CI TB6612FNG que tem entre as vantagens do baixo consumo
de eletricidade, o pequeno tamanho e consequentemente peso quase
desprezível para qualquer projeto de robótica.
O primeiro passo é fixar o seu Arduino ao chassi:
Feito isso encontre uma placa de ensaios
(proto-board) que seja pequena o suficiente para abrigar todo o projeto e
caiba sobre o robô ou faça como eu, corte uma que esteja disponível ao
meio para essa tarefa. Lembre-se que se decidir corta uma placa de
ensaios ao meio faça com capricho e com a certeza do que faz.
Prenda-a ao chassi:
Agora vamos colocar a placa do TB6612FNG na placa de ensaios:
Atente-se a nomenclatura dos pinos conforme a figura abaixo:
Vamos às ligações:
1º Conecte os pinos terra (GND) ao GND do Arduino,
menos aquele que se encontra imediatamente abaixo do pino VMOT.
Facilitará se você colocar uma ligação entre o pino terra do Arduino e a
placa de ensaios no barramento lateral, em seguida, ligue os pinos GND
ao mesmo barramento.
2º Ligue o pino VCC ao pino de 5V do Arduino.
Pode-se fazer o mesmo que foi feito em relação aos pinos GND, ligue o 5V
do Arduino a placa de ensaios no barramento lateral e depois ligue o
pino VCC ao mesmo barramento. Isso irá facilitar caso deseje adicionar
componentes que precise desses mesmos pinos.
3º Conecte os pinos AO1 ao negativo do motor 01 e o
pino AO2 ao positivo do motor 01. Conecte também os pinos BO1 ao
positivo do motor 02 e o pino BO2 ao negativo do motor 02. Tente manter
certa organização nos fios.
4º Conecte o pino VMOT ao positivo das pilhas do
seu chassi, elas que fornecerão eletricidade aos motores e não a fonte
de alimentação que estiver no Arduino. Abaixo do pino VMOT há um terra
(GND), esse deverá ser ligado ao negativo das pilhas. Essa separação é
importantíssima, uma fonte para os motores (potência) e uma para o
Arduíno. Para essa ligação faça como fizemos com os pinos GND e 5V do
Arduino, use a placa de ensaios como intermediária.
5º Ligue o pino PWMA ao pino digital 05 do Arduino. Com ele que diremos a que velocidade o motor 01 deverá girar.
6º Ligue os pinos AIN2 e AIN1 aos pinos digitais 7 e
8, respectivamente, no Arduino. Com eles que acionaremos o motor 01.
Pode paracer impossível, mas tente manter ordem no aparente caos de
fios.
7º Ligue o pino STBY ao pino digital 11 do Arduino.
Com esse pino é possível colocar e tirar a o TB6612FNG do estado de
dormência (standby).
8º Ligue os pinos BIN1 e BIN2 aos pinos digitais 9 e 10, respectivamente, no Arduino. Com eles que acionaremos o motor 02.
9º Ligue o pino PWMB ao pino digital 6. Com ele que diremos a que velocidade o motor 02 deverá girar.
Agora pode apreciar! Debaixo dessa “confusão” de fios está o nosso protótipo de robô!
Em resumo temos:
Pinos 07 e 08 – motor 01
Pinos 09 e 10 – motor 02
Pino 05 – potência motor 01
Pino 06 – potência motor 02
Pino 11 - standby
Vamos programá-lo e fazê-lo andar de um lado por um segundo, e para o outro também por um segundo.
A combinação de níveis para os pinos dos motores é a seguinte:
Pino
|
Nível
|
Direção
|
7
|
HIGH
|
Motor 01 em frente
|
8
|
LOW
|
|
7
|
LOW
|
Motor 01 para trás
|
8
|
HIGH
|
|
7
|
LOW
|
Motor 01 parado
|
8
|
LOW
|
|
9
|
HIGH
|
Motor 02 em frente
|
10
|
LOW
|
|
9
|
LOW
|
Motor 02 para trás
|
10
|
HIGH
|
|
9
|
LOW
|
Motor 02 parado
|
10
|
LOW
|
O código do exemplo é o que segue:
O projeto funcionando:
Considerações finais:
1. Cuidado na ligação dos fios;
2. Atenção ao aquecimento dos motores e do TB6612FNG
3. Agora é só adicionar sensores e programar outros comportamentos
0 comentários:
Postar um comentário