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); }