Саморобні драйвери для біполярних крокових двигунів Як працює кроковий електродвигун? Що таке кроковий двигун, типи кроковиків

Драйвер крокового двигуна на транзисторах

Представляю до Вашої уваги драйвер біполярного крокового двигуна на біполярних транзисторах серії «КТ».

Драйвер працює за принципом емітерного повторювача. Сигнал управління надходить на каскад посилення зібраного на транзисторі кт315. Після чого потрапить на Н міст із комплементарної пари КТ815 та КТ 814.

Каскад посилення необхідний, оскільки потужності струму на виході з мікроконтролера недостатньо для відкриття силових транзисторів. Після силових транзисторів встановлені діоди гасіння самоіндукції двигуна.

Також у схемі передбачено гасіння перешкод як конденсаторів на 3 на 0,1 мкф і 1 на 100 мкф. Так як драйвер проектувався для роботи з двигуном від приводу CD на 150 ват, охолодження на транзисторах не

Кроковий двигун з приводу CD підключений до драйвера на транзисторах

встановлювалося, але максимальний струм емітера транзисторів КТ814 і КТ815 становить 1,5 а, завдяки чому даним драйвером можна крутити мотори і потужніше. Для цього необхідно встановити пластини охолодження на силові транзистори.

Драйвер крокового двигуна- Електронний пристрій, який змушує "крочати" . Стандартом де-факто у сфері управління ШД є . STEP це сигнал кроку, DIR це сигнал напрямку обертання, ENABLE це сигнал увімкнення драйвера.

Більш наукове визначення - драйвер крокового двигуна це електронний силовий пристрій, який на підставі цифрових сигналів управління керує сильноточними/високовольтними обмотками крокового двигуна і дозволяє кроковому двигуну робити кроки (обертатися).

Керувати ШД набагато складніше ніж звичайним колекторним двигуном - потрібно у певній послідовності перемикати напруги в обмотках з одночасним контролем струму. Тому для управління ШД розроблені спеціальні пристрої – драйвери ШД. Драйвер ШД дозволяє керувати обертанням ротора ШД відповідно до сигналів управління та електронним чином ділити фізичний крок ШД на дрібніші дискрети.

До драйвера ШД підключається джерело живлення, сам ШД (його обмотки) та сигнали управління. Стандартом по сигналах управління є керування сигналами STEP/DIR або CW/CCW та сигнал ENABLE.

Протокол STEP/DIR:

Сигнал STEP – Тактуючий сигнал, сигнал кроку. Один імпульс призводить до повороту ротора ШД на один крок (не фізичний крок ШД, а виставлений крок на драйвері - 1:1, 1:8, 1:16 і т.д.). Зазвичай драйвер відпрацьовує крок по передньому або задньому фронті імпульсу.

Сигнал DIR – Потенційний сигнал, сигнал напрямку. Логічна одиниця – ШД обертається за годинниковою стрілкою, нуль – ШД обертається проти годинникової стрілки, або навпаки. Інвертувати сигнал DIR зазвичай можна або з програми управління або поміняти місцями підключення фаз ШД у роз'єм підключення драйвері.

Протокол CW/CCW:

Сигнал CW – Тактуючий сигнал, сигнал кроку. Один імпульс призводить до повороту ротора ШД на один крок (не фізичний крок ШД, а виставлений крок на драйвері - 1:1, 1:8, 1:16 і т. д.) за годинниковою стрілкою. Зазвичай драйвер відпрацьовує крок по передньому або задньому фронті імпульсу.

Сигнал CW – Тактуючий сигнал, сигнал кроку. Один імпульс призводить до повороту ротора ШД на один крок (не фізичний крок ШД, а виставлений крок на драйвері - 1:1, 1:8, 1:16 і т. д.) проти годинникової стрілки. Зазвичай драйвер відпрацьовує крок по передньому або задньому фронті імпульсу.

Сигнал ENABLE - Потенційний сигнал, сигнал увімкнення/вимкнення драйвера. Зазвичай логіка роботи така: логічна одиниця (подано 5В на вхід) - драйвер ШД вимкнено та обмотки ШД знеструмлено, нуль (нічого не подано або 0В на вхід) - драйвер ШД включено та обмотки ШД запитані.

Драйвери ШД можуть мати додаткові функції:

Контролює навантаження по струму.

Контролює перевищення напруги живлення, захист від ефекту зворотної ЕРС від ШД. При уповільненні обертання ШД виробляє напругу, яка складається з напругою живлення і короткочасно збільшує його. При швидшому уповільненні, напруга зворотної ЕРС більше і більше стрибок напруги живлення. Цей стрибок напруги живлення може призвести до виходу з ладу драйвера, тому драйвер має захист від стрибків напруги живлення. При перевищенні граничного значення напруги живлення драйвер вимикається.

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

Режим автоматичного зниження струму обмотки при простої (відсутності сигналу STEP) для зниження нагріву ШД та споживаного струму (режим AUTO-SLEEP).

Автоматичний компенсатор середньочастотного резонансу ШД. Резонанс зазвичай проявляється у діапазоні 6-12 об/сек, ШД починає гудіти і ротор зупиняється. Початок і сила резонансу залежить від параметрів ШД та його механічного навантаження. Автоматичний компенсатор середньочастотного резонансу дозволяє повністю виключити резонування ШД та зробити його обертання рівномірним та стійким у всьому діапазоні частот.

Схему зміни форми фазових струмів із збільшенням частоти (морфінг, перехід із режиму мікрокроку в режим кроку зі збільшенням частоти). ШД здатний віддати заявлений у ТХ момент лише в режимі повного кроку, тому у звичайному драйвері ШД без морфінгу при використанні мікрокроку ШД працює на 70% максимальної потужності. Драйвер ШД з морфінгом дозволяє отримати від ШД максимальну віддачу на момент у всьому діапазоні частот.

Вбудований генератор частоти STEP – зручна функція для пробного запуску драйвера без підключення до ПК або іншого зовнішнього генератора STEP. Також генератор буде корисним для побудови простих систем переміщення без застосування ПК.

Крокові двигуни вже давно та успішно застосовуються у найрізноманітніших пристроях. Їх можна зустріти у дисководах, принтерах, плоттерах, сканерах, факсах, а також у різноманітному промисловому та спеціальному обладнанні. В даний час випускається безліч різних типів крокових двигунів на всі випадки життя. Однак правильно вибрати тип двигуна - це ще півсправи. Не менш важливо правильно вибрати схему драйвера та алгоритм його роботи, який найчастіше визначається програмою мікроконтролера. Мета цієї статті - систематизувати відомості про пристрій крокових двигунів, способи управління ними, схем драйверів і алгоритми. Як приклад наведено практичну реалізацію простого і дешевого драйвера крокового двигуна на основі мікроконтролера сімейства AVR.

Що таке кроковий двигун, і навіщо він потрібний?

Кроковий двигун - це електромеханічний пристрій, який перетворює електричні імпульси на дискретні механічні переміщення. Так, мабуть, можна дати чітке визначення. Напевно, кожен бачив, як виглядає кроковий двигун зовні: він практично не відрізняється від двигунів інших типів. Найчастіше це круглий корпус, вал, кілька висновків (рис. 1).

Мал. 1. Зовнішній вигляд крокових двигунів сімейства ДШІ-200.

Однак крокові двигуни мають деякі унікальні властивості, що робить часом їх виключно зручними для застосування або навіть незамінними.

Чим же добрий кроковий двигун?

  • кут повороту ротора визначається числом імпульсів, які подано на двигун
  • двигун забезпечує повний момент у режимі зупинки (якщо обмотки запитані)
  • прецизійне позиціонування та повторюваність. Хороші крокові двигуни мають точність 3-5% від величини кроку. Ця помилка не накопичується від кроку до кроку
  • можливість швидкого старту/зупинки/реверсування
  • висока надійність, пов'язана з відсутністю щіток, термін служби крокового двигуна фактично визначається терміном служби підшипників
  • однозначна залежність положення від вхідних імпульсів забезпечує позиціонування без зворотного зв'язку
  • можливість отримання дуже низьких швидкостей обертання для навантаження, приєднаного безпосередньо до валу двигуна без проміжного редуктора
  • може бути перекритий досить великий діапазон швидкостей, швидкість пропорційна частоті вхідних імпульсів

Але не все так добре.

  • кроковим двигуном властиве явище резонансу
  • можлива втрата контролю за становищем через роботу без зворотного зв'язку
  • споживання енергії не зменшується навіть без навантаження
  • утруднена робота на високих швидкостях
  • невисока питома потужність
  • щодо складна схема управління

Що вибрати?

Крокові двигуни належать до класу безколекторних двигунів постійного струму. Як і будь-які безколекторні двигуни, вони мають високу надійність та великий термін служби, що дозволяє використовувати їх у критичних, наприклад, індустріальних застосуваннях. Порівняно зі звичайними двигунами постійного струму, крокові двигуни вимагають значно складніших схем управління, які повинні виконувати всі комутації обмоток під час роботи двигуна. Крім того, сам кроковий двигун - дорогий пристрій, тому там, де точне позиціонування не потрібне, звичайні двигуни колектора мають помітну перевагу. Задля справедливості слід зазначити, що останнім часом для управління колекторними двигунами все частіше застосовують контролери, які за складністю практично не поступаються контролерам крокових двигунів.

Однією з головних переваг крокових двигунів є можливість здійснювати точне позиціонування та регулювання швидкості без датчика зворотного зв'язку. Це дуже важливо, оскільки такі датчики можуть коштувати набагато більше самого двигуна. Однак це підходить тільки для систем, які працюють при малому прискоренні та відносно постійному навантаженні. У той самий час системи із зворотним зв'язком здатні працювати з великими прискореннями і навіть за змінному характері навантаження. Якщо навантаження крокового двигуна перевищить його момент, інформація про положення ротора втрачається і система вимагає базування за допомогою, наприклад, кінцевого вимикача або іншого датчика. Системи зі зворотним зв'язком не мають такого недоліку.

При проектуванні конкретних систем доводиться вибирати між сервомотором і кроковим двигуном. Коли потрібно прецизійне позиціонування і точне управління швидкістю, а необхідний момент і швидкість не виходять за допустимі межі, кроковий двигун є найбільш економічним рішенням. Як і для звичайних двигунів, для підвищення моменту може бути використаний знижувальний редуктор. Однак для крокових двигунів редуктор не завжди підходить. На відміну від колекторних двигунів, у яких зростає зі збільшенням швидкості, кроковий двигун має більший момент на низьких швидкостях. До того ж, крокові двигуни мають набагато меншу максимальну швидкість порівняно з колекторними двигунами, що обмежує максимальне передаточне число і відповідно збільшення моменту за допомогою редуктора. Готові крокові двигуни з редукторами хоч і існують, але є екзотикою. Ще одним фактом, що обмежує застосування редуктора, є властивий йому люфт.

Можливість отримання низької частоти обертання часто є причиною того, що розробники, будучи неспроможними спроектувати редуктор, застосовують крокові двигуни невиправдано часто. У той же час колекторний двигун має більш високу питому потужність, низьку вартість, просту схему управління, і разом з одноступеневим черв'ячним редуктором він здатний забезпечити той же діапазон швидкостей, що кроковий двигун. До того ж, при цьому забезпечується значно більший момент. Приводи на основі колекторних двигунів дуже часто застосовуються в техніці військового призначення, а це побічно говорить про хороші параметри та високу надійність таких приводів. Та й у сучасній побутовій техніці, автомобілях, промисловому устаткуванні колекторні двигуни поширені досить сильно. Тим не менш, для крокових двигунів є своя, хоч і досить вузька, сфера застосування, де вони незамінні.

Види крокових двигунів

Існують три основні типи крокових двигунів:

  • двигуни зі змінним магнітним опором
  • двигуни з постійними магнітами
  • гібридні двигуни

Визначити тип двигуна можна навіть навпомацки: при обертанні валу знеструмленого двигуна з постійними магнітами (або гібридного) відчувається змінний опір обертанню, двигун обертається ніби клацаннями. У той же час вал знеструмленого двигуна зі змінним магнітним опором обертається вільно. Гібридні двигуни є подальшим удосконаленням двигунів з постійними магнітами та за способом керування нічим від них не відрізняються. Визначити тип двигуна можна за конфігурацією обмоток. Двигуни зі змінним магнітним опором зазвичай мають три (рідше чотири) обмотки з одним загальним висновком. Двигуни з постійними магнітами найчастіше мають дві незалежні обмотки. Ці обмотки можуть мати відведення від середини. Іноді двигуни з постійними магнітами мають 4 окремі обмотки.

У кроковому двигуні момент, що обертає, створюється магнітними потоками статора і ротора, які відповідним чином орієнтовані один щодо одного. Статор виготовлений із матеріалу з високою магнітною проникністю та має кілька полюсів. Полюс можна визначити як деяку ділянку намагніченого тіла, де магнітне поле сконцентровано. Полюси мають як статор, і ротор. Для зменшення втрат на вихрові струми магнітопроводи зібрані з окремих пластин, подібно до сердечника трансформатора. Обертовий момент пропорційний величині магнітного поля, яка пропорційна струму в обмотці та кількості витків. Таким чином, момент залежить від параметрів обмоток. Якщо хоча одна обмотка крокового двигуна запитана, ротор приймає певне положення. Він буде в цьому положенні доти, доки зовнішній прикладений момент не перевищить деякого значення, званого моментом утримання. Після цього ротор повернеться і намагатиметься прийняти одне з таких положень рівноваги.

Двигуни зі змінним магнітним опором

Крокові двигуни зі змінним магнітним опором мають кілька полюсів на статорі та ротор зубчастої форми з магнітом'якого матеріалу (рис. 2). Намагніченість ротора відсутня. Для простоти малюнку ротор має 4 зубця, а статор має 6 полюсів. Двигун має три незалежні обмотки, кожна з яких намотана на двох протилежних полюсах статора. Такий двигун має крок 30 град.

Мал. 2. Двигун із змінним магнітним опором.

При включенні струму однієї з котушок, ротор прагне зайняти становище, коли магнітний потік замкнутий, тобто. зубці ротора будуть знаходитися навпроти полюсів, на яких знаходиться запитана обмотка. Якщо потім вимкнути цю обмотку і включити наступну, то ротор змінить положення знову замкнувши своїми зубцями магнітний потік. Таким чином, щоб здійснити безперервне обертання потрібно включати фази поперемінно. Двигун не чутливий до напряму струму в обмотках. Реальний двигун може мати більше полюсів статора і більшу кількість зубців ротора, що відповідає більшій кількості кроків на оборот. Іноді поверхню кожного полюса статора виконують зубчастою, що разом із відповідними зубцями ротора забезпечує дуже маленьке значення кута кроку, близько кількох градусів. Двигуни із змінним магнітним опором досить рідко використовують у індустріальних застосуваннях.

Двигуни з постійними магнітами

Двигуни з постійними магнітами складаються зі статора, що має обмотки, та ротора, що містить постійні магніти (рис. 3). Полюси ротора, що чергуються, мають прямолінійну форму і розташовані паралельно осі двигуна. Завдяки намагніченості ротора в таких двигунах забезпечується більший магнітний потік і, як наслідок, більший момент, ніж у двигунів зі змінним магнітним опором.

Мал. 3. Двигун із постійними магнітами.

