Сегодня я затрону более интересную тему, нежели просто подключение датчиков и обзор их работы. Сегодня я покажу вам, как подключить к Arduino шаговый двигатель Nema17 (17HS2408) с помощью драйвера шаговых двигателей L298N и с дополнительным питанием.
В качестве дополнительного питания будем использовать блок питания на 12 V.
Так как из двигателя торчат просто пустые провода и не слишком понятно куда их втыкать, расскажу об этом подробнее.
У нашего драйвера L298N есть 7 клемм и 4 свободные ноги. Они все подписаны и вот что они означают:
- OUT1 - клемма для подключения двигателя (A+)
- OUT2 - клемма для подключения двигателя (A-)
- OUT3 - клемма для подключения двигателя (B+)
- OUT4 - клемма для подключения двигателя (B-)
- +12v, GND, +5v - думаю объяснять не стоит. Подключать блок питания будем в 12v и GND
- IN1-4 - ноги для подключения Arduino. Подключаться будем в порты 4-7 соответственно.
Я так подробно расписал про OUT1-4 потому что там не указано, который из них является A и B, + и -. Это нужно смотреть в спецификации драйвера. Для L298N можно брать данные из этой статьи.
У самого двигателя выходы расположены в следующем порядке - слева-направо. В скобочках я буду указывать цвета своих проводов, но не стоит обращать на них особое внимание, потому что ваши провода могут отличаться цветом.
- A+ (Красный)
- B+ (Желтый)
- A- (Серый)
- B- (Зеленый)
Теперь, когда у нас есть все необходимые данные, подключим двигатель к драйверу.
Вот схема, по которой подключал я:
А вот так все это выглядит на столе:
Хорошо, пойдем дальше - подключим наш блок питания к сети. Берем провод с вилкой, зачищаем концы и закрепляем их в клеммах L и N секции AC IN. Порядок подключения не важен. В клеммы V- и V+ я вставил 2 провода папа-папа для большего удобства в подключении.
А теперь подключим блок питания к драйверу двигателя:
На фотографии можно увидеть, что светодиод на БП горит зеленым, а светодиод на драйвере горит красным. Еще при подключении БП издает тихий и противный писклявый звук, но это уже мелочи.
Отлично, у нас все есть. Осталось дело за малым - подключить Arduino и заставить двигатель вращаться.
В количестве проводов можно легко запутаться.
И вид сверху.
Все. Наша конструкция собрана - перейдем к программированию.
В Arduino уже есть готовая библиотека для работы с шаговым двигателем - Stepper.
Подключим ее и с помощью следующего кода запустим наш двигатель.
#include <Stepper.h>
Stepper myStepper(200, 4, 5, 6, 7);
int stepCount = 0;
void setup() {}
void loop() {
int sensorReading = analogRead(A0);
int motorSpeed = map(sensorReading, 0, 1023, 0, 100);
if (motorSpeed > 0) {
myStepper.setSpeed(motorSpeed);
myStepper.step(200 / 100);
}
}
Конструктор Stepper принимает 5 аргументов: первый - это скорость вращения, а остальные 4 порты IN1-4.
Ну вот на этом, пожалуй, и все. Все используемые в данном уроке компоненты вы можете купить на нашем сайте по привлекательным ценам (ссылки ниже).
А в одной из следующих статей я расскажу и покажу, как сделать подвижную платформу для станков с ЧПУ.
2020-08-28 10:34