- Кроковий двигун:
- Драйвер крокового двигуна ULN2003:
- Необхідні матеріали:
- Кругова діаграма:
- Код та робоче пояснення:
У цьому підручнику ми будемо інтерфейсувати кроковий двигун за допомогою MSP430. MSP-EXP430G2 є інструментом розвитку аки LaunchPad передбачено Texas Instruments для вивчення і практики про те, як використовувати їх мікроконтролери. Ця плата підпадає під категорію MSP430 Value Line, де ми можемо запрограмувати всі мікроконтролери серії MSP430. Якщо ви новачок у MSP, перегляньте наш посібник із початку роботи з MSP430.
Кроковий двигун:
Кроковий двигун - це тип безщіткового двигуна постійного струму, який перетворює електричні імпульси у різні механічні рухи. Вал крокового двигуна обертається дискретними кроками. Ми можемо отримати точні кроки та швидкість відповідно до наших потреб.
Ми будемо використовувати біполярний кроковий двигун 35BYJ46, який недорого доступний на ринку. Він має 6 проводів, але він також має 5 проводів. У нашому кроковому двигуні є 2 котушки. У кожного з них виходить 3 дроти. З 3 проводів 1 відцентрований, так що решта 2 дроти з'єднані безпосередньо з котушкою. Загалом у нас є 4 сигнальних дроти та 2 відцентровані дроти, які під’єднані до джерела живлення 5-12В.
Якщо з двигуна виходить загалом 5 проводів, тоді 4 дроти є сигнальними, а 1 відцентрований до обох котушок. Подобається це.
Щоб перевірити, який провід відцентрований, а який сигнальний, потрібно перевірити опір проводів, що виходять з двигуна. Отже, ті дроти, які з'єднані однією і тією ж котушкою, мають велике значення опору порівняно з опором відцентрованого відводу.
На наведеній вище схемі, якщо ми перевірили значення опору синього та жовтого проводів, а опір між ними більше, ніж значення між жовтим та червоним або синім та червоним. Отже, червоний відцентрований порізаний дріт.
Раніше ми взаємодіяли кроковий двигун з іншими мікроконтролерами:
- Зв'язок крокового двигуна з Arduino Uno
- Управління кроковим двигуном з Raspberry Pi
- Інтерфейс крокового двигуна з мікроконтролером 8051
- Зв'язок крокового двигуна з мікроконтролером PIC
Кроковим двигуном також можна керувати без будь-якого мікроконтролера, див. Цей ланцюг драйвера крокового двигуна.
Драйвер крокового двигуна ULN2003:
Більшість крокових двигунів працюватимуть лише за допомогою драйвера. Це пояснюється тим, що модуль контролера (у нашому випадку MSP) не зможе забезпечити достатню кількість струму від своїх штифтів вводу-виводу для роботи двигуна. Отже, ми використовуватимемо зовнішній модуль, такий як модуль ULN2003, як драйвер крокового двигуна. Існує безліч типів драйверів, і рейтинг модуля змінюватиметься залежно від типу використовуваного двигуна. Основним принципом для всіх модулів драйверів буде подача / поглинання достатнього струму для роботи двигуна.
У цьому проекті ми будемо використовувати мікросхему драйвера двигуна ULN2003. Схема контактів ІС наведена нижче:
Ми використовуємо 4 вхідні та 4 вихідні порти, якщо IC.
Необхідні матеріали:
- MSP430
- 35BYJ46 або 28-BYJ48 Кроковий двигун
- ULN2003 IC
- Провід
- Макет
Кругова діаграма:
На наведеній вище схемі ЧЕРВОНИЙ провід степера не підключений до PIN5 мікросхеми. Він повинен бути підключений до 5 В. Колірний код вашого крокового двигуна може відрізнятися від кольорів, наведених на схемі. Отже, підключіть дроти після перевірки правильних сигнальних проводів.
Ми напишемо наш код за допомогою Energia IDE. Він такий самий, як Arduino IDE, і простий у використанні. Зразок коду для керування степером також можна знайти в прикладі меню Arduino IDE.
Код та робоче пояснення:
Перш ніж ми почнемо програмувати з нашим MSP430, давайте зрозуміємо, що насправді має відбуватися всередині програми. Ми будемо використовувати метод послідовності в 4 кроки, тому нам доведеться виконати чотири кроки для здійснення одного повного обертання. Розглянемо A, B, C і D як чотири котушки.
Крок |
Pin Енергійний |
Котушки під напругою |
Крок 1 |
6 і 7 |
А і В |
Крок 2 |
7 і 8 |
B і C |
Крок 3 |
8 і 9 |
C і D |
Крок 4 |
9 і 6 |
D та A |
У цьому посібнику ми збираємося написати код крокового двигуна MSP430. Повну програму можна знайти в кінці підручника, кілька важливих рядків пояснюються нижче.
Кількість кроків за оберт для нашого крокового двигуна була розрахована на 32; отже, ми вводимо це, як показано в рядку нижче
const int STEPS = 32;
Далі вам потрібно створити екземпляри, в яких ми вказуємо штирі, до яких ми підключили кроковий двигун.
Степпер myStepper (КРОКИ, 6, 7, 8, 9);
Оскільки ми використовуємо бібліотеку Stepper, ми можемо встановити швидкість двигуна, використовуючи наведений нижче рядок. Швидкість може варіюватися від 0 до 200 для крокових двигунів 35BYJ46.
Mystepper.setSpeed (200);
Тепер, щоб двигун рухався на крок, ми можемо використати наступний рядок.
myStepper.step (КРОКИ);
Оскільки у нас є 32 ступені і 64 як передавальне число, нам потрібно рухатись 2048 (32 * 64 = 2048), щоб зробити одне повне обертання. Тепер завантажте код нижче і змініть номер. кроків відповідно до ваших потреб.
Ось як ви можете взаємодіяти кроковий двигун з мікроконтролером PIC, тепер ви можете використовувати свою власну творчість і знаходити для цього додатки. Є безліч проектів, в яких використовується кроковий двигун.