Показаний на малюнку двигун має 3 пари полюсів ротора та 2 пари полюсів статора. Двигун має дві незалежні обмотки, кожна з яких намотана на двох протилежних полюсах статора. Такий двигун, як і розглянутий раніше двигун із змінним магнітним опором, має величину кроку 30 град. При включенні струму в одній з котушок, ротор прагне зайняти таке становище, коли різноіменні полюси ротора і статора знаходяться один навпроти одного. Для безперервного обертання потрібно включати фази поперемінно. Насправді двигуни з постійними магнітами зазвичай мають 48 - 24 кроку на оборот (кут кроку 7.5 - 15 град).

Розріз реального крокового двигуна із постійними магнітами показаний на рис. 4.

Мал. 4. Розріз крокового двигуна із постійними магнітами.

Для здешевлення конструкції двигуна магнітопровід статора виконаний у вигляді штампованої склянки. Усередині знаходяться полюсні наконечники у вигляді ламелей. Обмотки фаз розміщені на двох різних магнітопроводах, які встановлені одна на одній. Ротор є циліндричний багатополюсний постійний магніт.

Двигуни з постійними магнітами схильні до впливу зворотної ЕРС з боку ротора, яка обмежує максимальну швидкість. Для роботи на високих швидкостях використовуються двигуни із змінним магнітним опором.

Гібридні двигуни

Гібридні двигуни є дорожчими, ніж двигуни з постійними магнітами, зате вони забезпечують меншу величину кроку, більший момент та більшу швидкість. Типова кількість кроків оборот для гібридних двигунів становить від 100 до 400 (кут кроку 3.6 - 0.9 град.). Гібридні двигуни поєднують у собі кращі риси двигунів із змінним магнітним опором та двигунів із постійними магнітами. Ротор гібридного двигуна має зубці, розташовані в осьовому напрямку (рис. 5).

Мал. 5. Гібридний двигун.

Ротор розділений на дві частини, між якими розташований постійний циліндричний магніт. Таким чином, зубці верхньої половинки ротора є північними полюсами, а зубці нижньої половинки – південними. Крім того, верхня та нижня половинки ротора повернені одна щодо одної на половину кута кроку зубців. Число пар полюсів ротора дорівнює кількості зубців на одній з його половинок. Зубчасті наконечники полюсні ротора, як і статор, набрані з окремих пластин для зменшення втрат на вихрові струми. Статор гібридного двигуна також має зубці, забезпечуючи велику кількість еквівалентних полюсів, на відміну основних полюсів, на яких розташовані обмотки. Зазвичай використовуються 4 основні полюси для 3.6 град. двигунів та 8 основних полюсів для 1.8- та 0.9 град. двигунів. Зубці ротора забезпечують менший опір магнітного ланцюга у певних положеннях ротора, що покращує статичний та динамічний момент. Це забезпечується відповідним розташуванням зубців, коли частина зубців ротора знаходиться навпроти зубців статора, а частина між ними. Залежність між числом полюсів ротора, числом еквівалентних полюсів статора та числом фаз визначає кут кроку S двигуна:

S = 360/(Nph * Ph) = 360/N,

де Nph - чило еквівалентних полюсів на фазу = число полюсів ротора,
Ph – число фаз,
N – повна кількість полюсів для всіх фаз разом.

Ротор показаного малюнку двигуна має 100 полюсів (50 пар), двигун має 2 фази, тому повна кількість полюсів - 200, а крок, відповідно, 1.8 град.

Поздовжнє переріз гібридного крокового двигуна показано на рис. 6. Стрілками показано напрямок магнітного потоку постійного магніту ротора. Частина потоку (на малюнку показана чорною лінією) проходить через полюсні наконечники ротора, повітряні зазори та полюсний наконечник статора. Ця частина не бере участі у створенні моменту.

Мал. 6. Поздовжній розріз гібридного крокового двигуна.

Як видно на малюнку, повітряні зазори у верхнього та нижнього полюсного наконечника ротора різні. Це досягається завдяки повороту полюсних наконечників на половину кроку зубів. Тому існує інший магнітний ланцюг, який містить мінімальні повітряні зазори і, як наслідок, має мінімальний магнітний опір. По цьому ланцюзі замикається інша частина потоку (на малюнку показана штриховою білою лінією), яка створює момент. Частина ланцюга лежить у площині, перпендикулярній до малюнка, тому не показана. У цій площині створюють магнітний потік котушки статора. У гібридному двигуні цей потік частково замикається полюсними наконечниками ротора і постійний магніт його «бачить» слабо. Тому на відміну від двигунів постійного струму, магніт гібридного двигуна неможливо розмагнітити за жодної величини струму обмоток.

Величина зазору між зубцями ротора та статора дуже невелика – типово 0.1 мм. Це вимагає високої точності при складанні, тому кроковий двигун не варто розбирати для задоволення цікавості, інакше на цьому його термін служби може закінчитися.
Щоб магнітний потік не замикався через вал, що проходить усередині магніту, його виготовляють із немагнітних марок сталі. Вони зазвичай мають підвищену крихкість, тому з валом, особливо малого діаметра, слід поводитися з обережністю.

Для отримання великих моментів необхідно збільшувати поле, створюване статором, так і поле постійного магніту. При цьому потрібно більший діаметр ротора, що погіршує відношення моменту, що крутить, до моменту інерції. Тому потужні крокові двигуни іноді конструктивно виконують з декількох секцій у вигляді етажерки. Крутний момент і момент інерції збільшуються пропорційно до кількості секцій, а їхнє відношення не погіршується.

Існують інші конструкції крокових двигунів. Наприклад, двигуни з дисковим намагніченим ротором. Такі двигуни мають малий момент інерції ротора, що у ряді випадків важливо.

Більшість сучасних крокових двигунів є гібридними. По суті, гібридний двигун є двигуном з постійними магнітами, але з великим числом полюсів. За способом керування такі двигуни однакові, далі розглядатимуться лише такі двигуни. Найчастіше на практиці двигуни мають 100 або 200 кроків на оборот, відповідно крок дорівнює 3.6 грн або 1.8 грн. Більшість контролерів дозволяють працювати в напівкроковому режимі, де цей кут вдвічі менший, а деякі контролери забезпечують мікрокроковий режим.

Біполярні та уніполярні крокові двигуни

Залежно від конфігурації обмоток двигуни поділяються на біполярні та уніполярні. Біполярний двигун має одну обмотку в кожній фазі, яка для зміни напрямку магнітного поля повинна переполюсовуватись драйвером. Для такого типу двигуна потрібен мостовий драйвер, або напівмостовий з двополярним живленням. Усього біполярний двигун має дві обмотки і, відповідно, чотири виводи (рис. 7а).

Мал. 7. Біполярний двигун (а), уніполярний (б) та чотириобмотувальний (в).

Уніполярний двигун також має одну обмотку в кожній фазі, але від середини обмотки зроблено відведення. Це дозволяє змінювати напрямок магнітного поля, створюваного обмоткою, простим перемиканням половинок обмотки. При цьому значно спрощується схема драйвера. Драйвер повинен мати лише 4 простих ключа. Таким чином, в уніполярному двигуні використовується інший спосіб зміни напряму магнітного поля. Середні висновки обмоток можуть бути поєднані всередині двигуна, тому такий двигун може мати 5 або 6 висновків (рис. 7б). Іноді уніполярні двигуни мають роздільні 4 обмотки, тому їх помилково називають 4-х фазними двигунами. Кожна обмотка має окремі висновки, тому всього 8 висновків (рис. 7в). При відповідному з'єднанні обмоток такий двигун можна використовувати як уніполярний або біполярний. Уніполярний двигун з двома обмотки і відводами теж можна використовувати в біполярному режимі, якщо залишити залишки непідключеними. У будь-якому випадку струм обмоток слід вибирати так, щоб не перевищити максимальної потужності, що розсіюється.

Біполярний чи уніполярний?

Якщо порівнювати між собою біполярний та уніполярний двигуни, то біполярний має більш високу питому потужність. При тих самих розмірах біполярні двигуни забезпечують більший момент.

Момент, створюваний кроковим двигуном, пропорційний величині магнітного поля, створюваного статора обмотками. Шлях підвищення магнітного поля - це збільшення струму чи кількості витків обмоток. Природним обмеженням у разі підвищення струму обмоток є небезпека насичення залізного сердечника. Однак на практиці це обмеження діє рідко. Набагато істотнішим є обмеження нагрівання двигуна внаслідок омічних втрат в обмотках. Саме цей факт і демонструє одну з переваг біполярних двигунів. В уніполярному двигуні у кожний момент часу використовується лише половина обмоток. Інша половина просто займає місце у вікні сердечника, що змушує робити обмотки дротом меншого діаметра. У той самий час у біполярному двигуні працюють всі обмотки, тобто. їх використання оптимальне. У такому двигуні перетин окремих обмоток вдвічі більший, а омічний опір - відповідно вдвічі менше. Це дозволяє збільшити струм у корінь із двох разів при тих же втратах, що дає виграш у моменті приблизно 40%. Якщо підвищеного моменту не потрібно, уніполярний двигун дозволяє зменшити габарити або просто працювати з меншими втратами. На практиці все ж таки часто застосовують уніполярні двигуни, так як вони вимагають значно більш простих схем управління обмотками. Це важливо, якщо драйвери виконані на дискретних компонентах. В даний час існують спеціалізовані мікросхеми драйверів для біполярних двигунів, з використанням яких драйвер виходить не складніше, ніж уніполярного двигуна. Наприклад, це мікросхеми L293E, L298N або L6202 фірми SGS-Thomson, PBL3770, PBL3774 фірми Ericsson, NJM3717, NJM3770, NJM3774 фірми JRC, A3957 фірми Allegro, LMD18T245.

Діаграми, діаграми...

Існує кілька способів керування фазами крокового двигуна.

Перший спосіб забезпечується поперемінної комутації фаз, при цьому вони не перекриваються, одночасно включена тільки одна фаза (рис 8а). Цей спосіб називають ”one phase on” full step або wave drive mode. Точки рівноваги ротора кожного кроку збігаються з «природними» точками рівноваги ротора у незапитаного двигуна. Недоліком цього способу управління є те, що для біполярного двигуна в той самий момент часу використовується 50% обмоток, а для уніполярного - тільки 25%. Це означає, що в такому режимі не можна отримати повний момент.

Мал. 8. Різні способи керування фазами крокового двигуна.

Другий спосіб - управління фазами з перекриттям: дві фази включені в один і той же час. Його називають ”two-phase-on” full step або просто full step mode. При цьому способі керування ротор фіксується в проміжних позиціях між полюсами статора (рис. 8б) і забезпечується приблизно на 40% більший момент, ніж у випадку включеної фази. Цей спосіб управління забезпечує такий самий кут кроку, як і перший спосіб, але положення точок рівноваги ротора зміщено на півкроку.

Третій спосіб є комбінацією перших двох і називається напівкроковим режимом, ”one and two-phase-on” half step або просто half step mode, коли двигун робить крок половину основного. Цей метод управління досить поширений, тому що двигун з меншим кроком коштує дорожче і дуже привабливо отримати від 100-крокового двигуна 200 кроків на оборот. Кожен другий крок запитана лише одна фаза, а в інших випадках запитано дві (рис. 8в). В результаті кутове переміщення ротора становить половину кута кроку для перших двох способів керування. Крім зменшення розміру кроку, цей спосіб управління дозволяє частково позбутися явища резонансу. Напівкроковий режим зазвичай не дозволяє отримати повний момент, хоча найбільш досконалі драйвери реалізують модифікований напівкроковий режим, в якому двигун забезпечує практично повний момент, при цьому потужність, що розсіюється, не перевищує номінальної.

Ще один спосіб управління називається мікрокроковим режимом або micro stepping mode. При цьому способі керування струмом у фазах потрібно міняти невеликими кроками, забезпечуючи таким чином дроблення половинного кроку на менші мікрокроки. Коли одночасно включені дві фази, але їх струми не рівні, положення рівноваги ротора лежатиме не в середині кроку, а в іншому місці, що визначається співвідношенням струмів фаз. Змінюючи це співвідношення, можна забезпечити кілька мікрокроків всередині одного кроку. Крім збільшення роздільної здатності, мікрокроковий режим має інші переваги, які будуть описані нижче. Разом з тим для реалізації мікрокрокового режиму потрібні значно складніші драйвери, що дозволяють задавати струм в обмотках з необхідною дискретністю. Напівкроковий режим є окремим випадком мікрокрокового режиму, але він не вимагає формування ступінчастого струму живлення котушок, тому часто реалізується.

Тримай його!

У повнокроковому режимі з двома включеними фазами положення точок рівноваги ротора зміщені на півкроку. Слід зазначити, що це положення ротор приймає під час роботи двигуна, але становище ротора неспроможна зберігатися постійним після вимкнення струму обмоток. Тому при включенні та вимкненні живлення двигуна ротор зміщуватиметься на півкроку. Для того, щоб він не зміщувався під час зупинки, необхідно подавати в обмотки струм утримання. Те саме справедливо і для напівкрокового та мікрокрокового режимів. Слід зазначити, що якщо у вимкненому стані ротор двигуна повертався, то при включенні живлення можливе зміщення ротора і більшу, ніж половина кроку величину.

Струм утримання може бути меншим за номінальний, тому що від двигуна з нерухомим ротором зазвичай не потрібно великого моменту. Однак є застосування, коли у зупиненому стані двигун повинен забезпечувати повний момент, що для крокового двигуна можливо. Ця властивість крокового двигуна дозволяє у таких ситуаціях обходитися без механічних гальмівних систем. Оскільки сучасні драйвери дозволяють регулювати струм живлення обмоток двигуна, завдання необхідного струму утримання зазвичай не становить проблем. Завдання зазвичай полягає просто у відповідній програмній підтримці для керуючого мікроконтролера.

Напівкроковий режим

Основним принципом роботи крокового двигуна є створення магнітного поля, що обертається, яке змушує ротор повертатися. Магнітне поля, що обертається, створюється статором, обмотки якого відповідним чином запитуються.

Для двигуна, у якого запитана одна обмотка, залежність моменту від кута повороту ротора щодо точки рівноваги є приблизно синусоїдальною. Ця залежність для двообмотувального двигуна, що має N кроків на оборот (кут кроку в радіанах S = (2*pi)/N), показано на рис. 9.

Мал. 9. Залежність моменту від кута повороту ротора однієї запитаної обмотки.

Реально характер залежності може бути дещо інший, що пояснюється неідеальністю геометрії ротора та статора. Пікове значення моменту називається моментом утримання. Формула, що описує залежність моменту від кута повороту ротора, має такий вигляд:

T = - Th*sin((pi/2)/S)*Ф),

де T - момент, Th - момент утримання,
S - кут кроку,
Ф – кут повороту ротора.

Якщо до ротора додати зовнішній момент, що перевищує момент утримання, ротор перевернеться. Якщо зовнішній момент не перевищує моменту утримання, то ротор перебуватиме в рівновазі в межах кута кроку. Слід зазначити, що знеструмлений двигун момент утримання не дорівнює нулю внаслідок дії постійних магнітів ротора. Цей момент зазвичай становить близько 10% максимального моменту, що забезпечує двигун.

