TB6612FNG: Современный драйвер
TB6612FNG: Современный драйвер
TB6612FNG — это отличная замена старому L298N для небольших роботов (до 1.2А на мотор). Он построен на MOSFET транзисторах, поэтому почти не греется и не требует радиатора.
(Обычно красная платка от SparkFun или синяя китайская)
1. Подключение
Пинов много, но они логичны.
Питание
- VM (Motor Voltage): Питание моторов (до 15V). Плюс аккумулятора.
- VCC (Logic Voltage): Питание логики (2.7V - 5.5V). Подключаем к 5V Arduino.
- GND: Земля (их обычно несколько, все соединены).
Выходы
- AO1 / AO2: Мотор А.
- BO1 / BO2: Мотор B.
Управление
- PWMA: Скорость А.
- AIN1 / AIN2: Направление А.
- PWMB: Скорость B.
- BIN1 / BIN2: Направление B.
- STBY (Standby): Главный выключатель. Обязательно подать HIGH (5V), иначе драйвер будет спать!
2. Программная реализация
Код почти такой же, как для L298N, только не забудьте про пин STBY.
#define PWMA 5
#define AIN1 6
#define AIN2 7
#define STBY 8
void setup() {
pinMode(PWMA, OUTPUT);
pinMode(AIN1, OUTPUT);
pinMode(AIN2, OUTPUT);
pinMode(STBY, OUTPUT);
digitalWrite(STBY, HIGH); // Включаем драйвер
}
void loop() {
move(255); // Вперед
delay(1000);
move(-100); // Назад медленно
delay(1000);
move(0); // Стоп
delay(1000);
}
void move(int speed) {
if (speed > 0) {
digitalWrite(AIN1, HIGH);
digitalWrite(AIN2, LOW);
analogWrite(PWMA, speed);
} else if (speed < 0) {
digitalWrite(AIN1, LOW);
digitalWrite(AIN2, HIGH);
analogWrite(PWMA, -speed); // PWM всегда положительный
} else {
digitalWrite(AIN1, LOW);
digitalWrite(AIN2, LOW);
analogWrite(PWMA, 0);
}
}
3. Преимущества
- КПД: Падение напряжения всего ~0.2V. Батарейки живут дольше, моторы крутятся быстрее.
- Размер: В 10 раз меньше L298N.
- Защита: Есть встроенная защита от перегрева (Thermal Shutdown).
Совет: Если вы случайно замкнете выход мотора, чип сгорит мгновенно (в отличие от дубового L298N, который может потерпеть пару секунд). Будьте аккуратны с проводами!
