Простий у виготовленні контролер крокового двигуна із старих деталей. Керуємо кроковими двигунами та DC моторами, L298 і Raspberry Pi Управління кроковим двигуном своїми руками

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

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

Типи крокових двигунів

Існують три основні типи крокових двигунів: змінної індуктивності, двигуни з постійними магнітами та гібридні двигуни.

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

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

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

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

Але уніполярний кроковий двигун працює тільки з позитивною напругою, а біполярний кроковий двигун має два полюси – позитивний та негативний.

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

Хоча обидва вони мають загальний рівень напруги живлення 5V, біполярний кроковий двигун буде мати більший крутний момент, тому що струм тече через всю котушку, виробляючи сильніше магнітне поле. З іншого боку, уніполярні крокові двигуни використовують лише половину довжини котушки з-за додаткового дроту в середині котушки, а отже менший момент, що крутить, доступний для утримання валу на місці.

Різні крокові двигуни можуть мати різну кількість проводів, як правило, 4, 5, 6, або 8. 4-х провідні лінії можуть підтримати тільки біполярні крокові двигуни, оскільки вони не мають центрального проводу.

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

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

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

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

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

Схема підключення крокових двигунів

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

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

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

Моя бабуся завжди каже: "Де вузько, там і рветься". І так справді відбувається! Це справедливо й у основи основ верстата з ЧПУ — механізму лінійного переміщення і електроніки управління, саме — контролера крокового двигуна. Про яку точність можна говорити, якщо людина поставив дешевий китайський контролер, увімкнув на ньому мікрокрок 1/8 або навіть 1/16 і намагається видавити з верстата мікронні переміщення?

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

Перше, що я хочу отримати від свого контролера крокового двигуна - це калібрований мікрокрок, який налаштовувався б під конкретний екземпляр крокового двигуна. Про нелінійність характеристик крокових двигунів я вже писав у своїй статті про і. Якщо вам ліньки перейти за посиланням, то коротко скажу, що в режимі мікрокроку ви посилаєте двигуну команду повернутися на 1/8 кроку (наприклад), а він повертається взагалі не відомо на скільки або взагалі не повертається! Все це через нелінійність характеристики крокового двигуна. Ось чому не можна використовувати мікрокроковий режим у звичайних китайських контролерах для підвищення точності (роздільна здатність) переміщень свого верстата з ЧПУ!

Хтось, можливо, поставить питання — звідки береться ця нелінійність? А вся річ у тому, що насправді кроковий двигун взагалі не призначений для роботи в режимі мікрокроку! Кроковий двигун призначений тільки для того, щоб крокувати - ать, два! Це ми — ЧПУшники від своєї голоти вирішили привнести у світ цифрового двигуна (двигуна з кінцевими станами) трохи аналоговості і вигадали «мікрокрок», у якому кроковий двигун «зависає» в деякому проміжному стані між двома кроками. А виробники контролерів радісно підхопили цю фішку і підносять мікрокрок, як стандарт де-факто! І впарюють свої контролери невигадливим споживачам.

Якщо ви – «щасливий» власник контролера з мікрокроком, то сказане мною вище ви зможете самі дуже легко перевірити за методом лазерного калібрування, описаним вище в статті про калібрування крокового двигуна. Достатньо зняти зі верстата кроковик, приладнати до нього лазерну указку, включити в контролері режим мікрокроку (хоча він, звичайно ж, у вас включений!) і подавати йому на вхід імпульси STEP. Можна прямо з Mach3 або LinuxCNC, вибравши мінімальну подачу в ручному режимі або задаючи мікро-переміщення через G-коди. Після кожного мікрокроку робіть позначки на аркуші паперу, закріпленому на стіні скотчем, там, куди світить промінь лазера. Вже після кількох мікрокроків, ви помітите, що між насічками вийшла ну просто непристойна різна відстань!

