Índice:

Conduzindo pequenos motores com o TB6612FNG: 8 etapas
Conduzindo pequenos motores com o TB6612FNG: 8 etapas

Vídeo: Conduzindo pequenos motores com o TB6612FNG: 8 etapas

Vídeo: Conduzindo pequenos motores com o TB6612FNG: 8 etapas
Vídeo: Driving DC Motors with Microcontrollers 2024, Novembro
Anonim
Conduzindo pequenos motores com o TB6612FNG
Conduzindo pequenos motores com o TB6612FNG

O TB6612FNG é um IC com driver de motor duplo da Toshiba. Existem muitas placas de breakout por aí e é uma das escolhas mais populares para acionar motores pequenos.

Existem muitos recursos online sobre como começar com o TB6612FNG, mas decidi escrever isso de qualquer maneira para compilar melhor o que descobri.

Estarei focando na lógica de controle e também explicarei a biblioteca do driver do motor Sparkfun TB6612FNG em detalhes neste instrutível.

Etapa 1: peças necessárias

Aqui está o que usaremos hoje:

1) Motores de micro metal

2) Driver do motor TB6612FNG

3) Um Arduino e um cabo USB

4) Fonte de alimentação para os motores

5) Placa de ensaio

6) Fios de ligação

Etapa 2: A Placa Breakout TB6612FNG

A Placa Breakout TB6612FNG
A Placa Breakout TB6612FNG

Como mencionei antes, existem muitas placas de breakout de diferentes fabricantes para o TB6612FNG. Todos eles têm mais ou menos os mesmos componentes e também uma pinagem semelhante.

Capacitores são soldados na placa para proteção contra ruído dos motores, então você não terá que soldar esses capacitores de cerâmica nos motores.

O IC também vem com diodos internos para proteger contra EMF dos motores. Mas ter medidas extras de segurança não prejudicou ninguém. Não os adicionei porque os meus motores não são muito grandes e tenho poucos díodos: |

Etapa 3: Pin Outs

Pin Outs
Pin Outs

A placa de breakout TB6612FNG tem uma pinagem muito conveniente. Todas as saídas, entradas e conexões de alimentação do motor são agrupadas de maneira agradável para proporcionar o máximo de facilidade de uso.

Fiz uma ilustração das pinagens e como conectá-las, espero que seja útil ao conectar todos esses fios:)

Etapa 4: esquemas

Esquemas
Esquemas
Esquemas
Esquemas

Sou bastante novo no uso do Fritzing. Acho os esquemas de circuito de Fritzing bastante difíceis de entender, mas a visão do breadboard é conveniente para Instructables. Sinta-se à vontade para fazer qualquer pergunta se alguma das conexões dos fios parecer confusa.

Etapa 5: conectando tudo

Fiação
Fiação

Conecte tudo de acordo com os esquemas. Há muitos fios, certifique-se de verificar novamente após cada conexão.

Usei os seguintes pinos do Arduino para as entradas do driver do motor:

Motorista -> Número Pin do Arduino

1) PWMA -> 5

2) INA1 -> 2

3) INA2 -> 4

4) PWMB -> 6

5) INB1 -> 7

6) INB2 -> 8

Coisas que podem dar errado nesta etapa: 1) Não inverta a polaridade ao conectar o Vm e o GND da fonte de alimentação. Você pode fritar o motorista do seu motor.

2) Certifique-se de conectar o PWMA e o PWMB aos pinos PWM no arduino.

3) Lembre-se de conectar o Arduino GND e o GND do driver do motor se você estiver usando uma fonte de alimentação diferente para cada um.

Etapa 6: Baixar e instalar a biblioteca

Baixe a biblioteca da página GitHub do Sparkfun.

Depois de fazer o download do arquivo zip, abra o IDE do Arduino.

Em Sketch> Incluir Biblioteca> Adicionar Biblioteca. Zip, adicione a biblioteca que você baixou.

Uma vez instalado com sucesso, ele deve aparecer em Arquivo> Exemplos, como 'Biblioteca de Motor SparkFun TB6612FNG'

Se você estiver tendo dificuldades para baixar e instalar uma biblioteca do Arduino, verifique a etapa 5 deste instrutível.

Etapa 7: executando o código de exemplo

Agora que temos nossa biblioteca pronta, podemos fazer o upload do código de exemplo para testá-lo.

1) Abra o exemplo 'MotorTestRun' da 'Biblioteca de drivers de motor Sparkfun TB6612FNG' listada em suas bibliotecas.

Nota: Se você não estiver usando os mesmos números de pino mencionados na etapa 5, certifique-se de alterar as definições de pino de acordo com sua configuração.

2) Selecione sua placa com o gerente da placa

3) Carregue seu código e os motores devem começar a se mover

Depois de fazer o upload, os motores devem começar a se mover. Se não estiverem, verifique sua fiação novamente.

Etapa 8: a biblioteca explicada

Agora, para explicar como usar a biblioteca para seu próprio código.

Primeiro comece importando a biblioteca e inicializando os pinos no Arduino

#incluir

# define AIN1 2 # define AIN2 4 # define PWMA 5 # define BIN1 7 # define BIN2 8 # define PWMB 6 # define STBY 9

Para inicializar seus objetos de motor, você precisa definir compensações para cada motor. Imagine se você estiver executando um comando de avanço em seu motor e ele estiver girando ao contrário. Você poderia reconectá-lo manualmente ou apenas alterar o deslocamento a partir daqui. Hack de QoL bacana adicionado por SparkFun. Os valores desses deslocamentos são 1 ou -1.

Em seguida, você deve inicializar cada um dos motores com os seguintes parâmetros;

Motor = Motor (Pino 1, Pino 2, pino PWM, deslocamento, pino de espera)

const int offsetA = 1;

const int offsetB = 1; Motor motor1 = Motor (AIN1, AIN2, PWMA, offsetA, STBY);

E com isso, você concluiu a inicialização da biblioteca. Não há mais etapas na função setup (), apenas executamos o código na função loop ().

O método motor tem as seguintes funções. Consertar ao redor para verificar todos eles.

1).drive (valor, tempo)

Motor_name = nome do seu motor objectvalue = 255 a -255; valores negativos farão com que o motor se mova em reversetime = time em milissegundos

2).brake ()

A função de freio não aceita nenhum argumento, freia os motores.

3) freio (, <motor_name2)

A função de frenagem recebe nomes de objetos do motor como argumentos. Freia os motores que passam para a função.

4) avançar (,, tempo) avançar (,, velocidade, tempo)

A função aceita dois nomes de objeto de motor, opcionalmente, velocidade PWM e tempo em milissegundos e faz o motor funcionar na direção para frente pelo período de tempo passado. Se o valor da velocidade for negativo, o motor irá para trás. A velocidade padrão é definida como 255.

5) voltar (,, tempo) voltar (,, velocidade, tempo)

A função aceita dois nomes de objeto de motor, opcionalmente, velocidade PWM e tempo em milissegundos e faz o motor funcionar na direção para frente pelo período de tempo passado. Se o valor da velocidade for negativo, o motor irá avançar. A velocidade padrão é definida como 255.

6) esquerda (,, velocidade) direita (,, velocidade)

A função aceita dois nomes de objeto de motor e velocidade. A ordem dos objetos motores passados como parâmetros é importante. Para acionar motores individuais, use.drive ().

Recomendado: