H-мост (Troyka-модуль): инструкция, схемы и примеры использования

H-мост (Troyka-модуль) служит для управления скоростью и направлением вращения коллекторных моторов в компактных проектах.

Видеообзор

Принцип работы H-моста

Термин «H-мост» появился благодаря графическому изображению этой схемы, напоминающему букву «Н». H-мост состоит из 4 ключей. В зависимости от текущего состояние переключателей возможно разное состояние мотора.

S1 S2 S3 S4 Результат
1 0 0 1 Мотор крутится вправо
0 1 1 0 Мотор крутится влево
0 0 0 0 Свободное вращение мотора
0 1 0 1 Мотор тормозится
1 0 1 0 Мотор тормозится
1 1 0 0 Короткое замыкание источника питания
0 0 1 1 Короткое замыкание источника питания

Подключение и настройка

H-мост (Troyka-модуль) общается с управляющей электроникой по 2 сигнальным проводам D и E — скорость и направления вращения двигателя.

Мотор подключается к клеммам M+ и M—. А источник питания для мотора подключается своими контактами к колодкам под винт P. Положительный контакт источника питания подключается к контакту P+, а отрицательный — к контакту P—.

При подключении к Arduino или Iskra JS удобно использовать Troyka Shield. С Troyka Slot Shield можно обойтись без лишних проводов.

Примеры работы

Приступим к демонстрации возможностей. Схема подключения — на картинке выше. Управляющая плата запитана через USB или внешний разъём питания.

Примеры для Arduino

Для начала покрутим мотор в течении трёх секунд в одну, а затем другую сторону.

dc_motor_test.ino
// пин управления скоростью мотора (с подержкой ШИМ)
#define SPEED   11 
// пин выбора направления движения мотора
#define DIR     A3
 
void setup() 
{
  // пины в режим выхода
  pinMode(DIR, OUTPUT); 
  pinMode(SPEED, OUTPUT); 
} 
 
void loop()
{
  // покрутим в течении 3 секунд мотор в одну сторону
  digitalWrite(DIR, LOW);
  digitalWrite(SPEED, HIGH);
  delay(3000);
  // после чего остановим мотор
  digitalWrite(SPEED, LOW);
  delay(1000);
  // далее покрутим в течении 3 секунд мотор в другую сторону
  digitalWrite(DIR, HIGH);
  digitalWrite(SPEED, HIGH);
  delay(3000);
  // после чего остановим мотор
  digitalWrite(SPEED, LOW);
  delay(1000);
}

Усовершенствуем эксперимент: заставим мотор плавно разгоняться до максимума и останавливаться в одном направлении, а затем в другом.

dc_motor_test2.ino
// пин управления скоростью мотора (с подержкой ШИМ)
#define SPEED   11 
// пин выбора направления движения мотора
#define DIR     A3
 
void setup() 
{
  // пины в режим выхода
  pinMode(DIR, OUTPUT); 
  pinMode(SPEED, OUTPUT);
} 
 
void loop() 
{ 
  // меняем направление
  digitalWrite(DIR, LOW);
  // теперь заставим мотор медленно разгоняться до максимума
  for (int i = 0; i <= 255; i++)  {
    analogWrite(SPEED, i);
    delay(10);
  }
  // заставим мотор медленно останавливатся
  for (int i = 255; i > 0; i--)  {
    analogWrite(SPEED, i);
    delay(10);
  }
 
  // меняем направление
  digitalWrite(DIR, HIGH);
  // теперь заставим мотор медленно разгоняться до максимума
  for (int i = 0; i <= 255; i++)  {
    analogWrite(SPEED, i);
    delay(10);
  }
  for (int i = 255; i > 0; i--)  {
    analogWrite(SPEED, i);
    delay(10);
  }
}

Пример для Iskra JS

dc_motor_test.js
// подключаем библиотеку
var Motor = require('@amperka/motor');
 
// подключаем мотор с указанием пина скорости и направления вращения
var myMotor = Motor.connect({phasePin: A3, pwmPin: P11, freq: 100});
 
// крутим мотор назад на 75% мощности
myMotor.write(0.75);

Элементы платы

Драйвер двигателей

Драйвер моторов TB6612FNG — это сборка из двух H-полумостов. В нашем модуле мы запараллели оба канала микросхемы H-моста для компенсации нагрева.

Нагрузка

В качестве нагрузки для модуля H-мост(Troyka модуль) рациональнее всего использовать коллекторный мотор, так как есть смысл и потребность менять направления вращения двигателя. Если у вас иная нагрузка, используйте силовой ключ или реле.

Мотор подключается своими контактами к колодкам под винт M— и M+. Полярность в данном случае неважна, так как она влияет на направление вращения вала и её можно изменять программно.

Питание нагрузки

Источник питания для мотора (силовое питание) подключается своими контактами к колодкам под винт P. Положительный контакт источника питания подключается к контакту P+, а отрицательный — к контакту P-. Напряжение питания моторов должно быть в пределах 3–12 В постоянного тока.

Контакты подключения трёхпроводных шлейфов

1-группа

  • D — направления вращения двигателя. Подключите к цифровому пину микроконтроллера.
  • V — питание логической части модуля. Соедините с питанием микроконтроллера.
  • G — земля. Дублирует пин G из второй группы Troyka-контактов. Соедините с землёй микроконтроллера.

2-группа

  • E — включение и управление скоростью вращения мотора. Подключите к цифровому пину микроконтроллера.
  • V2 — силовое питание модуля. Подробнее про объединение питания.
  • G — земля. Дублирует пин G из первой группы Troyka-контактов. Соедините с землёй микроконтроллера.

Джампер объединения питания

Силовое питание можно также подключать через пины V2 и G из второй группы Troyka-контактов. Для этого установите джампер объединения питания V2=P+. При этом подключать питание к контактам P+ и P- уже не нужно.

Внимание! Джампер объединения питания связывает пины V2 с клеммником P+ внешнего питания. Если вы не уверены в своих действиях или боитесь подать слишком высокое напряжение с клемм H-моста на управляющую плату, не ставьте этот джампер!

Данный джампер будет полезен при установке H-моста на Troyka Slot Shield в пины поддерживающие V2.

Например, если на плату подаётся 12 В через разъём внешнего питания, то установив джампер на Troyka Slot Shield в положение V2-VIN вы получите напряжение 12 В и на ножке V2 H-моста. Эти 12 В можно направить на питание нагрузки — просто установите джампер V2=P+ на H-мосте.

Световая индикация

Сдвоенный светодиод индикации скорости и направления вращения на плате.

При высоком логическом уровне на пине управления направлением вращения E, индикатор светится красным светом. При низком уровне — зелёным.

Чем выше скорость вращения двигателя, тем ярче горит зелёный либо красный светодиод.

Обвязка для согласования уровней напряжения

Необходима для сопряжения устройств с разными напряжениями логических уровней.

Принципиальная и монтажная схемы

Характеристики

  • Драйвер моторов: TB6612FNG
  • Количество подключаемых моторов: 1
  • Напряжение логической части: 3,3—5 В
  • Напряжение силовой части: 3,3—12 В
  • Длительно допустимый ток нагрузки: до 1,2 A
  • Габариты: 25,4×25,4 мм

Ресурсы