Índice:
- Etapa 1: peças necessárias
- Etapa 2: A Placa Breakout TB6612FNG
- Etapa 3: Pin Outs
- Etapa 4: esquemas
- Etapa 5: conectando tudo
- Etapa 6: Baixar e instalar a biblioteca
- Etapa 7: executando o código de exemplo
- Etapa 8: a biblioteca explicada
Vídeo: Conduzindo pequenos motores com o TB6612FNG: 8 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
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
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
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
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
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:
Conduzindo a faixa de LED RGB usando Arduino: 4 etapas
Conduzindo RGB LED Strip usando Arduino: Olá pessoal, neste instructables faremos um circuito para rodar uma faixa led RGB 12V com Arduino. Como sabemos que o Arduino não tem energia suficiente para executar uma tira led RGB, precisamos amplificar o sinal do arduino para alimentar a tira Led por outra fonte, então estaremos
Conduzindo um LCD com módulo I2C: 8 etapas
Conduzindo um LCD com módulo I2C: Neste tutorial, veremos como funciona uma tela LCD e como usá-la mais facilmente com o módulo I2C
Conduzindo um motor de passo sem um microcontrolador .: 7 etapas
Conduzindo um motor de passo sem um microcontrolador .: Neste Instrutível, irei conduzir um motor de passo 28-BYJ-48, com uma placa UNL2003 darlington array, às vezes chamada de x113647, sem um microcontrolador. Ele terá start / stop, forward / para trás e controle de velocidade. O motor é um motor de passo unipolar com
Conduzindo um relé com um Arduino: 9 etapas
Conduzindo um Relay com um Arduino: Olá a todos, bem-vindos de volta ao meu canal. Este é meu quarto tutorial sobre como conduzir um RELAY (não um módulo de relé) com um Arduino. Existem centenas de tutoriais disponíveis sobre como usar um " módulo de relé " mas não consegui encontrar um bom que s
NODEMCU LUA ESP8266 Conduzindo um M5450B7 LED Display Driver IC: 5 etapas (com imagens)
NODEMCU LUA ESP8266 Conduzindo um IC Driver de Display LED M5450B7: O M5450B7 é um IC driver de display LED DIP de 40 pinos. Parece um tanto monstruoso, mas é relativamente fácil de controlar e programar. Existem 34 pinos de saída que podem ter um LED conectado para cada um. O dispositivo absorve a corrente em vez de fornecê-la, de modo que o c