Шаговый двигатель схема подключения usb
Шаговые двигатели нашли широкое применение в современной промышленности и самоделках. Их используют там, где необходимо обеспечить точность позиционирования механических узлов, не прибегая к помощи обратной связи и точным измерениям.
Сегодня хочу поговорить об особой разновидности шаговых моторов — миниатюрные шаговые двигатели, которые применяются в конструкциях оптических систем. Мы подробно рассмотрим их устройство и способы управления такими крошечными моторчиками.
Шаговый двигатель — бесколлекторный (бесщёточный) электрический двигатель с несколькими обмотками (фазами), расположенными на статоре и магнитами (часто постоянными) на роторе. Подавая напряжения на обмотки статора, мы можем фиксировать положение ротора, а подавая напряжение на обмотки последовательно можно получить перемещение ротора из одного положения в другое (шаг), причём этот шаг имеет фиксированную угловую величину.
Мы не будем останавливаться на рассмотрении каждого типа шагового двигателя. Об этом в сети написано довольно много и хорошо, например здесь.
Хочу поговорить об особой разновидности шаговых моторов — миниатюрные шаговые двигатели, которые применяются в конструкциях оптических систем. Такие малыши имеются в свободной продаже. Но в сети, особенно в русскоязычной, очень мало информации по таким моторчикам. Потому, когда мне потребовалось использовать их в своём проекте, пришлось изрядно поискать информации и провести пару экспериментов.
Результатами своих поисков и экспериментами я поделюсь в этой статье.
Мы рассмотрим вопросы управления такими маленькими моторчиками, а именно:
- драйвер L293D + микроконтроллер ATtiny44;
- драйвер TMC2208 + микроконтроллер ATtiny44;
- микроконтроллер ATtiny44 (без драйвера).
Знакомство
Сначала немного посмотрим на внешний вид нашего героя:
Он действительно очень маленький! Согласно умной книжке Петренко С.Ф.
«Пьезоэлектрические двигатели в приборостроении», меньших размеров электромагнитные моторчики создать в принципе невозможно… то есть возможно, но с уменьшением диаметра проволоки, из которой изготавливают обмотки, всё больше энергии рассеивается в виде тепла в окружающую среду, что приводит к уменьшению КПД моторчика и делает их использование нерациональным.
Из примечательного, можно отметить, что его вал очень короткий и имеет специальную проточку для установки шестерни или рычага.
Отчётливо видны две обмотки, которые даже покрыты изоляцией разного цвета. Значит, наш моторчик относится, скорее всего, к классу биполярных шаговых двигателей.
Посмотрим как он устроен:
Считаю, наше знакомство с этими моторчиками будет не полным, если мы не посмотрим, что же у него внутри. Ведь всегда интересно заглянуть внутрь механизма! Разве нет?
Собственно, ничего необычного мы не увидели. Ротор намагничен. Подшипников нигде не наблюдается, всё на втулках. Задняя втулка запрессована в корпус двигателя. Передняя ничем не закреплена. Интересно, что корпус двигателя собирался точечной сваркой. Так что переднюю крышку корпуса пришлось спиливать.
Теперь перейдём к вопросу подключения и его электрическим характеристикам.
Убедимся, что он биполярный, прозвонив обмотки. Действительно биполярный, всё как на картинке выше. Сопротивление обмоток около 26Ом, хотя продавец указал 14Ом.
В описании сказано, что напряжение питания 5В. Хотя мы то с вами знаем, что для шагового двигателя важен ток, который будут потреблять его обмотки.
Пробуем подключить.
Эксперимент №1. L293D + ATtiny44
Как мы знаем, для управления биполярным шаговым двигателем необходимо не просто прикладывать напряжения к двум обмоткам в нужной последовательности, но и изменять направление тока в этих обмотках, причём делать это независимо друг от друга. Для этого на каждую обмотку нужен собственный Н-мост. Чтобы не городить его из транзисторов, был взят готовый в лице микросхемы L293D. Ещё одно её преимущество — у микросхемы имеются специальные выводы Enable1 и Enable2, который включают и выключают каждый мост. Их можно использовать чтобы подавать ШИМ сигнал, тем самым, возможно контролировать напряжения питания каждого моста. Зачем это может понадобиться, мы увидим дальше.
Кроме того, L293D может коммутировать напряжения до 36В и выдавать до 1,2А на каждый канал, чего вполне должно хватить для питания обмоток нашего моторчика.
Управляющие входы L293D подключены к выходам OC0A и OC0B, что позволит в будущем подавать на них ШИМ сигнал.
Прошивать контроллер будем через внутрисхемный программатор (на схеме не указан).
Вот как выглядит собранная схема на макетной плате:
И вот так расположен наш подопытный:
Теперь можно приступать к экспериментам.
Рассчитаем ток, который будет течь через обмотки двигателя при подключении их к напряжению 5В:
I=U/R = 5В/26Ом = 190мА
Совсем небольшой. Интересно как долго он сможет держать такой ток и не перегреться.
Включим в цепь одной из обмоток амперметр и вольтметр, и проведём замеры соответствующих величин при подачи питания на эту обмотку через драйвер.
При падении напряжения на обмотке 2.56В амперметр показывает ток 150мА, причём хорошо заметно, как начинает падать величина силы тока в процессе нагревания обмоток. Надо отметить, что не так уж и сильно он греется.
Убедившись, что напряжение 5В для моторчика опасности не представляет, попробуем покрутить им в разные стороны. И вот теперь пару слов мы скажем про режимы работы шагового двигателя.
Об этом довольно хорошо сказано здесь.
Не будем повторяться, но вспомним, что шаговый двигатель может работать в трёх режимах:
- Полношаговый однофазный это когда одновременно напряжение подаётся только на одну фазу двигателя, ротор делает шаг, затем текущая фаза выключается и включается следующая.
- Полношаговый двухфазный это когда напряжение подаётся одновременно на две фазы мотора, при этом, ротор притягивается одновременно к двум обмоткам, что создаёт больший крутящий момент.
- Микрошаговый режим в этом случае реализуется тот же принцип, что и на полношаговом двухфазном, то есть работают одновременно две обмотки, но напряжение (и как следствие ток) распределяется между ними неравномерно. Фактически, это означает, что мы можем поставить моторчик в неограниченное количество положений (на практике, разумеется, такого сделать нельзя). Увеличивается точность позиционирования.
Исходный код программы выглядит следующим образом:
Полношаговый режим. Одна фаза
Двигатель делает 16 шагов на один оборот. Причём шаги для двух фаз имеют не одинаковую угловую величину. Не знаю с чем это связано. Может конструкция двигателя такая?
Посмотрим на максимальную частоту шагов, которую он может обеспечить в таком режиме, не пропуская их.
Минимальная задержка между шагами 2мс, значит 500 шагов/секунду. Неплохо, это 31 об/сек = 1850 об/мин.
Полношаговый режим. Две фазы
Обратите внимание, что в этом случае шаги получаются ровнее, они одинаковы по величине (во всяком случае, более одинаковы, чем в предыдущем случае).
Естественно, в этом случае под напряжением находятся одновременно две обмотки и теплоотдача возрастает. Двигатель уже через несколько секунд нагревается достаточно сильно, потому эксперимент я прекратил.
Что с максимальной частотой шагов? 500 шагов/секунду; 31 об/сек = 1875 об/мин.
Надо сказать, что для шагового двигателя он довольно шустрый. Это связано с малым количеством магнитных полюсов на роторе.
Эксперимент №2. TMC2208 + ATtiny44
TMC2208 — название микросхемы-драйвера для управления биполярными шаговыми двигателями, аналогично называется модуль на её основе, который выпускается для установки в самодельные (и не только) 3D принтеры и имеет унифицированное расположение выводов.
Много и доходчиво сказано про этот модуль вот здесь.
В интернете много написано про то, как установить его в свой 3D принтер, но нас интересует как подключить модуль к микроконтроллеру, потому давайте разбираться.
Характеристики микросхемы впечатляют (только впечатлительных людей):
- напряжение питания логической части: 3-5В;
- напряжение питания двигателя 5.5-36В;
- пиковый ток 2А;
- настройка максимального тока двигателя;
- поддержка интерфейса UART как для управления, так и для конфигурирования внутренних регистров;
- автоматическое отключение питания;
- поддержка микрошагового режима управления двигателем вплоть до 1/16 шага.
Управлять ей очень просто, по сути нужно всего два пина микроконтроллера. Один подключаем к DIR — указываем направление вращения двигателя, другой подключаем к STEP — при подаче импульса микросхема производит необходимые манипуляции с токами и напряжениями на обмотках двигателя и тот делает один шаг.
Схема подключения будет выглядеть так:
Дополнительно я использовал пин EN, чтобы отключать моторчик и длительное время не держать обмотки под напряжением.
Перед тем как всё запустить нужно произвести предварительную настройку модуля. Во-первых, выставить желаемый режим микрошага. Во-вторых, выставить желаемый максимальный ток двигателя.
С микрошагом всё просто. За это отвечают пины MS1 и MS2.
Отмечу, что микросхема не скачкообразно меняет напряжение, а делает это «плавно», но так как микросхема цифровая, то на выходе у нас не гладкий сигнал, а сигнал с маленьким шагом, если верить документации, то каждый шаг она разбивает на 256 микрошагов. Сделано это для увеличения плавности хода, снижения шумов от двигателя и по идее не должно позволять конструкции, к которой он прикручен, входить в резонанс. Короче, всё для того, чтобы 3D принтер работал тише.
Чтобы выставить ток двигателя необходимо измерить напряжения на контакте Vref, который указан на рисунке. Изменить значение напряжения можно при помощи потенциометра, установленного рядом с контактом. Напряжение на контакте будет пропорционально току двигателя, и зависимость будет иметь следующий вид:
Нашему моторчику нужно примерно 150мА, потому Vref = 0,216В. Устанавливаем…
Подразумевается, что увеличение тока микросхема обеспечивает за счёт увеличения напряжения на обмотке. Потому, нужно позаботиться о том, чтобы этого напряжения хватило. Но, полагаю, для того маленького моторчика должно хватить и 5В.
Протестируем работу моторчика с различными режимами микрошага и посмотрим что получится (пауза между микрошагами 10мс):
Можно заметить, что движения моторчика стали более плавными (по сравнению с предыдущим экспериментом), однако характерные 16 шагов всё равно наблюдаются довольно чётко. Что же… видимо это черта шаговых двигателей с ротором из постоянных магнитов.
Ещё необходимо отметить, что моторчик в этом режиме нагревается почти также сильно, как в полношаговом режиме с двумя фазами. Оно и понятно, обмотки постоянно находятся под напряжением, непрерывно происходит выделение тепла.
Полагаю, для таких моторчиков использование такого драйвера, да и вообще режимов микрошага не очень целесообразно.
Эксперимент №3. ATtiny44-драйвер
Вернёмся ненадолго к первому эксперименту и вспомним, что входы EN1 и EN2 микросхемы драйвера подключены к пинам OC0A и OC0B микроконтроллера. Это значит, что мы можем подать туда ШИМ сигнал, генерируемый при помощи таймера TIMER0 и таким образом изменять напряжение, прикладываемое к обмоткам двигателя и соответственно регулировать ток, который будет протекать через них.
Согласно даташиту на микроконтроллер ATtiny44 максимальный ток, который может выдать один пин составляет всего 40мА. Причём не указано для какого вида тока (пульсирующего или постоянного) эта характеристика. Просто она есть и она вот такая…
Надо сказать, что я более 7 лет знаком с микроконтроллерами фирмы ATMEL. И ни разу у меня не возникло желания проверить эту строчку из даташита.
Возможно, производитель просто подстраховывается и на самом деле он может выдать больше, а может это действительно максимум, что может выдать один пин.
Мы это выясним. Но сначала нужно выяснить при каком минимальном токе моторчик вообще способен вращаться.
Используя схему из первого эксперимента, подгоняем значение тока через обмотки равное 40мА. Запускаем в полношаговом режиме с двумя фазами (так как будет выше крутящий момент):
Отлично! При 40мА двигатель успешно запустился! Был также выявлено минимальное значение тока обмоток, необходимое для устойчивой работы мотора, и равно оно 30мА.
Разумеется, крутящий момент будет значительно ниже, но для нас важен сам факт того, что удалось запустить моторчик с таким маленьким энергопотреблением.
Схема подключения шагового двигателя к микроконтроллеру будет следующей:
Поскольку каждый пин микроконтроллера работает как полумост (может коммутировать вывод микросхемы либо на Vcc, либо на GND), то для управления биполярным шаговым мотором нам понадобиться 4 пина микроконтроллера.
Немного поясню как работает эта программа. Это модифицированный код из первого эксперимента. Как я говорил выше, будет использован 8 битный TIMER0 для генерирования ШИМ сигнала на выходах OC0A и OC0B. Таймер настраивается в режим FastPWM с предделителем на 8 (частота сигнала при 8МГц тактового генератора микроконтроллера составляет 3906Гц).
Чтобы изменять полярности сигналов на обмотках происходит переключение пина микроконтроллера от Vcc к GND изменением соответствующего бита в регистре PORTx и изменением коэффициента заполнения ШИМ путём записи значений в регистры OCR0A и OCR0B (значения подбирались экспериментально).
Курс схемотехники, прослушанный на первом курсе института подсказывает, что мультиметр показывает среднеквадратическое значение напряжения и тока в двигателе.
Шаговый двигатель вращается от пинов микроконтроллера без драйверов!
Но здесь мы не выходим за пределы возможностей микроконтроллера, по крайней мере, если верить тому, что пишут в документации. В таком режиме микроконтроллер и моторчик могут работать долго. Действительно, эксперимент длился 20 минут. За это время не наблюдалось ни пропуска шагов, ни сброса контроллера, ни перегрева (ни у двигателя, ни у контроллера).
Отбросим все предосторожности
Уберём из эксперимента ШИМ и будем напрямую управлять пинами микроконтроллера при помощи регистров PORTx. Посмотрим что будет с микроконтроллером после этого.
Работает… с максимальным током в 51мА… Что же… неожиданно, похоже это и есть предельный ток, который может отдать один пин микроконтроллера? Если я ошибаюсь, поправьте меня.
В любом случае, ролик с ютуба не обманул. Действительно можно управлять этим моторчиком без всяких драйверов.
Выводы
Мы подробно изучили миниатюрные биполярные шаговые моторчики, их конструкцию и способы управления ими, для использования в собственных приложениях.
1. Миниатюрный биполярный шаговый мотор с ротором из постоянных магнитов действительно миниатюрный.
Его основные особенности:
- малое количество магнитных полюсов, как следствие, малое количество шагов (у моего, напомню, всего 16);
- относительно большая скорость вращения (следствие из предыдущего пункта), в эксперименте удалось достичь 1875 об/мин;
- неудовлетворительно работает в микрошаговых режимах (не удерживается промежуточное положение ротора);
3. Использование специализированного драйвера TMC2208 является спорным вопросом, так как микрошаговый режим не поддерживается самим двигателем, хотя переходы между шагами выполняются более плавно.
4. Возможно подключение шагового двигателя непосредственно к портам микроконтроллера. Но это только в рамках эксперимента, так как крутящий момент в данном случае совсем незначителен, да и малый ток не позволяет совершать шаги с большой скоростью.
В следующий раз расскажу, для чего именно нам потребовались такие маленькие шаговые моторчики.
Шаговый двигатель используется в машинах для точного перемещения. Наладим управление шаговым двигателем через USB с компьютера своими руками. Нам потребуется:
1) Шаговый двигатель, возьмем - Nema23 76 мм, вместо него может быть другой, управлять будем биполяным методом, любой гибридный и биполярный шаговый двигатель будет работать с таким же управлением.
2) Блок питания, возьмем - импульсный блок питания мощностью 360W с выходным напряжением 24V / 15A, может использоваться любой другой блок питания, если будет достаточно мощности и напряжения для работы двигателя. Более мощному двигателю будет нужно больше напряжения. Предел напряжения нашего драйвера ограничивается максимальным напряжением, которое выдерживают транзисторы, это 100V, у нас блок питания на 24V. В случае большего напряжения транзисторы в схеме необходимо заменить на более мощные, также при увеличении напряжения, транзисторы могут начать греться, если такое случилось, необходимо дополнительно обдувать их куллером (у меня все в порядке и куллер не требуется). Для подключения блока питания к сети 220V также нужен шнур и нужно определить где в вашей розетке ноль, а где фаза. Контакт блока N подключается к нулю, а L к фазе, также можно подключить заземление (но не обязательно). Определение возможно при помощи индикаторной отвертки, у меня определилось, что слева ноль, а справа фаза.
Как крутить шаговый двигатель
Шаговый двигатель работает от подачи комбинаций напряжения в разных направлениях на его обмотки, у этого шагового двигателя 2 обмотки - 4 провода, первая обмотка - черный (A) и зеленый (A*) провод, вторая обмотка - красный (B) и синий (B*). За одну смену комбинаций делается 1 шаг - 1,8 градусов. Если комбинации быстро менять, то двигатель будет быстро и точно позиционироваться - крутиться. Смена комбинаций возможна в двух направлениях, соответственно двигатель будет крутиться вперед или назад.
Чтобы крутить шаговый двигатель, надо:
1) Собрать устройство - USB контроллер шагового двигателя на микроконтроллере AVR и драйвер шагового двигателя, 2 в 1. Перед тем как собирать это сложное устройство, рекомендую сначало отдельно собрать и проверить работу только USB контроллера, его я уже собрал вот тут - контроллер USB. Если USB связь работает нормально, то можно приступать к изготовлению драйвера.
2) Написать программу для компьютера, которая будет посылать USB команды устройству.
3) Написать программу для микроконтроллера AVR, которая будет принимать USB команды и крутить двигатель.
USB контроллер шаговых двигателей и USB драйвер шагового двигателя
Взятый нами двигатель является гибридным и поддерживает несколько вариантов управления. Управлять двигателем будем биполярным методом и соответственно собираем мы драйвер биполярного шагового двигателя с USB контроллером. Сначало покажу готовый результат, а потом подробно рассмотрим его. Вот фото собранного драйвера шагового двигателя с USB управлением, который я собрал:
Драйвер шагового двигателя с USB управлением своими руками
Схема драйвера биполярного шагового двигателя и USB контроллера (схема длинная и нуждается в прокрутке для просмотра):
Драйвер шагового двигателя USB на микроконтроллере AVR своими руками
Дополнительно нужно (нет в наличии):
1) Модуль питания DC-DC SMAU01L-12 (вместо него пойдет любой конвертер DC-DC с 5V до 10V-15V) - 1 шт., возможно можно без него, от 5V питать (не проверено)
Главным компонентом схемы является программируемый микроконтроллер AVR - ATmega16A, если вы не знаете как с ними работать (записывать программу), сначало ознакомьтесь с основами такой работы, которые подробно описаны в первой статье
управление машиной. Для устройства можно использовать и другой микроконтроллер AVR, я выбрал ATmega16A, т.к. в нем с запасом имеется много памяти и контактов для подключения нескольких двигателей и большого количества рабочих инструментов.
Управление двигателем подключается к контактам PB0, PB1, PB2, PB3, на остальные свободные P-контакты можно в будующем подключить еще двигатели и рабочие инструменты, но пока они пустуют. Микроконтроллер ATmega16 отдает команды и обрабатывает USB сигналы после того как в него записана программа (ниже она будет написана). После него идет конструкция из микросхем IR2102 и транзисторов IRF540N (2 так называемых H-моста) - она приводит шаговый двигатель в движение.
Драйвер IR2101 нужен для преодаления большой емкости затвора транзистора IRF540N, что позволяет открывать и закрыть транзистор с большой скоростью (например принимать сигнал ШИМ, которым может регулироваться скорость двигателя при необходимости - об этом сигнале дальше напишу), что нам и нужно. К сожалению для питания этого драйвера необходимо 10-15V, у нас есть только 5V от USB. Поэтому пришлось поставить компонент DC-DC SMAU01L-12, который преобразует 5V в 12V, вместо него можно использовать любой другой способ получения такого напряжения, например, при помощи трансформатора или любым другим путем. К VCC подключается +12V, к COM -12V. Один драйвер работает с 2мя транзисторами - верхним (H) и нижним (L). Контакты HIN и LIN - входной сигнал с микроконтроллера для верхнего и нижнего транзистора, по этому сигналу транзисторы открываются и закрываются. HO и LO - это выходные сигналы, транзисторы подключаются гейтами (G) к этим контактам. Они подключаются не просто так - справа на линиях 2 резистора 10/100 Ом и диод, они нужны для нормальной работы транзисторов - чтобы они замедлялись при открытии и не замедлялись при закрытии, эти транзисторы слишком быстро открываются и это может вызвать проблемы. Диод и конденсаторы 3300 пФ - нужны для работы драйвера IR2101 согласно документации на эту микросхему.
Каждая обмотка (фаза) двигателя (у двигателя 2 обмотки A и B - 4 контакта) подключается к H-мосту из транзисторов IRF540N. H-мост - это специальная схема соединения транзисторов, которая позволяет подавать через них напряжение высокого уровня (24V) в разных направлениях. Один мост изготавливается из 4-х транзисторов. В итоге здесь вы видите 2 H-моста, которые позволяют гонять разнонаправленное напряжение высокого уровня по 2м обмоткам двигателя и тем самым крутить его.
Обратите внимание, что в мосту - HIN верхнего драйвера соединяется с LIN нижнего драйвера, а LIN верхнего с HIN нижнего. Это сделано для одновременной подачи сигналов. Если вы включили HIN сверху, то обязаны включить LIN с низу, иначе произойдет короткое замыкание. Такое подключение позволяет автоматом включать пару. Впрочем короткое замыкание все же возможно, если вы откроете и HIN и LIN на одном мосте, поэтому не допускайте этого. На контактах PB0 - PB3 допустимы только значения 0000, 1010, 0110, 0101, 1001. Их перебор крутит двигатель. Подача других значений скорей всего приведет к короткому замыканию моста.
Мощные резисторы с низким номиналом 0.1 Ом и высокой мощностью (3-5 Вт) нужны для защиты от высокого тока - это шунты. Если что их можно снять и заменить простым соединением с минусом питания, если например не будет хватать мощности. Для слабых резисторов мощность берется от тока USB: 0.05 А * 5 V = 0.25 Вт (ток USB задается программно, по умолчанию в нашей программе стоит 0.05). Черная полоска на диодах соответствует вертикальной линии на схеме.
Шаговый двигатель и блок питания подключаются к H-мостам, как показано на схеме. Минусы питания 24V, 12V и 5V соединяются. Между плюсом и минусом 24V линии ставится сглаживающий пленочный конденсатор.
Это пример, демонстрирующий управление какими-либо устройствами через USB. Программа для PC написана на Delphi.
Особенности схемы
- Микроконтроллер PIC18F4550 с полноскоростным интерфейсом USB, работающим на частоте 48 МГц
- Совместимость с USB 2.0
- USB драйвер на кристалле
- Управление одним шаговым двигателем
- ПО микроконтроллера разработано под MPLAB C18
- Хост ПО для ПК написано на Delphi 6
Описание схемы
Иллюстрирующая пример принципиальная схема изображена на Рис. 1. Основная часть схемы – микроконтроллер PIC18F4550, ведущий обмен с ПК и управляющий шаговым двигателем. Питание +5 В для схемы берется с линии Vbus интерфейса USB. Исключение составляет шаговый двигатель, для питания которого нужен отдельный источник напряжения +Vmotor. Шина Vbus не может отдать в нагрузку ток, превышающий 250 мА. В связи с этим, если вы добавите в схему дополнительные элементы, и суммарный ток потребления превысит 250 мА, подключите к шине +5 В внешний источник, а Vbus не забудьте отсоединить.
Не соединяйте +Vmotor и Vbus.
В показанном примере шаговый двигатель управляется однофазным методом (A-C-B-D). При необходимости использовать другую схему управления, сделайте соответствующие изменения самостоятельно.
Рисунок 1. Пример схемы |
Прошивка микроконтроллера
ПО микроконтроллера разработано под MPLAB C18 с использованием USB драйвера фирмы Microchip. Если захотите добавить новые команды, или что-то изменить, посмотрите файлы user.c и use.h в папке user .
Программы для ПК
Программа для описываемого примера программа была написана на C++ программистами Microchip, и переписана автором на Delphi 6. По сравнению с оригиналом, изменены три команды:
- turn left (вращение влево),
- turn right (вращение вправо),
- Stop motor (остановить мотор).
Чтобы разобраться в деталях, смотрите PICDEM™ FS USB User’s Guide и соответствующие файлы.
Для работы практически всех электрических приборов, необходимы специальные приводные механизмы. Предлагаем рассмотреть, что такое шаговый двигатель, его конструкцию, принцип работы и схемы подключения.
Что такое шаговый двигатель?
Шаговый двигатель представляет собой электрическую машину, предназначенную для преобразования электрической энергии сети в механическую энергию. Конструктивно состоит из обмоток статора и магнитомягкого или магнитотвердого ротора. Отличительной особенностью шагового двигателя является дискретное вращение, при котором заданному числу импульсов соответствует определенное число совершаемых шагов. Наибольшее применение такие устройства получили в станках с ЧПУ, робототехнике, устройствах хранения и считывания информации.
В отличии от других типов машин шаговый двигатель совершает вращение не непрерывно, а шагами, от чего и происходит название устройства. Каждый такой шаг составляет лишь часть от его полного оборота. Количество необходимых шагов для полного вращения вала будет отличаться, в зависимости от схемы соединения, марки двигателя и способа управления.
Преимущества и недостатки шагового электродвигателя
К преимуществам эксплуатации шагового двигателя можно отнести:
- В шаговых электродвигателях угол поворота соответствует числу поданных электрических сигналов, при этом, после остановки вращения сохраняется полный момент и фиксация;
- Точное позиционирование – обеспечивает 3 – 5% от установленного шага, которая не накапливается от шага к шагу;
- Обеспечивает высокую скорость старта, реверса, остановки;
- Отличается высокой надежностью за счет отсутствия трущихся компонентов для токосъема, в отличии от коллекторных двигателей;
- Для позиционирования шаговому двигателю не требуется обратной связи;
- Может выдавать низкие обороты для непосредственно подведенной нагрузки без каких-либо редукторов;
- Сравнительно меньшая стоимость относительно тех же сервоприводов;
- Обеспечивается широкий диапазон управления скоростью оборотов вала за счет изменения частоты электрических импульсов.
К недостаткам применения шагового двигателя относятся:
- Может возникать резонансный эффект и проскальзывание шагового агрегата;
- Существует вероятность утраты контроля из-за отсутствия обратной связи;
- Количество расходуемой электроэнергии не зависит от наличия или отсутствия нагрузки;
- Сложности управления из-за особенности схемы
Устройство и принцип работы
На рисунке 1 изображены 4 обмотки, которые относятся к статору двигателя, а их расположение устроено так, что они находятся под углом 90º относительно друг друга. Из чего следует, что такая машина характеризуется размером шага в 90º.
В момент подачи напряжения U1 в первую обмотку происходит перемещение ротора на те же 90º. В случае поочередной подачи напряжения U2, U3, U4 в соответствующие обмотки, вал продолжит вращение до завершения полного круга. После чего цикл повторяется снова. Для изменения направления вращения достаточно изменить очередность подачи импульсов в соответствующие обмотки.
Типы шаговых двигателей
Для обеспечения различных параметров работы важна как величина шага, на который будет смещаться вал, так и момент, прилагаемый для перемещения. Вариации данных параметров достигаются за счет конструкции самого ротора, способа подключения и конструкции обмоток.
По конструкции ротора
Вращаемый элемент обеспечивает магнитное взаимодействие с электромагнитным полем статора. Поэтому его конструкция и технические особенности напрямую определяют режим работы и параметры вращения шагового агрегата. Чтобы на практике определить тип шагового мотора, при обесточенной сети необходимо провернуть вал, если ощущаете сопротивление, то это свидетельствует о наличии магнита, в противном случае, это конструкция без магнитного сопротивления.
Реактивный
Реактивный шаговый двигатель не оснащается магнитом на роторе, а выполняется из магнитомягких сплавов, как правило, его набирают из пластин для уменьшения потерь на индукцию. Конструкция в поперечном разрезе напоминает шестерню с зубцами. Полюса статорных обмоток запитываются противоположными парами и создают магнитную силу для перемещения ротора, который двигается от попеременного протекания электрического тока в обмоточных парах.
С переменным магнитным сопротивлением
Весомым плюсом такой конструкции шагового привода является отсутствие стопорящего момента, образуемого полем по отношению к арматуре. По факту это тот же синхронный двигатель, в котором поворот ротора идет в соответствии с полем статора. Недостатком является снижение величины вращающего момента. Шаг для реактивного двигателя колеблется от 5 до 15°.
С постоянными магнитами
В этом случае подвижный элемент шагового двигателя собирается из постоянного магнита, в котором может быть два и большее количеством полюсов. Вращение ротора обеспечивается притяжением или отталкиванием магнитных полюсов электрическим полем при подаче напряжения в соответствующие обмотки. Для этой конструкции угловой шаг составляет 45-90°.
С постоянным магнитом
Гибридные
Был разработан с целью объединения лучших качеств двух предыдущих моделей, за счет чего агрегат обладает меньшим углом и шагом. Его ротор выполнен в виде цилиндрического постоянного магнита, который намагничен по продольной оси. Конструктивно это выглядит как два круглых полюса, на поверхности которых расположены зубцы ротора из магнитомягкого материала. Такое решение позволило обеспечить отличный удерживающий и крутящий момент.
Устройство гибридного шагового двигателя
Преимущества гибридного шагового двигателя заключатся в его высокой точности, плавности и скорости перемещения, малым шагом – от 0,9 до 5°. Их применяют для высококлассных станков ЧПУ, компьютерных и офисных приборах и современной робототехнике. Единственным недостатком считается относительно высокая стоимость.
Для примера разберем вариант гибридных ШД на 200 шагов позиционирования вала. Соответственно каждый из цилиндров будет иметь по 50 зубцов, один из них является положительным полюсом, второй отрицательным. При этом каждый положительный зубец расположен напротив паза в отрицательном цилиндре и наоборот. Конструктивно это выглядит так:
Расположение пазов гибридника
Из-за чего на валу шагового двигателя получается 100 перемежающихся полюсов с отличной полярностью. Статор также имеет зубцы, как показано на рисунке 6 ниже, кроме промежутков между его компонентами.
Рис. 6. Принцип работы гибридного ШД
За счет такой конструкции можно достичь смещения того же южного полюса относительно статора в 50 различных позиций. За счет отличия положения в полупозиции между северным и южным полюсом достигается возможность перемещения в 100 позициях, а смещение фаз на четверть деления предоставляет возможность увеличить количество шагов за счет последовательного возбуждения еще вдвое, то есть до 200 шагов углового вала за 1 оборот.
Обратите внимание на рисунок 6, принцип работы такого шагового двигателя заключается в том, что при попарной подаче тока в противоположные обмотки происходит подтягивание разноименных полюсов ротора, расположенных за зубьями статора и отталкивание одноименных, идущих перед ними по ходу вращения.
По виду обмоток
На практике шаговый двигатель представляет собой многофазный мотор. Плавность работы в котором напрямую зависит от количества обмоток – чем их больше, тем плавне происходит вращение, но и выше стоимость. При этом крутящий момент от числа фаз не увеличивается, хотя для нормальной работы их минимальное число на статоре электродвигателя должно составлять хотя бы две. Количество фаз не определяет числа обмоток, так двухфазный шаговый двигатель может иметь четыре и более обмотки.
Униполярный
Униполярный шаговый двигатель отличается тем, что в схеме подключения обмотки имеется ответвление от средней точки. Благодаря чему легко меняются магнитные полюса. Недостатком такой конструкции является использование только одной половины доступных витков, из-за чего достигается меньший вращающий момент. Поэтому они отличаются большими габаритами.
Униполярный ШД
Для использования всей мощности катушки средний вывод оставляют не подключенным. Рассмотрите конструкции униполярных агрегатов, они могут содержать 5 и 6 выводов. Их количество будет зависеть от того, выводится срединный провод отдельно от каждой обмотки двигателя или они соединяются вместе.
Схема а) с различными, б) с одним выводом
Биполярный
Биполярный шаговый двигатель подключается к контроллеру через 4 вывода. При этом обмотки могут соединяться внутри как последовательно, так и параллельно. Рассмотрите пример его работы на рисунке.
Биполярный шаговый двигатель
В конструктивной схеме такого двигателя вы видите с одной обмоткой возбуждения в каждой фазе. Из-за этого смена направления тока требует использовать в электронной схеме специальные драйверы (электронные чипы, предназначенные для управления). Добиться подобного эффекта можно при помощи включения Н-моста. В сравнении с предыдущим, биполярное устройство обеспечивает тот же момент при гораздо меньших габаритах.
Подключение шагового двигателя
Чтобы запитать обмотки, потребуется устройство способное выдать управляющий импульс или серию импульсов в определенной последовательности. В качестве таких блоков выступают полупроводниковые приборы для подключения шагового двигателя, микропроцессорные драйвера. В которых имеется набор выходных клемм, каждая из них определяет способ питания и режим работы.
В зависимости от схемы подключения должны применяться те или другие выводы шагового агрегата. При различных вариантах подведения тех или иных клемм к выходному сигналу постоянного тока получается определенная скорость вращения, шаг или микрошаг линейного перемещения в плоскости. Так как для одних задач нужна низкая частота, а для других высокая, один и тот же двигатель может задавать параметр за счет драйвера.
Типичные схемы подключения ШД
В зависимости того, какое количество выводов представлено на конкретном шаговом двигателе: 4, 6 или 8 выводов, будет отличаться и возможность использования той или иной схемы их подключения Посмотрите на рисунки, здесь показаны типичные варианты подключения шагового механизма:
Схемы подключения различных типов шаговых двигателей
При условии запитки основных полюсов шаговой машины от одного и того же драйвера, по данным схемам можно отметить следующие отличительные особенности работы:
- Выводы однозначно подводятся к соответствующим клеммам устройства. При последовательном соединении обмоток увеличивает индуктивность обмоток, но понижает ток.
- Обеспечивает паспортное значение электрических характеристик. При параллельной схеме увеличивается ток и снижается индуктивность.
- При подключении по одной фазе на обмотку снижется момент на низких оборотах и уменьшает величину токов.
- При подключении осуществляет все электрические и динамические характеристики согласно паспорта, номинальный токи. Значительно упрощается схема управления.
- Выдает куда больший момент и применяется для больших частот вращения;
- Как и предыдущая предназначена для увеличения момента, но применяется для низких частот вращения.
Управление шаговым двигателем
Выполнение операций шаговым агрегатом может осуществляться несколькими методами. Каждый из которых отличается способом подачи сигналов на пары полюсов. Всего выделяют тир метода активации обмоток.
Волновой – в таком режиме происходит возбуждение только одной обмотке, к которой и притягиваются роторные полюса. При этом шаговый двигатель не способен вытягивать большую нагрузки, так как выдает лишь половину момента.
Волновое управление
Полушаговый – представляет собой комбинацию двух предыдущих методов коммутации обмоток. Во время реализации которого в шаговом двигателе происходит поочередная подача напряжения сначала в одну катушку, а затем сразу в две. Благодаря чему обеспечивается лучшая фиксация на максимальных скоростях и большее количество шагов.
Полушаговое управление
Для более мягкого управления и преодоления инерции ротора используется микрошаговое управление, когда синусоида сигнала осуществляется микроступенчатыми импульсами. За счет чего силы взаимодействия магнитных цепей в шаговом двигателе получают более плавное изменение и, как следствие, перемещение ротора между полюсами. Позволяет в значительной степени снизить рывки шагового двигателя.
Без контроллера
Для управления бесколлекторными двигателями применяется система Н-моста. Который позволяет переключать полярность для реверса шагового двигателя. Может выполняться на транзисторах или микросхемах, которые создают логическую цепочку для перемещения ключей.
Схема Н-моста
Как видите, от источника питания V напряжение подается на мост. При попарном включении контактов S1 – S4 или S3 – S2 будет происходить движение тока через обмотки двигателя. Что и обусловит вращение в ту или иную сторону.
С контроллером
Устройство контроллера позволяет осуществлять управление шаговым двигателем в различных режимах. В основе контроллера лежит электронный блок, формирующий группы сигналов и их последовательность, посылаемых на катушки статора. Для предотвращения возможности его повреждения в случае короткого замыкания или другой аварийной ситуации на самом двигателе каждый вывод защищается диодом, который не пропусти импульс в обратную сторону.
Подключение через контроллер однополярного шагового двигателя
Популярные схемы управления ШД
Является одним из наиболее помехозащищенных способов работы. При этом прямой и инверсный сигнал напрямую подключается к соответствующим полюсам. В такой схемы должно применяться экранирование сигнального проводника. Прекрасно подходит для нагрузки с низкой мощностью.
Схема управления от контроллера с выходом типа «открытый коллектор»
В данной схеме происходит объединение положительных вводов контроллера, которые подключаются к положительному полюсу. В случае питания выше 9В требуется включение в схему специального резистора для ограничения тока. Позволяет задавать необходимое количество шагов со строго установленной скоростью, определить ускорение и т.д.
Простейший драйвер шагового двигателя своими руками
Чтобы собрать схему драйвера в домашних условиях могут пригодиться некоторые элементы от старых принтеров, компьютеров и другой техники. Вам понадобятся транзисторы, диоды, резисторы (R) и микросхема (RG).
Схема простейшего драйвера
Для построения программы руководствуйтесь следующим принципом: при подаче на один из выводов D логической единицы (остальные сигнализируют ноль) происходит открытие транзистора и сигнал проходит к катушке двигателя. Таким образом, выполняется один шаг.
На основе схемы составляется печатная плата, которую можно попытаться изготовить самостоятельно или сделать под заказ. После чего на плате впаиваются соответствующие детали. Устройство способно управлять шаговым устройством от домашнего компьютера за счет подключения к обычному USB порту.
В статье приводятся принципиальные схемы вариантов простого, недорогого контроллера шагового двигателя и резидентное программное обеспечение (прошивка) для него.
Общее описание.
Контроллер шагового двигателя разработан на PIC контроллере PIC12F629. Это 8 выводной микроконтроллер стоимостью всего 0,5 $. Несмотря на простую схему и низкую стоимость комплектующих, контроллер обеспечивает довольно высокие характеристики и широкие функциональные возможности.
- Контроллер имеет варианты схем для управления как униполярным, так и биполярным шаговым двигателем.
- Обеспечивает регулировку скорости вращения двигателя в широких пределах.
- Имеет два режима управления шаговым двигателем:
- полношаговый;
- полушаговый.
Контроллер не имеет защиты от коротких замыканий обмоток двигателя. Но реализация этой функции значительно усложняет схему, а замыкание обмоток – случай крайне редкий. Я с таким не сталкивался. К тому же механическая остановка вала шагового двигателя во время вращения не вызывает опасных токов и защиты драйвера не требует.
Про режимы и способы управления шаговым двигателем можно почитать здесь, про дайверы здесь.
Схема контроллера униполярного шагового двигателя с драйвером на биполярных транзисторах.
Объяснять в схеме особенно нечего. К PIC контроллеру подключены:
- кнопки "+" и "–" (через аналоговый вход компаратора);
- сигнал ВКЛ (включение двигателя);
- драйвер ( транзисторы VT1-Vt4 , защитные диоды VD2-VD9).
PIC использует внутренний генератор тактирования. Режимы и параметры хранятся во внутреннем EEPROM.
Схема драйвера на биполярных транзисторах КТ972 обеспечивает ток коммутации до 2 А, напряжение обмоток до 24 В.
Я спаял контроллер на макетной плате размерами 45 x 20 мм.
Если ток коммутации не превышает 0,5 А, можно использовать транзисторы серии BC817 в корпусах SOT-23. Устройство получится совсем миниатюрным.
Программное обеспечение и управление контроллером.
Резидентное программное обеспечение написано на ассемблере с циклической переустановкой всех регистров. Программа зависнуть в принципе не может. Загрузить программное обеспечение (прошивку) для PIC12F629 можно здесь.
Управление контроллером достаточно простое.
- При активном сигнале "ВКЛ" (замкнут на землю) двигатель крутится, при неактивном (оторван от земли) – остановлен.
- При работающем двигателе ( сигнал ВКЛ активен) кнопки "+" и "–" меняют скорость вращения.
- Каждое нажатие на кнопку "+" увеличивает скорость на минимальную дискретность.
- Нажатие кнопки "–" - уменьшает скорость.
- При удержании кнопок "+" или "–" скорость вращения плавно увеличивается или уменьшается, на 15 значений дискретности в сек.
- Нажатие кнопки "+" задает режим вращения в прямом направлении.
- Нажатие кнопки "–" переводит контроллер в режим реверсивного вращения.
Схема контроллера униполярного шагового двигателя с драйвером на MOSFET транзисторах.
Низкопороговые MOSFET транзисторы позволяют создать драйвер с более высоким параметрами. Применение в драйвере MOSFET транзисторов, например, IRF7341 дает следующие преимущества.
- Сопротивление транзисторов в открытом состоянии не более 0,05 Ом. Значит малое падение напряжения (0,1 В при токе 2 А), транзисторы не греются, не требуют радиаторов охлаждения.
- Ток транзисторов до 4 А.
- Напряжение до 55 В.
- В одном 8 выводном корпусе SOIC-8 размещены 2 транзистора. Т.е. на реализацию драйвера потребуется 2 миниатюрных корпуса.
Таких параметров невозможно достичь на биполярных транзисторах. При токе коммутации свыше 1 А настоятельно рекомендую вариант утройства на MOSFET транзисторах.
Подключение к контроллеру униполярных шаговых двигателей.
В униполярном режиме могут работать двигатели с конфигурациями обмоток 5, 6 и 8 проводов.
Схема подключения униполярного шагового двигателя с 5 и 6 проводами (выводами).
Для двигателей FL20STH, FL28STH, FL35ST, FL39ST, FL42STH, FL57ST, FL57STH с конфигурацией обмоток 6 проводов выводы промаркированы следующим цветами.
Обозначение вывода на схеме Цвет провода A черный 0 желтый C зеленый B красный 0* белый D синий Конфигурация с 5 проводами это вариант, в котором общие провода обмоток соединены внутри двигателя. Такие двигатели бывают. Например, PM35S-048.
Документацию по шаговому двигателю PM35S-048 в PDF формате можно загрузить здесь.
Схема подключения униполярного шагового двигателя с 8 проводами (выводами).
То же самое как и для предыдущего варианта, только все соединения обмоток происходят вне двигателя.
Как выбирать напряжение для шагового двигателя.
По закону Ома через сопротивление обмотки и допустимый ток фазы.
U = Iфазы * Rобмотки
Сопротивление обмотки постоянному току можно измерить, а ток надо искать в справочных данных.
Подчеркну, что речь идет о простых драйверах, которые не обеспечивают сложную форму тока и напряжения. Такие режимы используются на больших скоростях вращения.
Как определить обмотки шаговых двигателей, если нет справочных данных.
В униполярных двигателях с 5 и 6 выводами, средний вывод можно определить, измерив, сопротивление обмоток. Между фазами сопротивление будет в два раза больше, чем между средним выводом и фазой. Средние выводы подключаются к плюсу источника питания.
Дальше любой из фазных выводов можно назначить фазой A. Останется 8 вариантов коммутаций выводов. Можно их перебрать. Если учесть, что обмотка фазы B имеет другой средний провод, то вариантов становится еще меньше. Попутка обмоток фаз не ведет к выходу из строя драйвера или двигателя. Двигатель дребезжит и не крутится.
Только надо помнить, что к такому же эффекту приводит слишком высокая скорость вращения (выход из синхронизации). Т.е. надо скорость вращения установить заведомо низкую.
Схема контроллера биполярного шагового двигателя с интегральным драйвером L298N.
Биполярный режим дает два преимущества:
- может быть использован двигатель с почти любой конфигурацией обмоток;
- примерно на 40% повышается крутящий момент.
Создавать схему биполярного драйвера на дискретных элементах – дело неблагодарное. Проще использовать интегральный драйвер L298N. Описание на русском языке есть здесь.
Схема контроллера с биполярным драйвером L298N выглядит так.
Драйвер L298N включен по стандартной схеме. Такой вариант контроллера обеспечивает фазные токи до 2 А, напряжение до 30 В.
Подключение к контроллеру биполярных шаговых двигателей.
В этом режиме может быть подключен двигатель с любой конфигурацией обмоток 4, 6, 8 проводов.
Схема подключения биполярного шагового двигателя с 4 проводами (выводами).
Для двигателей FL20STH, FL28STH, FL35ST, FL39ST, FL42STH, FL57ST, FL57STH с конфигурацией обмоток 4 провода выводы промаркированы следующим цветами.
Обозначение вывода на схеме Цвет провода A черный C зеленый B красный D синий Схема подключения биполярного шагового двигателя с 6 проводами (выводами).
Для двигателей FL20STH, FL28STH, FL35ST, FL39ST, FL42STH, FL57ST, FL57STH с такой конфигурацией обмоток выводы промаркированы следующим цветами.
Обозначение вывода на схеме Цвет провода A черный C зеленый B красный D синий Такая схема требует напряжения питания в два раза большего по сравнению с униполярным включением, т.к. сопротивление обмоток в два раза больше. Скорее всего, контроллер надо подключать к питанию 24 В.
Схема подключения биполярного шагового двигателя с 8 проводами (выводами).
Может быть два варианта:
- с последовательным включением
- с параллельным включением.
Схема последовательного включения обмоток.
Схема с последовательным включением обмоток требует в два раза большего напряжения обмоток. Зато не увеличивается ток фазы.
Схема параллельного включения обмоток.
Схема с параллельным включением обмоток увеличивает в 2 раза фазные токи. К достоинствам этой схемы можно отнести, низкую индуктивность фазных обмоток. Это важно на больших скоростях вращения.
Т.е. выбор между последовательным и параллельным включением биполярного шагового двигателя с 8 выводами определяется критериями:
Читайте также: