Підключення униполярного крокової двигуна 28BYJ-48 через драйвер ULN2003

Крокові двигуни 28BYJ-48 зазвичай завжди продаються в комплекті з невеликою мікросхемою драйвера ULN2003, за допомогою якого здійснюється підключення і управління крокової двигуна 28BYJ-48 . Перевага крокових двигунів полягає в можливості контролю переміщення вала двигуна на заданий кут. На відміну від сервоприводів кут повороту крокової двигуна не обмежений 180 градусами.

Розглянемо драйвер двигуна ULN2003 ближче.

На платі драйвера ми бачимо Піни управління IN1, IN2, IN3, IN4, Піни харчування 5-12V (- +), світлодіоди індикації кроку і джампер, що дає можливість прибирати харчування надходить на двигун. До драйверу рекомендується підключати до зовнішнього джерела живлення, наприклад батарейки, так як двигун споживає не мало струму і може просаджувати (перезавантажувати) плату Ардуіно при певних навантаженнях і в кінці кінців вивести плату Ардуіно з ладу. Але для одиночних тестів без особливого навантаження, харчування можна підключити і від виходу 5V плати Arduino.

Схема підключення задоволена проста. Піни IN1, IN2, IN3, IN4 драйвера ULN2003, підключаємо до пінам 2, 3, 4, 5 плати Ардуіно. Вихід 5V плати Ардуіно приєднуємо до піну (+) 5-12V драйвера двигуна, а вихід GND плати Arduino відповідно до піну (-) 5-12V драйвера двигуна.

Вихід 5V плати Ардуіно приєднуємо до піну (+) 5-12V драйвера двигуна, а вихід GND плати Arduino відповідно до піну (-) 5-12V драйвера двигуна

При підключенні до драйверу ULN2003 зовнішнього джерела живлення, вам необхідно буде об'єднати висновки землі (GND) плати Arduino і цього джерела живлення. Може це у кого-то викличе утруднення, тому покажу як це зробити на макетної платі.

Може це у кого-то викличе утруднення, тому покажу як це зробити на макетної платі

Перейдемо до управління. Виробник рекомендує використовувати полушаговий метод управління. Стандартна бібліотека Stepper йде разом з програмою Arduino IDE має сильно обмежені можливості і підтримує тільки полношаговий метод управління. Використовують цю бібліотеку в дуже простих проектах із застосуванням одного крокової двигуна 28BYJ-48. Тому не будемо загострювати на ній увагу, а скористаємося відразу кращим варіантом - бібліотекою AccelStepper .

Бібліотеку AccelStepper необхідно встановити в вашу програму IDE Arduino. Робиться це просто. викачуємо zip-архів AccelStepper і разархивируем його в папку libraries вашої програми Arduino IDE (наприклад, якщо ви використовуєте Windows7, ваша папка libraries знаходиться в папці "C: \ Program Files (x86) \ Arduino \"). Після чого перезавантажте програму Arduino IDE і бібліотека почне працювати. Для перевірки, що ви все правильно зробили і бібліотека AccelStepper правильно встановилася, перейдіть в меню (Файл - Приклади) і в розгорнулося списку прикладів, ви повинні побачити пункт меню AccelStepper.

Запишемо для прикладу в програму Arduino IDE мінімально необхідний скетч управління кроковим двигуном 28BYJ-48 за допомогою бібліотеки AccelStepper.

#include <AccelStepper.h> // Підключаємо бібліотеку AccelStepper #define HALFSTEP 8 // включаємо полушаговий метод управління // Визначаємо Піни для управління кроковим двигуном #define motorPin1 2 // до піну 2 плати Ардуіно підключаємо пін IN1 драйвера ULN2003 #define motorPin2 3 // до піну 3 плати Ардуіно підключаємо пін IN2 драйвера ULN2003 #define motorPin3 4 // до піну 4 плати Ардуіно підключаємо пін IN3 драйвера ULN2003 #define motorPin4 5 // до піну 5 плати Ардуіно підключаємо пін IN4 драйвера ULN2003 // ініціалізувавши в послідовності ( метод управління, IN1, IN3, IN2, IN4) // stepMotor1 - це довільно вигадане нами ім'я для двигуна Accel Stepper stepMotor1 (HALFSTEP, motorPin1, motorPin3, motorPin2, motorPin4); void setup () // НАЛАШТУВАННЯ {stepMotor1.setMaxSpeed ​​(1000.0); // Швидкість обертання валу двигуна. stepMotor1.setAcceleration (3000.0); // Темп розгону-гальмування двигуна. } Void loop () // ОСНОВНИЙ ЦИКЛ {stepMotor1.runToNewPosition (0); // встановлюємо вал двигуна в першу позицію stepMotor1.runToNewPosition (1000); // повертаємо двигун в другу позицію на 1000 кроків вперед}

Даний скетч включає постійне обертання валу двигуна "вперед-назад" на 1000 кроків. Задавати позицій двигуна всередині функції void loop () можна скільки завгодно. Тобто, рядків типу stepMotor1.runToNewPosition (1000); ви можете додати скільки завгодно багато, з різними координатами. Після виконання всіх позиційних команд за координатами вал повернеться в першу позицію і почне все спочатку, так як наші команди розташовані всередині функції безперервного циклу void loop ().

Є й інші прийоми управління, але цей мені здається найпростішим для розуміння людям, які ще не стикалися з програмуванням крокових двигунів. Для більш глибокого вивчення, ви можете подивитися інші приклади управління кроковими двигунами, прямо в програмі Arduino IDE в меню (Файл - Приклади - AccelStepper).

Додати коментар

Разделы

» Ваз

» Двигатель

» Не заводится

» Неисправности

» Обзор

» Новости


Календарь

«    Август 2017    »
ПнВтСрЧтПтСбВс
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 

Архив

О сайте

Затраты на выполнение норм токсичности автомобилей в США на период до 1974 г.-1975 г произошли существенные изменения. Прежде всего следует отметить изменение характера большинства работ по электромобилям: работы в подавляющем большинстве стали носить чисто утилитарный характер. Большинство созданных в начале 70х годов электромобилей поступили в опытную эксплуатацию. Выпуск электромобилей в размере нескольких десятков штук стал обычным не только для Англии, но и для США, ФРГ, Франции.

ПОПУЛЯРНОЕ

РЕКЛАМА

www.school4mama.ru © 2016. Запчасти для автомобилей Шкода