Іноді використовують терміни "механічний кут повороту ротора" та "електричний кут повороту ротора". Механічний кут обчислюється виходячи з того, що повний оберт ротора становить 2*pi радіан. При обчисленні електричного кута приймається, що один оберт відповідає одному періоду кутової залежності моменту. Для наведених вище формул Ф є механічним кутом повороту ротора, а електричний кут для двигуна, що має 4 кроки на період кривої моменту, дорівнює ((pi/2)/S)*Ф або (N/4)*Ф, де N - число кроків на оборот. Електричний кут фактично визначає кут повороту магнітного поля статора і дозволяє будувати теорію незалежно кількості кроків на оборот для конкретного двигуна.

Якщо запитати одночасно дві обмотки двигуна, то момент дорівнюватиме сумі моментів, що забезпечуються обмотками окремо (рис. 10).

Мал. 10. Залежність моменту від кута повороту ротора для двох обмоток.

При цьому якщо струми в обмотках однакові, то точка максимуму моменту буде зміщена на половину кроку. На пів кроку зміститься і точка рівноваги ротора (точка e малюнку). Цей факт і покладено основою реалізації напівкрокового режиму. Пікове значення моменту (момент утримання) при цьому буде в корінь із двох разів більше, ніж за однієї запитаної обмотки.

Th 2 = 2 0.5 * Th 1 ,

де Th 2 - момент утримання при двох запитаних обмотках,
Th 1 – момент утримання при одній запитаній обмотці.

Саме цей момент зазвичай і вказується у характеристиках крокового двигуна.

Величина та напрямок магнітного поля показані на векторній діаграмі (рис. 11).

Мал. 11. Величина та напрямок магнітного поля для різних режимів живлення фаз.

Осі X і Y збігаються з напрямком магнітного поля, створюваного обмотками першої та другої фази двигуна. Коли двигун працює з однією включеною фазою, ротор може займати положення 1, 3, 5, 7. Якщо включені дві фази, то ротор може займати положення 2, 4, 6, 8. До того ж, у цьому режимі більше моменту, оскільки він пропорційний довжині вектора малюнку. Обидва ці методи управління забезпечують повний крок, але положення рівноваги ротора зміщені на півкроку. Якщо скомбінувати ці два методи і подати на обмотки відповідні послідовності імпульсів, то можна змусити ротор послідовно займати положення 1, 2, 3, 4, 5, 6, 7, 8, що відповідає половинному кроку.

Порівняно з повнокроковим режимом, напівкроковий режим має такі переваги:

  • більш висока роздільна здатність без застосування більш дорогих двигунів
  • менші проблеми із явищем резонансу. Резонанс призводить лише до часткової втрати моменту, що зазвичай не заважає нормальній роботі приводу.

Недоліком напівкрокового режиму є досить значне коливання моменту від кроку до кроку. У тих положеннях ротора, коли запитано одна фаза, момент становить приблизно 70% від повного, коли запитані дві фази. Ці коливання можуть спричинити підвищені вібрації та шум, хоча вони все одно залишаються меншими, ніж у повнокроковому режимі.

Спосіб усунення коливань моменту є підняття моменту в положеннях з однією включеною фазою і таким чином забезпечення однакового моменту у всіх положеннях ротора. Це може бути досягнуто шляхом збільшення струму в цих положеннях рівня приблизно 141% від номінального. Деякі драйвери, такі як PBL 3717/2 та PBL 3770A фірми Ericsson мають логічні входи для зміни величини струму. Потрібно відзначити, що величина 141% є теоретичною, тому в додатках, що вимагають високої точності підтримання моменту, ця величина повинна бути підібрана експериментально для конкретної швидкості і конкретного двигуна. Оскільки струм піднімається тільки в ті моменти, коли включена одна фаза, потужність, що розсіюється, дорівнює потужності в повнокроковому режимі при струмі 100% від номінального. Однак таке збільшення струму вимагає вищої напруги живлення, що не завжди можливо. Є й інший підхід. Для усунення коливань моменту під час роботи двигуна у напівкроковому режимі можна знижувати струм у моменти, коли включені дві фази. Для отримання постійного моменту цей струм має становити 70,7% від номінального. Таким чином, реалізує напівкроковий режим, наприклад, мікросхема драйвера A3955 фірми Allegro.

Для напівкрокового режиму дуже важливим є перехід у стан з однією вимкненою фазою. Щоб змусити ротор прийняти відповідне положення, струм у відключеній фазі повинен бути зменшений до нуля якнайшвидше. Тривалість спаду струму залежить від напруги на обмотці у той час, коли вона втрачає свою запасену енергію. Замикаючи в цей час обмотку на джерело живлення, яке представляє максимальну напругу, що є в системі, забезпечується максимально швидкий спад струму. Для отримання швидкого спаду струму при живленні обмоток двигуна H-мостом всі транзистори повинні закриватися, при цьому обмотка через діоди виявляється підключеною до джерела живлення. Швидкість спаду струму значно зменшиться, якщо один транзистор моста залишити відкритим і скоротити обмотку на транзистор і діод. Для збільшення швидкості спаду струму при управлінні уніполярними двигунами придушення викидів ЕРС самоіндукції краще здійснювати не діодами, а варисторами або комбінацією діодів та стабілітрона, які обмежать викид на більшому, але безпечному для транзисторів рівні.

Мікрокроковий режим

Мікрокроковий режим забезпечується шляхом отримання поля статора, що обертається плавніше, ніж у повно- або напівкроковому режимах. В результаті забезпечуються менші вібрації та практично безшумна робота аж до нульової частоти. До того ж, менший кут кроку здатний забезпечити більш точне позиціонування. Існує багато різних мікрокрокових режимів з величиною кроку від 1/3 повного кроку до 1/32 і навіть менше. Кроковий двигун є синхронним електродвигуном. Це означає, що положення рівноваги нерухомого ротора збігається із напрямком магнітного поля статора. При повороті поля статора ротор теж повертається, прагнучи зайняти нове положення рівноваги.

Мал. 12. Залежність моменту від кута повороту ротора у разі різних значень струму фаз.

Щоб отримати потрібний напрямок магнітного поля, необхідно вибрати не тільки правильний напрямок струмів у котушках, але й правильне співвідношення цих струмів.

Якщо одночасно запитані дві обмотки двигуна, але струми цих обмотках не рівні (рис. 12), то результуючий момент буде

Th = (a 2 + b 2) 0.5

а точка рівноваги ротора зміститься до точки

x = (S/(pi/2)) arctan(b/a),

де a і b - момент, створюваний першою та другою фазою відповідно,
Th - результуючий момент утримання,
x - положення рівноваги ротора в радіанах
S – кут кроку в радіанах.

Усунення точки рівноваги ротора говорить про те, що ротор можна зафіксувати в будь-якій довільній позиції. Для цього потрібно лише правильно встановити відношення струмів у фазах. Саме цей факт використовується при реалізації мікрокрокового режиму.
Ще раз слід зазначити, що наведені вище формули вірні лише тому випадку, якщо залежність моменту від кута повороту ротора синусоїдальна і якщо жодна частина магнітної ланцюга двигуна не насичується.

У межі кроковий двигун може працювати як синхронний електродвигун в режимі безперервного обертання. Для цього струми його фаз мають бути синусоїдальними, зрушеними один щодо одного на 90 град.

Результатом використання мікрокрокового режиму є набагато плавніше обертання ротора на низьких частотах. На частотах в 2 - 3 рази вище за власну резонансну частоту ротора і навантаження, мікрокроковий режим дає незначні переваги в порівнянні з напів-або повнокроковим режимами. Причиною цього є фільтруюча дія інерції ротора та навантаження. Система з кроковим двигуном працює подібно до фільтра нижніх частот. У мікрокроковому режимі можна здійснювати лише розгін та гальмування, а основний час працювати у повнокроковому режимі. До того ж, для досягнення високих швидкостей у мікрокроковому режимі потрібна дуже висока частота повторення мікрокроків, яку не завжди може забезпечити керуючий мікроконтролер. Для запобігання перехідним процесам і втрати кроків, перемикання режимів роботи двигуна (з мікрокрокового режиму в повнокроковий і т.п.) необхідно проводити в ті моменти, коли ротор знаходиться в положенні, що відповідає одній включеній фазі. Деякі мікросхеми драйверів мікрокрокового режиму мають спеціальний сигнал, який інформує про таке положення ротора. Наприклад, це драйвер A3955 фірми Allegro.

У багатьох додатках, де потрібні малі відносні переміщення і висока роздільна здатність, мікрокроковий режим здатний замінити механічний редуктор. Часто простота системи є вирішальним фактором, навіть якщо при цьому доведеться застосувати двигун великих габаритів. Незважаючи на те, що драйвер, що забезпечує мікрокроковий режим, набагато складніший за звичайний драйвер, все одно система може виявитися простішою і дешевшою, ніж кроковий двигун, плюс редуктор. Сучасні мікроконтролери іноді мають вбудовані ЦАПи, які можна використовувати для реалізації мікрокрокового режиму замість спеціальних контролерів. Це дозволяє зробити практично однаковою вартість обладнання для повнокрокового та мікрокрокового режимів.

Іноді мікрокроковий режим використовується для збільшення точності величини кроку понад заявлену виробником двигуна. При цьому використовується номінальна кількість кроків. Для підвищення точності використовується корекція положення ротора у точках рівноваги. Для цього спочатку знімають характеристику конкретного двигуна, а потім, змінюючи співвідношення струмів у фазах, коригують положення ротора індивідуально для кожного кроку. Такий метод вимагає попереднього калібрування та додаткових ресурсів керуючого мікроконтролера. Крім того, потрібен датчик початкового положення ротора для синхронізації положення з таблицею коригуючих коефіцієнтів.

На практиці при здійсненні кожного кроку ротор не відразу зупиняється в новому положенні рівноваги, а здійснює коливання, що загасають, навколо положення рівноваги. Час встановлення залежить від характеристик навантаження та від схеми драйвера. У багатьох програмах такі коливання є небажаними. Позбутися цього явища можна шляхом використання мікрокрокового режиму. На рис. 13 показані переміщення ротора при роботі в повнокроковому та мікрокроковому режимах.

Мал. 13. Переміщення ротора у повнокроковому та мікрокроковому режимах.

Видно, що у повнокроковому режимі спостерігаються викиди та коливання, тоді як у мікрокроковому режимі їх немає. Однак і в цьому режимі графік положення ротора відрізняється від прямої лінії. Ця похибка пояснюється похибкою геометрії деталей двигуна і може бути зменшена шляхом калібрування і подальшої компенсації шляхом коригування струмів фаз.
Насправді існують деякі чинники, що обмежують точність роботи приводу в мікрокроковому режимі. Деякі з них належать до драйвера, а деякі безпосередньо до двигуна.

Зазвичай виробники крокових двигунів вказують на такий параметр, як точність кроку. Точність кроку вказується для положень рівноваги ротора при двох включених фаз, струми яких рівні. Це відповідає повнокроковому режиму з перекриттям фаз. Для мікрокрокового режиму, коли струми фаз не дорівнюють, ніяких даних зазвичай не наводиться.

Ідеальний кроковий двигун при живленні фаз синусоїдальним та косинусоїдальним струмом повинен обертатися з постійною швидкістю. У реального двигуна в такому режимі спостерігатимуться деякі коливання швидкості. Пов'язано це з нестабільністю повітряного зазору між полюсами ротора та статора, наявністю магнітної гістерези, що призводить до похибок величини та напряму магнітного поля і т.д. Тому положення рівноваги та момент мають деякі відхилення. Ці відхилення залежать від похибки форми зубців ротора та статора та від застосованого матеріалу магнітопроводів.

Конструкція деяких двигунів оптимізована для найкращої точності у повнокроковому режимі та максимального моменту утримання. Спеціальна форма зубців ротора та статора спроектована так, щоб у положенні рівноваги для повнокрокового режиму магнітний потік сильно зростав. Це призводить до погіршення точності в мікрокроковому режимі. Найкращі результати дозволяють отримати двигуни, у яких момент утримання в знеструмленому стані менший.

Відхилення можна розділити на два види: відхилення величини магнітного поля, які призводять до відхилень моменту утримання в мікрокроковому режимі та відхилення напрямку магнітного поля, що призводять до відхилень положення рівноваги. Відхилення моменту утримання мікрокроковому режимі зазвичай становлять 10 - 30% від максимального моменту. Слід сказати, що у повнокроковому режимі момент утримання може коливатися на 10 - 20 % внаслідок спотворень геометрії ротора і статора.

Якщо виміряти положення рівноваги ротора при обертанні двигуна і проти годинникової стрілки, то вийдуть кілька різні результати. Цей гістерезис пов'язаний в першу чергу з магнітною гістерезисом матеріалу сердечника, хоча свій внесок робить і тертя. Магнітний гістерезис призводить до того, що магнітний потік залежить не тільки від струму обмоток, а й від його попереднього значення. Похибка, створювана гістерезисом може дорівнювати кільком мікрокрокам. Тому у високоточних додатках під час руху в одному з напрямків потрібно проходити за бажану позицію, а потім повертатися назад, щоб підхід до потрібної позиції завжди здійснювався в одному напрямку.

Цілком природно, що будь-яке бажане збільшення роздільної здатності наштовхується на якісь фізичні обмеження. Не варто вважати, що точність позиціонування для 7.2 град. двигуна в мікрокроковому режимі не поступається точності 1.8 град. двигуна.

Перешкодою є такі фізичні обмеження:

  • наростання моменту залежно від кута повороту у 7.2 градусного двигуна вчетверо більш пологе, ніж у справжнього 1.8-градусного двигуна. Внаслідок дії моменту тертя або моменту інерції навантаження точність позиціонування вже буде гіршою.
  • як буде показано нижче, якщо в системі є тертя, то внаслідок появи мертвих зон точність позиціонування буде обмежена
  • більшість комерційних двигунів не мають прецизійну конструкцію і залежність між моментом і кутом повороту ротора не є в точності синусоїдальної. Внаслідок цього залежність між фазою синусоїдального струму живлення та кутом повороту валу буде нелінійною. В результаті ротор двигуна буде точно проходити положення кожного кроку та півкроку, а між цими положеннями спостерігатимуться досить значні відхилення.

Ці проблеми найяскравіше виражені для двигунів з великою кількістю полюсів. Існують однак двигуни, ще на етапі розробки, оптимізовані для роботи в мікрокроковому режимі. Полюси ротора та статора таких двигунів менш виражені завдяки скошеній формі зубців.

Ще одне джерело похибок позиціонування - помилка квантування ЦАП, з допомогою якого формуються струми фаз. Справа в тому, що струм повинен формуватися за синусоїдальним законом, тому для мінімізації похибки лінійний ЦАП повинен мати підвищену розрядність. Існують спеціалізовані драйвери із вбудованим нелінійним ЦАПом, який дозволяє одразу отримувати рахунки функції sin. Прикладом може бути драйвер A3955 фірми Allegro, який має вбудований 3-розрядний ЦАП, який забезпечує наступні значення струму фаз: 100%, 92.4%, 83.1%, 70.7%, 55.5%, 38.2%, 19.5%, 0%. Це дозволяє працювати в мікрокроковому режимі з величиною кроку 1/8, при цьому похибка установки фаз струму не перевищує 2%. Крім того, цей драйвер має можливість керувати швидкістю спаду струму обмоток двигуна під час роботи, що дозволяє зробити "тонке підстроювання" драйвера під конкретний двигун для отримання найменшої похибки позиціонування.

