Н-мост. Такая тема увлекательная оказалась, что выделю в отдельный опус.
[Spoiler (click to open)] Н-мост - схемотехническое решение, которое позволяет коммутировать напряжение на нагрузке как в прямом, так и обратном направлении. Это совершенно бесполезно при питании светодиодов, например. Светодиоды - полупроводники и в обратной полярности работать не будут. Это бесполезно при питании нагревательных элементов. Они имеют ВАХ, близкую к линейной и им совершенно все равно, в какую сторону течет ток.
Важна же полярность питания, например, для электромотора. От полярности зависит направление вращения оного.
Н-Мост - это не какая-то конкретная схема. Это, скорее, принцип коммутации нагрузки с помощью 4х ключей. (Название связано с внешним сходством схемы с буквой "H".) Каждая клемма нагрузки подключается через ключи к обеим клеммам питания. Для подключения питания в прямом направлении, нужно открыть ключи 1,3, а 2,4 закрыть Для подключения питания в обратном направлении, нужно закрыть ключи 1,3, а 2,4, соответственно, открыть. Для снятия питания с нагрузки достатчно разомкнуть пару ключей 1 и 2 и/или 3 и 4. При этом состояние второй пары ключей, грубо говоря, не имеет значения (ахххахахаха!).
Ключами в данной схеме могут быть простые (ручные) выключатели, электронные реле (выключатели, управляемые током), транзисторы. Скорее всего, есть еще много того, что я не знаю.
Кроме управления полярностью, важно еще и управление мощностью. В случае постоянного тока, чаще всего мощность регулируется ШИМом. ШИМ по науке - широтно-импульсная модуляция, а по простому - быстрое (сотни раз в секунду) переключение вкл-выкл. Соотношение времени вкл и времени выкл дает нам "заполнение ШИМ", которое хорошо коррелирует с мощностью. Невозможно организовать столь частое переключение механических выключателей (ручных и реле). Поэтому для управления мощностью мотора они не подходят. ШИМ - это про транзисторы. Только они могут открываться/закрываться с подходящей скоростью.
Заменяем ключи транзисторами и имеем щастье?
На этой оптимистичной ноте сказать бы "ДА" и пойти ваять мотор драйвер по мостовой схеме на полевых транзисторах, но фиг там!
Проблема номер раз (по порядку, но не по важности). Транзисторы - не идеальные проводники. Даже в ключевом режиме на них падает напряжение. А в мостовой схеме, в каждую сторону их будет включено по два, последовательно с нагрузкой. Транзисторов существует великое множество. Разобраться в них - та еще задачка. В целом, есть корреляция: "чем меньше номинал коммутируемого напряжения - тем меньше падение напряжения на транзисторе". Это не обязательно, существует куча других параметров транзистора, во имя оптимизации которыых жертвуется мощность.
Проблема номер два. Связана с конструктивной особенностью транзистора. Чтобы транзистор открылся, на его затвор нужно подать управляющее напряжение относительно стока (минуса). Если нагрузка включена перед транзистором, то все ок. Сток подключен к земле, а управляющее напряжение генерится контроллером, который тоже подключен к земле. Напряжения контроллера хватит, чтобы открыть транзистор (на самом деле, не факт).
Но в схеме моста два транзистора, коммутирующих плюс питания к клеммам мотора включены перед нагрузкой (К1 и К2). И управляющее напряжение нужно считать относительно положительной клеммы мотора. Т.е. оно должно быть больше на величину падения напряжения на нагрузке + падение на нижнем транзисторе. В итоге, это напряжение оказывается выше, чем напряжение питания. Так тоже можно, но гораздо сложнее. Выходом служат P-полярные транзисторы. Они открываются низким уровнем и напряжение открытия таким образом считается от истока, т.е. от плюса питания. Казалось бы, подай 0 и транзистор откроется? Авотфиг! коммутируемое напряжение у меня 3.7В, что на 1.3 В меньше напряжения открытия затвора (5В). Это тоже преодолимо, но сложность на порядок больше.
Проблема номер 3. Для управления мостом нужны: - 4 свободных пина, два из которых (а лучше все 4) с аппаратным ШИМом. Для двух моторов - 8. Для 4х - 16. В ардуине цифровых пинов всего 13, поэтому про квадрик придется забыть. - не тривиальный real-time алгоритм переключения режимов работы. Это последовательное переключение состояний транзисторов с паузами между ними для переходных процессов. Многозадачности в ардуине нет. Она может эмулироваться путем жуткого усложнения алгоритмов работы.
Ну и фаталити: главная неустранимая проблема этой схемы - возможность "несанкционированного" замыкания пар ключей 2 и 3 и/или 1 и 4, которое приводит к короткому замыканию, которое в свою очередь ведет к выводу из строя или ключей, или источника питания. Это только кажется, что "мы-то не дураки, и уж как-нить разберемся". В случае ручного управления играет ведущую роль человеческий фактор. Закон Мерфи гласит, что все, что может быть подключено не правильно, будет подключено не правильно, рано или поздно (скорее рано). В случае электронного управления, возможны ошибки алгоритмические, отказы датчиков, обрывы проводов, которые приведут к тому же результату.
Итого. Решением всех этих проблем стали мотор-драйверы. В основе мотор-драйвера все те же 4 силовых транзистора, включенных по схеме Н-моста. Питание организовано отдельно. На борту стоит преобразователь питания, который может выдавать необходимое напряжение для открытия ключей. Для решения проблемы множества пинов и сложных алгоритмов на борту стоит свой собственный контроллер, который автономно реализует алгоритмы переключения. Более того, в схему добавлены токовые датчики на всех ключах и на нагрузке. При превышении допустимых токов, схема отключается. В схему добавлен термодатчик. При превышении допустимой температуры схема отключается.
Теперь понятно, почему в материалах, посвященных Н-мосту, почти всегда есть совет не париться с реализацией схемы, а использовать вместо этого готовый драйвер. Сильно врядли вы сумеете превзойти готовые решения, сведенные в одну микросхему. Драйвер особенно актуален в случае необходимости применения ШИМ. Рассчитать шим для каждого конкретного транзистора отдельный квест.