Для автоматизації машин, які потребують лише двох-трьох осей електричних приводів, імпульсні виходи можуть бути найпростішим шляхом.
Використання імпульсних виходів від ПЛК є економічно ефективним способом отримати простий рух. Більшість, якщо не всі, виробники ПЛК пропонують спосіб керування сервоприводами та кроковими механізмами за допомогою сигналу послідовності імпульсів. Отже, коли просту машину потрібно автоматизувати лише за двома або трьома осями за допомогою електричних приводів, імпульсні виходи можна набагато легше налаштувати, підключити та запрограмувати, ніж використовувати аналогові сигнали. Це також може коштувати менше, ніж використання мережевого переміщення, такого як Ethernet / IP.
Отже, давайте подивимося на керування кроковим двигуном або сервоприводом за допомогою драйвера або підсилювача між контролером і двигуном з акцентом на імпульсні сигнали, що використовуються від контролера або індексатора.
Основи пульсу
Крокові двигуни та версії серводвигунів з імпульсним керуванням можуть обертатися в обох напрямках. Це означає, що контролер повинен надавати приводу принаймні два сигнали керування. Є два способи надання цих сигналів, і різні виробники називають їх по-різному. Існує два поширених способи позначення двох схем керуючого сигналу, які ви використовуєте: «режим 1P», також відомий як «режим кроку/напрямку», і «режим 2P», який називається «режим CW/CCW» або за годинниковою стрілкою/проти годинникової стрілки. режим. Обидва режими вимагають двох керуючих сигналів від контролера до приводу.
У режимі 1P один керуючий сигнал є серією імпульсів або «кроковим» сигналом. Інший сигнал - це спрямований вхід. Якщо спрямований вхід увімкнено, а на кроковому вході присутній імпульсний сигнал, двигун обертається за годинниковою стрілкою. І навпаки, якщо сигнал напрямку вимкнено, а на кроковому вході присутній імпульсний сигнал, двигун обертається в іншому напрямку або проти годинникової стрілки. Послідовність імпульсів завжди надходить на один і той же вхід, незалежно від бажаного напрямку.
У режимі 2P обидва сигнали є серією імпульсів. Лише один вхід одночасно матиме частоту, тому, якщо присутній ряд імпульсів CW, двигун обертається CW. Якщо присутня ланцюг імпульсів CCW, двигун обертається CCW. Який вхід отримує серію імпульсів, залежить від бажаного напрямку.
Імпульси, що виходять з контролера, змушують двигун рухатися. Двигун обертає одну інкрементну одиницю для кожного імпульсу на імпульсному вході приводу. Наприклад, якщо двофазний кроковий двигун має 200 імпульсів на оберт (ppr), то один імпульс змушує двигун обертатися на 1/200 оберту або 1,8 градуса, а 200 імпульсів змушують двигун обертатися на один оберт.
Звичайно, різні двигуни мають різну роздільну здатність. Крокові двигуни можуть бути мікрокроковими, що дає їм багато тисяч імпульсів за один оберт. Крім того, мінімальна роздільна здатність серводвигунів зазвичай становить багато тисяч імпульсів на оберт. Незалежно від роздільної здатності двигуна, імпульс від контролера або індексатора змушує його обертатися лише на одну інкрементну одиницю.
Швидкість, з якою обертається двигун, залежить від частоти імпульсів або швидкості. Чим швидше імпульси, тим швидше обертається двигун. У наведеному вище прикладі з двигуном, який має 200 імпульсів на секунду, частота 200 імпульсів на секунду (pps) обертатиме двигун зі швидкістю один оберт на секунду (rps) або 60 обертів на хвилину (rpm). Чим більше імпульсів потрібно для обертання двигуна на один оборот (ppr), тим швидше потрібно надсилати імпульси, щоб отримати ту саму швидкість. Наприклад, двигун з 1000 prp повинен мати частоту імпульсів у рази вищу, ніж у двигуна з 200 ppr, щоб мати ті самі оберти на хвилину. Математика досить проста:
rps = pps/ppr (обертання за секунду = імпульси за секунду/імпульси за обертання)
об / хв = об / с (60)
Контроль імпульсів
Більшість контролерів мають метод для визначення того, чи повинен двигун обертатися вправо чи вправо, і відповідним чином керуватимуть сигналами. Іншими словами, програмісту зазвичай не потрібно визначати, які виходи вмикати. Наприклад, багато ПЛК мають функції для керування рухом за допомогою імпульсного сигналу, і ця функція автоматично керує виходами для отримання правильного напрямку обертання незалежно від того, налаштовано контролер на режим 1P або 2P.
Розглянемо два ходи як простий приклад. Обидва рухи складаються з 1000 імпульсів. Один у позитивному напрямку, інший у негативному. Контролер вмикає відповідні виходи, незалежно від того, чи використовується 1P або 2P, щоб змусити двигун обертатися в позитивному напрямку (зазвичай CW), коли кількість імпульсів, що надходять у команду, становить 1000. З іншого боку, якщо програма дає команду -1000 імпульсів, контролер вмикає відповідні виходи, щоб рухатися в негативному напрямку (зазвичай CCW). Тому програмісту не обов’язково контролювати напрямок обертання двигуна за допомогою коду в програмі, щоб вибрати, які виходи використовувати. Контролер робить це автоматично.
Контролери та драйвери, як правило, мають можливість вибрати тип імпульсу за допомогою DIP-перемикача або програмного забезпечення. Важливо переконатися, що контролер і драйвер налаштовані однаково. Якщо ні, робота може бути нестабільною або взагалі не працюватиме.
Абсолютні та інкрементні ходи
Дві найпоширеніші команди переміщення в програмуванні керування рухом — це інкрементні та абсолютні команди переміщення. Концепція абсолютних і інкрементальних рухів бентежить багатьох користувачів незалежно від використовуваного методу керування двигуном. Але ця інформація стосується незалежно від того, чи керується двигун за допомогою імпульсів, аналогового сигналу чи мережі, як-от Ethernet/IP чи Ethercat.
По-перше, якщо двигун має кодер, його типи рухів не мають нічого спільного з типом кодера. По-друге, абсолютні та інкрементні переміщення можна виконувати незалежно від того, чи є абсолютний чи інкрементальний кодер, чи його взагалі немає.
При використанні двигуна для переміщення лінійної осі, наприклад кульково-гвинтового приводу, існує (очевидно) кінцева відстань між одним кінцем приводу та іншим. Іншими словами, якщо каретка знаходиться на одному кінці приводу, двигун можна обертати для руху лише доти, доки каретка не досягне протилежного кінця. Це довжина ходу. Наприклад, на приводі з ходом 200 мм один кінець приводу зазвичай знаходиться в «нульовому» або вихідному положенні.
Абсолютний хід переміщує каретку в задане положення незалежно від її поточного положення. Наприклад, якщо поточна позиція дорівнює нулю, а заданий рух становить 100 мм, контролер надсилає достатньо імпульсів, щоб перемістити привод вперед до позначки 100 мм і зупинитися.
Але якби поточне положення приводу становило 150 мм, абсолютне переміщення на 100 мм змусило б контролер надсилати імпульси в негативному напрямку, щоб перемістити привод назад на 50 мм і зупинитися в положенні 100 мм.
Практичне використання
Найпоширеніша проблема при використанні імпульсного керування полягає в проводці. Часто сигнали випадково підключаються навпаки. У режимі 2P це означає, що вихід CCW підключено до входу CW і навпаки. У режимі 1P це означає, що вихід імпульсного сигналу підключений до входу напрямку, а вихід сигналу напрямку підключений до імпульсного входу.
У режимі 2P через цю помилку електропроводки двигун обертається вправо, коли отримує команду рухатися протилежно, а коли отримує команду рухатися вправо. У режимі 1P проблему складніше діагностувати. Якщо сигнали поміняні місцями, контролер надсилає серію імпульсів на вхід напрямку, який нічого не робить. Він також посилає зміну напрямку (вмикає або вимикає сигнал залежно від напрямку) на кроковий вхід, що може призвести до імпульсного обертання двигуна. Один імпульс руху зазвичай досить важко помітити.
Використання режиму 2P спрощує пошук несправностей, і зазвичай його легше зрозуміти тим, хто не має досвіду в цьому типі керування рухом.
Ось спосіб, який гарантує, що на усунення несправностей осі імпульсу та напряму витрачається якомога менше часу. Це дозволяє інженерам зосереджуватися на одній справі одночасно. Це повинно запобігти вам витрачати дні, намагаючись з’ясувати, яка помилка проводки перешкоджає руху, лише щоб дізнатися, що функція імпульсного виведення неправильно налаштована в ПЛК, і ви ніколи не виводили імпульси.
1. Визначте імпульсний режим, який потрібно використовувати, і використовуйте той самий режим для всіх осей.
2. Налаштуйте контролер на відповідний режим.
3. Налаштуйте привід на відповідний режим.
4. Створіть найпростішу програму у вашому контролері (зазвичай це функція перемикання), щоб двигун міг обертатися в одному чи іншому напрямку на повільній швидкості.
5. Надайте команду руху CW і стежте за будь-якими статусами в контролері, які вказують на вихід імпульсів.
– Це можуть бути світлодіоди на виходах контролера або прапорці стану, як прапор зайнятості в ПЛК. Вихідний лічильник імпульсів у контролері також можна контролювати, щоб побачити, як він змінює значення.
– Двигун не потребує підключення до вихідних імпульсів.
6. Повторіть тест у напрямку CCW.
7. Якщо виведення імпульсів в обох напрямках успішне, рухайтеся далі. Якщо ні, спочатку потрібно розібратися з програмуванням.
8. Підключіть контролер до драйвера.
9. Побіжний рух мотора в одному напрямку. Якщо це працює, перейдіть до кроку 10. Якщо це не працює, перевірте проводку.
10. Покрутіть двигун у зворотному напрямку. Якщо це працює, ви досягли успіху. Якщо не працює, перевірте проводку.
На цій першій фазі було витрачено багато годин, оскільки частота імпульсів досить низька, щоб двигун обертався надзвичайно повільно, наприклад, 1/100 об/с. Якщо єдиний спосіб визначити, чи працює він, це спостерігати за валом двигуна, можливо, він не рухається з низькою швидкістю, що змушує повірити, що він не видає імпульсів. Найкраще розрахувати безпечну швидкість на основі роздільної здатності двигуна та параметрів застосування, перш ніж швидкість буде встановлено для тесту. Деякі вважають, що вони можуть встановити корисну швидкість, просто вгадавши. Але якщо двигуну потрібно 10 000 імпульсів для обертання на один оберт, а частота імпульсів встановлена на 1000 pps, двигуну знадобиться 10 секунд. зробити один оборот. І навпаки, якщо двигуну потрібно 1000 імпульсів, щоб здійснити один оберт, а частота імпульсів встановлена на 1000, двигун рухатиметься один оберт за секунду або 60 об/хв. Це може бути надто швидким для тесту, якщо двигун прикріплено до вантажу, наприклад кульково-гвинтового приводу з обмеженою відстанню руху. Дуже важливо стежити за індикаторами, які виявляють вихідні імпульси (світлодіоди або лічильник імпульсів).
Розрахунки для практичного застосування
Користувачі часто отримують HMI, які показують відстань і швидкість машини в одиницях імпульсів, а не в інженерних одиницях, таких як міліметри. Часто програміст поспішає, щоб налаштувати машину на роботу, і не витрачає час на визначення машинних одиниць і перетворення їх на інженерні одиниці. Ось кілька порад, які допоможуть у цьому.
Якщо вам відома роздільна здатність кроку двигуна (імпульси на оберт) і рух, здійснений за оберт двигуна (мм), константа командного імпульсу обчислюється як роздільна здатність/відстань на оберт або кількість імпульсів на оберт/відстань на оберт.
Константа може допомогти визначити, скільки імпульсів потрібно для переміщення на певну відстань:
Поточна позиція (або відстань) = постійна кількість імпульсів/командних імпульсів.
Щоб перетворити технічні одиниці в імпульси, спочатку визначте константу, яка визначає кількість імпульсів, необхідних для певного руху. Припустимо, що у наведеному вище прикладі двигун потребує 500 імпульсів для обертання на один оберт, а один оберт становить 10 мм. Розрахувати константу можна, поділивши 500 (ppr) на 10 (mm p/r). Отже, константа становить 500 імпульсів/10 мм або 50 імпульсів/мм.
Потім цю константу можна використовувати для розрахунку кількості імпульсів, необхідних для переміщення на задану відстань. Наприклад, щоб перемістити 15 мм, 15 мм × 50 ppm = 750 імпульсів.
Щоб перетворити показання лічильника імпульсів у технічні одиниці, просто розділіть значення лічильника імпульсів на постійну імпульсу команди. Таким чином, якщо лічильник імпульсів показує 6000, поділивши його на константу командного імпульсу, розраховану з прикладу вище, положення приводу становитиме 6000 імпульсів/50 ppm = 120 мм.
Щоб вказати швидкість у мм і контролер обчислив правильну частоту в Гц (імпульси на секунду), спочатку потрібно визначити постійну швидкість. Це робиться шляхом знаходження константи командного імпульсу (як показано вище), але одиниці змінюються. Іншими словами, якщо двигун видає 500 імпульсів на секунду, а привід рухається на 10 мм за оберт, тоді, якщо подається команда 500 імпульсів на секунду, привід рухатиметься на 10 мм на секунду. Якщо поділити 500 імпульсів на секунду на 10 мм на секунду, то отримаємо 50 імпульсів на секунду на мм. Таким чином, множення цільової швидкості на 50 призводить до належної частоти пульсу.
Формули ті самі, але одиниці змінюються:
Константа швидкості в pps = імпульси на оберт/відстань на оберт
Швидкість пульсу (pps) = (постійна швидкість) × швидкість у мм
Використання налаштування, яке використовує імпульсні сигнали для керування рухом, спочатку може здатися складним, однак звернення пильної уваги на типи сигналів і налаштування на контролері та приводах на початку може скоротити час, витрачений на роботу. Крім того, якщо ви витратите час на виконання основних розрахунків відразу, програмування швидкості та відстані буде легшим, а оператори машин матимуть більш інтуїтивно зрозумілу інформацію, що відображатиметься на їх HMI.
Час публікації: 08 лютого 2021 р