Каталог
Нет в наличии
Предзаказ
Хит
Предзаказ

Драйвер моторов L298N

(0)
(0)
Добавить в сравнение
Характеристики
Тип:
Модули
Страна производства:
Китай
Название модели:
m1038
Страна производитель:
Китай
Вес, кг:
0,01
Цвет:
Отсутсвует
Производитель:
Shenzhen Electronics Co., Ltd
Все характеристики
Нет в наличии
Выбрать
    Описание
    Характеристики
    Отзывы
    Описание

    Драйвер L298N используется радиолюбителями для многофункционального управления двигателями постоянного тока. Схема модуля, состоящая из двух H-мостов, позволяет подключать к нему один биполярный шаговый двигатель или одновременно два щёточных двигателя постоянного тока. При этом есть возможность изменять скорость и направление вращения моторов. Управление осуществляется путём подачи соответствующих сигналов на командные входы, выполненные в виде штыревых контактов. На рисунке №1 показан внешний вид модуля с кратким описанием всех его составляющих. Рисунок №1 – внешний вид модуля L298N OUT1 и OUT2 – разъёмы для подключения первого щёточного двигателя или первой обмотки шагового двигателя; OUT3 и OUT4 – разъёмы для подключения второго щёточного двигателя или второй обмотки шагового двигателя; VSS – вход для питания двигателей (максимальный уровень +35V); GND – общий провод (не забываем соединить с аналогичным входом Arduino!!!); Vs – вход для питания логики +5V. Через него непосредственно запитывается сама микросхема L298N. Есть ещё второй способ питания, при котором 5V для L298N берётся от встроенного в модуль стабилизатора напряжения. В таком случае на разъём подаётся только питание для двигателей (Vss), контакт Vs остаётся не подключенным, а на плате устанавливается перемычка питания от стабилизатора, который ограничит питающее моторы напряжение до приемлемых 5V. IN1, IN2 – контакты управления первым щёточным двигателем или первой обмоткой шагового двигателя. IN3, IN4 – контакты управления вторым щёточным двигателем или второй обмоткой шагового двигателя. ENA, ENB – контакты для активации/деактивации первого и второго двигателей или соответствующих обмоток ШД. Подача логической единицы на эти контакты разрешает вращение двигателей, а логический ноль – запрещает. Для изменения скорости вращения щёточных моторов на эти контакты подаётся ШИМ-сигнал. Для работы с шаговым двигателям, как правило, на эти контакты ставят перемычки, обеспечивающие постоянную подтяжку к +5V. На рисунке №2 показана электрическая схема модуля L298N. Рисунок №2 – электрическая схема модуля L298NКак видно из вышеприведенной схемы, основным элементом модуля является микросхема L298N, в состав которой входят два полноценных H-моста. Каждый H-мост выполнен в виде сборки из четырёх транзисторных ключей с включённой в центре нагрузкой в виде обмотки двигателя. Такой подход позволяет менять полярность в обмотке и как следствие направление вращения двигателя путём чередования пар открытых и закрытых ключей. Более наглядно этот процесс демонстрирует рисунок №3. Рисунок №3 – транзисторные мосты Н-типаНа рисунке изображены два транзисторных моста Н-типа. В первом случае на вход IN1 подаётся логическая единица, а на вход IN2 – логический ноль. Так как транзисторы в схеме моста имеют разный тип проводимости, то при таком входном сигнале транзисторы Т1 и Т4 останутся в закрытом состоянии, в то время, как через транзисторы Т2 и Т3 потечёт ток. Ввиду того, что единственный путь протекания тока лежит через обмотку двигателя, то последний окажется подключен правой клеммой к плюсу питания, а левой к минусу. Всё это приведёт к вращению мотора в определённом направлении. Абсолютно противоположная картина показана на нижнем рисунке. Здесь IN3 установлен в логический ноль, а IN4 в логическую единицу. Теперь ток течёт в обратном направлении (левая клемма – плюс, правая – минус), заставляя второй двигатель крутиться в противоположную сторону. Технические характеристики Напряжение питания логики: 5V; Потребляемый логикой ток: 36mA; Напряжение питания моторов: от 5V до 35V; Рабочий ток драйвера: 2А; Пиковый ток драйвера 3А; Максимальная мощность: 20Вт (при температуре 75оС); Диапазон рабочих температур: -25оС…+135оС; Размеры модуля: 43.5 мм х 43.2мм х 29.4мм; Подключение L298N к плате Arduino Работать с модулем L298N довольно просто и комфортно. Здесь не придётся изучать тонны литературы с описанием замороченных протоколов. Все сводится к простому переключению логических уровней на выводах Arduino плюс к генерации ШИМ, если требуется управлять скоростью вращения. Так как драйвер способен управлять двумя типами моторов (щёточным или шаговым), то и работа с ним строится по-разному. Рассмотрим для начала подключение обычных щёточных моторов постоянного тока и управление ими с помощью платы Arduino Nano. На рисунке №4 показана соответствующая схема подключения. Рисунок №4 – схема подключения двух щёточных двигателей постоянного токаСледует обратить внимание, что в схеме предусмотрена возможность управления скоростью вращения, поэтому выводы ENA и ENB драйвера подключены к пинам Arduino, способным выдавать ШИМ-сигнал. Arduino питается от отдельного источника 7-12В. Если напряжение питания моторов лежит в этом же диапазоне, то можно объединить питающие цепи в одну общую. Также необходимо следить за тем, чтобы минусовые провода всех элементов схемы были соединены между собой. Для демонстрации возможностей модуля, напишем скетч, который будет вращать моторы с различной скоростью и периодически менять направления их вращения. Ниже приведена программа с подробными комментариями, которая реализует задуманный алгоритм. #define PIN_ENA 9 // Вывод управления скоростью вращения мотора №1 #define PIN_ENB 3 // Вывод управления скоростью вращения мотора №2 #define PIN_IN1 7 // Вывод управления направлением вращения мотора №1 #define PIN_IN2 6 // Вывод управления направлением вращения мотора №1 #define PIN_IN3 5 // Вывод управления направлением вращения мотора №2 #define PIN_IN4 4 // Вывод управления направлением вращения мотора №2 uint8_t power = 105; // Значение ШИМ (или скорости вращения) void setup() { // Установка всех управляющих пинов в режим выхода pinMode(PIN_ENA, OUTPUT); pinMode(PIN_ENB, OUTPUT); pinMode(PIN_IN1, OUTPUT); pinMode(PIN_IN2, OUTPUT); pinMode(PIN_IN3, OUTPUT); pinMode(PIN_IN4, OUTPUT); // Команда остановки двум моторам digitalWrite(PIN_IN1, LOW); digitalWrite(PIN_IN2, LOW); digitalWrite(PIN_IN3, LOW); digitalWrite(PIN_IN4, LOW); } void loop() { // Вращаем моторы в одну сторону с разной скоростью while(power < 255) { analogWrite(PIN_ENA, power); // Устанавливаем скорость 1-го мотора analogWrite(PIN_ENB, power); // Устанавливаем скорость 2-го мотора // Задаём направление для 1-го мотора digitalWrite(PIN_IN1, HIGH); digitalWrite(PIN_IN2, LOW); // Задаём направление для 2-го мотора digitalWrite(PIN_IN3, HIGH); digitalWrite(PIN_IN4, LOW); delay(3000); // Пауза 3 секунды power += 30; // Увеличиваем скорость } power = 225; // Вращаем моторы в другую сторону с разной скоростью while(power > 105) { analogWrite(PIN_ENA, power); // Устанавливаем скорость 1-го мотора analogWrite(PIN_ENB, power); // Устанавливаем скорость 2-го мотора // Задаём направление для 1-го мотора digitalWrite(PIN_IN1, LOW); digitalWrite(PIN_IN2, HIGH); // Задаём направление для 2-го мотора digitalWrite(PIN_IN3, LOW); digitalWrite(PIN_IN4, HIGH); delay(3000); // Пауза 3 секунды power -= 30; // Уменьшаем скорость } power = 105; } В самом верху программы задаются макроопределения всех выводов, используемых в проекте. В функции Setup() все выводы Arduino Nano, участвующие в управлении, задаются в качестве выхода. На выводах IN1-IN4 выставляются логические нули, чтобы двигатели гарантированно не вращались в момент старта программы. В главном цикле, программа обеспечивает вращение двигателей в одном направлении, увеличивая их скорость каждые 3 секунды. Когда разгон вырастает до максимального, моторы начинают вращаться в обратном направлении, постепенно замедляя скорость. На пике сбавления скорости, алгоритм повторяется заново. Как видим, сложного здесь ничего нет. Теперь разберёмся с шаговым двигателем. На рисунке №5 показана схема его подключения к плате Arduino Nano. Рисунок №5 - схема подключения шагового двигателя к Arduino NanoВ качестве демонстрационной модели использован популярный шаговый двигатель NEMA17. Он способен вращаться с частотой до 60 оборотов в минуту и имеет разрешающую способность 200 шагов на один оборот. Следует обратить внимание, что выводы ENA и ENB должны быть подтянуты к +5V путём установки перемычек на самом модуле. Таким образом управляющему сигналу будет разрешено проходить на обмотки шагового двигателя. Также, в случае использования двигателя NEMA17, напряжение его питания не должно превышать 12V. Ниже приведён пример кода с комментариями, который заставит двигатель вращаться в разные стороны, меняя своё направление после каждого полного оборота. В программе использована стандартная библиотека Stepper.h, которая значительно упрощает процесс разработки ПО для проектов с шаговыми двигателями. #include // Подключение библиотеки для работы с ШД#define steps 200 // Количество шагов на один оборот// Создание экземпляра класса для работы с ШД. казываем кол-во шагов на один оборот// и пины Arduino, к которым подключены обмотки двигатедяStepper myStepper(steps, 7, 6, 5, 4);void setup() {myStepper.setSpeed(60); // Устанавливаем скорость вращения об./мин.}void loop() { myStepper.step(steps); // Вращаем двигатель в одну сторону на 200 шагов delay(1000); // Ждём одну секунду myStepper.step(-steps); // Вращаем двигатель в обратную сторону на 200 шагов delay(1000); // Ждём одну секунду} Как можно заметить, библиотека сокращает код до минимума, так что разобраться в нём не составит никакого труда даже начинающему программисту.

    Характеристики
    Тип
    Модули
    Страна производства
    Китай
    Название модели
    m1038
    Страна производитель
    Китай
    Вес, кг
    0,01
    Цвет
    Отсутсвует
    Производитель
    Shenzhen Electronics Co., Ltd
    Отзывы
    Отзывов еще никто не оставлял
    Обратный звонок
    Запрос успешно отправлен!
    Имя *
    Телефон *
    Предзаказ
    Предзаказ успешно отправлен!
    Имя *
    Телефон *
    Добавить в корзину
    Перейти в корзину
    Заказ в один клик