Навіть якщо ЦАП точно сформував синусоїдальну опорну напругу, його потрібно посилити і перетворити на синусоїдальний струм обмоток. Багато драйверів мають значну нелінійність поблизу нульового значення струму, що спричиняє значні спотворення форми і, як наслідок, значні помилки позиціонування. Якщо використовуються високоякісні драйвери, наприклад, PBM3960 і PBL3771 фірми Ericsson, похибка, пов'язана з драйвером, зникаюче мала в порівнянні з похибкою двигуна.

Іноді контролери крокових двигунів дозволяють коригувати форму вихідного сигналу шляхом додавання або віднімання синуса його третьої гармоніки. Однак таке підстроювання має проводитися індивідуально під конкретний двигун, характеристики якого повинні бути перед цим виміряні.

Через ці обмеження мікрокроковий режим використовується в основному для забезпечення плавного обертання (особливо на дуже низьких швидкостях), для усунення шуму та явища резонансу. Мікрокроковий режим також здатний зменшити час встановлення механічної системи, оскільки, на відміну від повнокрокового режиму, відсутні викиди та осциляції. Однак у більшості випадків для звичайних двигунів не можна гарантувати точного позиціонування в мікрокроковому режимі.

Синусоїдальний струм фаз може бути забезпечений застосуванням спеціальних драйверів. Деякі з них, наприклад A3955, A3957 фірми Allegro, вже містять ЦАП і вимагають мікроконтролера тільки цифрових кодів. Інші, такі як L6506, L298 фірми SGS-Thomson, вимагають зовнішніх опорних напруг синусоїдальної форми, які повинен формувати мікроконтролер за допомогою ЦАПів. Потрібно сказати, що занадто багато дискретів синуса не призводить до підвищення точності позиціонування, оскільки починає домінувати помилка, пов'язана з неідеальністю геометрії полюсів двигуна. Тим більше, в цьому випадку відліки повинні йти з великою частотою, що є проблемою при їх програмному формуванні. При роботі на високих швидкостях роздільну здатність ЦАПів можна зменшити. Понад те, за дуже високих швидкостях взагалі рекомендується працювати у звичайному повнокроковому режимі, оскільки управління гармонійним сигналом втрачає переваги. Відбувається це з тієї причини, що обмотки двигуна є індуктивністю, відповідно будь-яка конкретна схема драйвера з конкретною напругою живлення забезпечує цілком певну максимальну швидкість наростання струму. Тому при підвищенні частоти форма струму починає відхилятися від синусоїдальної і дуже великих частотах стає трикутною.

Залежність моменту від швидкості, вплив навантаження

Момент, створюваний кроковим двигуном, залежить від кількох факторів:

  • швидкості
  • струму в обмотках
  • схеми драйвера

На рис. 14а показано залежність моменту від кута повороту ротора.

Мал. 14. Виникнення мертвих зон внаслідок дії тертя.

У ідеального крокового двигуна ця синусоїдальна залежність. Точки S є положеннями рівноваги ротора для ненавантаженого двигуна і відповідають декільком послідовним крокам. Якщо до валу двигуна прикласти зовнішній момент, менший за момент утримання, то кутове положення ротора зміниться на деякий кут Ф.

Ф = (N/(2*pi))*sin(Ta/Th),

де Ф - кутове зміщення,
N - кількість кроків двигуна на оборот,
Ta - зовнішній прикладений момент,
Th – момент утримання.

Кутове усунення Ф є помилкою позиціонування навантаженого двигуна. Якщо до валу двигуна прикласти момент, що перевищує момент утримання, під дією цього моменту вал прокрутиться. У такому режимі положення ротора є неконтрольованим.
На практиці завжди є прикладений до двигуна зовнішній момент, хоча б тому, що двигуну доводиться долати тертя. Сили тертя можуть бути розділені на дві категорії: статичне тертя або тертя спокою, для подолання якого потрібен постійний момент і динамічне тертя або в'язке тертя, яке залежить від швидкості. Розглянемо статичне тертя. Припустимо, що для його подолання потрібен момент наполовину від пікового. На рис. 14а штриховими лініями показано момент тертя. Таким чином, для обертання ротора залишається лише момент, що лежить на графіку за межами штрихових ліній. Звідси випливають два висновки: тертя знижує момент на валу двигуна і з'являються мертві зони навколо кожного положення рівноваги ротора (рис. 14б):

d = 2 (S / (pi/2)) arcsin (T f / T h) = (S / (pi/4)) arcsin (T f / Th),

де d - ширина мертвої зони в радіанах,
S - кут кроку в радіанах,
Tf - момент тертя,
Th – момент утримання.

Мертві зони обмежують точність позиціонування. Наприклад, наявність статичного тертя половину від пікового моменту двигуна з кроком 90 град. викличе наявність мертвих зон 60 град. Це означає, що крок двигуна може коливатися від 30 до 150 град., Залежно від того, в якій точці мертвої зони зупиниться ротор після чергового кроку.

Наявність мертвих зон є дуже важливою для мікрокрокового режиму. Якщо, наприклад, є мертві зони величиною d, мікрокрок величиною менше d взагалі не зрушить ротор з місця. Тому для систем з використанням мікрокроків дуже важливо мінімізувати тертя спокою.

Коли двигун працює під навантаженням, завжди існує деяке зрушення між кутовим положенням ротора та орієнтацією магнітного поля статора. Особливо несприятливою є ситуація, коли двигун починає гальмування та момент навантаження реверсується. Слід зазначити, що запізнення чи випередження стосується лише становищу, але з швидкості. У будь-якому випадку, якщо синхронність роботи двигуна не втрачена, це запізнення або випередження не може перевищувати двох повних кроків. Це дуже приємний факт.

Щоразу, коли кроковий двигун здійснює крок, ротор повертається на S радіан. При цьому мінімальний момент має місце, коли ротор знаходиться рівно між сусідніми положеннями рівноваги (рис. 15).

Мал. 15. Момент утримання та робочий момент крокового двигуна.

Цей момент називають робочим моментом, він означає, який найбільший момент може долати двигун при обертанні з малою швидкістю. При синусоїдальної залежності моменту від кута повороту ротора цей момент Tr = Th/(2 0.5). Якщо двигун робить крок із двома запитаними обмотками, то робочий момент дорівнює моменту утримання однієї запитаної обмотки.

Параметри приводу на основі крокового двигуна залежать від характеристик навантаження. Крім тертя, реальне навантаження має інерцію. Інерція перешкоджає зміні швидкості. Інерційне навантаження вимагає від двигуна великих моментів на розгоні та гальмуванні, обмежуючи таким чином максимальне прискорення. З іншого боку, збільшення інерційності навантаження збільшує стабільність швидкості.

Такий параметр крокового двигуна як залежність моменту від швидкості є найважливішим при виборі типу двигуна, виборі методу управління фазами і виборі схеми драйвера. При конструюванні високошвидкісних драйверів крокових двигунів потрібно враховувати, що обмотки двигуна є індуктивністю. Ця індуктивність визначає час наростання та спаду струму. Тому якщо до обмотки додана напруга прямокутної форми, форма струму не буде прямокутною. При низьких швидкостях (рис. 16а) час наростання та спаду струму не здатний сильно вплинути на момент, проте на високих швидкостях момент падає. Пов'язано це з тим, що на високих швидкостях струм в обмотках двигуна не встигає досягти номінального значення (рис. 16б).

Мал. 16. Форма струму в обмотках двигуна на різних швидкостях роботи.

Для того, щоб момент падав якнайменше, необхідно забезпечити високу швидкість наростання струму в обмотках двигуна, що досягається застосуванням спеціальних схем для їх живлення.

Поведінка моменту зі збільшенням частоти комутації фаз приблизно таке: починаючи з деякої частоти зрізу момент монотонно падає. Зазвичай для крокового двигуна наводяться дві криві залежності моменту швидкості (рис. 17).

Мал. 17. Залежність моменту від швидкості.

Внутрішня крива (крива старту, або pull-in curve) показує, при якому максимальному моменті тертя даної швидкості кроковий двигун здатний рушити. Ця крива перетинає вісь швидкостей у точці, яка називається максимальною частотою старту або частотою прийомистості. Вона визначає максимальну швидкість, де ненавантажений двигун може рушити. Насправді ця величина лежить у межах 200 - 500 повних кроків на секунду. Інерційність навантаження сильно впливає на вигляд внутрішньої кривої. Велика інерційність відповідає меншій ділянці під кривою. Ця область називається областю старту. Зовнішня крива (крива розгону, або pull-out curve) показує, при якому максимальному моменті тертя даної швидкості кроковий двигун здатний підтримувати обертання без пропуску кроків. Ця крива перетинає вісь швидкостей у точці, яка називається максимальною частотою розгону. Вона показує максимальну швидкість даного двигуна без навантаження. При вимірі максимальної швидкості потрібно мати на увазі, що через явище резонансу момент дорівнює нулю ще й на частоті резонансної. Область, що лежить між кривими, називається областю розгону.

Слід зазначити, що схема драйвера значною мірою впливає перебіг кривої момент-скорость, але це питання буде розглянуто нижче.

Розігнати!

Для того щоб працювати на великій швидкості з області розгону (рис. 17), необхідно стартувати на низькій швидкості з області старту, а потім виконати розгін. При зупинці потрібно діяти у зворотному порядку: спочатку виконати гальмування, і тільки увійшовши в область старту можна припинити подачу імпульсів, що управляють. В іншому випадку відбудеться втрата синхронності і положення ротора буде втрачено. Використання розгону та гальмування дозволяє досягти значно більших швидкостей – в індустріальних застосуваннях використовуються швидкості до 10000 повних кроків за секунду. Необхідно відзначити, що безперервна робота крокового двигуна на високій швидкості не завжди допустима через нагрівання ротора. Однак висока швидкість може бути короткочасно використана при здійсненні позиціонування.

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

Реалізація закону, яким буде виробляється прискорення чи гальмування двигуна, зазвичай проводиться програмно управляючим микроконтроллером, оскільки саме мікроконтролер зазвичай є джерелом тактової частоти для драйвера крокового двигуна. Хоча раніше з цією метою застосовувалися керовані напругою генератори чи пограмируемые дільники частоти. Для генерації тактової частоти зручно використовувати апаратний таймер, який є у складі практично будь-якого мікроконтролера. Коли двигун обертається з постійною швидкістю, достатньо завантажити у таймер постійне значення періоду повторення кроків (тривалість кроку). Якщо двигун розганяється або гальмується, цей період змінюється з кожним новим кроком. При розгоні або гальмуванні з постійним прискоренням частота повторення кроків повинна змінюватись лінійно, відповідно значення періоду, яке необхідно завантажувати в таймер, має змінюватись за гіперболічним законом.

Для найбільш загального випадку необхідно знати залежність тривалості кроку від поточної швидкості. Кількість кроків, що здійснює двигун при розгоні за час t дорівнює:

N = 1/2At 2 +Vt, де N - число кроків, t - час, V - швидкість, виражена в кроках в одиницю часу, A - прискорення, виражене в кроках, поділених тимчасово в квадраті.

Для одного кроку N = 1, тоді тривалість кроку t 1 = T = (-V+(V 2 +2A) 0.5)/A

В результаті здійснення кроку швидкість дорівнює Vnew = (V 2 +2A) 0.5

Обчислення за наведеними формулами є досить трудомісткими і потребують значних витрат процесорного часу. У той же час вони дозволяють змінювати значення прискорення в довільний момент. Розрахунки можна спростити, якщо вимагати сталості прискорення під час розгону та гальмування. І тут можна записати залежність тривалості кроку від часу розгону:
V = V 0 +At, де V - поточна швидкість, V 0 - Початкова швидкість (мінімальна швидкість, з якої починається розгін), A - прискорення;
1/T = 1/T 0 +At, де T – тривалість кроку, T 0 – початкова тривалість кроку, t – поточний час;

Звідки T = T 0 / (1 + T 0 At)

Обчислення за цією формулою здійснити значно простіше, проте для того, щоб змінити значення прискорення потрібно зупинити двигун.

Резонанс

Кроковим двигунам властивий небажаний ефект, який називають резонансом. Ефект проявляється у вигляді раптового падіння моменту на деяких швидкостях. Це може призвести до пропуску кроків та втрати синхронності. Ефект проявляється у тому випадку, якщо частота кроків збігається зі своєю резонансною частотою ротора двигуна.

Коли двигун здійснює крок, ротор не відразу встановлюється в нову позицію, а здійснює загасання. Справа в тому, що систему ротор – магнітне поле – статор можна розглядати як пружинний маятник, частота коливань якого залежить від моменту інерції ротора (плюс навантаження) та величини магнітного поля. Зважаючи на складну конфігурацію магнітного поля, резонансна частота ротора залежить від амплітуди коливань. При зменшенні амплітуди частота зростає, наближаючись до малоамплітудної частоти, котра більш просто обчислюється кількісно. Ця частота залежить від кута кроку та від відношення моменту утримання до моменту інерції ротора. Більший момент утримання та менший момент інерції призводять до збільшення резонансної частоти.
Резонансна частота обчислюється за такою формулою:

F 0 = (N * T H / (J R + J L)) 0.5 / 4 * pi,

де F 0 - Резонансна частота,
N - кількість повних кроків на оборот,
T H - момент утримання для використовуваного способу керування та струму фаз,
J R - момент інерції ротора,
J L – момент інерції навантаження.

Слід зазначити, що резонансну частоту визначає момент інерції власне ротора двигуна плюс момент інерції навантаження, підключеної до валу двигуна. Тому резонансна частота ротора ненавантаженого двигуна, яка іноді наводиться серед параметрів, має невелику практичну цінність, оскільки будь-яке навантаження, приєднане до двигуна, змінить цю частоту.
Насправді ефект резонансу призводить до труднощів під час роботи на частоті, близька до резонансної. Момент на частоті резонансу дорівнює нулю і без спеціальних заходів кроковий двигун не може при розгоні пройти резонансну частоту. У будь-якому випадку, явище резонансу здатне суттєво погіршити точнісні характеристики приводу.

У системах з низьким демпфуванням існує небезпека втрати кроків або підвищення шуму, коли двигун працює поблизу резонансної частоти. У деяких випадках проблеми можуть виникати на гармоніках частоти основного резонансу.

Коли використовується мікрокроковий режим, основною причиною появи коливань є переривчасте обертання ротора. Під час здійснення кроку ротору поштовхом повідомляється деяка енергія. Цей поштовх збуджує вагання. Енергія, що повідомляється ротору в напівкроковому режимі, становить близько 30% енергії повного кроку. Тож у напівкроковому режимі амплітуда коливань значно менше. У мікрокроковому режимі з кроком 1/32 основного кожного мікрокроку повідомляється всього близько 0.1% від енергії повного кроку. Тому в мікрокроковому режимі явище резонансу практично непомітне.

Існують електричні методи боротьби із резонансом. Ротор, що коливається, призводить до виникнення в обмотках статора ЕРС. Якщо закоротити обмотки, які не використовуються на цьому кроці, це призведе до демпфування резонансу.

