Как купить

Скидки

Контакты

Оплата

Новости 

Разработка 

Вакансии 

Доставка

Шаговый двигатель 28BYJ-48 5V S64

Вес, г: 33, 42мм х 32мм х 29мм
Рекомендованная цена: 140.00 Р
128.00 Р
Вы экономите: 12.00 Р (9%) Скидка 9%
14 дн.
1197
В наличии
+

000000Небольшой 5 проводной 4 фазный шаговый двигатель. Питается от 5 вольт. Имеет небольшое токопотребление, поэтому может работать напрямую от пинов Arduino. Имеет массу 33 грамма, размеры 42 х 32 х 29.

Часть классификации”s64” означает то, что передаточное число двигателя- 64:1.

В реальности, однако, 63.68395:1. В таком случае мы получаем приблизительно 4076 шагов на полный оборот, это около 0,0883° на шаг. Скорость вращения составляет около 15 об/мин., однако, с некоторыми программными хитростями постепенного ускорения, можно достичь 25 об/мин. Усилие на валу составляет 300 г/см.

Имеется аналог - 28BYJ-48-5V-s16


Его передаточное число 16:1.

Следовательно, его крутящий момент - 75г/см., а скорость вращения вала - 60 об/мин.

Двигатель имеет 2 обмотки, с подключаемым дополнительным питанием (красный провод +5В).

Управление двигателем осуществляется по 4 проводам(2 желтых, розовый и синий), но есть еще и пятый красный провод. Он служит для увеличения мощности двигателя. Если на этот провод подать питание от отдельного источника, то на обмотки пойдет больше энергии и крутящий момент увеличится. Для управления этим двигателем чаще всего используется ДРАЙВЕР ШАГОВОГО ДВИГАТЕЛЯ ULN2003

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

Распиновка драйвера представлена ниже:

Пины 1N1, 1N2, 1N3, 1N4 подключаются напрямую к пинам Arduino, по ним будет осуществляться передача команд драйверу. Двигатель подключается в белый разъем(на нем установлен штекер). 4 светодиода показывают какие пины активны(на какие обмотки подаётся энергия)

Питание на драйвер подаётся 5-12 Вольт. Это напряжение сразу подается на двигатель по красному пятому проводу. Перемычка служит в данном случае выключателем. Если она установлена-драйвер выполняет отдаваемые команды, если нет, то ничего не происходит.

Схема подключения шагового двигателя через драйвер к Arduino:

Идущая с Arduino IDE, стандартная библиотека “Stepper” имеет сильно ограниченные возможности, поддерживает только полношаговый метод и может управлять лишь одним двигателем. Поэтому для управления именно эти шаговым двигателем выгоднее использовать библиотеку ”AccelStepper”. Ниже представлен пример программной работы с этой библиотекой. Данный код сначала ускоряет двигатель в одном направлении, потом замедляет и так же ускоряет, но уже в другом направлении.

#include<AccelStepper.h>

#define HALFSTEP 8

// Определение пинов для управления двигателем

#define motorPin1 3 // IN1 на 1-м драйвере ULN2003

#define motorPin2 4 // IN2 на 1-м драйвере ULN2003

#define motorPin3 5 // IN3 на 1-м драйвере ULN2003

#define motorPin4 6 // IN4 на 1-м драйвере ULN2003


// Инициализируемся с последовательностью выводов IN1-IN3-IN2-IN4

// для использования AccelStepper с 28BYJ-48

AccelStepper stepper1(HALFSTEP, motorPin1, motorPin3, motorPin2, motorPin4);


void setup(){ stepper1.setMaxSpeed(1000.0); stepper1.setAcceleration(100.0); stepper1.setSpeed(200);

stepper1.moveTo(20000);

}

void loop(){

// Изменяем направление, если шаговик достигает заданного положения if(stepper1.distanceToGo()==0)

stepper1.moveTo(-stepper1.currentPosition()); stepper1.run();

}

Однако, можно управлять двигателем и без библиотек, поочередно меняя логические “1” и “0” на пинах с двигателем. Ниже представлена программа позволяющая изменять направление вращения вала нажатием на кнопку и управлять скоростью этого вращения с помощью потенциометра.

// Контакты Bl Pi Ye Or

int pins[] = {8, 9, 10, 11}; //Задаем пины по порядку int buttonPin = 5;

int potPin = A0;

int phases = 8; // для шагового режима установить 4

// Для шагового режима

//bool motorPhases[4][4] = { // [phase][pin]

//// -------- pins ----------

//// Winding A B A B

//// Motor Pin 1 2 3 4

//// Color Bl Pi Ye Or

// { 1, 1, 0, 0},

// { 0, 1, 1, 0},

// { 0, 0, 1, 1},

// { 1, 0, 0, 1}

//};

// Для полушагового режима

bool motorPhases[8][4] = { // [phase][pin]

// -------- pins ----------

// Winding A B A B

// Motor Pin 1 2 3 4

// Color Bl Pi Ye Or

{ 1, 1, 0, 0},

{ 0, 1, 0, 0},

{ 0, 1, 1, 0},

{ 0, 0, 1, 0},

{ 0, 0, 1, 1},

{ 0, 0, 0, 1},

{ 1, 0, 0, 1},

{ 1, 0, 0, 0}

};

void setup() {

for (int i = 0; i < 4; i++) pinMode(pins[i], OUTPUT); pinMode(buttonPin, INPUT);

pinMode(potPin, INPUT);

//Serial.begin(9600);

}

int phase = 0;

int _step = 1; // Если у шага поменять знак, на -1 - изменится направление вращения.

//int delaytime=1000; //В микросекундах для более точного регулирования скорости

void loop() {

int delaytime = map(analogRead(potPin), 0, 1023, 1000, 16000)

bool isButtonDown = digitalRead(buttonPin);

//Serial.println(isButtonDown); if (isButtonDown) {

_step = -_step;

delay(500); // Делаем паузу, чтобы отсечь дребезг

}

phase += _step;

if (phase > 7) phase = 0; if (phase < 0) phase = 7;

for (int i = 0; i < 4; i++) {

digitalWrite(pins[i], ((motorPhases[phase][i] == 1) ? HIGH : LOW));

}

// Пауза на вращение на один шаг/полушаг

//delay(2);// Для шагового режима установить в 3 delayMicroseconds(delaytime);

}

Полезные ссылки:

http://robotosha.ru/arduino/stepper-motor-28byj-ul...








Вес, г:
33
Габариты (Д х Ш х В):
42мм х 32мм х 29мм

Сообщения не найдены

Написать отзыв