Управляем шаговым двигателем с помощью Arduino и L298N
Сегодня шаговые двигатели можно найти во многих механизмах: станках ЧПУ, оргтехнике, 3D принтерах, роботах. Благодаря их функциональности и невысокой стоимости их зачастую применяют в проектах с Arduino.
В этом материале будет показано, как можно управлять шаговым двигателем с помощью платы Arduino Uno и драйвера моторов L298N.
Модуль мостового драйвера L298N, предназначенного для управления двигателями постоянного тока и шаговыми двигателями, стоит недорого и достаточно широко распространен. Помимо L298N для управления двигателем можно использовать драйвер ULN2003, но это довольно популярный и разжеванный вариант, поэтому здесь мы рассмотрим альтернативный подход с драйвером L298N, который является более функциональным.
Но сначала разберемся, что такое шаговый двигатель. Шаговый двигатель может по команде от управляющего устройства отклонять свой вал на определенный угол и фиксировать его. Такое отклонение вала и называется шагом. Среди шаговых двигателей различают униполярные и биполярные. Биполярные шаговые двигателя считаются более сильными, с большим моментом удержания на валу. Биполярные двигатели, как правило, имеют четыре вывода, соединенные с двумя внутренними электромагнитными катушками. Поворот вала двигателя осуществляется благодаря изменению направления протекания тока в катушках.
Шаговые двигатели по своему принципу действия не похожи на простые двигатели постоянного тока и не могут начать работать путем подачи только напряжения постоянного тока. Для управления нужны драйвер и микроконтроллер или подобное устройство, которые будут изменять скорость и направление вращения вала. Модуль драйвера L298N прекрасно подходит для задач управления шаговым двигателем.
Ниже приведена схема подключения биполярного шагового двигателя 12 В к драйверу L298N и этого драйвера к плате Arduino UNO. Для начала следует соединить пары проводов A и B шагового двигателя с выводами MA+, MA-, MB+ и MB- драйвера L298N. Внимательно читайте документацию на ваш шаговый двигатель, чтобы правильно определить пары A+, A-, B+ и B-. Оставьте все перемычки модуля драйвера на месте и подключите линии IN1, IN2, IN3 и IN4 к цифровым портам Arduino D8, D9, D10 и D11 соответственно. Далее соедините вывод земли GND платы Arduino с GND модуля драйвера и вывод питания Vin платы Arduino с выводом модуля +5V OUT. И, наконец, подключите внешний источник питания 12В/1А к линиям +5V OUT и GND модуля драйвера.
Теперь вы можете управлять шаговым двигателем с помощью скетчей Arduino благодаря встроенной в Arduino IDE библиотеки Stepper library. Для проверки работоспособности собранной схемы можете загрузить скетч stepper_oneRevolution, включающий в себя библиотеку Stepper library.
Если все собрано правильно, то вы увидите, как будет вращаться вал вашего шагового двигателя.