І, нарешті, існують методи боротьби з резонансом лише на рівні алгоритму роботи драйвера. Наприклад, можна використовувати той факт, що при роботі з двома включеними фазами резонансна частота приблизно на 20% вище, ніж з однією фазою включеною. Якщо резонансна частота точно відома, її можна проходити, змінюючи режим роботи.

Якщо це можливо, при старті та зупинці потрібно використовувати частоти вище резонансної. Збільшення моменту інерції системи ротор-навантаження зменшує резонансну частоту.

Однак найефективнішим заходом для боротьби з резонансом є застосування мікрокрокового режиму.

Чим же його годувати?

Для живлення звичайного двигуна постійного струму потрібно джерело постійної напруги, а необхідні комутації обмоток виконуються колектором. З кроковим двигуном все складніше. Усі комутації має виконувати зовнішній контролер. В даний час приблизно в 95% випадків для керування кроковими двигунами використовуються мікроконтролери. У найпростішому випадку для керування кроковим двигуном у повнокроковому режимі потрібні лише два сигнали, зрушені по фазі на 90 градусів. Напрямок обертання залежить від того, яка фаза випереджає. Швидкість визначається частотою проходження імпульсів. У напівкроковому режимі все трохи складніше і потрібно вже мінімум 4 сигнали. Усі сигнали керування кроковим двигуном можна сформувати програмно, проте це викличе велике завантаження мікроконтролера. Тому частіше застосовують спеціальні мікросхеми драйверів крокового двигуна, які зменшують кількість необхідних процесора динамічних сигналів. Типово ці мікросхеми вимагають тактову частоту, яка є частотою повторення кроків та статичний сигнал, який задає напрямок. Іноді ще є сигнал увімкнення напівкрокового режиму. Для мікросхем драйверів, які працюють у мікрокроковому режимі, потрібна більша кількість сигналів. Поширеним є випадок, коли необхідні послідовності сигналів управління фазами формуються з допомогою однієї мікросхеми, а необхідні струми фаз забезпечує інша мікросхема. Хоча останнім часом з'являється все більше драйверів, що реалізують усі функції в одній мікросхемі.

Потужність, що вимагається від драйвера, залежить від розмірів двигуна і становить частки вата для маленьких двигунів і до 10-20 ват для великих двигунів. Максимальний рівень потужності, що розсіюється, обмежений нагріванням двигуна. Максимальна робоча температура зазвичай вказується виробником, але можна вважати, що нормальною є температура корпусу 90 градусів. Тому при конструюванні пристроїв з кроковими двигунами, які безперервно працюють на максимальному струмі, необхідно вживати заходів, що виключають торкання корпусу двигуна обслуговуючим персоналом. В окремих випадках можливе застосування радіатора, що охолоджує. Іноді це дозволяє застосувати двигун менших розмірів і досягти кращого відношення потужність/вартість.

Для даного розміру крокового двигуна місце обмотками, обмежене. Тому дуже важливо сконструювати драйвер так, щоб дані параметрів обмоток забезпечити найкращу ефективність.

Схема драйвера повинна виконувати три основні завдання:

  • мати можливість включати та вимикати струм в обмотках, а також змінювати його напрямок
  • підтримувати задане значення струму
  • забезпечувати якнайшвидше наростання і спад струму для хороших швидкісних характеристик

Способи зміни напряму струму

Під час роботи крокового двигуна потрібна зміна напряму магнітного поля незалежно кожної фази. Зміна напряму магнітного поля може бути виконана у різний спосіб. В уніполярних двигунах обмотки мають відведення від середини або є дві окремі обмотки для кожної фази. Напрямок магнітного поля змінюється шляхом перемикання половинок обмоток або цілих обмоток. У цьому випадку потрібні лише два простих ключа A та B для кожної фази (рис. 18).

Мал. 18. Живлення обмотки уніполярного двигуна.

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

Мал. 19. Живлення обмотки біполярного двигуна.

Це найпростіший спосіб керування струмом обмоток, і як буде показано надалі, він суттєво обмежує можливості двигуна. Слід зазначити, що з роздільному управлінні транзисторами H-моста можливі ситуації, коли джерело живлення закорочені ключами. Тому логічна схема управління має бути побудована таким чином, щоб виключити цю ситуацію навіть у разі збоїв керуючого мікроконтролера.

Обмотки двигуна є індуктивністю, а це означає, що струм не може нескінченно швидко наростати або нескінченно швидко спадати без залучення нескінченної різниці потенціалів. При підключенні обмотки до джерела живлення струм наростатиме з деякою швидкістю, а при відключенні обмотки відбудеться викид напруги. Цей викид здатний пошкодити ключі, як використовуються біполярні або польові транзистори. Для обмеження цього викиду встановлюють захисні ланцюжки. На схемах рис. 18 та 19 ці ланцюжки утворені діодами, значно рідше застосовують конденсатори або їх комбінацію з діодами. Застосування конденсаторів викликає появу електричного резонансу, що може спричинити збільшення моменту певної швидкості. На рис. 18 потрібно 4 діода з тієї причини, що половинки обмоток уніполярного двигуна розташовані на загальному сердечнику і сильно пов'язані між собою. Вони працюють як автотрансформатор та викиди виникають на висновках обох обмоток. Якщо в якості ключів застосовані МОП-транзистори, то достатньо двох зовнішніх діодів, так як у них всередині вже є діоди. В інтегральних мікросхемах, що містять потужні вихідні каскади з відкритим колектором, також є такі діоди. Крім того, деякі мікросхеми, такі як ULN2003, ULN2803 і подібні мають всередині обидва захисні діоди для кожного транзистора. Потрібно відзначити, що у разі застосування швидкодіючих ключів потрібні порівнювані швидкодії діоди. У разі застосування повільних діодів потрібне їхнє шунтування невеликими конденсаторами.

Стабілізація струму

Для регулювання моменту потрібно регулювати силу струму в обмотках. У будь-якому випадку, струм повинен бути обмежений, щоб не перевищити потужність, що розсіюється, на омічному опорі обмоток. Більше того, у напівкроковому режимі ще потрібно в певні моменти забезпечувати нульове значення струму в обмотках, а мікрокроковому режимі взагалі потрібне завдання різних значень струму.

Для кожного двигуна виробником вказується номінальна робоча напруга обмоток. Тому найпростіший спосіб живлення обмоток – це використання джерела постійної напруги. У цьому випадку струм обмежений омічним опором обмоток та напругою джерела живлення (мал. 20а), тому такий спосіб живлення називають L/R-живленням. Струм в обмотці наростає за експоненційним законом зі швидкістю, що визначається індуктивністю, активним опором обмотки та прикладеною напругою. При підвищенні частоти струм не досягає номінального значення і падає момент. Тому такий спосіб живлення придатний лише під час роботи на малих швидкостях і використовується на практиці лише для малопотужних двигунів.

Мал. 20. Живлення обмотки номінальною напругою (а) та використання обмежувального резистора (б).

Працюючи на великих швидкостях потрібно збільшувати швидкість наростання струму в обмотках, що можливо шляхом підвищення напруги джерела живлення. При цьому максимальний струм обмотки має бути обмеженим за допомогою додаткового резистора. Наприклад, якщо використовується напруга живлення в 5 разів більша за номінальну, то потрібен такий додатковий резистор, щоб загальний опір становив 5R, де R - омічний опір обмотки (L/5R-живлення). Цей спосіб живлення забезпечує більш швидке наростання струму і, як наслідок, більший момент (рис. 20б). Однак він має істотний недолік: на резистори розсіюється додаткова потужність. Великі габарити потужних резисторів, необхідність відведення тепла і підвищена необхідна потужність джерела живлення - все це робить такий метод неефективним і обмежує його застосування невеликими двигунами потужністю 1 - 2 Вт. Потрібно сказати, що до початку 80-х років минулого століття параметри крокових двигунів, що наводяться виробниками, належали саме до такого способу живлення.

Ще швидше наростання струму можна отримати, якщо використовувати для живлення двигуна генератор струму. Наростання струму відбуватиметься лінійно, це дозволить швидше досягати номінального значення струму. Тим більше, що пара потужних резисторів може коштувати дорожче, ніж пара потужних транзисторів разом із радіаторами. Але як і в попередньому випадку, генератор струму розсіюватиме додаткову потужність, що робить цю схему живлення неефективною.

Існує ще одне рішення, що забезпечує високу швидкість наростання струму та низьку потужність втрат. Засноване воно на застосуванні двох джерел живлення.

Мал. 21. Живлення обмотки двигуна ступінчастою напругою.

На початку кожного кроку короткочасно обмотки підключаються до високовольтного джерела, яке забезпечує швидке наростання струму (рис. 21). Потім напруга живлення обмоток зменшується (час t 1 на рис. 21). Недоліком цього є необхідність двох ключів, двох джерел живлення і складнішою схеми управління. У системах, де такі джерела вже є, метод може виявитися досить дешевим. Ще однією труднощами є неможливість визначення моменту часу t1 для загального випадку. Для двигуна з меншою індуктивністю обмоток швидкість наростання струму вище і при фіксованому t 1 середній струм може виявитися вище номінального, що може призвести до перегріву двигуна.

Ще одним методом стабілізації струму в обмотках двигуна є ключове (широтно-імпульсне) регулювання. Сучасні драйвери крокових двигунів використовують цей метод. Ключовий стабілізатор забезпечує високу швидкість наростання струму в обмотках разом із простотою його регулювання та дуже низькими втратами. Ще однією перевагою схеми з ключовою стабілізацією струму є те, що вона підтримує момент двигуна постійним, незалежно від коливань напруги живлення. Це дозволяє використовувати прості та дешеві нестабілізовані джерела живлення.

Для забезпечення високої швидкості наростання струму використовують напругу джерела живлення, яка в кілька разів перевищує номінальну. Шляхом регулювання шпаруватості імпульсів, середня напруга та струм підтримуються на номінальному для обмотки рівні. Підтримка здійснюється внаслідок дії зворотного зв'язку. Послідовно з обмоткою включається резистор - датчик струму R (рис. 22а). Падіння напруги на цьому резистори пропорційно струму в обмотці. Коли струм досягає встановленого значення, ключ вимикається, що призводить до падіння струму. Коли струм спадає до нижнього порогу, ключ знову вмикається. Цей процес періодично повторюється, підтримуючи середнє значення струму постійним.

Мал. 22. Різні схеми ключової стабілізації струму.

Керуючи величиною Uref можна регулювати струм фази, наприклад, збільшувати його при розгоні та гальмуванні та знижувати при роботі на постійній швидкості. Можна також задавати його за допомогою ЦАП у формі синусоїди, реалізуючи таким чином мікрокроковий режим. Такий спосіб управління ключовим транзистором забезпечує постійну величину пульсацій струму в обмотці, що визначається гістерезисом компаратора. Однак частота перемикань залежатиме від швидкості зміни струму в обмотці, зокрема від її індуктивності та від напруги живлення. Крім того, дві такі схеми, що живлять різні фази двигуна, не можуть бути засинхронізовані, що може спричинити додаткові перешкоди.

Від зазначених недоліків вільна схема із постійною частотою перемикання (рис. 22б). Ключовим транзистором управляє тригер, який встановлюється спеціальним генератором. Коли встановлюється тригер, ключовий транзистор відкривається і струм фази починає зростати. Разом із ним зростає і падіння напруги на датчику струму. Коли воно досягає опорної напруги, компаратор перемикається, скидаючи тригер. Ключовий транзистор при цьому вимикається і струм фази починає спадати доти, поки тригер не буде знову встановлений генератором. Така схема забезпечує постійну частоту комутації, проте величина пульсацій струму буде постійної. Частота генератора зазвичай вибирається не менше 20кГц, щоб двигун не створював чутного звуку. В той же час занадто висока частота перемикань може викликати підвищені втрати в осерді двигуна і втрати на перемиканнях транзисторів. Хоча втрати в осерді з підвищенням частоти зростають не так швидко через зменшення амплітуди пульсацій струму зі зростанням частоти. Пульсації близько 10% від середнього значення струму зазвичай не викликають проблем із втратами.

Подібна схема реалізована всередині мікросхеми L297 фірми SGS-Thomson, застосування якої мінімізує кількість зовнішніх компонентів. Ключове регулювання реалізують інші спеціалізовані мікросхеми.

Мал. 23. Форма струму в обмотках двигуна для різних способів живлення.

На рис. 23 показано форму струму в обмотках двигуна для трьох способів живлення. Найкращим у сенсі моменту є ключовий метод. До того ж, він забезпечує високий ККД і дозволяє просто регулювати величину струму.

Швидкий та повільний спад струму

На рис. 19 були показані конфігурації ключів H-мосту для включення різних напрямків струму в обмотці. Для вимикання струму можна вимкнути всі ключі H-моста або залишити один ключ увімкненим (рис. 24). Ці дві ситуації різняться за швидкістю спаду струму в обмотці. Після відключення індуктивності від джерела живлення струм не може миттєво припиниться. Виникає ЕРС самоіндукції, що має протилежне джерелу живлення напрямок. При використанні транзисторів як ключі необхідно використовувати шунтуючі діоди, щоб забезпечити провідність в обидві сторони. Швидкість зміни струму в індуктивності пропорційна прикладеної напруги. Це справедливо як наростання струму, так його спаду. Тільки першому випадку джерелом енергії є джерело живлення, тоді як у другому сама індуктивність віддає запасену енергію. Цей процес може відбуватися за різних умов.

Мал. 24. Повільний та швидкий спад струму.

На рис. 24а показано стан ключів H-мосту, коли обмотка увімкнена. Увімкнені ключі A і D, напрямок струму показано стрілкою. На рис. 24б обмотка вимкнена, але ключ A увімкнено. ЕРС самоіндукції коротшає через цей ключ і діод VD3. У цей час на висновках обмотки буде невелика напруга, що дорівнює прямому падінню на діоді плюс падіння на ключі (напруга насичення транзистора). Так як напруга на висновках обмотки мало, малою буде швидкість зміни струму. Відповідно малою буде швидкість спадання магнітного поля. А це означає, що ще деякий час статор двигуна буде створювати магнітне поле, якого в цей час бути не повинно. На ротор, що обертається, це поле надаватиме гальмуючий вплив. При високих швидкостях роботи двигуна цей ефект може серйозно перешкодити нормальній роботі двигуна. Швидке спадання струму при вимкненні є дуже важливим для високошвидкісних контролерів, які працюють у напівкроковому режимі.

Можливий інший спосіб відключення струму обмотки, коли розмикаються всі ключі H-моста (рис 24в). При цьому ЕРС самоіндукції коротшає через діоди VD2, VD3 на джерело живлення. Це означає, що під час спаду струму на обмотці буде напруга, що дорівнює сумі напруги джерела живлення та прямого падіння на двох діодах. У порівнянні з першим випадком, це значно більша напруга. Відповідно, швидшим буде спад струму та магнітного поля. Таке рішення, що використовує напругу джерела живлення для прискорення спаду струму, є найпростішим, але не єдиним. Потрібно сказати, що у ряді випадків на джерелі живлення можуть з'явитися викиди, для придушення яких знадобляться спеціальні демферні ланцюги. Все одно, яким способом забезпечується на обмотці підвищена напруга під час спаду струму. Для цього можна застосувати стабілітрони або варистори. Однак на цих елементах розсіюватиметься додаткова потужність, яка в першому випадку віддавалася назад у джерело живлення.

