blog-eletrogate-logo-desktop blog-eletrogate-logo-mobile
  • Categorias
    • Voltar
    • INICIANTES
    • INTERMEDIÁRIOS
    • AVANÇADOS
    • divide
    • Automação Residencial
    • Componentes Eletrônicos
    • Impressão 3D
    • IoT
    • Modelagem 3D
    • Módulos Wifi
    • Por trás da tecnologia
    • Projetos
    • Raspberry Pi
    • Robótica
    • Sensores
    • Shields
    • Sistemas Operacionais
    • Tipos de Arduino
    • Tutoriais
  • Apostilas
  • Quem Somos
  • Seja um redator
  • Trabalhe Conosco
    • Categorias
      • Voltar
      • INICIANTES
      • INTERMEDIÁRIOS
      • AVANÇADOS
      • divide
      • Automação Residencial
      • Componentes Eletrônicos
      • Impressão 3D
      • IoT
      • Modelagem 3D
      • Módulos Wifi
      • Por trás da tecnologia
      • Projetos
      • Raspberry Pi
      • Robótica
      • Sensores
      • Shields
      • Sistemas Operacionais
      • Tipos de Arduino
      • Tutoriais
    • Apostilas
    • Quem Somos
    • Seja um redator
    • Trabalhe Conosco
Loja Eletrogate
voltar
  • Introdução
  • Hardware
  • Configuração
  • Importante:
  • Acionando com o Arduino:
  • Montagem:
  • Configuração na Prática
  • O Código
  • Conclusão:
  • Sobre o Autor
Componentes Eletronicos

Acionando um motor de passo com Arduino usando o Driver TB67

Eletrogate 12 de março de 2021Atualizado em: 15 abr 2022

Introdução

Há um tempo atrás, ensinamos aqui no blog como acionar um motor de passo usando o Drive A4988. Hoje traremos o TB67S, muito similar ao TB600 um drive mais robusto e muito mais prático de se configurar.

Mas antes, vamos falar rapidamente sobre o funcionamento de um motor de passo:

Motor de passo é um motor elétrico que não possui escovas ou comutadores, permitindo assim uma vida longa sem tantos desgastes.  O rotor constitui-se de um ou mais ímãs permanentes. No estator encontram-se várias bobinas. O controle do motor é feito por um circuito eletrônico que aciona repetidamente as bobinas numa sequência que permite o giro do rotor. Cada pulso enviado para o circuito, faz com que o motor avance um passo. O sentido de rotação do motor é controlado também pela sequência e pela polarização das bobinas. A velocidade que o rotor gira  é determinada pela frequência  dos pulsos do circuito de controle. Quanto maior a frequência, maior será o RPM.

Os motores de passo mais comuns são os que precisam de 200 passos para girar uma volta (revolução). Mas existem outros com um menor ou maior número de passos, dependendo da aplicação.

Crédito: Gustavo Murta

Para se aprofundar mais no assunto, clique aqui.

Voltando a falar do drive, apresentaremos agora suas principais características de hardware e configuração. Veja abaixo:


Hardware

O módulo é baseado no chip Toshiba TB67S109A . Este pode ser alimentado com tensão de até +40V VCC e nos permite controlar motores de passo bipolares que necessitam de até 3.5A por bobina e com alta precisão e eficiência, sendo possível configurar micropassos de até 1/32. Além disso, ele também possui diversas proteções para a segurança do seu motor, tais como:
– Entradas foto-acopladas¹: essa configuração garante a segurança do circuito de controle em caso de falha, pois o mesmo está completamente isolado do circuito de força, graças à presença de opto-acopladores¹ em seu circuito.
– Redução da corrente ociosa: com o motor parado, essa função é automaticamente acionada para reduzir o aquecimento do motor.
– Sensor de sobrecarga;
– Sensor de temperatura.

Suas principais características são:

– Tensão de Entrada: 9 à 40V
– ON (superior + inferior) = 0,49 Ω
– Controle de rotação para a frente e para trás
– 7 modos de micro-passo selecionáveis (1/1, 1/2A, 1/2B, 1/4, 1/8, 1/16 e 1/32 de passo)
– Corrente de saída de pico: IOUT = 4,0 A
– Corrente nominal: IOUT = 3,5 A ( 8 tipos de seleção de corrente)
– Resistor de entrada pull-down: 100 KΩ
– Leds de Power e de Falha
– Dimensões(CxL): 96mm x 56mm

A pinagem da placa é a seguinte:

Veja a seguir uma imagem do chip TB67S109A e do circuito interno do módulo:

Chip Toshiba TB67S109A. Créditos: Gustavo Murta

Circuito interno do drive. Detalhe para as entradas opto-acopladas¹ citadas anteriormente.


Configuração

As configurações de corrente de saída e micropassos do drive TB67s são extremamente simples e podem ser feita através de um DIP Switch já presente no módulo, o que o diferencia dos demais drives disponíveis no mercado. Para configurá-lo, basta usar as informações presentes nas tabelas em sua carcaça e posicionar as chaves de acordo com a corrente do motor e a configuração de passos desejada.

