Управляем шаговым двигателем с помощью Arduino и L298N

Сегодня шаговые двигатели можно найти во многих механизмах: станках ЧПУ, оргтехнике, 3D принтерах, роботах. Благодаря их функциональности и невысокой стоимости их зачастую применяют в проектах с Arduino.

https://alashed-media.s3.eu-north-1.amazonaws.com/wiki/digitrode/335-upravlyaem-shagovym-dvigatelem-s-pomoschyu-arduino-i-l298n/images/upravlyaem-shagovym-dvigatelem-s-pomoschyu-arduino-i-l298n-1.jpg

В этом материале будет показано, как можно управлять шаговым двигателем с помощью платы Arduino Uno и драйвера моторов L298N.

Модуль мостового драйвера L298N, предназначенного для управления двигателями постоянного тока и шаговыми двигателями, стоит недорого и достаточно широко распространен. Помимо L298N для управления двигателем можно использовать драйвер ULN2003, но это довольно популярный и разжеванный вариант, поэтому здесь мы рассмотрим альтернативный подход с драйвером L298N, который является более функциональным.

Но сначала разберемся, что такое шаговый двигатель. Шаговый двигатель может по команде от управляющего устройства отклонять свой вал на определенный угол и фиксировать его. Такое отклонение вала и называется шагом. Среди шаговых двигателей различают униполярные и биполярные. Биполярные шаговые двигателя считаются более сильными, с большим моментом удержания на валу. Биполярные двигатели, как правило, имеют четыре вывода, соединенные с двумя внутренними электромагнитными катушками. Поворот вала двигателя осуществляется благодаря изменению направления протекания тока в катушках.

https://alashed-media.s3.eu-north-1.amazonaws.com/wiki/digitrode/335-upravlyaem-shagovym-dvigatelem-s-pomoschyu-arduino-i-l298n/images/upravlyaem-shagovym-dvigatelem-s-pomoschyu-arduino-i-l298n-2.jpg

Шаговые двигатели по своему принципу действия не похожи на простые двигатели постоянного тока и не могут начать работать путем подачи только напряжения постоянного тока. Для управления нужны драйвер и микроконтроллер или подобное устройство, которые будут изменять скорость и направление вращения вала. Модуль драйвера L298N прекрасно подходит для задач управления шаговым двигателем.

https://alashed-media.s3.eu-north-1.amazonaws.com/wiki/digitrode/335-upravlyaem-shagovym-dvigatelem-s-pomoschyu-arduino-i-l298n/images/upravlyaem-shagovym-dvigatelem-s-pomoschyu-arduino-i-l298n-3.jpg

Ниже приведена схема подключения биполярного шагового двигателя 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 модуля драйвера.

https://alashed-media.s3.eu-north-1.amazonaws.com/wiki/digitrode/335-upravlyaem-shagovym-dvigatelem-s-pomoschyu-arduino-i-l298n/images/upravlyaem-shagovym-dvigatelem-s-pomoschyu-arduino-i-l298n-4.jpg

Теперь вы можете управлять шаговым двигателем с помощью скетчей Arduino благодаря встроенной в Arduino IDE библиотеки Stepper library. Для проверки работоспособности собранной схемы можете загрузить скетч stepper_oneRevolution, включающий в себя библиотеку Stepper library.

https://alashed-media.s3.eu-north-1.amazonaws.com/wiki/digitrode/335-upravlyaem-shagovym-dvigatelem-s-pomoschyu-arduino-i-l298n/images/upravlyaem-shagovym-dvigatelem-s-pomoschyu-arduino-i-l298n-5.jpg

Если все собрано правильно, то вы увидите, как будет вращаться вал вашего шагового двигателя.