cart

Продуктов в корзине: 0

Поиск товаров

Новинки



Что такое шаговый двигатель? Название говорит само за себя: двигатель, который может не просто «крутиться», а крутиться размеренно, управляемо… шагами!

То есть, мы сами в программе «говорим» ему, на какой угол нужно повернуться. Для чего это может понадобиться? Например, вы хотите собрать свой станок с ЧПУ, 3d принтер… или любое другое устройство, которое нуждается в точном позиционировании движущихся частей. Подробнее о шаговых двигателях можно почитать в википедии.

Существует огромное разнообразие шаговых двигателей различных размеров и характеристик. Чтобы управлять ими нужно специальное устройство — драйвер.

 

Купить сейчас

Подключение шагового двигателя 28byj-48 к Arduino

 28byj 48 2

В этой статье мы будем использовать:

Шаговый двигатель 28byj-48
Драйвер двигателя ULN2003
Микроконтроллер Arduino UNO
Перемычки папа-мама 4 шт.

Итак, задача: подключить к arduino uno шаговый двигатель и покрутить им.

Казалось бы, количество проводов, идущих к двигателю, может ввести в ступор, зачем так много и куда все это втыкать? На самом деле, ничего сложного ни в подключении, ни в коде. И сейчас мы с вами в этом убедимся!

Купить сейчас

 

28byj 48 1

Подключаем двигатель к драйверу, а драйвер, в свою очередь к плате arduino к цифровым пинам 8, 9, 10, 11 и к питанию (5В) как показано на фото.

Настоятельно рекомендую в своих проектах использовать отдельное питание для двигателя (от другого блока питания, а не от arduino), потому как если дать серьезную нагрузку на двигатель — на плате arduino может перегреться микросхема, отвечающая за питание — что приведет к порче микроконтроллера.

Чтобы управлять двигателем, воспользуемся библиотекой Stepper, которую не нужно ни от куда качать — она входит в поставку Arduino IDE — среду разработки, в которой мы пишем код для arduino. В качестве параметров передаем количество шагов полного оборота и пины, к которым подключаем двигатель.

Код скетча

#include <Stepper.h>
const int stepsPerRevolution = 64; //кол-во шагов на оборот
//Stepper myStepper(stepsPerRevolution, 8,10,9,11); пины для активации
Stepper myStepper(stepsPerRevolution, 8,9,10,11);

void setup() {
myStepper.setSpeed(250); скорость обороты в минуту

}

void loop() {

myStepper.step(2000); поворот на 2000 шагов
delay(1000);
myStepper.step(-2000);поворот на 2000 шагов
delay(1000);

}

Купить сейчас

 

Внимание!!! Часто драйвер приходит с перепутаными проводами. Если двигатель крутится только в 1 сторону, закомнетируйте строку
Stepper myStepper(stepsPerRevolution, 8,9,10,11);
и раскоментируйте строку
//Stepper myStepper(stepsPerRevolution, 8,10,9,11);

Внимание!!! если двигатель не крутится но вибрирует, поиграйте задержкой в строке
myStepper.setSpeed(250);

Внимание!!! если двигатель крутится рывками, произвольно меняет направление. Провеьте качество пайки с низу драйвера. Возможен плохой контакт 

Добавить комментарий


Защитный код
Обновить

Недавно смотрели

Go to top