Как правильно подключить драйвер L298N к Arduino. Какие схемы подключения существуют. Какие особенности питания нужно учитывать. Как избежать ошибок при подключении.
Что такое драйвер L298N и для чего он используется
Драйвер L298N — это популярный модуль для управления электродвигателями постоянного тока, который часто используется в робототехнических проектах с Arduino. Он позволяет контролировать скорость и направление вращения двух моторов одновременно.
Основные характеристики драйвера L298N:
- Управление двумя DC моторами или одним шаговым двигателем
- Рабочее напряжение логики: 5В
- Рабочее напряжение двигателей: 5-35В
- Максимальный ток: 2А на канал
- Пиковый ток: 3А (кратковременно)
Схемы подключения L298N к Arduino
Существует несколько вариантов подключения драйвера L298N к Arduino. Рассмотрим три наиболее распространенные схемы:
Схема 1: Питание Arduino от Vin драйвера
В этой схеме Arduino получает питание через вывод Vin от 5В выхода драйвера:
- 5В выход драйвера подключен к Vin Arduino
- GND драйвера подключен к GND Arduino
- Управляющие выводы подключены к цифровым пинам Arduino
Схема 2: Питание Arduino от 5V вывода драйвера
В этом варианте Arduino запитывается напрямую от 5В выхода драйвера:
- 5В выход драйвера подключен к 5V пину Arduino
- GND драйвера подключен к GND Arduino
- Управляющие выводы подключены к цифровым пинам Arduino
Схема 3: Раздельное питание Arduino и драйвера
При таком подключении Arduino и драйвер имеют независимые источники питания:
- Arduino питается через USB или внешний источник
- Драйвер питается от отдельного источника
- GND Arduino и драйвера соединены
- Управляющие выводы подключены к цифровым пинам Arduino
Особенности питания Arduino при подключении L298N
При подключении драйвера L298N к Arduino важно учитывать следующие особенности питания:
- Вывод Vin Arduino рассчитан на входное напряжение 7-12В
- Подача 5В на Vin может быть небезопасна, так как обходит встроенный регулятор напряжения
- Вывод 5V Arduino предназначен для вывода стабилизированного напряжения 5В, а не для подачи питания
- Питание Arduino через USB обеспечивает 5В, но с ограниченным током до 500мА
Какую схему подключения выбрать?
Выбор оптимальной схемы подключения зависит от конкретного проекта. Давайте разберем плюсы и минусы каждого варианта:
Схема 1 (питание через Vin)
Плюсы:
- Простота подключения
- Один источник питания для всей системы
Минусы:
- Возможны проблемы при подаче 5В на Vin
- Ограничение по току для Arduino
Схема 2 (питание через 5V)
Плюсы:
- Стабильное питание Arduino
- Простота подключения
Минусы:
- Нагрузка на стабилизатор драйвера
- Возможны проблемы при большом потреблении Arduino
Схема 3 (раздельное питание)
Плюсы:
- Надежность и стабильность работы
- Возможность использования разных напряжений
Минусы:
- Необходимость второго источника питания
- Более сложное подключение
Как избежать ошибок при подключении L298N к Arduino?
Чтобы избежать проблем при подключении драйвера L298N к Arduino, следуйте этим рекомендациям:
- Внимательно изучите документацию на драйвер и Arduino
- Проверьте соответствие напряжений и токов всех компонентов
- Используйте качественные провода подходящего сечения
- Соблюдайте полярность при подключении
- Начните с малых нагрузок и постепенно увеличивайте их
Программирование Arduino для работы с L298N
После правильного подключения драйвера L298N к Arduino необходимо написать программу для управления двигателями. Вот пример простого кода для управления двумя моторами:
«`cpp // Определение пинов для управления двигателями const int ENA = 10; const int IN1 = 9; const int IN2 = 8; const int ENB = 5; const int IN3 = 7; const int IN4 = 6; void setup() { // Настройка пинов как выходов pinMode(ENA, OUTPUT); pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(ENB, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); } void loop() { // Вращение первого мотора вперед digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); analogWrite(ENA, 200); // Скорость от 0 до 255 // Вращение второго мотора назад digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH); analogWrite(ENB, 150); // Скорость от 0 до 255 delay(2000); // Пауза 2 секунды // Остановка моторов digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); digitalWrite(IN3, LOW); digitalWrite(IN4, LOW); delay(1000); // Пауза 1 секунда } «`
Этот код демонстрирует базовое управление двигателями через драйвер L298N. Вы можете модифицировать его под свои конкретные задачи.
Возможные проблемы и их решение
При работе с драйвером L298N и Arduino могут возникнуть следующие проблемы:
- Двигатели не вращаются: проверьте подключение и напряжение питания
- Arduino перезагружается: убедитесь в достаточной мощности источника питания
- Нестабильная работа: проверьте качество соединений и уровень помех
- Перегрев драйвера: уменьшите нагрузку или добавьте охлаждение
Большинство проблем решается проверкой подключения, корректировкой питания или изменением программного кода.
Заключение
Подключение драйвера L298N к Arduino открывает широкие возможности для создания подвижных робототехнических проектов. Правильный выбор схемы подключения и внимательность при монтаже обеспечат надежную работу вашего устройства.
Экспериментируйте с различными конфигурациями, но всегда соблюдайте меры предосторожности и следуйте рекомендациям производителей компонентов. Удачи в ваших проектах!
Подключение DC электромоторов к Raspberry Pi через драйвер L298N
Если вы захотите собрать робота на колёсах, то столкнётесь с необходимостью изучения принципов работы управляющего электромоторами драйвера. Самый простой, недорогой и распространённый драйвер — L298N . Он может управлять скоростью и направлением вращения электромоторов
Управление электромотором подразумевает под собой управление скоростью и направлением его вращения. Это достигается сочетанием двух методов:
- ШИМ (широтно-импульсная модуляция) для управления скоростью вращения
- H-Bridge — для управления направлением вращения
Скорость вращения мотора регулируется через изменение уровня подаваемого на него напряжения.
ШИМ это методика, суть которой состоит в том, что среднее значение напряжение на входе регулируется серией импульсов ВКЛ-ВЫКЛ, т. е быстрыми включениями и выключениями подачи напряжения питания к двигателю.
Средняя величина напряжения будет пропорциональна коэффициенту заполнения (ширине) импульса — чем больше коэффициент, тем выше напряжение, и наоборот.
Эта картинка иллюстрирует данную зависимость:
Направление вращения регулируется сменой полярности входного напряжения. Стандартным способом реализации такой смены является H-Bridge
В электрической цепи (которая визуально напоминает букву Н) H-Bridge присутствуют 4 ключа с мотором в центре этой цепи.
Полярность входного напряжения на моторе будет зависить от того, какая пара ключей замыкает цепь в настоящий момент. Вот так это выглядит:
Основой этого модуля является чёрный чип с радиатором. L298N является двухканальным драйвером, и следовательно может независимо управлять двумя электромоторами. Поэтому данный драйвер хорошо подходит для использования в двухколёсных роботах, поворот которых осуществляется за счёт разницы в скорости вращения правого и левого колеса.
Питание к L298N подаётся через трёхконтактный (1 контакт Vs — питание, которое будет подаваться через драйвер на моторы; 2 контакт GND — земля; 3 контакт Vss — питание 5V для управляющего драйвером устройства, в качестве которого может выступать микроконтролер или Raspberry Pi) зажимной терминальный разъём (провода вставляются в разъём и зажимаются вращением винта на разъёме).
L298N имеет также встроенный стабилизатор (78M05) напряжения до 5V. Когда установлен джампер, то этот стабилизатор работает и с контакта Vss можно снимать 5V 0.5А для питания управляющего драйвером устройства. Когда джампер снят, то стабилизатор выключен, а значит нам нужно питатьуправляющее драйвером устройство от независимого источника питания.
Использование джампера запрещено, при подаче на 1-ый контакт (Vs) напряжения, превышающего 12В. Это может привести к выходу из строя стабилизатора78M05 .
Если джампер установлен, то контакт Vss работает как выход . Подавать на него напряжение извне в этом случае запрещено
Падение напряжение на драйвере может достигать 2В, за счёт падения напряжения на транзисторах Н-Моста. Таким образом, при подаче на контакт Vs 12В до электромоторов дойдёт только 10В, а значит они не смогут выйти на максимум своих оборотов (естественно речь идёт о 12-ти вольтовых DC электромоторах). Таким образом напряжение, подаваемое на контакт Vss должно быть на 2V выше напряжения работы электромотора (14В для 12-ти вольтовых моторов, 7В для пятивольтовых соответственно)
Электромоторы подключаются к зажимным контактам по краям платы.
Можно подключать электромоторы, рассчитанные на напряжение 5-35V. Максимальный ток от драйвера к каждому мотору — 2А (если источник питания драйвера умеет отдавать столько тока)
Используя контакты IN1-IN4, можно менять направление вращения электромоторов (различные уровни напряжения на этих контактах приводят к замыканию нужных пар ключей Н-Моста драйвера L298N) — по часовой стрелке или в обратном направлении.
Контакты IN1 IN2 управляют направлением вращение первого электоромотора (А), IN3 IN4 — второго электромотора (В) Направление вращения моторов зависит от того, какой уровень напряжения (высокий или низкий) подаётся на эти контакты.
Возможно 4 варианта:
- Низкий уровень напряжения на обоих контактах — мотор выключен
- Высокий уровень напряжения на обоих контактах — мотор выключен
- In1 высокий уровень, In2 низкий уровень — мотор вращается вперёд
- Ln1 низкий уровень, In 2 высокий уровень — мотор вращается назад
Для управления скоростью вращения моторов используется контакты ENA (мотор А), ENB(мотор В)
Низкий уровень — мотор отключен, высокий уровень — мотор работает на максимальных оборотах, ШИМ — различная скорость вращения в зависимости от коэффициента заполнения импульсов. По умолчанию на этих контактах установлены джамперы, их следует снять, если вы хотите управлять оборотами.
Теперь, когда мы хорошо знакомы с драйвером L298N, можно подключить к нему питание, моторы и Raspberry Pi
Raspberry Pi я запитал через 5V внешний аккумулятор PowerBank. Поскольку у меня не было аккумулятора на 12V драйвер L298N я запитал от того же внешнего аккумулятора, вставив в него повышающий DC/DC преобразователь
В следующей статье рассмотрим программирование двухколёсного робота с драйвером L298N
L298n Схема Подключения — tokzamer.ru
В данной же статье мы рассмотрим драйвер двигателей базе микросхемы LN собранный на платке в виде модуля.
Микросхема L298N
Подключение модуля L298N
GND — земля. Зажимы, куда подключать моторы Следует отметить, что клеммный зажим с тремя выводами не только подводит к плате питающее напряжение, но и позволяет получить его уже преобразованное для собственных нужд драйвера величиной в 5В, как показано на рисунке выше.
Остановить их вращение можно подачей сигнала LOW на те же указанные выше пины. На схеме ниже приведен пример распределения выводов LN от рабочей микросхемы.
HIGH time. Мы использовали танковую платформу, учитывая что мотор крутит редуктор и гусеницы, то для его запуска требуется приличный ток.
В приведенном ниже скетче два мотора будут вращаться в обе стороны с плавным нарастанием скорости. Схема соединения Напряжение питания двигателей ниже 12 вольт, значит джампер 3 установлен, джамперы 1 и 2 на контактах ENA и ENB сняты.
Нет так давно мы рассматривали алгоритм сборки ЧПУ своими руками , где затрагивалась тема управления шаговыми двигателями, ведь именно они позволяют просто и точно спозиционировать фрезу в заданной точке. В виду сложности подбора транзисторов и подключения их в схему Н-моста, гораздо проще использовать уже существующие драйвера, имеющие такую функцию. Всё это приведёт к вращению мотора в определённом направлении. Блок клемм 3 отвечает за подключение питания двигателей.
Подключение L298N к плате Arduino
Причем некоторые пины должны поддерживать ШИМ-модуляцию. При этом есть возможность изменять скорость и направление вращения моторов. В данном примере рассматривается мост собранный на полупроводниках.
Иначе, при задании движения, например, по часовой стрелке, один из них будет вращаться в противоположном направлении. Подключение биполярного шагового двигателя к модулю L для управления через Raspberry Pi.
L298N, Arduino и двигатель постоянного тока
Активный — доступно не просто включение и отключение вращения мотора, но и управление его скоростью.
Максимально допустимый ток для одного канала платы составляет 2А. В виду сложности подбора транзисторов и подключения их в схему Н-моста, гораздо проще использовать уже существующие драйвера, имеющие такую функцию.
При напряжении питания свыше 12V, без опаски подвеем нужное напряжение на данный вывод, но не забываем снять джампер. Иначе, при задании движения, например, по часовой стрелке, один из них будет вращаться в противоположном направлении. Управление может быть реализовано в активном или пассивном режимах.
Подключение двигателя производится к винтовым клеммным зажимам — по паре для питания каждого моторчика. Активный режим. Потенциометр кОм.
В виду сложности подбора транзисторов и подключения их в схему Н-моста, гораздо проще использовать уже существующие драйвера, имеющие такую функцию. Управление осуществляется путём подачи соответствующих сигналов на командные входы, выполненные в виде штыревых контактов.
Позволяет управлять двумя моторами постоянного тока, либо одним шаговым двигателем. Ниже приведен более сложный и функциональный пример программы, которая будет взаимодействовать с пользователем и позволит интерактивно управлять двумя электродвигателями. Максимальное напряжение питания постоянным током 35 вольт. Заставим моторчик вращаться «вправо» 4 секунды, остановиться на 0.
Применяя схему Н-моста для управления работой двигателя постоянного тока, вы сможете реализовать полный набор операций для электрической машины без необходимости переподключения ее выводов. Если джампер одет, то реализуется логика «пассивного» управления. После этого подключите источник питания. Активный режим.
Использование модуля L298N с Arduino • AranaCorp
Теги: Arduino, Двигатели постоянного токаМодуль L298N представляет собой макетную плату на основе интегральной схемы L298N, позволяющую управлять двигателем постоянного тока или шаговым двигателем. Мы уже видели использование Н-моста. Его можно найти как удобный модуль для использования с различными характеристиками в зависимости от используемых компонентов. В этом уроке мы увидим использование модуля L298N с микроконтроллером Arduino.
Материал
- Компьютер
- Arduino UNO (или другой микроконтроллер)
- Кабель USB A Male/B Male
- Модуль L298N
Принцип работы
Модуль L298N основан на интегрированном схема с таким же названием. Схема L298N представляет собой двойной Н-мост, позволяющий изменять направление и силу напряжения на клеммах двух электрических нагрузок.
Характеристики модуля L298N:
- Управление двигателем с номинальным напряжением от 5 до 35В
- Максимальный ток 2 А (пик)
- Допустимое напряжение 5 В на входных контактах
Схема подключения
Модуль L298N питается от внешнего источника напряжения. Каждый полумост требует 3 выходных контакта микроконтроллера.
- GND Заземление интегральной схемы, подключенное к заземлению микроконтроллера и к заземлению источника питания
- Включение ENA двигателя M1, подключенное к контакту 2
- Вход 1, направление вперед двигателя M1, подключенное к контакту 3
- Вход 2, заднее направление двигателя M1, подключен к контакту 5
- Включение ENB двигателя M2, подключен к контакту 4
- Вход 3, направление движения вперед, двигатель M2, подключен к контакту 6
- Вход 4, направление вращения двигателя, заднее направление M2, подключен к контакту 9
На некоторых моделях этого модуля можно добавить две перемычки для прямого подключения контактов включения (ENA и ENB) к 5В. Это позволяет всегда активировать Н-мост и сохранить два выхода микроконтроллера
Модуль L29Код управления 8N
Чтобы использовать модуль L298N, вы должны активировать H-мост, подав напряжение 5 В на контакт EN. Затем отправьте сигнал PWM на контакт Forward (Input1/4) или Reverse (Input2/3), чтобы контролировать направление и скорость вращения. Прямое или обратное направление вращения зависит от направления подключения двигателя.
//Константы # определить nbL298N 2 //Параметры const int enaL298NPin[2] = {2, 4}; const int fwdL298NPin[2] = {3, 5}; const int bwdL298NPin[2] = {6, 9}; //Переменные инт Сила = 200; недействительная установка () { //Инициализация последовательного USB Серийный номер .begin(9600); Серийный номер .println(F("Инициализировать систему")); // Запустить двигатель постоянного тока for (int i = 0; i < nbL298N; i++) { pinMode(fwdL298NPin[i], ВЫВОД); pinMode(bwdL298NPin[i], ВЫВОД); pinMode(enaL298NPin[i], ВЫВОД); } } недействительный цикл () { тестL298N(); } void testL298N() { /* функция testL298N */ ////Сценарий тестирования H-Bridge for (int i = 0; i < nbL298N; i++) { цифровая запись (enaL298NPin[i], ВЫСОКИЙ); AnalogWrite(bwdL298NPin[i], 0); for (int j = 0; j <= Power; j = j + 10) { аналоговая запись (fwdL298NPin [i], j); задержка(20); } for (int j = Power; j >= 0; j = j - 10) { аналоговая запись (fwdL298NPin [i], j); задержка(20); } задержка(2000); } }
Результат
После загрузки кода вы должны увидеть, как двигатели вращаются в одну, а затем в другую сторону.
Применение
- Управление скоростью и направлением вращения двух двигателей постоянного тока или одного шагового двигателя
Источники
- L298N Технический паспорт
Учебные пособия и другие примеры по коду
Программирование 900 03
Насколько полезен был этот пост?
Нажмите на звездочку, чтобы оценить!
Средняя оценка 3 / 5. Всего голосов: 2
Голосов пока нет! Будьте первым, кто оценит этот пост.
Сожалеем, что этот пост не был вам полезен!
Давайте улучшим этот пост!
Расскажите, как мы можем улучшить этот пост?
контактов — Как запитать Arduino Uno от клеммы 5v драйвера двигателя L298N?
спросил
Изменено 4 месяца назад
Просмотрено 3к раз
Я пытаюсь настроить контроллер драйвера двигателя L298N с помощью Arduino. Различные онлайн-схемы о том, как их подключить, в основном похожи, но они отличаются питанием Arduino от 5-вольтового контакта контроллера привода.
Я подключаю 7,5 В к Vin и Gnd к винтовой клемме контроллера драйвера двигателя, и я хочу, чтобы Arduino питался от винтовой клеммы 5 В. Поскольку я планирую использовать винтовую клемму 5 В в качестве выхода, я решил оставить перемычку 5 В включенной.
Вот 3 схемы, которые я нашел в Интернете,
- Источник Самодельные схемы:
Это то, что я ожидал увидеть. Но из Arduino Uno Rev3 Faq,
Vin -- Входное напряжение платы Arduino, когда она использует внешний источник питания (в отличие от 5 вольт от USB-соединения или другого регулируемого источника питания). Вы можете подавать напряжение через этот контакт, или, при подаче напряжения через разъем питания, получить доступ к нему через этот контакт. 5V -- Этот контакт выводит регулируемое напряжение 5 В от регулятора на плате. Плата может быть снабжена питанием либо от разъема питания постоянного тока (7–12 В), разъема USB (5 В) или контакта VIN на плате (7–12 В). Подача напряжения через контакты 5 В или 3,3 В обходит регулятор и может повредить вашу плату. Мы не советуем.
Мне это кажется неправильным. Я предполагаю, что контакт Vin ожидает 7-12 В, потому что он подключен к регулятору напряжения, который вызовет падение на 2 В. Это означает, что я не должен подключать 5 В от контроллера двигателя к Vin, что делает эту схему неправильной. Верен ли мой анализ? Вот ответ, в котором говорится, что я не могу использовать вывод 5 В для питания Arduino, поскольку он является входным, а не выходным.
- Источник teachmemicro:
Этот выглядит нормально , поскольку источник 5 В на контроллере двигателя является регулируемым источником, и именно этого Arduino ожидает от контакта 5 В на основе вышеупомянутого FAQ. Могу ли я реализовать это безопасно?
- Исходные инструкции:
Не знаю правильно это или нет. Обратите внимание, что винтовая клемма 5 В никак не связана с Arduino. Настройка будет работать? Мне интересно, откуда Arduino получает питание?
Мне интересно, какой схеме мне следовать. Я не решаюсь подключить свой L29Драйвер двигателя 8N и Arduino, не понимая, почему каждая схема выбирает питание Arduino по-разному.
- arduino-uno
- контакты
- l298n
Очевидно, что ваш дизайн (последнее изображение) не будет работать, потому что, как вы и ожидали, Arduino не будет иметь питания. Однако это осуществимый дизайн, если вы используете его во время разработки и у вас есть подключенный USB-кабель. Потому что тогда Arduino будет черпать оттуда питание для себя.
Вин ожидает 7-12В, но допускает нерегулируемый вход (что нормально для подключения аккумулятора). Вы также можете использовать контакт 5V для подачи питания от регулируемого выхода. Поскольку (предположительно) выход драйвера двигателя регулируется, это может сработать, однако я бы не советовал так и напрямую подключать аккумулятор к выводу VIn.