Драйвер шагового двигателя и двигателя постоянного тока L298N и Arduino
Модуль L298N H-bridge можно использовать для двигателей, напряжение питания которых находится в диапазоне от 5 до 35 вольт.
Кроме того, на многих подобных платах есть встроенный 5В регулятор, который дает возможность запитывать ваши устройства.
Подключение модуля L298N
Прежде чем перейти к управлению двигателем постоянного тока и шаговым двигателем, разберемся с подключением модуля L298N (даташит, техническая информация от производителя).
Ссылки для заказа необходимого оборудования из Китая
- КУПИТЬ цифровой датчик температуры DS18B20;
- КУПИТЬ Arduino Uno R3;
Ниже приведены разъяснения к рисунку.
- Для двигателя постоянного тока 1 “+” или для шагового двигателя A+
- Для двигателя постоянного тока 1 “-” или для шагового двигателя A-
- Коннектор на 12 вольт. Снимите его, если используете напряжение питания больше 12 вольт.
- Питания вашего двигателя обеспечивается с этого выхода. Максимальное напряжение питания постоянным током 35 вольт. Если напряжение больше 12 вольт, разомкните контакты на 3 коннекторе.
- GND — земля.
- Питание 5 вольт, если коннектор на 12 вольт замкнут. Идеально для питания Arduino и т.п.
- Коннектор для двигателя постоянного тока 1. Можно подключить к ШИМ-выходу для управления скоростью двигателя постоянного тока.
- IN1.
- IN2.
- IN3.
- IN4.
- Коннектор для двигателя постоянного тока 2. В случае использования шагового двигателя, подключать сюда ничего не надо. Можно подключить к ШИМ-выходу для управления скоростью двигателя постоянного тока.
- Двигатель постоянного тока 2 “+” или шаговый двигатель B+.
- Двигатель постоянного тока 2 “-” или шаговый двигатель B-.
L298N, Arduino и двигатель постоянного тока
Данный модуль дает возможность управлять одним или двумя двигателями постоянного тока. Для начала, подключите двигатели к пинам A и B на контроллере L298N.
Если вы используете в проекте несколько двигателей, убедитесь, что у них выдержана одинаковая полярность при подключении. Иначе, при задании движения, например, по часовой стрелке, один из них будет вращаться в противоположном направлении. Поверьте, с точки зрения программирования Arduino это неудобно.
После этого подключите источник питания. Плюс — к четвертому пину на L298N, минус (GND) — к 5 пину. Если ваш источник питания до 12 вольт, коннектор, отмеченный 3 на рисунке выше, можно оставить. При этом будет возможность использовать 5 вольтовый пин 6 с модуля.
Данный пин можно использовать для питания Arduino. При этом не забудьте подключить пин GND с микроконтроллера к 5 пину на L298N для замыкания цепи. Теперь вам понадобится 6 цифровых пинов на Arduino. Причем некоторые пины должны поддерживать ШИМ-модуляцию.
ШИМ-пины обозначены знаком “
” рядом с порядковым номером.
Теперь подключите цифровые пины Arduino к драйверу. В нашем примере два двигателя постоянного тока, так что цифровые пины D9, D8, D7 и D6 будут подключены к пинам IN1, IN2, IN3 и IN4 соответственно. После этого подключите пин D10 к пину 7 на L298N (предварительно убрав коннектор) и D5 к пину 12 (опять таки, убрав коннектор).
Направление вращения ротора двигателя управляется сигналами HIGH или LOW на каждый привод (или канал). Например, для первого мотора, HIGH на IN1 и LOW на IN2 обеспечит вращение в одном направлении, а LOW и HIGH заставит вращаться в противоположную сторону.
При этом двигатели не будут вращаться, пока не будет сигнала HIGH на пине 7 для первого двигателя или на 12 пине для второго. Остановить их вращение можно подачей сигнала LOW на те же указанные выше пины. Для управления скоростью вращения используется ШИМ-сигнал.
Скетч приведенный ниже, отрабатывает в соответствии со схемой подключения, которую мы рассматривали выше. Двигатели постоянного тока и Arduino питаются от внешнего источника питания.
// подключите пины контроллера к цифровым пинам Arduino
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
Драйвер RKP-MDL298-01A-V2 двухканальный на L298N
Статья о двухканальном драйвере моторов RKP-MDL298-01A-V2 на микросхеме L298N. Подключение к Ардуино, подключение DC-моторов, примеры программного кода.
Драйвер моторов на базе микросхемы L298N позволяет управлять двумя моторами постоянного тока либо шаговым двигателем с потребляемым током до 2 Ампер.
В отличии от микросхемы L293D, в микросхеме L298N не встроены защитные диоды, их необходимо устанавливать в обвязку микросхемы дополнительно (8 штук по бокам).
По функционалу микросхема L298N полностью идентична микросхеме L293D. Мы видим те же управляющие выводы. Чередование разноименных сигналов (высокий логический уровень или низкий) на парах выводов IN1, IN2 и IN3, IN4 задают направление вращения моторов.
Выводы ENABLE A, B (ENA привязан к IN1, IN2. ENB к IN3, IN4) отвечают за раздельное управление каналами.
Могут использоваться в двух режимах:
Условно «активном» режиме, когда ими будет управлять контроллер (рис. 1) — высокий логический уровень разрешает вращение моторов, низкий запрещает вне зависимости от состояния выводов «IN». Для регулировки скорости моторов, на «EN» выводы подается ШИМ (PWM) сигнал.
Условно «пассивном» режиме, просто притянув выводы «EN» к высокому уровню (+5V). Для этого на плате, рядом с выводами ENA и ENB находятся штырьки, соединенные с +5V. Замыкаем выводы с помощью джамперов (рис. 2). В данном режиме мы не сможем регулировать скорость двигателей, они будут всегда вращаться в полную скорость (за то для управления экономится 2 вывода контроллера). Направление вращения будет задаваться по-прежнему, а вот для остановки в данном варианте, состояние выводов будет уже играть роль. Для остановки нужно будет подавать одноименные сигналы на выводы «IN».
В программных кодах в продолжении статьи все будет прокомментировано.
Клеммник подачи питания и работа стабилизатора.
Разъем “+12V” предназначен для подачи питания на моторы и одновременно, при одетом джампере, подает питание на стабилизатор, который выдает +5V для питания логики драйвера.
Выходит, при таком варианте, не нужно тянуть лишний провод на разъем +5V.
Маркировка именно “+12V” связана с тем, что напряжение питания моторов может лежать в диапазоне от 5V до 35V, в то время как максимальное входное напряжение стабилизатора 12V. То есть, при одетом джампере, подача свыше 12V может спалить стабилизатор.
Как мы уже поняли, маркировка “+12V” носит предупредительно-информативный характер.
При напряжении питания свыше 12V, без опаски подвеем нужное напряжение на данный вывод, но не забываем снять джампер.
Теперь напряжение не поступает на стабилизатор и не сможет повредить его, но теперь необходимо подать внешнее +5V.
Подключение моторов к модулю драйвера моторов на L298N
Начнем с подключения одного мотора, с притянутым к +5V выводом ENB.
Заставим моторчик вращаться «вправо» 4 секунды, остановиться на 0.5 секунды, вращаться «влево» 4 секунды, остановка 5 секунд и снова цикл повторяется.
Пример программного кода
В данном примере мы подсоединили ENB к выводу ШИМ (D3), и задействуем возможность драйвера управлять скоростью, меняя скважность посылаемого ШИМ сигнала. Значения скважности задаются функцией analogWrite (pin, число) , где число изменяется от 0 до 255, прямо пропорционально скважности сигнала. Для наглядности, подобраны четыре значения, при которых двигатель стартует с низких оборотов, набирает средние, выходит на максимальные и не вращается.
Пример программного кода
Ну и напоследок подключим два двигателя с регулировкой скорости.
В приведенном ниже скетче два мотора будут вращаться в обе стороны с плавным нарастанием скорости.