Для уніполярного двигуна ситуація складніша. Справа в тому, що половинки обмотки або дві окремі обмотки однієї фази сильно пов'язані між собою. В результаті цього зв'язку на транзисторі, що закривається, матимуть місце викиди підвищеної амплітуди. Тому транзистори мають бути захищені спеціальними ланцюжками. Ці ланцюжки задля забезпечення швидкого спаду струму повинні забезпечувати досить високу напругу обмеження. Найчастіше застосовуються діоди разом із стабілітронами або варисторами. Один із способів схемотехнічної реалізації показаний на рис. 25.

Мал. 25. Приклад реалізації швидкого спаду струму уніполярного двигуна.

При ключовому регулюванні величина пульсацій струму залежить від швидкості спаду. Тут можливі різні варіанти.

Якщо забезпечити закорочення обмотки діодом, буде реалізовано повільний спад струму. Це призводить до зменшення амплітуди пульсацій струму, що є бажаним, особливо при роботі двигуна в мікрокроковому режимі. Для цього рівня пульсацій повільний спад струму дозволяє працювати на нижчих частотах ШІМ, що зменшує нагрівання двигуна. З цих причин повільний спад струму широко використовується. Однак існує кілька причин, через які повільне наростання струму не завжди є оптимальним: по-перше, через негативну зворотну ЕРС, зважаючи на малу напругу на обмотці під час спаду струму, реальний середній струм обмотки може виявитися завищеним; по-друге, коли потрібно різко зменшити струм фази (наприклад, у напівкроковому режимі), повільний спад не дозволить зробити це швидко; по-третє, коли потрібно встановити дуже низьке значення струму фази, регулювання може порушитись через існування обмеження на мінімальний час включеного стану ключів.

Висока швидкість спаду струму, що реалізується шляхом замикання обмотки на джерело живлення, призводить до підвищених пульсацій. Водночас усуваються недоліки, властиві повільному спаду струму. Однак при цьому точність підтримки середнього струму менша, також більше втрати.

Найбільш досконалі мікросхеми драйверів мають можливість регулювати швидкість спаду струму.

Практична реалізація драйверів

Драйвер крокового двигуна повинен вирішувати дві основні завдання: це формування необхідних часових послідовностей сигналів та забезпечення необхідного струму в обмотках. В інтегральних реалізаціях ці завдання виконуються різними мікросхемами. Прикладом може бути комплект мікросхем L297 і L298 фірми SGS-Thomson. Мікросхема L297 містить логіку формування часових послідовностей, а L298 є потужним здвоєним H-містом. На жаль, існує деяка плутанина у термінології щодо подібних мікросхем. Поняття «драйвер» часто застосовують до багатьох мікросхем, навіть якщо їх функції дуже різняться. Іноді мікросхеми логіки називають "трансляторами". У цій статті далі використовуватиметься така термінологія: «контролер» - мікросхема, відповідальна формування тимчасових послідовностей; "драйвер" - потужна схема живлення обмоток двигуна. Однак терміни "драйвер" і "контролер" можуть також позначати закінчений пристрій керування кроковим двигуном. Останнім часом все частіше контролер і драйвер об'єднуються в одній мікросхемі.

На практиці можна обійтися без спеціалізованих мікросхем. Наприклад, всі функції контролера можна реалізувати програмно, а як драйвер застосувати набір дискретних транзисторів. Однак при цьому мікроконтролер буде сильно завантажений, а схема драйвера може вийти громіздкою. Незважаючи на це, у деяких випадках таке рішення буде економічно вигідним.
Найпростіший драйвер потрібен для керування обмотками уніполярного двигуна. Для цього підходять найпростіші ключі, які можуть бути використані біполярні або польові транзистори. Досить ефективними є потужні МОП-транзистори, керовані логічним рівнем, такі як IRLZ34, IRLZ44, IRL540. У них опір у відкритому стані менше 0.1ом та допустимий струм порядку 30А. Ці транзистори мають вітчизняні аналоги КП723Г, КП727В та КП746Г відповідно. Існують також спеціальні мікросхеми, які містять усередині кілька потужних транзисторних ключів. Прикладом може бути мікросхема ULN2003 фірми Allegro (наш аналог К1109КТ23), яка містить 7 ключів з максимальним струмом 0.5 А. Принципова схема одного осередку цієї мікросхеми наведена на рис. 26.

Мал. 26. Принципова схема одного осередку мікросхеми ULN2003.

Аналогічні мікросхеми випускаються багатьма фірмами. Ці мікросхеми придатні не тільки для живлення обмоток крокових двигунів, але і для живлення будь-яких інших навантажень. Крім простих мікросхем драйверів існують і складніші мікросхеми, що мають вбудований контролер, PWM-регулювання струму і навіть ЦАП для мікрокрокового режиму.

Як зазначалося раніше, керувати біполярними двигунами потрібні складніші схеми, такі як H-мости. Такі схеми також можна реалізувати на дискретних елементах, хоча останнім часом все частіше вони реалізуються на інтегральних схемах. Приклад дискретної реалізації показано на рис. 27.

Мал. 27. Реалізація мостового драйвера на дискретних компонентах.

Такий H-міст управляється за допомогою двох сигналів, тому він не дозволяє забезпечити всіх можливих комбінацій. Обмотка запитана, коли рівні на входах різні та закорочена, коли рівні однакові. Це дозволяє отримати лише повільний спад струму (динамічний гальмування). Мостові драйвери в інтегральному виконанні випускаються багатьма фірмами. Прикладом можуть бути L293 (КР1128КТ3А) та L298 фірми SGS-Thomson.

Донедавна велику кількість мікросхем для керування кроковими двигунами випускала фірма Ericsson. Однак 11 червня 1999 вона передала виробництво своїх мікросхем індустріального призначення фірмі New Japan Radio Company (New JRC). При цьому позначення мікросхеми змінилися з PBLxxxx на NJMxxxx.

Як прості ключі, так і H-мости можуть становити частину ключового стабілізатора струму. Схема керування ключами може бути виконана на дискретних компонентах або у вигляді спеціалізованої мікросхеми. Доволі популярною мікросхемою, що реалізує ШІМ-стабілізацію струму, є L297 фірми SGS-Thomson. Спільно з мікросхемою мостового драйвера L293 або L298 вони утворюють закінчену систему керування крокового двигуна (рис. 28).

Мал. 28. Типова схема включення мікросхем L297 та L298N.

Мікросхема L297 сильно розвантажує керуючий мікроконтролер, так як від нього вимагається тільки тактова частота CLOCK (частота повторення кроків) і кілька статичних сигналів: DIRECTION - напрямок (сигнал внутрішньо синхронізований, перемикати можна в будь-який момент), HALF/FULL - напівкроковий/повноваговий режим, RESET – встановлює фази у вихідний стан (ABCD = 0101), ENABLE – дозвіл роботи мікросхеми, V ref – опорна напруга, яка задає пікову величину струму при ШІМ-регулюванні. З іншого боку, є кілька додаткових сигналів. Сигнал CONTROL визначає режим роботи ШИМ-регулятора. При його низькому рівні ШІМ-регулювання відбувається за виходами INH1, INH2, а за високого - за виходами ABCD. SYNC – вихід внутрішнього тактового генератора ШІМ. Він служить для синхронізації роботи кількох мікросхем. Також може бути використаний як вхід при тактуванні зовнішнього генератора. HOME – сигнал початкового положення (ABCD = 0101). Він використовується для синхронізації перемикання режимів HALF/FULL. Залежно від моменту переходу в повнокроковий режим мікросхема може працювати в режимі з однією включеною фазою або двома включеними фазами.

Ключове регулювання реалізують і багато інших мікросхем. Деякі мікросхеми мають ті чи інші особливості, наприклад драйвер LMD18T245 фірми National Semiconductor не вимагає застосування зовнішнього датчика струму, так як він реалізований всередині на основі одного осередку ключового МОП-транзистора.

Деякі мікросхеми призначені спеціально для роботи в мікрокроковому режимі. Прикладом може бути мікросхема A3955 фірми Allegro. Вона має вбудований 3-бітний нелінійний ЦАП для завдання змінюється за синусоїдальним законом струму фази.

Мал. 29. Струм і вектор зміщення ротора.

Зміщення ротора залежно від струмів фаз, які сформовані цим 3-бітним ЦАПом, показано на рис. 29. Мікросхема A3972 має вбудований 6-бітовий лінійний ЦАП.

Вибір типу драйвера

Максимальний момент і потужність, яку може забезпечити на валу кроковий двигун, залежить від розмірів двигуна, умов охолодження, режиму роботи (відносини робота/пауза), від параметрів обмоток двигуна та від типу драйвера, що використовується. Тип драйвера, що застосовується, сильно впливає на потужність на валу двигуна. При одній і тій же потужності, що розсіюється, драйвер з імпульсною стабілізацією струму забезпечує виграш в моменті на деяких швидкостях до 5 - 6 разів, в порівнянні з живленням обмоток номінальною напругою. Також розширюється діапазон допустимих швидкостей.

Технологія приводів з урахуванням крокових двигунів постійно розвивається. Розвиток спрямовано отримання найбільшого моменту на валу при мінімальних габаритах двигуна, широких швидкісних можливостей, високого ККД і поліпшеної точності. Важливою ланкою цієї технології є застосування мікрокрокового режиму.

Насправді важливим є час розробки приводу з урахуванням крокового двигуна. Розробка спеціалізованої конструкції для кожного конкретного випадку потребує значних витрат часу. З цього погляду краще застосовувати універсальні схеми управління на основі PWM стабілізації струму, незважаючи на їх більш високу вартість.

Практичний приклад контролера крокового двигуна на основі мікроконтролера сімейства AVR

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

Пропонований контролер призначений для керування уніполярним кроковим двигуном із середнім струмом кожної обмотки до 2.5А. Контролер може використовуватися з поширеними кроковими двигунами типу ДШІ-200-1, -2, -3. Його також можна використовувати і для управління менш потужними двигунами, наприклад, тими, що застосовувалися для позиціонування головок в 5-дюймових дисководах. При цьому схему можна спростити, відмовившись від паралельного включення ключових транзисторів і ключової стабілізації струму, так як для малопотужних двигунів досить простого L/R-живлення.

Мал. 30. Принципова схема контролера крокового двигуна.

Основою пристрою (рис. 30) є мікроконтролер U1 типу AT90S2313 фірми Atmel. Сигнали управління обмотками двигуна формуються на портах PB4 – PB7 програмно. Для комутації обмоток використовуються два включених паралельно польових транзистора типу КП505А, всього 8 транзисторів (VT1 - VT8). Ці транзистори мають корпус TO-92 і можуть комутувати струм до 1.4А, опір каналу становить близько 0.3 ома. Для того, щоб транзистори залишалися закритими під час дії сигналу "скидання" мікроконтролера (порти в цей час знаходяться у високоімпедансному стані), між затворами та витоками включені резистори R11 - R14. Для обмеження струму перезаряджання ємності затворів встановлені резистори R6 - R9. Даний контролер не претендує на високі швидкісні характеристики, тому влаштовує повільний спад струму фаз, який забезпечується шунтуванням обмоток двигуна діодами VD2 - VD5. Для підключення крокового двигуна є 8-контактний роз'єм XP3, який дозволяє підключити двигун, що має два окремі виводи від кожної обмотки (як, наприклад, ДШІ-200). Для двигунів з внутрішнім з'єднанням обмоток один або два спільні контакти роз'єму залишаться вільними.

Необхідно відзначити, що контролер може бути використаний для керування двигуном з великим середнім струмом фаз. Для цього необхідно замінити транзистори VT1 ​​- VT8 і діоди VD2 - VD5 більш потужними. Причому у разі паралельне включення транзисторів можна використовувати. Найбільш підходящими є МОП-транзистори, керовані логічним рівнем. Наприклад, це КП723Г, КП727В та інші.

Стабілізація струму здійснюється за допомогою ШІМ, яка також реалізована програмно. Для цього використовуються два датчики струму R15 та R16. Сигнали, зняті з датчиків струму, через ФНЧ R17C8 та R18C9 надходять на входи компараторів U3A та U3B. ФНЧ запобігають хибним спрацьовуванням компараторів внаслідок дії перешкод. На другий вхід кожного компаратора має бути подана опорна напруга, яка визначає піковий струм в обмотках двигуна. Ця напруга формується мікроконтролером за допомогою вбудованого таймера, що працює в режимі 8-бітної ШІМ. Для фільтрації сигналу ШІМ використовується дволанковий ФНЧ R19C10R22C11. Одночасно резистори R19, R22 і R23 утворюють дільник, який визначає масштаб регулювання струмів фаз. В даному випадку максимальний піковий струм, що відповідає коду 255, вибрано 5.11А, що відповідає напрузі 0.511В на датчиках струму. Враховуючи той факт, що постійна складова на виході ШІМ змінюється від 0 до 5В, необхідний коефіцієнт розподілу дорівнює приблизно 9.7. Виходи компараторів підключені до входів переривань мікроконтролера INT0 та INT1.

Для керування роботою двигуна є два логічні входи: FWD (вперед) і REW (назад), підключених до гнізда XP1. При подачі НИЗЬКОГО логічного рівня однією з цих входів, двигун починає обертатися на заданої мінімальної швидкості, поступово розганяється із заданим постійним прискоренням. Розгін завершується, коли двигун досягає заданої робочої швидкості. Якщо подається команда зміни напрямку обертання, двигун з тим самим прискоренням гальмується, потім реверсується та знову розганяється.

Крім командних входів, є два входи для кінцевих вимикачів, підключених до гнізда XP2. Кінцевий вимикач вважається таким, що спрацював, якщо на відповідному вході присутній НИЗЬКИЙ логічний рівень. При цьому обертання у цьому напрямі заборонено. При спрацюванні кінцевого вимикача під час обертання двигуна він переходить до гальмування із заданим прискоренням, а потім зупиняється.

Командні входи та входи кінцевих вимикачів захищені від перенапруг ланцюжками R1VD6, R2VD7, R3VD8 та R4VD9, що складаються з резистора та стабілітрона.

Живлення мікроконтролера формується за допомогою мікросхеми стабілізатора 78LR05, яка одночасно виконує функції монітора живлення. При зниженні напруги живлення нижче встановленого порога ця мікросхема формує для контролера сигнал «скидання». Живлення на стабілізатор подається через діод VD1, який разом із конденсатором C6 зменшує пульсації, викликані комутаціями щодо потужного навантаження, яким є кроковий двигун. Живлення на плату подається через 4-контактний роз'єм XP4, контакти якого задубльовані.

Демонстраційна версія програми дозволяє здійснювати розгін та гальмування двигуна з постійним прискоренням, а також обертання на постійній швидкості у повнокроковому чи напівкроковому режимі. Ця програма містить весь потрібний набір функцій і може бути використана як базова для написання спеціалізованих програм. Тому має сенс розглянути її структуру докладніше.

Головним завданням програми є формування імпульсних послідовностей для 4 обмоток двигуна. Оскільки для цих послідовностей часові співвідношення є критичними, формування виконується в обробнику переривання таймера 0. Можна сказати, основну роботу програма робить саме в цьому обробнику. Блок-схема обробника наведено на рис. 31.

