Управління уніполярним кроковим двигуном з допомогу usb персонального комп'ютера, контент-платформа

*, Студент 4 курсу факультету технології та професійно педагогічної освіти, Т-ПРОІ101, Алтайській державної академії освіти імені. м Бійськ.

*, Доцент кафедри фізики та інформатики, Алтайській державної академії освіти імені. м Бійськ.

*, Старший викладач кафедри фізики та інформатики, Алтайській державної академії освіти імені. м Бійськ.

УПРАВЛІННЯ униполярного кроковий двигун З ПОМОЩЬUSBПЕРСОНАЛЬНОГО КОМП'ЮТЕРА

Ключові слова: Кроковий двигун, драйвер крокової двигуна, драйвер USBasp, макетна плата AVR-USB-MEGA16, мікроконтроллерATMEGA32, бібліотекаLibUSB.

У статті порушується питання управління уніполярним кроковим двигуном черезUSBпорт персонального комп'ютера. Завдання полягає в тому, щоб з помощьюUSBперсонального комп'ютера і драйвера управляти кроковим двигуном. В рамках даної роботи пропонується вирішення даного питання за допомогою: драйвера крокової двигуна складається з макетної плати AVR-USB-MEGA16 і силового модуля на основі транзисторів, системи программірованіяDelphi, додаткової бібліотеці для программірованіяLibUSB, прошивки для мікроконтроллераATMEGA32 і драйвера USBasp.

Кроковий двигун широко використовується в різних напрямках: в периферійних пристроях обчислювальних машин, серійне принтер, Двохкоординатний XY-графічний пристрій, в верстатах з числовим програмним управлінням, XY-столи та обертові столи, фрезерні верстати, креслярські автомати та інші застосування. В роботі розглянута система для управління кроковим двигуном через USB персонального комп'ютера і спосіб її збирання.

Для реалізації даної системи необхідно приготувати макетну плату AVR-USB-MEGA16 [1] до роботи.

Перше, що потрібно зробити - це прошити плату. Вона забезпечена загрузчиком bootloadHID, що дозволить прошити її через USB. Для цього встановлюємо перемичку між ніжками 4 і 6 коннектора U1 ISP і підключаємо плату до персонального комп'ютера через USB. На ній загориться червоний світлодіод і в системі Windows виявиться програматор USBasp. Після чого запускаємо програму для прошивки мікроконтролера і завантажуємо в неї прошивку для ATMEGA32 з необхідною частотою [2], прошиває. Відключаємо макетну плату AVR-USB-MEGA16 і видаляємо перемичку.

Друге - необхідно встановити драйвер USBaps [3] для плати, якщо його немає на персональному комп'ютері, на якому виконується робота. Знову підключенням плату до USB комп'ютера і він виявляє новий пристрій. Якщо на ньому не встановлено драйвер, то він не зможе визначити його. Для розпізнання плати через диспетчер пристроїв вручну встановлюємо драйвер. Тепер плата повністю готова до роботи.

Силовий модуль системи складається з чотирьох транзисторів (КТ972Б), чотирьох резисторів (330 Ом) і чотирьох діодів (1N4001S). Вони з'єднані між собою за наступною схемою (Рис. 1) [2].

Управління уніполярним кроковим двигуном з допомогу usb персонального комп'ютера, контент-платформа

Мал. 1. Схема силового модуля

Працює силовий модуль за наступною схемою. При відкриванні одного з транзисторів, струм буде протікати через відповідну обмотку крокового двигуна. Для управління транзисторами використовуються вільні виходи мікроконтролера плати AVR-USB-MEGA16.

Тип транзисторів залежить від потужності підключається двигуна, напруги його живлення і здатності навантаження портів мікроконтролера. У даній конструкції використовувалися транзистори КТ972Б, що володіють достатнім коефіцієнтом посилення по току, з допустимою напругою колектор-емітер до 45 В, струм колектора - до 4 А.

Оскільки навантаження індуктивна, в схемі стоять захисні діоди. Використовувалися 1-амперні діоди 1N4001S, але можна обійтися і без них. Захисні діоди збільшують час спаду струму в обмотках крокового двигуна, що зменшує максимально можливу частоту обертання крокового двигуна. Якщо прибрати діоди, то час спаду струму виявиться мінімальним, двигун зможе обертатися швидше, але при цьому виникають небезпечні для транзисторів викиди ЕРС самоіндукції, які можуть перевищити допустимий для них напруга 45 В.

Збираємо все за схемою, представленої на малюнку 1, і технічна частина роботи на цьому закінчується.

Перед тим як почати розробку керуючого алгоритму необхідно встановити на персональний комп'ютер додаткову бібліотеку LibUSB [4]. Встановлюється вона як звичайна програма. Після чого в середовищі програмування Delphi створюємо, або беремо готовий [2], додатковий модуль LibUSB для бібліотеки. Тепер приступаємо до написання загальної частини безпосередньо самої програми. Загальна частина включається в себе функції: отримання ASCII послідовності, відкриття пристрій USB і послання повідомлення контролеру через USB. Загальну частину також можна взяти з джерела [2].

Відправлення повідомлення макетної платі через USB здійснюється через функцію SendUSBControlMessage (PC2USB, RQ_IO_WRITE, 1, aPORTA, 0, data);

SendUSBControlMessage ... - ім'я функції.

... PC2USB ... - повідомлення відправляється від персонального комп'ютера в USB.

... RQ_IO_WRITE ... - команда на запис.

1. - що записуємо в мікроконтролер.

... aPORTA, ... - куди записуємо або ім'я порту мікроконтролера.

... 0, data - що записуємо в буфер обміну мікроконтролера.

Представлена ​​вище функція подає напругу в 5 вольт на вільний вихід P1 макетної плати AVR-USB-MEGA16. SendUSBControlMessage (PC2USB, RQ_IO_WRITE, 2, aPORTA, 0, data) - подає напругу на вихід P2, а P1 стане без напруги, так як 2 в двійковій системі числення 0010, 0 піде на P1, а 1 на Р2. Для активації Р1 і Р2 одночасно досить написати SendUSBControlMessage (PC2USB, RQ_IO_WRITE, 3, aPORTA, 0, data). 3 в двійковій системі числення це 0011. Щоб скинути напругу на всіх виходах «порту А» необхідно використовувати команду SendUSBControlMessage (PC2USB, RQ_IO_WRITE, 0, aPORTA, 0, data).

Використовуючи цю функцію, задаємо послідовну активацію обмоток крокового двигуна. При цьому спираємося на керівних послідовностей, представлену в таблицях 1 і 2.

Керуюча послідовність для повного кроку

Напівкрок. При такій керуючої послідовності ротор потребує 96 Пульс, щоб зробити один повний оборот (360 градусів). Кожен пульс переміщує ротор приблизно на 3,75 градуса.

Наведена схема дозволяє управляти кроковим двигуном через ПК, по засобом інтерфейсу USB. В роботі [5] розглянуто використання даної системи для управління комплексом сонячних батарей, що дозволяє підвищити їх ефективність на 30%.

Схожі статті