H-мост (Troyka-модуль) служит для управления скоростью и направлением вращения коллекторных моторов в компактных проектах.
Термин «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 или внешний разъём питания.
Для начала покрутим мотор в течении трёх секунд в одну, а затем другую сторону.
// пин управления скоростью мотора (с подержкой ШИМ) #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); }
Усовершенствуем эксперимент: заставим мотор плавно разгоняться до максимума и останавливаться в одном направлении, а затем в другом.
// пин управления скоростью мотора (с подержкой ШИМ) #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); } }
// подключаем библиотеку 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
, индикатор светится красным светом. При низком уровне — зелёным.
Чем выше скорость вращения двигателя, тем ярче горит зелёный либо красный светодиод.
Необходима для сопряжения устройств с разными напряжениями логических уровней.