Como utilizar o Driver TB6600

Em um outro tutorial detalhamos o funcionamento do Driver TB6560 e do Driver A4988, agora chegou a vez de conhecermos o Driver TB6600. Esse tutorial será dividido nos seguintes tópicos, clique para ir a algum título específico.

-Driver TB6600

-Definições da interface

-Configurações do driver

-Controle lógico

-Ligações

-Entendendo o que são os passos do motor

-Como ligar o motor Nema no driver TB6600

-Considerações finais


Driver TB6600

O Driver TB6600 é um módulo de controle de motor de passo, capaz de controlar um motor de passo bipolar com alta eficiência, o modelo em questão é baseado no chip TB6600HG da Toshiba, sendo que a diferença entre ele e o TB6560 é a sua vantagem no que tange a potência de saída, nesta versão mais atualizada, a potência de saída é de aproximadamente 200W.

O controlador que iremos conhecer nesse tutorial é ideal para construir CNCs e projetos com motores de maior potência, ele pode ser utilizado em motores de até 45V com corrente de pico de no máximo 4,5A por bobina. Para a segurança, o driver conta com sistema de proteção contra curto-circuito, além do dissipador de calor para evitar superaquecimento. Vejamos algumas especificações úteis deste driver.

tabela driver TB6600



Definições da Interface

Esse driver conta com configuração de passo através das chaves manuais (M1, M2 e M3), e a M4 que configura 30% ou 100% da corrente de retenção, além de possuir um trimpot para definição da corrente.

Driver TB6600

Configurações do Driver

As chaves responsáveis pelos passos funcionam da seguinte forma:

configurações Driver TB6600

O sentido das chaves e o seu estado lógico respectivo é:

Perceba que nessa configuração temos: 1 0 0, ou seja, o driver está configurado para fazer com que o motor trabalhe em ¼ passos conforme a tabela.

Como mostrado acima, a quarta chave é responsável pela definição da corrente de retenção, que pode ser configurada para 30% ou 100%, sendo que a posição para baixo deixa em 100% de corrente, enquanto que para cima fica em 30%.

O trimpot, por sua vez, é responsável pelo ajuste da corrente, que deve ser condizente ao seu modelo de motor, para esse projeto eu utilizarei o JK57HS56-2804-01 (Motor de Passo Nema 23), analisando o Datasheet deste, eu tenho:

Especificações JK57HS56-2804-01

Esse valor corresponde a corrente de fase, então temos que ajustar o trimpot com uma pequena chave de fenda para que ele esteja em concordância com o motor. Lembre-se de fazer isso com o motor desligado.

Caso você queira verificar a corrente do seu motor, olhe no seguinte Datasheet:

Datasheet dos Motores de passo


Controle Lógico

Os pinos de controle lógico são incumbidos de realizar a comunicação entre o microcontrolador e o driver, sendo que o (CLK) é responsável por dar pulsos de avanço, enquanto que o (CW) se refere à direção de giro do eixo do motor. Além destes, para controle lógico temos o (EN-Enable), utilizado para ativação do motor.

controle lógico TB6600

 


Ligações

O driver motor de passo TB6600 pode trabalhar com motores de até 45VDC com corrente de pico de no máximo 4,5A por bobina, como pode ser visto na tabela no início do tutorial, no entanto, é recomendado que esse driver seja utilizado com tensão de no máximo 32VDC. Não podendo ser utilizado com motores que não atendam as especificações.

As saídas A+, A-, B+ e B- correspondem as bobinas do motor, para saber os fios que formam cada bobina, pode ser utilizado o datasheet do motor ou o multímetro, fazendo um teste de resistência ou continuidade da seguinte forma:

Eu peguei dois fios do motor (vermelho e verde) e como pode ser visto, a resistência deu OL (Overload), ou seja, a resistência está muito acima do que pode ser medido pelo multímetro, então é impossível haver uma continuidade.

 

multímetro overload

Então eu troquei o fio verde pelo azul e consegui identificar uma bobina, note que quando é identificada, aparece uma resistência que pode ser medida, essa é a resistência da bobina.

multímetro resistência da bobina

 

Então depois eu farei a medição nos dois fios que sobraram (preto e verde), confirmando a outra bobina do motor, que neste caso é bipolar (4 fios).

motor bipolar e unipolar