Vale a pena ressaltar que a chave para baixo é a posição ON, e para cima é OFF.


DIP Switch para configuração do driver. Créditos: Gustavo Murta

Note que os valores de corrente são pré definidos. É importante que sempre configure um valor igual ou inferior à corrente do seu motor, do contrário o drive sempre o desligará por aquecimento ou sobrecorrente.


Importante:

  • Esse módulo foi feito para motores de passo Bipolar, não use um motor unipolar. (exceto se o motor Unipolar puder ser usado no modo Bipolar);
  •  Antes de fazer a conexão dos fios das bobinas do motor, certifique-se que a identificação dos fios esta correta. Recomendo que meça o valor da resistência das bobinas;
  • Use um motor que se encaixe nas especificações do módulo – tensão máxima 40VCC e corrente máxima de 3.5A;
  •  Se estiver usando duas fontes separadas, alimente primeiramente o Arduino e depois o driver TB67S19A.
  • Conecte os fios das bobinas do motor no driver TB67S19A, antes de energizá-lo.
  • Não desconecte os fios da bobina, quando o driver TB67S19A estiver energizado.
  • Para alterar os dip switches, desligue a alimentação do Driver! Nunca faça mudança das chaves, com o driver energizado.

(dicas do Gustavo Murta)


Acionando com o Arduino:

Vamos te ensinar agora como fazer o acionamento de um motor de passo com o Arduino usando o TB67. Para isso, você precisará de:
– 1x Arduino Uno;
– 1x Driver TB67S109A;
– 1x Motor de Passo Bipolar;
– Jumpers;
– Fonte de Alimentação compatível;


Montagem:

A montagem do circuito é bem simples, veja no esquemático abaixo:


Configuração na Prática

Como foi dito anteriormente, a configuração de corrente e micropassos deve ser feita usando o DIP Switch presente no drive. Para o nosso caso, estamos utilizando um motor NEMA 17 com 1,7A de corrente, logo nas configurações de passo, configuramos como Full Step (SW1 – ON, SW2 – ON, SW3 – OFF).e configuramos no drive para 1,2A (SW4 – ON, SW5 – OFF, SW6 – ON).


O Código

Concluída a montagem e configuração, carregue o código a seguir no Arduino e, para verificar seu funcionamento, basta abrir o Monitor Serial e informar quantos passos você deseja que o motor dê. Todo o seu funcionamento está descrito nos comentários.

#include <string.h> 

#define sentido 2 // dando nome nos pinos do Arduino
#define pulso 3
#define enable 4

int velocidade = 99; // varia de 1 a 99

char resposta[25] = {"         "}; // Declarando um vetor de caracteres global (fica visivel para todas as funções) que receberá os dados brutos da comunicação serial.

void setup() {
  Serial.begin(9600);
  for (int i = 2; i < 5; i++) pinMode(i, OUTPUT); //Fazendo com que os pinos 2,3 e 4 sejam saída, para controlar o driver.
  digitalWrite(enable, LOW); // O pino Enable fica low para que o driver seja habilitado
}

void loop() {
  EscutaSerial(); // A função que irá ficar escutando a comunicação serial e irá inserir esses dados no vetor resposta
  Comando(); // A função que irá interpretar o comando escrito no vetor resposta[] e realizar a ação.
//  Serial.println(resposta); // Printa o resultado interpretado caso seja necessário debugar.
}

void EscutaSerial() { // Função que recebe os dados seriais e insere na string
  byte leitura, i = 0;
  leitura = 255;
  strcpy(resposta, "                  ");
  while (1) {  
    if (Serial.available() > 0) { 

      while (leitura != 10) {
        if (Serial.available() > 0) {
          leitura = Serial.read();
          //   Serial.print((char)leitura);
          if (leitura==10) break;
          resposta[i] = (char)leitura;
          i++;
        }
      }
      i = 0;
      break;
    }
  }
}

void Comando(){ //Função que interpreta o que está escrito no vetor resposta e transforma em um comando para o motor de passo.
  int passos;
  passos = atoi(strtok(resposta, " "));
  Serial.println(passos);
   passos < 0 ? digitalWrite(sentido,HIGH) : digitalWrite(sentido,LOW);
 for(int i = 0; i<abs(passos); i++){
    digitalWrite(pulso, HIGH);
    delay(100/velocidade);
    digitalWrite(pulso, LOW);
    delay(100 - velocidade);
  }
}

Crédito: Gustavo Nery

O resultado esperado deve ser como mostrado no GIF abaixo:


Conclusão:

Apesar de seu funcionamento e configuração simples, o drive TB67S109A se mostrou robusto, prático e eficiente em sua proposta, sendo uma excelente opção para projetos que demandam motores com maior torque e precisão, como as Router CNC’s, além de conferir maior segurança e confiabilidade, graças aos seus circuitos de proteção. Sugerimos que estude o código e faça alterações de acordo com a sua necessidade, promovendo assim um maior aprendizado de todas as funções presentes e a extração máxima do desempenho da sua máquina.