Закінчимо на цьому лаяти виробників. Вони насправді нічого поганого не роблять. Люди хотіли мікрокрок – люди його отримали! Зосередимося краще на тому, що насправді хотіли отримати кінцеві користувачі від свого контролера крокового двигуна? А хотіли вони отримати не розподіл керуючого кроковими двигунами сигналу на 8, 16 і т.д., а розподіл кута повороту крокового двигунана вказані дільники! Але яке ж для цього потрібно подавати напругу, що управляє? Відповім однозначно - хрін його знає! Поясню… Справа в тому, що різні виробники роблять різні двигуни, застосовують різні технології з різною якістю та різною похибкою. І виходить так, що всі крокові двигуни різні! Навіть у межах одного типу та однієї партії. Ліг десь в обмотці крокового двигуна зволікання злегка не на той бік - характеристика змінилася! В одного двигуна X витків, в іншого двигуна X+Y витків в обмотці знову характеристики різні. Ну і так далі – до фанатизму

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

Схема контролера крокових двигунів

Схема мого контролера буде дуже простою. Силовими елементами, що безпосередньо управляють обмотками двигуна, будуть ключові MOSFET-транзистори, підключені у вигляді Н-моста. Ключами керуватиме мікроконтролер. Жодних дорогих мікросхем-драйверів у моїй схемі не буде. Замість них буде парочка феритових кілець із згорілих енергозберігаючих ламп, які відмінно підходять для керування затворами MOSFET-транзисторів. Загалом я намагаюся зробити контролер крокового двигуна доступним для повторення в домашніх умовах. Також однією з його переваг буде висока ремонтопридатність (наприклад, якщо згорить який-небудь MOSFET-транзистор в силовій частині, то вартість заміни складе ~20-30 рублів).

Зліва представлена ​​схема керування затвором силового MOSFET-ключа мого контролера крокових двигунів. Як видно, керування затвором здійснюється через підвищує імпульсний трансформатор на феритовому кільці. Підвищує трансформатор потрібен, щоб силовий ключ повністю відкривався від 5-тивольтового сигналу управління, що надходить з виходу мікроконтролера. Для повного гарантованого відкриття силовим MOSFET-ам зазвичай потрібно від 10 вольт (детальніше характеристику MOSFET-а можна подивитися на графіках у його datasheet). Особливість такого включення у тому, що ємність затвора MOSFET використовують у режимі пам'яті, тобто. при проходженні відкриває імпульсу через діод D1, транзистор буде відкритий скільки завгодно довго до тих пір, поки його не закриє транзистор Q2, що відкрився, розрядивши ємність затвора на «землю». Завдяки такій схемі при керуванні ШІМ-сигналом (PWM) вдається отримати до 100% глибини модуляції (в англомовних джерелах – duty circle або цикл завантаження). У стандартній схемі включення трансформатора затвора (GDT - gate drive transformer), коли позитивний імпульс відкриває MOSFET, а наступний за ним негативний імпульс відновлення розряджає ємність затвора, вдається отримати лише менше 50% періоду ШІМ-сигналу.

Програма керування кроковим двигуном

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

Written By: . Tagged: , .