Мал. 31. Блок-схема оброблювача переривання таймера 0.

Безперечно, було б зручніше використовувати таймер 1, оскільки він 16-розрядний і здатний викликати періодичні переривання збігу з автоматичним обнуленням. Однак він зайнятий формуванням за допомогою ШІМ опорної напруги компараторів. Тому доводиться перезавантажувати таймер 0 у перериванні, що вимагає деякого коригування величини, що завантажується і викликає деякий джиттер, який, однак, на практиці не заважає. Як основна часова база обраний інтервал 25мкс, який і формується таймером. З такою дискретністю можуть формуватися тимчасові послідовності фаз, такий же період має ШІМ стабілізації струму у фазах двигуна.

Для формування періоду повторення кроків використовується 16-розрядний програмний таймер STCNT. На відміну від таймера 0, його завантажувальна величина не є константою, оскільки саме вона визначає швидкість обертання двигуна. Таким чином, перемикання фаз відбувається лише при переповненні програмного таймера.

Послідовність чергування фаз задана таблично. У пам'яті програм мікроконтролера є три різних таблиці: для повнокрокового режиму без перекриття фаз, повнокрокового з перекриттям і напівкрокового режиму. Усі таблиці мають однакову довжину 8 байт. Потрібна таблиця на початку роботи завантажується в ОЗУ, що дозволяє найпростіше переходити між різними режимами роботи двигуна. Вибірка значень з таблиці відбувається за допомогою покажчика PHASE, тому перемикання напрямку обертання двигуна також здійснюється дуже просто: для обертання вперед потрібно інкрементувати покажчик, а для обертання назад - декрементувати.

Найголовніша змінна в програмі - це 24-бітна знакова змінна VC, яка містить значення поточної швидкості. Знак цієї змінної визначає напрямок обертання, а значення - частоту проходження кроків. Нульове значення цієї змінної свідчить, що двигун зупинено. Програма в цьому випадку вимикає струм всіх фаз, хоча в багатьох додатках у цій ситуації потрібно залишити включеними поточні фази і лише трохи зменшити їхній струм, забезпечивши цим утримання положення двигуна. За потреби таку зміну логіки роботи програми зробити дуже просто.

Таким чином, у разі переповнення програмного таймера STCNT відбувається аналіз значення змінної VC, у разі позитивного значення покажчик PHASE інкрементується, а у разі негативного декрементується. Потім із таблиці вибирається чергова комбінація фаз, яка виводиться в порт. У разі нульового значення VC покажчик PHASE не змінюється, і порт виводяться всі нульові значення.

Величина T, якою слід завантажувати таймер STCNT однозначно пов'язана зі значенням змінної VC. Однак переведення частоти в період займає досить багато часу, тому ці обчислення виробляються в основній програмі, і не на кожному кроці, а набагато рідше. Взагалі, ці обчислення потрібно періодично проводити лише під час розгону чи гальмування. За інших випадках швидкість, і, період повторення кроків, не змінюються.

Для здійснення ШІМ-стабілізації струму фази повинні періодично включатися, а потім, досягши струмом заданого рівня, вимикатися. Періодичне включення проводиться у перериванні таймера 0, для чого навіть у разі відсутності переповнення програмного таймера STCNT порт виводиться поточна комбінація фаз. Відбувається це з періодом 25мкс (що відповідає частоті ШІМ 40кГц). Вимкненням фаз керують компаратори, виходи яких підключені до входів переривання INT0 та INT1. Переривання дозволяються після того, як струм фаз вмикається, і забороняються відразу після перемикання компараторів. Це виключає їхню повторну обробку. У обробниках переривань відбувається лише відключення відповідних фаз (рис. 32).

Мал. 32. Блок-схема обробника переривань INT0 та INT1.

Процеси, що відбуваються при ШІМ-стабілізації струму, показано на рис. 33. Особливо слід зазначити, що струм датчика струму має переривчастий характер навіть у тому випадку, якщо струм обмотки не переривається. Це пов'язано з тим, що під час спаду струму його шлях не проходить через датчик струму (а проходить через діод).

Мал. 33. Процес ШІМ-стабілізації струму.

Потрібно сказати, що аналогова частина системи ШІМ-стабілізації струму фаз двигуна є досить "примхливою". Справа в тому, що сигнал, який знімається з датчика струму, містить велику кількість перешкод. Перешкоди виникають в основному в моменти комутації обмоток двигуна, причому як "своєї", так і "чужої" фази. Для правильної роботи схеми потрібне коректне розведення друкованої плати, особливо це стосується земляних провідників. Можливо доведеться підібрати номінали ФНЧ на вході компаратора або навіть ввести в компаратор невеликий гістерезис. Як зазначалося вище, при управлінні малопотужними двигунами від ШИМ-стабілізації струму можна відмовитися, застосувавши звичайну L/R-схему живлення обмоток. Для виключення ШІМ-стабілізації досить просто не підключати входи INT0 та INT1 мікроконтролера, природно, при цьому можна взагалі не встановлювати компаратор та датчики струму.

У цій програмі періодичність обчислення нових значень швидкості та періоду обрана рівною 15.625мс. Таке значення вибрано невипадково. Цей інтервал становить 1/64с, а головне він містить ціле число періодів переповнення таймера 0 (25мкс). Зручно, якщо значення швидкості прискорення задаються в природних одиницях, тобто. у кроках за секунду та у кроках, поділених на секунду у квадраті. Для того, щоб мати можливість у цілісній арифметиці обчислювати миттєву швидкість 64 рази на секунду, потрібно перейти до внутрішнього уявлення швидкості, збільшеного в 64 рази. Множення та розподіл на 64 зводиться до звичайних зрушень і тому потребує дуже мало часу. Задану періодичність обчислень забезпечує ще один програмний таймер URCNT, який декрементується у перериванні таймера 0 (раз на 25мкс). Цей таймер завжди завантажується постійною величиною, що забезпечує постійний період його переповнень, що дорівнює 15.625мс. При переповненні цього таймера встановлюється бітовий прапор UPD, який сигналізує основний програмі, що «пора-обновити значення швидкості і періоду».

Основна програма (рис. 34) виконує обчислення миттєвих значень швидкості та періоду проходження кроків, забезпечуючи необхідну криву розгону. У разі розгін і гальмування здійснюються з постійним прискоренням, тому швидкість змінюється лінійно. Період у своїй змінюється за гіперболічним законом, та її обчислення - основна робота програми.

Мал. 34. Блок-схема основного циклу програми.

Оновлення значень швидкості та періоду проходження кроків основна програма робить періодично, періодичність задається прапором UPD. Оновлення програма робить на основі порівняння значень двох змінних: миттєвої швидкості VC та необхідної швидкості VR.

Значення необхідної швидкості також визначається основною програмою. Це робиться на основі аналізу керуючих сигналів та сигналів з кінцевих вимикачів. Залежно від цих сигналів основна програма завантажує змінну VR значенням необхідної швидкості. У цій програмі це V для руху вперед, V для руху назад і 0 для зупинки. У загальному випадку, набір швидкостей (а також прискорень і струмів фаз) може бути як завгодно більшим, залежно від вимог.

Якщо швидкості VC і VR рівні, то кроковий двигун працює в стаціонарному режимі і оновлення не потрібно. Якщо ж швидкості не рівні, значення VC із заданим прискоренням наближається до VR, тобто. двигун пришвидшується (або уповільнюється) до досягнення номінальної швидкості. Якщо навіть знаки VR і VC відрізняються, двигун уповільнюється, реверсується і потім досягає необхідної швидкості. Відбувається це як би само собою, завдяки структурі програми.

Якщо при черговій перевірці виявляється, що швидкості VR і VC не рівні, то значення VC додається (або віднімається) значення прискорення A. Якщо в результаті цієї операції відбувається перевищення необхідної швидкості, то отримане значення коригується шляхом заміни на точне значення необхідної швидкості.

Потім відбувається обчислення періоду T (рис. 35).

Мал. 35. Блок-схема підпрограми обчислення періоду.

Спочатку обчислюється модуль поточної швидкості. Потім відбувається обмеження мінімальної швидкості. Це обмеження потрібне з двох причин. По-перше, нескінченно малої швидкості відповідає нескінченно великий період, що викликає помилку в обчисленнях. По-друге, крокові двигуни мають досить протяжну швидкість зону старту, тому немає необхідності стартувати на дуже маленькій швидкості, тим більше що обертання на малих швидкостях викликає підвищений шум і вібрацію. Значення мінімальної швидкості VMIN має вибиратися виходячи з конкретного завдання та типу двигуна. Після обмеження мінімальної швидкості провадиться обчислення періоду за формулою T = 2560000/|VC|. На перший погляд формула не очевидна, але якщо врахувати, що період необхідно отримати в 25мкс-інтервалах, а внутрішнє уявлення VC - це помножене на 64 її справжнє значення, все стає на свої місця. При обчисленні T потрібна операція беззнакового поділу формату 24/24, яке AVR на тактовій частоті 10МГц робить приблизно 70мкс. Враховуючи, що обчислення періоду відбуваються не частіше, ніж один раз на 15.625мс, завантаження процесора виходить дуже низьким. Основне завантаження робить переривання таймера 0, та й воно в основному виконується по короткій гілці (без переповнення STCNT) тривалістю приблизно 3мкс, що відповідає 12% завантаження процесора. Це означає, що є значні резерви обчислювальних ресурсів.

Друкована плата контролера крокового двигуна наведена на рис. 36.

Мал. 36. Друкована плата контролера крокового двигуна.

Наведена демонстраційна програма не має багатьох функцій, які мають бути присутніми у закінченому контролері крокового двигуна. Реалізація цих функцій залежить від особливостей застосування конкретного крокового двигуна і навряд чи може бути зроблена універсальною. У той самий час наведена програма може бути основою написання спеціальних програм, які мають тим чи іншим набором можливостей. Наприклад, на основі цієї плати створено низку спеціалізованих контролерів крокових двигунів. Одна з моделей такого контролера має такі можливості:

  • максимальна частота комутації фаз 3 Кгц
  • розгін із постійним прискоренням
  • програмований напрямок обертання
  • Контролер графічного РКІ високого дозволу





Нещодавно придбав ARDUINO у Китаї. Думок з виготовлення різних пристроїв-море. Блимати світлодіодом на платі дуже швидко набридло, захотілося чогось суттєвішого. Звичайно треба б замовити набір, але ціна його дещо завищена і довелося щось шукати в інтернеті, щось придумувати самому. У результаті все одно замовив у тому ж Китаї різні датчики, реле, індикатори ... Трохи пізніше прийшов знаменитий індикатор 1602 року. З ним повчився працювати, теж досить швидко освоївся. Захотілося керувати кроковим двигуном від CD-DVD приводу. Чекати зі Сходу на посилку 1-2 місяці не захотілося і я вирішив спробувати зробити драйвер самостійно. Знайшов ось таку схему включення біполярного крокового двигуна:

Мікросхеми в нашій глушині я не знайшов, або замовляти мікросхеми в російських інтернет-магазинах за вартістю 2-3 готових драйверів за 1 мікросхему. Мікросхема є Н-міст з транзисторів. До речі включати в міст треба або складові біполярні транзистори (так звані збірки Дарлінгтон), або польові транзистори. Одиночним біполярним транзисторам потрібна хороша розгойдування, яку контролер дати не може, інакше виходить дуже високе падіння напруга на транзисторі через те, що він відкритися не може. Т.к. Гарний товариш займається ремонтом комп'ютерів, то з польовиками проблем не виникло. Спочатку хотів зробити на біполярниках-але виходить у 2 рази більше транзисторів, що не зовсім добре для габаритів драйвера, та й струм вони витримають набагато менший. Випаявши близько десятка польових транзисторів і почитавши на них даташити я знову впав у зневіру-в інтернеті є схеми тільки на парах польових транзисторів n-і p-типів. І жодної схеми на транзисторах одного типу я просто не знайшов. У комп'ютерах використовуються транзистори n-типу. Довелося мудрувати на макетній платі невеликий девайс на польовиках, спробував керувати світлодіодами, вийшло і я вирішив зібрати готовий пристрій. Драйвер не потребує налагодження, бо налагоджувати тут практично нічого. Єдина проблема виникла із програмним забезпеченням. Знайшов даташит на схожий двигун та за графіками роботи виставив стани виходів. Після цього залишилося тільки підібрати delay та весь-пристрій готовий! Власне схема заміни мікросхеми L293D.


Дані транзисторів дані просто так-в мультисимі не зміг їх змінити. Я використовував транзистори P60N03LDG в корпусі ТО-252. У ній все досить просто: при надходженні напруги на один із входів U1 або U2 відкриваються 2 транзистори у верхньому і нижньому плечі, причому хрест-навхрест. Таким чином, перемикається полярність напруги на двигуні. А щоб не подавалося напруження відразу на 2 входи (це викличе КЗ ланцюга живлення) і використовував схему включення L293D. При такому включенні NPN-транзистор не дозволяє відкривати відразу всі 4 транзистори Н-моста. До речі, 1 двигун буде керуватися по 2 виходах Arduino, що вкрай важливо для економії виходів і входів мікроконтролера. Ще умова-мінусовий провід транзисторних ключів обов'язково має бути з'єднаний з мінусовим виведенням плати управління. Живлення подається на плату управління від Arduino, на ключі-від зовнішнього БП. Це дозволяє підключити досить потужні двигуни. Все залежить від показників транзисторів. Отже для одного драйвера вам потрібно 8 польових транзисторів (P60N03LDG або будь-які інші n-канальні), будь-які 2 SMD-біполярні транзистори NPN (у мене стоять з маркуванням t04), smd-резистори типорозміру 0805, і 4 такі ж перемички на них написано 000 чи просто 0). Всі ці деталі можна знайти на старих та непридатних материнських платах. Перед встановленням обов'язково перевірте деталі.


Плата драйвера Arduino

Викладаю плату у форматі Layout6. . Зауважу що у вас повинен вийде саме такий вид-написи повинні бути читабельними а не перевернутими, враховуйте це при друку плати, адже деталі будуть встановлені з боку доріжок. Роз'єми теж випаюємо з материнки феном, відрізаємо скільки за потрібною кількістю пінів і впаюємо в нашу плату - так набагато зручніше і надійніше ніж паяти дроти в плату. Розберемося з призначенням висновків: висновки Out1 і Out2-підключення обмоток крокового двигуна, In1,2-вхід від Arduino, ±5V- живлення управління від Arduino (зробив подвійний роз'єм т.к. підключати живлення можна шлейфом відразу до кількох блоків), 2 перемички розташовуються з іншого боку плати, ними подається напруга на ключі. Розмір плати-43х33мм. Хто бажає-може ще більше мінімізувати.

Розберемося із програмним забезпеченням для крокового двигуна. Для будь-якого крокового двигуна необхідно знайти даташит або, на крайній край, діаграму його роботи. Я знайшов лише діаграму, вона виглядає так:


Діаграма роботи крокового двигуна

