DBH-12V - модуль двухканального H-моста
Часть 1 - схема и устройство

Для одного из проектов автору понадобилось управлять при помощи микроконтроллера двумя 12-вольтовыми коллекторными двигателями постоянного тока, потребляющими в рабочем режиме ток до 5А, а в режиме пуска - до 15А. Требовалось не только включение-выключение двигателя, с такой задачей справилось бы простое электромагнитное реле, но и реверс, а также плавное изменение скорости вращения вала двигателя при помощи широтно-импульсной модуляции (ШИМ).
Двухканальный модуль драйвера двигателя, подходящий по своим характеристикам для решения этой задачи, легко нашелся на популярном интернет-аукционе, однако, как это часто случается, продавец не предоставил почти никакой внятной информации о его использовании.

Отсутствовала принципиальная схема модуля, а также какие-либо указания по его подключению к микроконтроллеру. Поиск в интернете тоже не принес особого успеха – нашлось лишь несколько кратких рекламных листков, плохо переведенных с китайского на английский и изобилующих явными ошибками. К тому же выяснилось, что существуют несколько отличающихся друг от друга разновидностей этого модуля и ни один из найденных листков не относился именно к той модификации, которая оказалась в распоряжении автора. Поэтому автору пришлось самостоятельно провести некоторые исследования приобретенного модуля, чтобы собрать и систематизировать в данном материале информацию, необходимую для его применения. Возможно, эти сведения окажутся полезными тем, кто собирается использовать подобные модули в своих разработках.