1- Opto-acopladores ou acopladores ópticos são componentes capazes de transmitir um sinal elétrico de um circuito para outro sem contato direto, através de sinais luminosos. Seu funcionamento se dá através de um LED infravermelho e um fototransistor. Este por sua vez é acionado quando o LED é ligado, comutando dois circuitos de forma isolada.

Esquemático de um Opto-acoplador

Conhecia esse modelo de driver e já tinha usado em seus projetos? Conte para a gente como foi sua experiência. Não conhecia e vai usar no projeto? Quando for utilizar, tire uma foto e nos marque no instagram @eletrogate.

Se ficou alguma dúvida ou quer fazer uma sugestão, utilize o campo dos comentários para que possamos te responder! Não esqueça também de avaliar o post!

Até a próxima!


Sobre o Autor

 


Samuel Martins
@samuel.martins192

Cursando Eletroeletrônica no SENAI CETEL. Fanático por eletrônica, automação, impressão 3D e afins, dedico meu tempo livre a pesquisas e projetos ligados às principais áreas de interesse, pratico aeromodelismo e sou curioso por astrofotografia.


Eletrogate

12 de março de 2021 Atualizado em: 15 abr 2022

A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.

Projetos

Radar/Sonar Ultrassônico para seus Projetos

Eletrogate19 de maio de 2022

Neste projeto, iremos construir um Radar (‘Radio Detection And Ranging’) ultrassônico com a Arduino e o software Processing. Iremos usar o conhecimento em programação com o sensor ultrassônico no Arduino obtido no post “Sensor Ultrassônico HC-SR04 com Arduino”.

Projetos

Radar/Sonar Ultrassônico para seus Projetos

Eletrogate19 de maio de 2022

Neste projeto, iremos construir um Radar (‘Radio Detection And Ranging’) ultrassônico com a Arduino e o software Processing. Iremos usar o conhecimento em programação com o sensor ultrassônico no Arduino obtido no post “Sensor Ultrassônico HC-SR04 com Arduino”.

Projetos

Levitação Ultrassônica com Arduino

Eletrogate17 de maio de 2022

Não é nenhuma varinha mágica ou encantamento como “Wingardium Leviosa” que você vai precisar para esse projeto. Com um Arduino, um driver de motor ponte H e um sensor de distância ultrassônico HC-SR04 você consegue criar uma máquina capaz de fazer objetos levitarem.

Projetos

Levitação Ultrassônica com Arduino

Eletrogate17 de maio de 2022

Não é nenhuma varinha mágica ou encantamento como “Wingardium Leviosa” que você vai precisar para esse projeto. Com um Arduino, um driver de motor ponte H e um sensor de distância ultrassônico HC-SR04 você consegue criar uma máquina capaz de fazer objetos levitarem.

Modelagem 3D

Conheça o Tinkercad

Eletrogate12 de maio de 2022

Se você já pensou em criar um projeto eletrônico, mas não tinha os componentes necessários e queria fazer um teste antes, este post foi feito pra você! Neste post, iremos conhecer a plataforma Tinkercad. Através dela, você poderá testar projetos, circuitos eletrônicos, códigos, criar designs 3D e muito mais.

Modelagem 3D

Conheça o Tinkercad

Eletrogate12 de maio de 2022

Se você já pensou em criar um projeto eletrônico, mas não tinha os componentes necessários e queria fazer um teste antes, este post foi feito pra você! Neste post, iremos conhecer a plataforma Tinkercad. Através dela, você poderá testar projetos, circuitos eletrônicos, códigos, criar designs 3D e muito mais.

Tutoriais

Simulando ESP32, Arduino e Raspberry pi com o Wokwi

Eletrogate10 de maio de 2022 Atualizado em: 17 maio 2022

O Wokwi.com está aqui para ajudá-lo! Ele é uma ferramenta gratuita de simulação direto no navegador, em que você pode escrever seus próprios códigos e usar os microcontroladores com outros componentes, como LEDs, botões, displays (de 7 segmentos a OLED’s), potenciômetros e muitos outros.

Tutoriais

Simulando ESP32, Arduino e Raspberry pi com o Wokwi

Eletrogate10 de maio de 2022 Atualizado em: 17 maio 2022

O Wokwi.com está aqui para ajudá-lo! Ele é uma ferramenta gratuita de simulação direto no navegador, em que você pode escrever seus próprios códigos e usar os microcontroladores com outros componentes, como LEDs, botões, displays (de 7 segmentos a OLED’s), potenciômetros e muitos outros.

Eletrogate Robô

Cadastre-se e fique por
dentro de novidades!

blog-eletrogate-logo-footer

Rua Rio de Janeiro, 441 - Sala 1301
Centro - Belo Horizonte/MG
CEP 30160-041
*Não temos atendimento físico

ANWAR SLEIMAN HACHOUCHE - ME
CNPJ: 18.917.521/0001-73

Atendimento

(31) 3142-3800

contato@eletrogate.com


Seg a Sex - das 8h às 17h

Institucional

  • Apostilas
  • Quem Somos
  • Privacidade
  • Seja um Redator
  • Trabalhe Conosco

Nos acompanhe

Facebook Instagram Youtube

© ELETROGATE 2022 - Todos os direitos reservados. Termos de uso e Política de privacidade.