Post navigation

  • Драйвер крокового двигуна- Електронний пристрій, який змушує "крочати" . Стандартом де-факто у сфері управління ШД є . 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. Також генератор буде корисним для побудови простих систем переміщення без застосування ПК.

    Отже, задумуючи драйвер на польовиках для біполярників, я і не думав що тема викличе такий інтерес і доведеться писати маленьку статтю зі збирання та налаштування. Тут розглядатиметься драйвер як окремий блок. Т.к. я використовую блокову конструкцію. Тобто. три драйвери, інтерфейсна плата, блок живлення. По-перше при виході з ладу одного драйвера, просто змінюється драйвер на запасний, а по-друге (і головне) планується модернізація, мені простіше зняти один драйвер, і поставити варіант для обкатки, що модернізується. «Одноплатник» це вже розвиток теми, і на питання щодо настроювання ДБЖ я думаю із задоволенням відповість Dj _ smart , а також доповнить і виправить мою працю. А тепер до справи.

    Пункт перший (який набив плату можна не читати J ). Після травлення, лудіння і свердловки, уважно огляньте всю плату на предмет косяків. Соплі, протруєні доріжки тощо. можуть серйозно обламати весь кайф. Далі набиваємо плату, спочатку всі перемички, потім опори, діоди, панелі, ємності та біполярні транзистори. Хочу звернути особливу увагу на Вашу увагу, вибачте за… Не лінуйтеся перед упаюванням перевірити деталь на справність. Продзвонювання іноді рятує від диму ... Я знаючи колірну кодування резисторів на ура, підколювали кілька разів, причому зі спец. ефектами. Коли використовуєш резистори із загашників, які роками випоювалися з усього, що під руку потрапить, забуваєш, що при нагріванні червоний може стати помаранчевим, а помаранчевий - жовтим. GND , та дроти контролю Vref . Приблизно так це виглядає:

    Пункт другий (налаштовуємо режими роботи та утримання). 555 я особисто впаюю в плату, хто поставив панель, значить встромляємо, блок індикації повинен бути відключений. Підбудовники на середину. Виведення степ замикаємо на загальний (раб. режим). Продзвонюємо ланцюг +5В і якщо немає короткого, включаємо харчування. Тестер підключений до контрольних точок Vref (молодець Dj _ smart , Передбачив на платі), якщо номінали підрядників та опору між ними відповідають схемі, то підстроювальником раб. режиму можна регулювати напругу близько 0 - 1В тобто. Струм 0 - 5А. Налаштуємо на 1А. Тут усе просто. R змін. у нас 0,2 Ом. Нам потрібний 1А. 0,2 х1 = 0,2В. Тобто. якщо ми встановимо Vref - 0,2В, струм в обмотці буде 1А. Якщо нам потрібний струм в обмотці скажемо 2,5А, то Vref = 0,2 х2, 5 = 0,5В.

    Коротше ми виставили 0,2В.

    Тепер розмикаємо степ та заг. Якщо всі елементи в нормі та за схемою, то після розмикання приблизно через півсекунди Vref знизиться вдвічі (якщо другий підрядник посередині) Налаштовуємо їм Vref утримання. У мене 50 відс. від робітника:

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

    Пункт третій (налаштовуємо блок індикації). Друк розведений під 315-361, як і у Dj _ smarta теж мішок, треба кудись паяти ... Але в принципі туди можна паяти будь-яку пару, з наших я відчував 502 - 503, 3102 - 3107, все оре, тільки будьте уважні з цоколівкою! Якщо все правильно впаяно та робоче, то працює без проблем. Індикація вносить невелике коригування в Vref Так що після підключення індикації, остаточно відрегулюйте струм під свій ШД (краще для початку 70% від номінального). Фотки як горять світлодіоди робити не став J.

    Пункт четвертий, важливий (297) Вимкнувши живлення, втикаємо 297 на своє місце. Ще раз перевіряємо монтаж, і елементи обв'язки, якщо всі ОК (за будь-якого сумніву перевіряємо двічі) врубаємо живлення. Перевіряємо осцилографом сигнал на першій нозі, він такий:

    Або на 16 нозі, він такий:

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

    УВАГА!!! Це важливо!!!Навіть якщо шим не запуститься, логічна частина 297 працюватиме, тобто. при підключенні навантаження всі сигнали підуть… Але накиньте 24В без шима на ШД 2Ом. Отже, важливо переконатися в запуску генератора мікросхеми.

    П'ятий пункт. Знову вимикаємо живлення та вставляємо IR , впаюємо польовики. При використанні ШД зі струмом обмотки більше 2,5А необхідно польовики винести на радіатор. Зверніть увагу при паянні діодів, вони можуть відрізнятися за мітками. Мені правда не зустрічалося (у мене в перемішці 522 і 1 N 4148 (аналог) у них цоколівка збігається) Але враховуючи що людям IR

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

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

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

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

    Виходить, якщо повторювати цю послідовність сигналів ABCD можна обертати ротор електромотора в одну сторону.
    А як крутити ротор в інший бік? Так, дуже просто, потрібно змінити послідовність сигналів з ABCD на DCBA.
    А як повертати ротор на конкретний кут, наприклад 30 градусів? Кожна модель крокового електромотора має такий параметр як число кроків. У кроковиків які витягнув з матричних принтерів цей параметр 200 і 52, тобто. щоб здійснити повний оборот 360 градусів одним двигунам потрібно пройти 200 кроків, а іншим 52. Виходить, щоб повернути ротор на кут 30 градусів, потрібно пройти:
    -У першому випадку 30: (360:200) = 16,666 ... (Кроків) можна округлити до 17 кроків;
    -у другому випадку 30: (360:52) = 4,33 ... (Кроку), можна округлити до 4 кроків.
    Як бачите, є досить велика похибка, можна зробити висновок що чим більше кроків у мотора тим менше похибка. Похибку можна зменшувати, якщо використовувати напівкроковий або мікрокроковий режим роботи або механічним способом - використовувати понижувальний редуктор у цьому випадку страждає на швидкість руху.
    Як керувати швидкістю обертання ротора? Достатньо змінити тривалість імпульсів, що подаються на входи ABCD, чим довше імпульси по осі часу, тим менша швидкість обертання ротора.
    Вважаю, що цієї інформації буде достатньо, щоб мати теоретичне уявлення про роботу крокових електромоторів, всі інші знання можна буде отримати експериментуючи.
    І так перейдемо до схемотехніки. Як працювати з кроковим двигуном ми розібралися, залишилося підключити його до Arduino і написати програму управління. На жаль, безпосередньо підключити обмотки мотора до виходів нашого мікроконтролера неможливо з однієї простої причини - брак потужності. Будь-який електромотор пропускає через свої обмотки досить великий струм, а до мікроконтролера можна підключити навантаження не більше40 mA (параметри ArduinoMega 2560). Що ж робити якщо є необхідність керувати навантаженням наприклад 10A та ще й напругою 220В? Цю проблему можна вирішити якщо між мікроконтролером та кроковим двигуном інтегрувати силову електричну схему, тоді можна буде керувати хоч трифазним електромотором, який відкриває багатотонний люк у ракетну шахту:-). У нашому випадку люк в ракетну шахту відкривати не потрібно, нам потрібно лише змусити працювати кроковий мотор і в цьому нам допоможе драйвер крокового двигуна. Можна звичайно купити готові рішення, на ринку їх дуже багато, але я робитиму свій власний драйвер. Для цього мені знадобляться силові ключові польові транзистори Mosfet, як я вже говорив, ці транзистори ідеально підходять для поєднання Arduino з будь-якими навантаженнями.
    На малюнку нижче представлена ​​електрична принципова схема контролера крокового двигуна.

    Як силові ключі я застосувавтранзистори IRF634B максимальна напруга витік-стік 250В, струм стоку 8,1А, цього більш ніж достатньо для мого випадку.Зі схемою розібралися будемо малювати друковану плату. Малював у вбудованому у Windows редакторі Paint, скажу це не найкраща витівка, наступного разу використовуватиму якийсь спеціалізований і простий редактор друкованих плат. Нижче наведено малюнок готової друкованої плати.

    Далі це зображення у дзеркальному відображенні друкуємо на папері за допомогою лазерного принтера. Яскравість друку найкраще зробити максимальною, а папір потрібно використовувати не звичайний офісний, а глянсовий, підійдуть звичайні глянцеві журнали. Беремо аркуш і друкуємо поверх наявного зображення. Далі картинку прикладаємо до заздалегідь підготовленого шматка фольгованого склотекстоліту і добре прогладжуємо праскою протягом 20 хвилин. Праску потрібно нагріти до максимальної температури.
    Як приготувати текстоліт? У перших його потрібно відрізати за розміром зображення друкованої плати (за допомогою ножиць по металу або ножівкою по металу), по друге зашкурити краї дрібним наждачним папером, щоб не залишилося задирки. Також необхідно пройтися наждачкою по поверхні фольги, зняти оксиди, фольга набуде рівного червоного відтінку. Далі поверхню оброблену наждачним папером потрібно протерти ваткою змоченою в розчинник (використовуйте 646 розчинник він менше смердить).
    Після прогрівання праскою тонер з паперу запікається на поверхню фольгованого склотекстоліту у вигляді зображення контактних доріжок. Після цієї операції плату з папером необхідно остудити до кімнатної температури і покласти у ванну з водою приблизно на 30 хвилин. За цей час папір розкисне і його потрібно акуратно скачати подушечками пальців із поверхні текстоліту. На поверхні залишаться рівні чорні сліди як контактних доріжок. Якщо у вас не вдалося перенести зображення з паперу і у вас є огріхи, слід змити тонер з поверхні текстоліту розчинником і повторити все заново. У мене все вийшло з першого разу.
    Після отримання якісного зображення доріжок необхідно витравити зайву мідь, для цього нам знадобиться травильний розчин, який ми приготуємо самі. Раніше для травлення друкованих плат я використовував мідний купорос та звичайну кухонну сіль у співвідношенні на 0,5 літра гарячої води по 2 столові ложки з гіркою мідного купоросу та кухонної солі. Все це ретельно розмішувалося у воді і готовий розчин. Але цього разу спробував інший рецепт, дуже дешевий та доступний.
    Рекомендований спосіб приготування травильного розчину:
    У 100 мл аптечної 3% перекису водню розчиняється 30 г лимонної кислоти та 2 чайні ложки кухонної солі. Цього розчину має вистачити для травлення площі 100 см2. Сіль при підготовці розчину можна не шкодувати. Тому що вона грає роль каталізатора і в процесі травлення практично не витрачається.
    Після приготування розчину друковану плату необхідно опустити в ємність з розчином і спостерігати за процесом травлення, тут головне не перетримати. Розчин з'їсть непокриту тонером поверхню міді, як тільки це станеться, плату необхідно дістати і промити холодною водою, далі її потрібно просушити і зняти з поверхні доріжок тонер за допомогою ватки та розчинника. Якщо у вашій платі передбачені отвори для кріплення радіодеталей або кріплення, саме час просвердлити їх. Я опустив цю операцію через те, що це лише макетний драйвер крокового двигуна, призначений для освоєння нових для мене технологій.
    Приступаємо до лудіння доріжок. Це необхідно зробити, щоб полегшити собі роботу при паянні. Раніше я лудив за допомогою припою та каніфолі, але скажу це "брудний" спосіб. Від каніфолі багато диму та шлаку на платі, який потрібно буде змивати розчинником. Я застосував інший спосіб, лудіння гліцерином. Гліцерин продається в аптеках і коштує копійки. Поверхню плати необхідно протерти ваткою змоченою в гліцерині та наносити припій паяльником точними мазками. Поверхня доріжок покривається тонким шаром припою та залишається чистою, зайвий гліцерин можна видалити ваткою або промити плату у воді з милом. На жаль у мене немає фотографії отриманого результату, після лудіння, але якість, що вийшла, вражає.
    Далі необхідно припаяти всі радіодеталі на плату, для паяння компонентів SMD я використовував пінцет. Як флюс використовував гліцерин. Вийшло дуже акуратно.
    Результат очевидний. Звичайно, після виготовлення плата виглядала краще, на фото вона вже після численних експериментів (для цього вона і створювалася).



    Отже, наш драйвер крокового двигуна готовий! Тепер переходимо до найцікавішого до практичних експериментів. Припаюємо всі дроти, підключаємо джерело живлення і пишемо керуючу програму для Arduino.
    Середовище розробки Arduino багате на різні бібліотеки, для роботи з кроковим двигуном передбачена спеціальна бібліотека Stepper.h, її ми будемо використовувати. Як користуватися середовищем розробки Arduino і описувати синтаксис мови програмування я не стану, цю інформацію ви можете переглянути на сайті http://www.arduino.cc/, там же опис усіх бібліотек з прикладами, у тому числі й опис Stepper.h.


    Лістинг програми:
    /*
    * Тестова програма для кроковика
    */
    #include
    #define STEPS 200

    Stepper stepper(STEPS, 31, 33, 35, 37);

    void setup()
    {
    stepper.setSpeed(50);
    }

    void loop()
    {
    stepper.step(200);
    delay(1000);
    }

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