Цифрами вказано номери кроків. Виходячи з того, що при перемиканні контролером високого рівня на низький драйвер сам переключить потрібні ключі, то пишемо, наприклад, стану тільки для верхніх графіків кожної обмотки. Перший крок: перша обмотка - перший провід + (HIGH), інший автоматично переключиться драйвером на мінус (LOW), нагадую що описуємо по першому дроту кожної обмотки. Друга обмотка: перший провід — (LOW), другий + (HIGH), другий провід автоматично переключиться драйвером. Переходимо до першої зміни графіка. Це 2 крок. Описуємо стан перших проводів. 1 дріт першої обмотки залишився HIGH, 1 дріт другий змінився з LOW на HIGH . Третій крок-1 провід першої обмотки змінився HIGH на LOW, 1 провід другий залишився HIGH. Четвертий крок: 1 провід першої обмотки залишився LOW, 1 провід другої обмотки змінився з HIGH на LOW. Описувати можна з будь-якого кроку, головне зберігати послідовність. Щоб двигун обертався в інший бік, потрібно просто зрушити в діаграмі значення будь-якої обмотки на півциклу в будь-який бік. У такий спосіб можна писати програмне забезпечення для драйверів. Потрібно лише знати діаграму та правильно описати її стан на вихідні піни.

Тепер підключаємо плату до Arduino, двигуна. Закидаємо такий скетч:

// підключаємось до 8,9 висновків arduino
int input1 = 8;
int input2 = 9;
int stepCount = 5; //Затримка між кроками регулює швидкість двигуна

void setup()
{
pinMode(input1,OUTPUT);
pinMode(input2,OUTPUT);
}

void loop()
{
// Перший крок
digitalWrite(input1,LOW);
digitalWrite(input2,HIGH);
delay (stepCount);

//Другий крок
digitalWrite(input1,HIGH);
digitalWrite(input2,HIGH);
delay (stepCount);

//третій крок
digitalWrite(input1,HIGH);
digitalWrite(input2,LOW);
delay (stepCount);

digitalWrite(input1,LOW);
digitalWrite(input2,LOW);
delay (stepCount);

Подаємо харчування на драйвер, міняємо, якщо треба, висновки однієї обмотки і думаємо куди пристосувати цей девайс (можна відкривати за часом і температурою кватирки в теплиці, керувати жалюзі та багато іншого). Звертаю увагу, що двигун крутитиметься без зупинки по даному скетчу, якщо треба заженіть у цикл і крутіть на необхідне значення або, що ще краще, напишіть бібліотеку і підключайте її безпосередньо. Звичайно це не такий крутий драйвер як на мікросхемі, але для експериментів, поки йдуть нормальні драйвери з Китаю, його більш ніж достатньо. Всім удачі та успіхів в освоюванні мікроконтролерів. Докладніше про мікроконтролери ARDUINO читайте.

Частина 2. Схемотехніка систем керування

Вище було розглянуто найважливіші загальні питання використання крокових двигунів, які допоможуть у їхньому освоєнні. Але як говорить наша улюблена українська приказка: «Не повірю поки не провірю» («Не повірю, поки не перевірю»). Тому перейдемо до практичного боку питання. Як уже зазначалося, крокові двигуни – це задоволення не з дешевих. Але вони є у старих принтерах, зчитувачах гнучких та лазерних дисків, наприклад, SPM-20 (кроковий двигун для позиціонування головки в дисководах 5"25 Mitsumi) або EM-483 (від принтера Epson Stylus C86), які можна знайти у старому принтері. хламі або купити за копійки на радіобазарі Приклади таких двигунів представлені на Рисунку 8.

Найбільш простими для початкового освоєння є уніполярні двигуни. Причина криється в простоті та дешевизні їхнього драйвера управління обмотками. На малюнку 9 наведено практичну схему драйвера, використаного автором статті для уніполярного крокового двигуна серії P542-M48 .

Природно, що вибір типу транзистора для ключів керування обмотками має відбуватися з урахуванням максимального струму комутації, яке підключення враховувати необхідність заряду/розряду ємності затвора. У ряді випадків пряме з'єднання MOSFET з ІМС комутатора може бути неприпустимим. Як правило, у затворах встановлюються послідовно включені резистори невеликих номіналів. Але в ряді випадків необхідно передбачити ще й відповідний драйвер для керування ключами, який забезпечить заряд/розряд вхідної ємності. У деяких рішеннях пропонується як ключі використовувати біполярні транзистори. Це підходить тільки для дуже малопотужних двигунів із невеликим струмом обмоток. Для двигуна з робочим струмом обмоток I = 230 мА струм управління по базі ключа повинен скласти, принаймні, 15 мА (хоча для нормальної роботи ключа необхідно, щоб струм бази дорівнював 1/10 робочого, тобто 23 мА). Але такий струм від мікросхем серії 74HCхх забрати неможливо, тому знадобляться додаткові драйвери. Як хороший компроміс, можна використовувати IGBT, що поєднують у собі переваги польових та біполярних транзисторів.

З точки зору автора статті, найоптимальнішим для керування комутацією обмоток двигунів невеликої потужності є використання відповідних струму і опору відкритого каналу R DC(ON) MOSFET, але з урахуванням рекомендацій, описаних вище. Потужність, що розсіюється на ключах для вибраного як приклад двигуна серії P542-M48, при повній зупинці ротора не перевищить

P VT = R DC(ON) × I 2 = 0.25 × (0.230) 2 = 13.2 мВт.

Ще одним важливим моментом є правильний вибір так званих снаберних діодів, що шунтують обмотку двигуна (VD1…VD4 на малюнку 9). Призначення цих діодів - гасити ЕРС самоіндукції, що виникає при виключенні ключів, що управляють. Якщо діоди вибрані неправильно, то неминучий вихід з ладу транзисторних ключів та пристрої загалом. Зауважте, що в потужні MOSFET такі діоди, як правило, вже вбудовані.

Режим керування двигуном задається комутатором. Як було зазначено вище, найбільш зручним і ефективним є управління з перекриттям фаз (Малюнок 4б). Такий режим легко реалізується за допомогою тригерів. Практична схема універсального комутатора, який використовував автор статті як у ряді модулів налагодження (у тому числі, і з наведеним вище драйвером), так і для практичних застосувань, наведена на Рисунку 10.

Схема на малюнку 10 придатна для будь-яких типів двигунів (уніполярних та біполярних). Частота обертання двигуна задається зовнішнім тактовим генератором (шпаруватість будь-яка), сигнал з якого подається на вхід «КРОКИ», а напрям обертання встановлюється через вхід «НАПРЯМОК». Обидва сигнали мають логічні рівні і, якщо для формування використовуються виходи з відкритим колектором, то будуть потрібні відповідні резистори підтяжки (на малюнку 10 вони не показані). Тимчасова діаграма роботи комутатора наведена на малюнку 11.

Хочу звернути увагу читачів: в Інтернеті ви могли зустріти схожу схему, виконану не на D-тригерах, а JK-тригерах. Будьте уважні! У ряді цих схем допущена помилка у підключенні ІМС. Якщо немає необхідності в реверсі, то схема комутатора може бути значно спрощена (див. рис. 12), при цьому частота обертання залишиться незмінною, а діаграма управління буде аналогічною тій, яка наведена на малюнку 11 (осцилограми до перемикання черговості фаз).

Оскільки особливих вимог до сигналу «КРОКИ» не пред'являється, для формування може використовуватися будь-який відповідний за рівнями вихідного сигналу генератор. Для своїх модулів налагодження автор використовував генератор на базі ІМС (Малюнок 13).

Для живлення власне двигуна можна використовувати схему, наведену на Рисунку 14, а схему комутатора і генератора живити або від окремого джерела живлення +5 або через додатковий малопотужний стабілізатор. Землі силової та сигнальної частин у будь-якому випадку необхідно розділити.

Схема на Малюнку 14 забезпечує подачу двох стабільних за рівнем напруги для живлення обмоток двигуна: 12 В в робочому режимі і 6 В в режимі утримання. (Формули, необхідні розрахунку вихідної напруги, наведені в ). Робочий режим включається подачею високого логічного рівня на контакт «Гальма» роз'єму Х1. Допустимість зниження напруги живлення визначається тим, що, як зазначалося в першій частині статті, момент утримання крокових двигунів перевищує момент обертання. Так, для аналізованого двигуна P542-M48 момент утримання з редуктором 25:6 дорівнює 19.8 Н·см, а момент обертання всього 6 Н·см. Цей підхід дозволяє при зупинці двигуна зменшити споживання потужності з 5.52 Вт до 1.38 Вт! Повне відключення двигуна здійснюється подачею високого логічного рівня на контакт «УВІМК/ВИМК» роз'єму Х1.

Якщо схема управління має вихід на транзисторах з відкритим колектором, то ключі VT1, VT2 необхідності немає, і виходи можна підключити безпосередньо замість згаданих ключів.

Примітка: У цьому варіанті використання резисторів підтяжки є неприпустимим!

Як дросель автор використовував котушку SDR1006-331K (Bourns). Загальне харчування формувача напруги для обмоток двигуна можна зменшити до 16 - 18, що не позначиться на його роботі. Ще раз звертаю увагу: при самостійному розрахунку не забудьте враховувати, що формувач забезпечує режим з перекриттям фаз, тобто необхідно закладатися на номінальний струм схеми живлення, що дорівнює подвійному максимальному струму обмоток при вибраній напрузі живлення.

Завдання управління біполярними двигунами складніше. Основна проблема у драйвері. Для цих двигунів потрібно драйвер мостового типу, і робити його, тим більше в сучасних умовах, на дискретних елементах - невдячна задача. Так, цього і не потрібно, тому що є дуже великий вибір спеціалізованих ІМС. Всі ці ІМС умовно можна звести до двох типів. Перший - дуже популярна у любителів робототехніки ІМС L293D або її варіанти від. Вони відносно недорогі та підходять для керування малопотужними двигунами зі струмом обмоток до 600 мА. ІМС мають захист від перегріву; встановлювати її необхідно із забезпеченням тепловідведення, яким служить фольга друкованої плати. Другий тип - це вже знайома читачам з публікації в ІМС LMD18245.

Автор використовував драйвер L293DD у схемі для керування біполярним двигуном малої потужності типу 20M020D2B 12 В/0.1 А під час вивчення проблеми використання крокових двигунів. Цей драйвер зручний тим, що містить чотири напівмостові ключі, тому для керування біполярним кроковим двигуном потрібна всього одна ІМС. Повна схема, наведена в багаторазово повторена на інтернет-сайтах, придатна для використання в якості тестової плати. На Малюнку 15 показано включення ІМС драйвера (з прив'язкою до комутатора з Малюнка 10), оскільки саме ця частина зараз представляє для нас інтерес, а Figure 6 (Bipolar Stepping-Motor Control) зі специфікації не зовсім зрозуміла користувачу-початківцю. Вона вводить в оману, наприклад, тим, що показані зовнішні діоди, які насправді вбудовані в ІМС та чудово справляються з обмотками малопотужних двигунів. Природно, що драйвер L293D може працювати з будь-яким комутатором. Вимикається драйвер логічним нулем на вході R.

Примітка: ІМС L293, залежно від виробника та суфіксів, що вказують на тип корпусу, мають відмінності в нумерації та кількості висновків!

На відміну від L293DD, LMD18245 не чотири-, а двухканальным драйвером, для реалізації схеми управління потрібні дві ИМС. Драйвер LMD18245 виконаний за DMOS технологією, містить схеми захисту від перегріву, короткого замикання та виконаний у зручному 15-вивідному корпусі ТО-220, що дозволяє легко відводити від його корпусу зайве тепло. Як генератор, що задає, використовувалася схема, наведена раніше на Малюнку 13, але зі збільшеним до 4.7 кОм опором резистора R2. Для подачі одиночних імпульсів використовується кнопка BH1, що дозволяє зрушити ротор двигуна на один крок. Напрямок обертання ротора визначається положенням перемикача S1. Вмикання та вимикання двигуна здійснюється вимикачем S2. У положення "ВИМК" ротор двигуна звільняється, і його обертання імпульсами управління стає неможливим. Режим утримання зменшує максимальний струм, який споживається обмотками двигуна, з двох до одного ампера. Якщо імпульси керування не подаються, то ротор двигуна залишається в зафіксованому положенні зі зниженою потужністю споживання вдвічі. Якщо імпульси подаються, то обертання двигуна цьому режимі здійснюється з зниженим на малих швидкостях обертання моментом. Необхідно зауважити, що оскільки при повнокроковому управлінні two-phase-on» включені обидві обмотки, струм двигуна подвоюється, а схема драйвера повинна розраховуватися з вимог забезпечення заданого струму двох обмоток (резистори R3, R8).

Схема містить описаний раніше двонаправлений двофазовий формувач на D-тригерах (Малюнок 10). Максимальний струм драйвера задається резистором, включеним у ланцюг контакту 13 ІМС LMD18245 (резистори R3, R8), та двійковим кодом на контактах ланцюга управління струму (висновки 8, 7, 6, 4). Формула для розрахунку максимального струму наведено у специфікації на драйвер. Обмеження струму здійснюється імпульсним способом. При досягненні максимально заданої величини струму виконується його нарізка (chopping). Параметри цієї «нарізки» задаються паралельним RC ланцюжком, підключеним до виведення 3 драйвера. Перевагою ІМС LMD18245 є те, що токозадавальний резистор, не включений безпосередньо в ланцюг двигуна, має досить великий номінал і маленьку потужність, що розсіюється. Для схеми, що розглядається, максимальний струм в амперах, згідно з наведеною у формулі, становить:

V DAC REF - опорна напруга ЦАП (в схемі 5 В);
D – задіяні розряди ЦАП (у цьому режимі використовуються всі 16 розрядів);
R S - опір струмообмежувального резистора (R3 = R8 = 10 кОм).

Відповідно, у режимі утримання (оскільки використовуються 8 розрядів ЦАП), максимальний струм становитиме 1 А.

Як можна бачити із запропонованої статті, крокові двигуни хоч і складніші в управлінні, ніж колекторні, але не настільки, щоб відмовлятися від них. Як казали ще древні римляни: «Дорогу здолає той, хто йде». Природно, що на практиці для багатьох програм управління кроковими двигунами доцільно робити на основі мікроконтролерів, які легко сформують потрібні команди для драйверів і виконають роль комутаторів. Додаткову інформацію і більш детальний розгляд проблем, пов'язаних із застосуванням крокових двигунів, крім як за згаданими вище посиланнями [ , , ], можна почерпнути з монографії Кеніо Такаші, яка вже стала класикою, і на спеціалізованих інтернет-сайтах, наприклад, .

Є ще один момент, на який автор статті хотів би звернути увагу читачів. Крокові двигуни, як і всі двигуни постійного струму, оборотні. Що мається на увазі? Якщо прикласти зовнішнє зусилля, що обертає, до ротора, то з обмоток статора можна зняти ЕРС, тобто двигун стає генератором, причому дуже і дуже ефективним. Автор статті експериментував із цим варіантом використання крокових двигунів під час роботи консультантом із силової електроніки в компанії, що займається вітроенергетикою. Необхідно було на простих макетах відпрацювати низку практичних рішень. За спостереженням автора статті, ефективність крокового двигуна в такому застосуванні була вищою, ніж у аналогічного за параметрами та габаритами колекторного двигуна постійного струму. Але то вже інша історія.

  • Rentyuk Vladimir «Control stepper motors in both directions» EDN March 18, 2010
  • Кеніо Такаші. Крокові двигуни та їх мікропроцесорні системи керування: Пер. з англ., М: Енергоатоміздат, 1987 - 199 с.