Двухканальный драйвер коллекторных моторов TB6612

TB6612FNG — это двухканальный мостовой (H-bridge) драйвер для двух коллекторных двигателей или одного шагового.

Характеристики драйвера:

  • Диапазон напряжения питания силовой части: 4,5V … 13,5V.
  • Диапазон напряжения питания логической части: 2,7 … 5,5V
  • Номинальный\максимальный ток: 1,4A\3,2A
  • Максимальная частота ШИМ: 100 кГц

Особенности модуля:

Модуль собран на микросхеме TB6612FNG от Toshiba, это двухканальный мостовой драйвер, микросхема функциональна схожа с популярными драйверами L293D, L298N но в отличии от них, в драйвере использованы MOSFET транзисторы, драйвер также имеет защиту по температуре, перенапряжению и короткому замыканию. Может управляется логическим уровнем 3.3 вольта.

На модуле не удобно выполнена маркировка выводов, по этому имеет смысл запаять штырьки со стороны микросхемы.


Подключение модуля к Arduino:

Назначение выходов:

  • PWMA \ PWMB — Вход для управления скоростью вращения мотора, для канала A и B соответственно, подключается на выход arduino с поддержкой ШИМ (PWM).
  • AIN1 \ AIN2 — Входы полумостов канала A, подключаются на любые свободные выходы arduino.
  • BIN1 \ BIN2 — Входы полумостов канала B.
  • A01 \ A02 — Выходы полумостов канала A, подключается коллекторный двигатель.
  • B01 \ B02 — Выходы полумостов канала B.
  • STBY — Включение микросхемы, подключаются на любой свободный выход arduino.
  • VM — Вход питания силовой части микросхемы, питание двигателей.
  • VCC — Вход питания логической части микросхемы.
  • GND — Масса.

Все входы управления (PWMA(B), A(B)IN1(2), STBY) притянуты к массе резистором на 200к.

Подключение к arduino:

Подключение и работа с модулем не отличается от других мостовых драйверов, модуль можно подключать на любые свободные выходы arduino, кроме ног PWM, для него выход должен уметь генерировать ШИМ, такие выходы обозначены ~ (тильдой).

Чтобы заставить мотор крутится, нужно на один выход полумоста подать логическую единицу и на второй логический ноль. Для изменения направления вращения, нужно инвертировать состояние обеих выходов arduino.


Купить:

Можно тут или тут.



Софт:

 
#define PWMA 11  // выходы arduino
#define PWMB 10
#define AIN1 6
#define AIN2 7
#define BIN1 5
#define BIN2 4
#define STBY 13 


int motorSpeed = 100; //  скорость мотора

void setup(){

    pinMode(PWMA, OUTPUT);  
    pinMode(PWMB, OUTPUT);  
    pinMode(AIN1, OUTPUT);  
    pinMode(AIN2, OUTPUT);  
    pinMode(BIN1, OUTPUT);  
    pinMode(BIN2, OUTPUT);  
    pinMode(STBY, OUTPUT);  

    digitalWrite(STBY, HIGH); 
 
}

void loop()
{
     digitalWrite(AIN1, LOW);      // крутим моторы в одну сторону
     digitalWrite(AIN2, HIGH);    
     digitalWrite(BIN1, LOW);  
     digitalWrite(BIN2, HIGH); 
     analogWrite(PWMB, motorSpeed);  
     delay(1000);

     digitalWrite(AIN1, HIGH);  
     digitalWrite(AIN2, LOW); 
     digitalWrite(BIN1, HIGH);    // крутим моторы в противоположную сторону
     digitalWrite(BIN2, LOW);
     
     analogWrite(PWMB, motorSpeed);  
     delay(1000);
     
     digitalWrite(STBY, LOW);     // выключаем
     delay(1000);
     digitalWrite(STBY, HIGH);
      
}