На плате модуля имеются следующие надписи: «Dual DC Motor Drive» и «MODEL: DBH-12V», никаких данных о производителе изделия обнаружить на самой плате не удалось, а продавец в описании товара привел следующие характеристики модуля (приводятся ниже с сохранением написания в оригинале объявления о продаже):
- Operating Voltage: DC 5V-12V
- Standby Current: <30mA±5mA
- Current: 0A-30A(Max)/each channel
- PWM Mode:
- Duty Cycle: 0-98%;
- Frequency: General Motors: 16kHz; Coreless Motor: 80kHz; TEC: 500Hz-80kHz - Input Voltage Level: Low:0-0.5V; High: 2.5V-13V (typical drive level: 3.3V, 5V, 12V)
- Current Sampling: CT Pin Output Voltage(V) = Current(A) * 0.155
- Item Size: 6.2 * 5.3 * 1.8cm / 2.44 * 2.08 * 0.71in
- Item Weight: 54g / 1.93oz
Поиск в интернете не принес никакой информации по данной модели, однако в сети нашлись очень краткие и небрежно сделанные описания внешне похожих модулей с маркировкой DBH-1A, DBH-1B и DBH-1C, предположительно, того же самого производителя, из которых удалось извлечь кое-какие полезные сведения.
Устройство и электрическая схема модуля
Упрощенная электрическая схема модуля нарисована исходя из найденных в интернете описаний похожих модулей, а также путем исследования самой платы.
Модуль состоит из двух одинаковых каналов управления двигателями, а также из общего для обоих каналов повышающего преобразователя напряжения на микросхеме MC34063A, вырабатывающего напряжение 13.8V для питания внутренних цепей модуля.
Каждый канал управления двигателем содержит:
- H-мост на четырех MOSFET-транзисторах с каналом n-типа STD70N03L, которые установлены на общем радиаторе и по своим паспортным данным допускают максимальный ток стока до 50A.
- драйвер H-моста на двух специализированных микросхемах IR2104S, каждая из которых управляет двумя транзисторами – "верхним" и "нижним", обеспечивая необходимую задержку между закрыванием одного из них и открыванием другого для защиты от сквозных токов,
- преобразователь уровня логических сигналов управления IN1 и IN2 на сдвоенном компараторе LM393,
- датчик тока – низкоомный резистор в цепи истоков «нижних» транзисторов моста, с которого снимается напряжение, пропорциональное току двигателя, а также усилитель этого напряжения на микросхеме сдвоенного операционного усилителя LM358.
Автор предполагает, что читатель знаком с устройством и принципом работы H-моста, поэтому не будет излагать тут основы его работы, а сосредоточится только на схемотехнических особенностях и технических характеристиках данного конкретного модуля.
Повышающий преобразователь и вход V+
Документация MOSFET-транзисторов STD70N03L, используемых в качестве ключей H-моста, рекомендует для полного открывания подавать на их затворы напряжение не менее 10V по отношению к истоку. Для этого с учетом потерь драйверы H-моста на микросхемах IR2104S должны питаться от напряжения не менее 12V. В то же время двигатель, которым управляет модуль, может иметь напряжение питания всего 5V или 6V, а микроконтроллер, с которого поступают входные сигналы, обычно питается от 3.3V или 5V. Таким образом, может получиться ситуация, когда необходимое для раскачки силовых ключей напряжение будет взять просто неоткуда.
Чтобы выйти из этого положения, на плате модуля предусмотрен повышающий преобразователь напряжения на микросхеме MC34063A, который вырабатывает напряжение +13.8V для питания драйверов MOSFET-транзисторов H-моста. Этот преобразователь может питаться как от того же источника питания, что и двигатели, так и от другого источника, например, от источника +5V, питающего микроконтроллер.
В первом случае перемычка, обозначенная на схеме «SET», должна быть запаяна, а входы V+ на разъемах для подключения к микроконтроллеру остаются неподключенными. Повышающий преобразователь при этом питается от входа PWR+ то есть от источника питания двигателей.
Если же по каким-то причинам есть необходимость питать повышающий преобразователь от источника питания микроконтроллера или от какого-то другого источника, то перемычку «SET», которая представляет собой SMD-резистор с нулевым сопротивлением, нужно аккуратно отпаять, а напряжение питания для преобразователя подать на вход V+ модуля. Это напряжение может быть любым в пределах от 5V до 12V.
Важно! Ни в коем случае не следует при запаянной перемычке «SET» подключать какой-либо источник питания ко входу V+. При таком подключении вы просто замкнете друг на друга два источника питания – тот, который питает двигатели через клеммы PWR, и тот, который вы подключите ко входу V+. В лучшем случае это закончится сгоранием перемычки, в худшем – гибелью одного или обоих источников. Помните – если перемычка на месте, контакты V+ никуда подключать не надо!
Ток, потребляемый повышающим преобразователем, составляет при напряжении питания 5V около 50mA, а при напряжении питания 12V – около 20mA.
Вход EN
Вход EN используется для разрешения или запрета работы соответствующего канала управления. Он имеет подтяжку к плюсу внутреннего источника питания 13.8V. Чтобы его перевести в 0 требуется внешний транзистор, подключаемый в соответствии со схемой. Можно использовать любой маломощный n-p-n транзистор. В цепь базы транзистора включается резистор с сопротивлением 3 - 10 кОм, ограничивающий базовый ток.
Уровень сигнала на входе EN | Состояние силовых ключей H-мостов |
0 | Все ключи закрыты |
1 (13.8V или не подключен) | Управляются уровнями на входах IN1 и IN2 |
Обратите внимание на то, что внешний транзистор инвертирует сигнал, то есть для подачи логического нуля на вход EN внешний транзистор должен быть открыт, а для этого на выходе микроконтроллера должен быть уровень логической единицы. И наоборот, при нулевом логическом уровне на выходе микроконтроллера транзистор закрыт и на входе EN действует уровень логической единицы.
Входы IN1 и IN2
Входы IN1 и IN2 управляют направлением вращения, включением-выключением двигателя и скоростью его вращения. Эти входы имеют подтяжку к земле, то есть, если вход никуда не подключен, на нем устанавливается логический 0. Любое входное напряжение в диапазоне от 2V до напряжения внутреннего источника питания 13.8V воспринимается как логическая 1. Таким образом сигналы на эти входы можно подавать от микроконтроллеров, имеющих напряжение питания 5V или 3.3V, без каких-либо преобразователей уровня.
IN1 | IN2 | Двигатель | Примечание |
0 | 0 | Заторможен | Обе выходные клеммы соединены с «-PWR» |
0 | 1 | Вперед | |
1 | 0 | Назад | |
1 | 1 | Заторможен | Обе выходные клеммы соединены с «+PWR» (нежелательный режим работы) |
При одновременной подаче логических 0 на оба входа нижние ключи H-моста открыты, а верхние ключи закрыты, при этом обе выходные клеммы оказываются замкнутыми на землю (цепь -PWR). При подаче на оба входа логических 1 открыты верхние ключи, а нижние закрыты, соответственно обе выходные клеммы соединены с плюсом источника питания +PWR. И в том и в другом случае двигатель не вращается, а если до перехода в описанное состояние двигатель вращался, то замыкание выходных клемм между собой способствует его быстрому торможению. Однако, как станет понятно из дальнейшего изложения, режим, когда на оба входа одновременно подаются логические единицы, является нежелательным и его следует избегать.
Обратите внимание на то, что остановка двигателя при подаче уровня логического нуля на вход EN отличается от остановки двигателя при подаче двух одинаковых уровней на входы IN1 и IN2. При остановке по входу EN все ключи H-моста закрыты, соответственно двигатель обесточен и его выводы разомкнуты (сопротивление между выходными клеммами моста приближается к бесконечному). При подаче двух нулей или двух единиц на входы IN1 и IN2 двигатель также обесточен, но его выводы замкнуты между собой либо через нижние, либо через верхние ключи H-моста.
Для приведения двигателя во вращение на один из входов нужно подать логический ноль, а на другой – логическую единицу, при этом в одном плече моста будет открыт верхний ключ, в другом – нижний, на двигатель будет подано полное напряжение источника питания PWR и он теоретически должен вращаться с максимальной скоростью. Однако, как мы увидим далее, во 2-й части этой публикации, описывающей режим работы с ШИМ, такой статический режим управления двигателем описываемый модуль обеспечить не может в связи с особенностями его схемы и на практике для включения двигателя на один вход подается логический ноль, а на другой – сигнал ШИМ, при этом скорость вращения ротора двигателя будет зависеть от коэффициента заполнения сигнала ШИМ.