- ОБОРУДОВАНИЕ ТЕХНОЛОГИИ РАЗРАБОТКИ
- Блог технической поддержки моих разработок
- Урок 33. Биполярный шаговый двигатель в системе Ардуино.
- Драйвер биполярных шаговых двигателей
- L298n Схема Подключения
- Микросхема L298N
- Подключение модуля L298N
- Подключение L298N к плате Arduino
- L298N, Arduino и двигатель постоянного тока
ОБОРУДОВАНИЕ
ТЕХНОЛОГИИ
РАЗРАБОТКИ
Блог технической поддержки моих разработок
Урок 33. Биполярный шаговый двигатель в системе Ардуино.
С помощью драйвера L298N подключим к плате Ардуино биполярный шаговый двигатель. Для управления будем использовать программы из предыдущих уроков для униполярных двигателей.
Использование шаговых двигателей в биполярном режиме дает:
- Повышение крутящего момента примерно на 40% по сравнению с униполярным двигателем.
- Позволяет применять двигатели с любой конфигурацией фазных обмоток.
Недостаток биполярного режима – более сложный драйвер.
Драйвер биполярного шагового двигателя.
У биполярного шагового двигателя две обмотки, по одной для каждой фазы.
Если для управления униполярным двигателем достаточно 4 ключей, замыкающих выводы на землю, то биполярный привод требует более сложной коммутации обмоток. Необходимо каждую обмотку:
- подключать к источнику питания в прямой полярности;
- отключать;
- подключать к источнику в противоположной полярности.
Такую коммутацию может обеспечить мостовая схема с четырьмя ключами.
При замыкании ключей 1 и 2 на обмотку подается напряжение питания в прямом направлении. Замыкание ключей 3 и 4 подключает источник питания в обратной полярности.
Драйвер биполярного шагового двигателя намного сложнее, чем драйвер униполярного привода.
- Требуется 4 ключа на обмотку, т.е. 8 ключей на двигатель.
- Необходимы сложные схемы управления верхними ключами (ключи 1, 4) от логических сигналов микроконтроллера, “привязанных” к земле.
- Существуют проблема сквозных токов. Они возникают при одновременном включении транзисторов из одного плеча (ключей 1,3 или 2,4). Это может привести к замыканию источника питания и выгоранию ключей.
- Сквозные токи могут появляться из-за неодинакового быстродействия верхних и нижних ключей. Например, верхний ключ уже открылся, а нижний не успел закрыться.
Поэтому реализовать схему мощного драйвера биполярного шагового двигателя с использованием дискретных элементов достаточно сложно. Гораздо практичнее, удобнее, дешевле использовать интегральный драйвер.
Драйвер биполярного шагового двигателя L298N.
Микросхема L298, наверное, самый распространенный биполярный драйвер.
Это полный мостовой драйвер, позволяющий управлять биполярными нагрузками с током до 2 А и максимальным напряжением 46 В. Подробное описание микросхемы L298N можно посмотреть по этой ссылке.
На базе микросхемы L298N разработан модуль L298N.
Конструктивно он выполнен на одной плате размерами 43 x 43 мм. На плате установлены:
- микросхема L298N с радиатором охлаждения;
- клеммные колодки для подключения питания и нагрузки;
- разъем для подключения управляющих сигналов;
- стабилизатор напряжения 5 В;
- защитные диоды.
Принципиальная схема модуля L298N.
Микросхема L298N включена по стандартной схеме.
Диоды защищают ключи от выбросов при коммутации обмоток. Через них происходит разряд энергии запасенной в индуктивности обмоток.
Модуль содержит стабилизатор напряжения + 5 В для питания логической части микросхемы. Напряжение +5 В формируется из напряжения питания двигателя. На клеммной колодке оно обозначено +12 V, но может меняться в широких пределах 8 … 46 В.
Управления полумостами происходит от входных сигналов IN1, …, IN4. Уровни сигналов 0 / 5 В. При низком уровне выход подключается к земле, при высоком – к источнику питания двигателя (+12 V).
Предельно-допустимый ток фазы 2 А. Защиты по току в модуле нет. Но реализация токовой защиты значительно усложняет схему, а короткое замыкание обмоток двигателя событие маловероятное. Я с таким не встречался. К тому же механическое блокирование вала шагового привода не вызывает перегрузки по току.
Это все очень коротко. Подробно можно посмотреть в этой статье.
По моей партнерской ссылке цена модуля L298N составляет всего 200 руб. (на ноябрь 2016 г.). В то время как одна микросхема L298N в Ростове стоит 250 руб. Гораздо дешевле купить модуль, чем собирать драйвер на отдельных компонентах, не говоря о времени и разработке печатной платы. Перейти в магазин >> |
Подключение биполярного двигателя к плате Ардуино.
Я подключил к плате привод FL42STH47-1684. Это биполярный шаговый двигатель с 4 выводами, током фазы 1,68 А и сопротивлением обмоток 1, 65 Ом.
Источник питания у меня напряжением 12 В. Если двигатель подключить непосредственно через ключи, то ток в обмотках будет 12 В / 1,65 А = 7 А. Двигатель просто сгорит. Поэтому я последовательно с каждой обмоткой включил ограничительные резисторы. Схема выглядит так.
Я использовал резисторы сопротивлением 10 Ом. Ток фазы можно рассчитать по формуле:
Iфазы = ( Uпитания – Uключей ) / ( Rограничительный + Rобмотки)
- Iфазы – ток фазы.
- Uпитания – напряжение источника питания, у меня 12 В.
- Uключей – падение напряжения на открытых ключах драйвера. Для L298 это сумма падений на верхнем (Source Saturation Voltage) и нижнем ключах (Sink Saturation Voltage). Из справочных данных определяем, что на ключах драйвера L298N падает 2-2,5 В.
- Rограничительный – сопротивление ограничительных резисторов. В моей схеме 10 Ом.
- Rобмотки – сопротивление обмоток двигателя. У двигателя FL42STH47-1684 сопротивление 1,65 Ом.
В результате для моей схемы ток фазы будет:
Iфазы = (12 – 2) / (10 + 1,65) = 0,86 А.
На ограничительных резисторах может выделяться значительная мощность. В моей схеме 0,86 * 0,86 * 10 = 7,4 Вт. Я использовал резисторы мощностью 10 Вт.
Можно подключить двигатель без ограничительных резисторов, снизив напряжение источника питания. Но в схеме с резисторами привод будет вращаться с большей скоростью благодаря тому, что токи фаз нарастают быстрее.
Что касается подключения разных вариантов биполярных двигателей, то они подробно описаны в этой статье. Я просто перечислю их и покажу схемы вариантов.
Двигатель с 4 выводами.
Самая распространенная схема.
Двигатель с 6 выводами.
Надо помнить, что сопротивление обмоток складываются и для того чтобы обеспечить тот же ток фазы, как для униполярного режима надо удвоить напряжение питания драйвера.
Двигатель с 8 выводами, последовательное соединение обмоток.
Сопротивления обмоток складываются, и требуется в два раза большее напряжение питания.
Двигатель с 8 выводами, параллельное соединение обмоток.
Обмотки включены параллельно. Общее сопротивление в два раза меньше, ток, при том же напряжении питания, в два раза больше ток драйвера. Зато снижается общая индуктивность, а значит, повышается скорость нарастания тока в обмотках.
Проверка работы схемы.
Мой вариант схемы в собранном виде выглядит так.
В этом уроке программы писать не будем. Все программы из уроков 28, 29, 31, 32 должны работать без изменений. Только обратите внимание на последовательность подключения управляющих сигналов модуля L298N к выводам платы Ардуино. Выводы фаз A,B,C,D для униполярного двигателя соответствуют управляющим выводам IN1, IN3, IN2, IN4 модуля L298N.
Сначала я загрузил в плату Ардуино программу драйвера с управлением от компьютера по протоколу AT команд и проверил работу с программой верхнего уровня StepMotor. Резидентную программу (для платы Ардуино) и программу верхнего уровня (для компьютера) можно взять из урока 31.
Все работает. Скорость вращения моего привода, включенного по такой схеме, достигает 150 оборотов в минуту. Униполярный двигатель FL57STH76-1006 в предыдущих уроках вращался со скоростью не более 60 оборотов в минуту. Увеличение скорости вращения двигателя в 2,5 раза связано, прежде всего, с большей скоростью нарастания токов в обмотках. Происходит это из-за меньшей индуктивности обмоток и применения схемы с ограничительными резисторами. Для убедительности я рассчитаю скорость нарастания тока для обоих приводов.
Для двигателя из предыдущих уроков (FL57STH76-1006):
- индуктивность обмотки 14 мГн;
- при питании 12В ток в обмотке достигает значения 1 А за время
T = I * L / U = 1 А * 14 мГн / 12 В = 1,2 мс.
Для двигателя, который я использовал в этом уроке (FL42STH47-1684):
- индуктивность обмотки 3,2 мГн;
- при питании 12В ток в обмотке достигает значения 1 А за время
T = I * L / U = 1 А * 3,2 мГн / 12 В = 0,3 мс.
Отсюда и увеличение скорости вращения. Конечно, повлияло еще:
- увеличение крутящего момента из-за биполярного режима коммутации;
- другой момент инерции ротора;
- меньший ток фазы;
- значительно влияет число шагов двигателя на оборот, но у меня этот параметр одинаков для обоих приводов.
Но если ток не успевает нарастать до нужного значения за время включения фазы, то все остальное уже не так важно.
Дальше я проверил работу следящего электропривода с новым двигателем. Резидентная программа платы Ардуино осталась прежней. А для управления от компьютера я использовал программу Tracker из урока 32.
Следящая система стала работать на много быстрее. Я снял короткий ролик работы следящего электропривода в шаговом и полу шаговом режимах.
Вал двигателя следует за указателем на мониторе компьютера явно быстрее.
В этом уроке я постарался не только рассказать, как работать с униполярными шаговыми двигателями, но и показать влияние скорости нарастания тока в фазных обмотках, на скорость вращения двигателя.
В следующем уроке я расскажу, как работать со STEP/DIR драйверами шаговых двигателей. Представлю библиотеку для управления такими устройствами.
Драйвер биполярных шаговых двигателей
Ниже представлена принципиальная схема драйвера биполярных шаговых двигателей с двумя L298 (усиленный) 48В, 4А.
Данный драйвер может использоваться для управления практически любых 2-фазных биполярных гибридных шаговиков с 4 выводами и может обеспечить ток работы до 4 ампер при максимальном напряжении 35В.
Драйвер поддерживает режимы работы full step и half step которые можно выбрать с помощю джапмпера H/F. Джампер CTRL предназначен для установки типа двигателя униполярный/биполярный, в позиции биполярного ШИМ работает на выходы INHIBIT в противном случае на выходы ABCD. Питание драйвера 12-35В для двигателя и 15-24В для схемы, диоды D1-D8 быстрые на 3 ампера, желательно Шоттки. Цепочкой R9 и C15 можно подбирать частоту ШИМ, при указанных номиналах она выше диапазона слышимых звуков, так что движок не жужжит. Потенциометром RV1 устанавливается рабочий ток двигателя.
Если будете гонять на максимальной мощности , то нужно обязательно посадить его на хороший радиатор и поставить кулер, также не забудьте намазать термопастой.
Схема и плата нарисованы в программе Proteus 7.7.
Схема протестированна и показала полную работоспособность драйвера
Используемые радиоэлементы:
L298n Схема Подключения
В данной же статье мы рассмотрим драйвер двигателей базе микросхемы LN собранный на платке в виде модуля.
Могут использоваться в двух режимах: 1.
Так как транзисторы в схеме моста имеют разный тип проводимости, то при таком входном сигнале транзисторы Т1 и Т4 останутся в закрытом состоянии, в то время, как через транзисторы Т2 и Т3 потечёт ток. В виду сложности подбора транзисторов и подключения их в схему Н-моста, гораздо проще использовать уже существующие драйвера, имеющие такую функцию.
CCU+L298N
Такой вариант позволяет управлять скоростью вращения вала и его направлением у двигателя постоянного тока. Если напряжение больше 12 вольт, разомкните контакты на 3 коннекторе.
Подача логической единицы на эти контакты разрешает вращение двигателей, а логический ноль — запрещает.
Можно подключить к ШИМ-выходу для управления скоростью двигателя постоянного тока. В рамках данной теми рассмотрим также подключение драйвера LN к плате Arduino.
Теперь испробуем простую программу, написанную на Python, которая поможет понять принцип управления электродвигателем постоянного тока.
В таком случае на разъём подаётся только питание для двигателей Vss , контакт Vs остаётся не подключенным, а на плате устанавливается перемычка питания от стабилизатора, который ограничит питающее моторы напряжение до приемлемых 5V.
Шаговый двигатель. Micro Step Driver. PLC Omron. Подключение,программирование. (Часть 1)
Микросхема L298N
Motor Shield разработан на базе микросхемы LN. Их необходимо устанавливать в обвязку микросхемы дополнительно.
Разъём для подачи питания и работа стабилизатора.
LOW Включаем вращение двигателя 1 в одну сторону.
Направление вращения будет задаваться по-прежнему, а вот для остановки в данном варианте, состояние выводов будет уже играть роль. Однако, связка «Ардуино — шаговый двигатель» требует дополнительный элемент — драйвер.
Для изменения скорости вращения щёточных моторов на эти контакты подаётся ШИМ-сигнал.
Для изменения скорости вращения щёточных моторов на эти контакты подаётся ШИМ-сигнал.
Аналогично первому скрипту, программу можно сохранить в тот же файл или в новый отдельно созданный.
Шаговый двигатель БЕЗ ДРАЙВЕРА!
Подключение модуля L298N
GND — земля. Зажимы, куда подключать моторы Следует отметить, что клеммный зажим с тремя выводами не только подводит к плате питающее напряжение, но и позволяет получить его уже преобразованное для собственных нужд драйвера величиной в 5В, как показано на рисунке выше.
Остановить их вращение можно подачей сигнала LOW на те же указанные выше пины. На схеме ниже приведен пример распределения выводов LN от рабочей микросхемы.
HIGH time. Мы использовали танковую платформу, учитывая что мотор крутит редуктор и гусеницы, то для его запуска требуется приличный ток.
В приведенном ниже скетче два мотора будут вращаться в обе стороны с плавным нарастанием скорости. Схема соединения Напряжение питания двигателей ниже 12 вольт, значит джампер 3 установлен, джамперы 1 и 2 на контактах ENA и ENB сняты.
Нет так давно мы рассматривали алгоритм сборки ЧПУ своими руками , где затрагивалась тема управления шаговыми двигателями, ведь именно они позволяют просто и точно спозиционировать фрезу в заданной точке. В виду сложности подбора транзисторов и подключения их в схему Н-моста, гораздо проще использовать уже существующие драйвера, имеющие такую функцию. Всё это приведёт к вращению мотора в определённом направлении. Блок клемм 3 отвечает за подключение питания двигателей.
Подключение L298N к плате Arduino
Причем некоторые пины должны поддерживать ШИМ-модуляцию. При этом есть возможность изменять скорость и направление вращения моторов. В данном примере рассматривается мост собранный на полупроводниках.
Иначе, при задании движения, например, по часовой стрелке, один из них будет вращаться в противоположном направлении. Подключение биполярного шагового двигателя к модулю L для управления через Raspberry Pi.
HIGH ждем 5 секунд. Типы шаговых двигателей: биполярный, униполярный, с четырьмя обмотками.
ШАГОВЫЙ ДВИГАТЕЛЬ ПРОСТОЙ ДРАЙВЕР ДЛЯ НЕГО
L298N, Arduino и двигатель постоянного тока
Активный — доступно не просто включение и отключение вращения мотора, но и управление его скоростью.
Максимально допустимый ток для одного канала платы составляет 2А. В виду сложности подбора транзисторов и подключения их в схему Н-моста, гораздо проще использовать уже существующие драйвера, имеющие такую функцию.
При напряжении питания свыше 12V, без опаски подвеем нужное напряжение на данный вывод, но не забываем снять джампер. Иначе, при задании движения, например, по часовой стрелке, один из них будет вращаться в противоположном направлении. Управление может быть реализовано в активном или пассивном режимах.
Подключение двигателя производится к винтовым клеммным зажимам — по паре для питания каждого моторчика. Активный режим. Потенциометр кОм.
В виду сложности подбора транзисторов и подключения их в схему Н-моста, гораздо проще использовать уже существующие драйвера, имеющие такую функцию. Управление осуществляется путём подачи соответствующих сигналов на командные входы, выполненные в виде штыревых контактов.
Позволяет управлять двумя моторами постоянного тока, либо одним шаговым двигателем. Ниже приведен более сложный и функциональный пример программы, которая будет взаимодействовать с пользователем и позволит интерактивно управлять двумя электродвигателями. Максимальное напряжение питания постоянным током 35 вольт. Заставим моторчик вращаться «вправо» 4 секунды, остановиться на 0.
Применяя схему Н-моста для управления работой двигателя постоянного тока, вы сможете реализовать полный набор операций для электрической машины без необходимости переподключения ее выводов. Если джампер одет, то реализуется логика «пассивного» управления. После этого подключите источник питания. Активный режим.
Важно чтобы в данном примере кода соблюдались отступы, об этом я уже писал раньше вот тут. Видео-демонстрация работы шагового двигателя: Заключение Надеюсь вы получили ответ на вопрос «что такое H-мост и как он работает», из экспериментов должно быть понятно как применять драйвер на микросхеме L и подключать к нему разные движки. В виду сложности подбора транзисторов и подключения их в схему Н-моста, гораздо проще использовать уже существующие драйвера, имеющие такую функцию. LOW Выходим из редактора и сохраняем файл.
Шаговый Двигатель Без Драйвера — Stepper Motor Run Without Driver