Esse teste de continuidade pode ser feito com qualquer motor.

Caso o seu motor seja do modelo com 6  fios, unipolar, como o da figura (A) acima, é recomendado que você analise o diagrama do mesmo, mas normalmente para fazer a ligação basta isolar o fio do meio de cada bobina.


Entendendo o que são os passos do motor

Os passos são os movimentos fracionados de um motor, o motor em questão, assim como a maioria, possui um ângulo de passo de 1,8°. Tendo conhecimento que uma volta completa corresponde a 360°, temos que para concluir um ciclo, o motor precisa dar os seguintes passos:

Passos= 360° / 1,8° => 200 passos.

Nesse caso o motor estará no modo full-step, mas quando o configuramos para 1/8, por exemplo, para dar uma volta completa precisaremos de:

1,8° x 1/8 = 0,225°

Passos= 360°/ 0,225° => 1600 passos.

O número de passos influencia diretamente no controle, no torque, na velocidade e na precisão do motor. Faça o melhor ajuste de acordo com o seu projeto.

 

Como ligar o motor Nema no Driver TB6600

Materiais utilizados:

-Arduino Uno

-Driver TB6600

-Fonte chaveada 12V-5A

-Kit Jumpers macho-fêmea

-Motor de Passo Nema 23 -12,6 Kgf.cm/2,8A

 

Agora vamos começar o nosso procedimento de teste. Para uso deste driver com motor, eu recomendo que você baixe a biblioteca AccelStepper: https://github.com/adafruit/AccelStepper

Ao entrar no Github, vá em Code> Download ZIP

download zip github

 

Depois de baixar o arquivo, entre na sua IDE do Arduino e vá em Sketch > Incluir biblioteca > Adicionar biblioteca.ZIP

Finalizando essa parte, vamos iniciar a ligação para fazer o nosso teste.

driver tb6600 com motor Nema

 

 

Com a ligação pronta e a corrente configurada no trimpot, eu vou abrir o exemplo presente em minha biblioteca AccelStepper em Arquivo> Exemplos> AccelStepper> Bounce


Exemplo Bounce IDE

Ao abrir a janela com o exemplo, você notará que não há uma definição prévia dos pinos em include, então eu farei isso com os pinos que utilizei, sendo que deve ser na seguinte ordem (EN, CLK, CW)

 AccelStepper

O programa comentado está disponível abaixo:

 

/*Biblioteca para teste de Motor com Driver TB6600
 * Elaborada por: Mike McCauley
 * Comentada por: Curto Circuito
 */



#include <AccelStepper.h> /*inclusão da biblioteca AccelStepper */

/* Defina os pinos que serão utilizados */
AccelStepper stepper(1,12,11); /* EN=1, CW=11, CLK=12 */

void setup()   /* laço de configuração */{  
  stepper.setMaxSpeed(1000); /* define a velocidade máxima permitida, ou seja, a função run() irá acelerar até a velocidade aqui definida. */
  stepper.setAcceleration(100); /* define a taxa de aceleração do motor */
  stepper.moveTo(500); /* define a posição de destino com relação a posição atual */
}

void loop()  /* laço de loop */{
    if (stepper.distanceToGo() == 0) /* se a disância entre a posição atual e a posição de destino for 0 */
      stepper.moveTo(-stepper.currentPosition()); /* define a posição de destino como o inverso da posição atual (faz com que o motor mude o setido da rotação. */

    stepper.run(); /* sonda e aciona o motor */
}

 

Com o programa pronto, eu vou escolher o modelo da minha placa em Ferramenta> Placa, e a porta que meu Arduino está ligado.

Seleção de placa IDE

Por fim, compile o programa clicando no ícone

 


Considerações Finais

Conforme demonstrado no tutorial, o Driver TB6600 é uma excelente opção para projetos com o Nema, além de ser de fácil uso e de contar com configuração manual do passo e da corrente, o mesmo garante proteção e alta eficiência. No vídeo foi apresentado o funcionamento em seus modos de operação, sendo notável a mudança da velocidade de acordo com o passo, já que quanto mais passos o motor der, mais ele demorará para chegar no ponto de destino.

Eu espero que esse tutorial tenha esclarecido suas dúvidas quanto ao uso desse maravilhoso driver, para qualquer dúvida, deixe sua pergunta.

 

Abraços, Curto Circuito :)