Меню

Драйвер шагового двигателя на mosfet своими руками

ВАЖНО! Для того, что бы сохранить статью в закладки, нажмите: CTRL + D

Задать вопрос ВРАЧУ, и получить БЕСПЛАТНЫЙ ОТВЕТ, Вы можете заполнив на НАШЕМ САЙТЕ специальную форму, по этой ссылке >>>

Контроллер шагового двигателя в домашних условиях. Комментировать

Простой контроллер Шагового Двигателя из компьютерного барахла стоимостью

Началось мое станкостроение со случайной ссылки на немецкий станок за 2000DM, который на мой взгляд выглядел по детски, однако мог выполнять довольно много занятных функций. В тот момент, меня заинтересовала возможность рисовать платы (это было еще до появления в моей жизни ЛУТ).

В результате протяженных поисков в сети было найдено несколько сайтов посвященных этой проблеме, однако русскоязычных среди них не было ни одного (это было примерно 3 года назад). В общем, в конце концов, я нашел два принтера CM6337 (кстати их выпускал Орловский завод УВМ), откуда и выдрал униполярные шаговые двигатели (Dynasyn 4SHG-023F 39S, аналог ДШИ200-1-1). Параллельно с доставанием принтеров заказал и микросхемы ULN2803A(с буквой А – DIP корпус). Все собрал, запустил. Что получил, а получил дико греющиеся микросхемы ключей, и с трудом вращающийся двигатель. Так как по схеме из Голландии для увеличения тока ключи соединены попарно, то максимальный отдаваемый ток не превышал 1А, в то время как двигателю надо было 2А (кто ж знал что я найду такие прожорливые, как мне тогда показалось, двигатели J ). Кроме того, данные ключи построены по биполярной технологии, для тех кто не в курсе, падение напряжения может быть до 2В (если питание от 5, то фактически половина падает на сопротивлении перехода).

В принципе, для опытов с двигателями от 5” дисководов очень неплохой вариант, можно сделать например плоттер, однако что то более тяжелое чем карандаш (например дремель) ими вряд ли можно тягать.

Решил собрать свою собственную схему из дискретных элементов, благо в одном из принтеров оказалась нетронутой электроника, и я взял оттуда транзисторы КТ829 (Ток до 8А, напряжение до 100В)… Была собрана такая схема…

Рис.1 – Схема драйвера для 4х фазного униполярного двигателя.

Сейчас объясню принцип. При подаче логической “1” на один из выводов (на остальных “0”), например на D0, транзистор открывается и ток течет через одну из катушек двигателя, при этом двигатель отрабатывает один шаг. Далее единица подается на следующий вывод D1, а на D0 единица сбрасывается в ноль. Двигатель отрабатывает сладующий шаг. Если подавать ток сразу в две соседние катушки то реализуется режим полушагов (для моих двигателей с углом поворота 1,8’ получается 400 шагов на оборот).

К общему выводу подсоединяются отводы от середины катушек двигателя (их два если проводов шесть). Очень хорошо теория шаговых двигателей описана тут — Шаговые двигатели. Управление шаговым двигателем., тут же приведена схема контроллера ШД на микроконтроллере AVR фирмы Atmel. Честно говоря, мне показалось похоже на забивание гвоздей часами, однако в ней реализована очень хорошая функция как ШИМ регулирование тока обмоток.

Поняв принцип, несложно написать программу управляющую двигателем через LPT порт. Зачем в этой схеме диоды, а за тем, что нагрузка у нас индуктивная, при возникновении ЭДС самоиндукции она разряжается через диод, при этом исключается пробой транзистора, а следовательно и вывод его из строя. Еще одна деталь схемы – регистр RG (я использовал 555ИР33), используется как шинный формирователь, поскольку ток отдаваемый, например LPT портом мал – можно его элементарно спалить, а следовательно, есть возможность спалить весь компьютер.

Схема примитивна, и собрать такое можно минут за 15-20, если есть все детали. Однако у такого принципа управления есть недостаток – так как формирование задержек при задании скорости вращения задается программой относительно внутренних часов компьютера то работать в многозадачной системе (Win) это все не будет! Будут просто теряться шаги (может быть в Windows и есть таймер, но я не в курсе). Второй недостаток – это нестабилизированный ток обмоток, максимальную мощность из двигателя не выжать. Однако по простоте и надежности этот способ меня устраивает, тем более что для того, что бы не рисковать своим Атлоном 2ГГц, я собрал из барахла 486 тарантас, и кроме ДОСа там, в принципе мало, что можно поставить нормальное.

Описанная выше схема работала и в принципе неплоха, но я решил, что можно несколько переделать схему. Применить MOSFETJ ). транзисторы (полевые), выигрыш в том, что можно коммутировать огромные токи (до 75 – 100А), при солидных для шаговых двигателей напряжениях (до 30В), и при этом детали схемы практически не греются, ну если не считать предельных значений (хотел бы я видеть тот шаговый двигатель который съест ток 100А

Как всегда в России возник вопрос, где взять детали. У меня возникла идея – извлечь транзисторы из горелых материнских плат, благо, например Атлоны кушают порядочно и транзисторы там стоят огого. Дал объявление в ФИДО, и получил предложение забрать 3 мат. платы за 100 рублей. Прикинув что в магазине за эти деньги можно от силы купить 3 транзистора, забрал, расковырял и о чудо, хотя они все и были дохлыми, ни один транзистор в цепи питания процессора не пострадал. Так я получил пару десятков полевых транзисторов за сто рублей. Схема, которая получилась в результате, представлена ниже.

Рис. 2 – Тоже на полевых транзисторах

Отличий в этой схеме немного, в частности была применена микросхема нормального буфера 75LS245 (выпаяна над газовой плитой из 286 материнской платы J ). Диоды можно поставить любые, главное, что бы их максимальное напряжение не было меньше максимального напряжения питания, а предельный ток не меньше тока питания одной фазы. Я поставил диоды КД213A, это 10А и 200В. Возможно это излишне для моих 2х амперных двигателей, однако покупать детали не было смысла, да и запас по току думается лишним не будет. Резисторы служат для ограничения тока перезарядки емкости затворов.

Ниже приводится печатная плата контроллера построенного по такой схеме.

Рис. 3 – Печатная плата.

Печатная плата разведена для поверхностного монтажа на одностороннем текстолите (лень мне что то дырочки сверлить сталоJ). Микросхемы в DIP корпусах паяются с подогнутыми ножками, резисторы SMD с тех же материнок. Файл с разводкой в Sprint-Layout 4.0 прилагается. Можно было бы запаять на плату и разъемы, но лень как говорится — двигатель прогресса, да и при отладке железа удобнее было запаять провода подлиннее.

Еще необходимо отметить, что схема снабжена тремя концевиками, на плате справа снизу шесть контактов вертикально, радом с ними посадочные места под три резистора, каждый соединяет один вывод выключателей с +5В. Схема концевиков:

Рис. 4 – Схема концевиков.

Вот так это выглядело у меня в процессе наладки системы:

В результате на представленный контроллер я потратил не более 150 рублей: 100 рублей за материнские платы (при желании можно вообще бесплатно достать) + кусок текстолита, припой и банка хлорного железа в сумме тянут на

50 рублей, причем хлорного железа останется потом еще много. Думаю считать провода и разъемы смысла не имеет. (Кстати разъем питания отпилен от старого винчестера.)

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

Если бы на Орловских заводах проточить отдельные детали не стоило бы так дорого, то мне бы конечно проще было бы вычертить все детали в CAD’е, со всеми квалитетами и шероховатостями и отдать на съедение рабочим. Однако знакомых токарей нет… Да и руками как то знаете ли интереснее…

Источник: http://stepmotor.ru/controllersam

Драйвер шагового двигателя своими руками

4-х осевой Step/Dir контроллер шаговых двигателей

Автор: Роман Лут

Создано при помощи КотоРед.

В статье описывается step/dir контроллер униполярных шаговых двигателей.

Контроллер используется для управления самодельным сверлильно-фрезерным станком.

Предполагается, что читатель уже знаком с самодельными ЧПУ cтанками;

иначе рекомендуется изучить материалы, указанные в конце статьи.

Контроллер разрабатывался взамен имеющегося примитивного 3-х осевого контроллера(на ATTiny2313).

снижения шума и повышения скорости перемещения.

— для униполярных двигателей;

— аппаратный контроль тока в обмотках (ШИМ);

— опторазвязка с LPT портом;

— режим удержания с понижением тока до указанного значения;

— full step, half step, 4, 8,16 microstep выбирается отдельно для каждой оси;

— максимальная частота следования импульсов step: 12.5 кГц (период — 80мкс);

— минимальная длина step и dir импульса: 5мкс;

— ток двигателей — до 2А, индивидуально для каждой оси ( больше 2А не проверялось, схема позволяет);

— питание двигателей — до 30В, с возможностью увеличения ( больше 19В не проверялось ).

В общем целом, получился достаточно “навороченный” контроллер на дешёвых распространённых компонентах.

Ни один из известных мне самодельных контроллеров таким набором возможностей не обладает.

Управляющий модуль выполнен на микроконтроллере ATMega8535, работающем на частоте 16МГц.

Задача контроллера — обрабатывать входные сигналы Step/Dir и выдавать сигналы включения и опорные напряжения для силовой части схемы.

Опорные напряжения формируются микросхемой M62359 — это 8-бит 8-канальный DAC с SPI интерфейсом.

Опторазвязка выполнена на оптронах PC817 и является неотъемлемой частью контроллера.

На этот моменте нужно остановиться отдельно.

Как видно из схемы, в отличие от аналогичных контроллеров, сигналы Step не подключены к выводам микроконтроллера, которые вызывают аппаратные прерывания.

Вместо этого контроллер «крутится» в бесконечном цикле, проверяя, не изменились ли логические уровни на входах. Это обеспечивает стабильную предсказуемую работу контроллера.

Один цикл ( проверка входов, реакция, вывод управляющих сигналов ) занимает в текущей реализации

При этом заявленная минимальная длина импульса Step5мкс.

Каким же образом контроллер не пропускает импульсы?

Это, так сказать, моё ноу-хау ? Секрет — в свойствах оптронов.

В даташите на PC817 можно найти графики Response time.

После исчезновения сигнала на входе, оптрону требуется определённое время (ts + tf), чтобы закрыться.

Это время зависит от тока, который протекает через фототранзистор.

На практике это выглядит так:

Нагрузочный резистор 10кОм на 5В — и входной импульс 5мкс превращается в

Таким образом, у микроконтроллера есть, по крайней мере, 28мкс на опрос входов.

В результате он в одиночку может управлять сразу 4-мя осями.

Четыре платы силовой части полностью идентичны и собраны на микросхемах UC3842

и транзисторах IRFZ44 или IRF560 (транзисторы расположены на обратной стороне платы):

Ток в каждой обмотке контролируется отдельной микросхемой и транзистором:

Микросхема UC3842 — это ШИМ контроллер для импульсных источников питания.

Она содержит ШИМ генератор, компаратор тока, RS триггер и драйвер полевого транзистора. В общем, для этих целей подходит идеально ?

Первоначально я пытался собрать контроллер на микросхемах TL494.

Но, как выяснилось, эти микросхемы не предназначены для контроля максимального тока в течении одного периода ШИМ.

Их входные сенсоры тока и напряжения должны быть обрезаны фильтрами с частотой 10-15кГц.

UC3842, напротив, предназначена для ограничения максимального тока через обмотку трансформатора в течении одного периода.

Она выключает транзистор в момент достижения установленного тока:

Опорное напряжение, сформированное ЦАП на управляющем модуле, поступает на вход Comp микросхемы.

В начале периода ШИМ микросхема открывает транзистор. Ток в обмотке начинает плавно нарастать.

Как только ток превышает заданное значение, микросхема закрывает транзистор.

UC3842 измеряет ток в обмотке по падению напряжения на токоизмерительном резисторе.

Кроме сравнения с опорным напряжением, в микросхеме предусмотрена защита по максимальному

току, которая отключает транзистор при напряжении на Isense выше 1В.

Поэтому токоизмерительный резистор нужно выбирать таким образом, чтобы при максимальном токе падение напряжения на нём составляло чуть меньше 1В.

Точное значение максимального тока задаётся в прошивке.

Микросхема содержит встроенный генератор, частота которого задаётся цепочкой R3C2:

Во время разряда конденсатора, выходной транзистор закрывается (это dead time).

Таким образом, выбором номиналов R3C2 можно задавать и частоту, и dead time.

Естественно, эти элементы должны быть одинаковыми для всех обмоток.

Частоту ШИМ выбирают индивидуально для двигателя, учитывая повышение нагрева двигателя с повышением частоты.

Чтобы не устанавливать дополнительные компоненты, можно использовать сигнал Clock, который формирует микроконтроллер.

Частота и dead time при этом задаются в прошивке. Элементы R3C2 не устанавливаются — устанавливается резистор R4.

Один выход ЦАП формирует опорное напряжение для пары обмоток ( только одна из которых может быть включена в данный момент ).

Поэтому управляющий модуль отключает ( высоким логическим уровнем ) парную обмотку сигналом /M_L1EN.

Цепочка R1C1 подбирается таким образом, чтобы погасить всплеск тока, возникающий при открывании транзистора:

Диод D1 устанавливается опционально. Мне хватило встроенных в MOSFET.

При выключении транзисторов возникают выбросы противоЭДС, при этом выбросы напряжения на Drain-Source транзисторов могут превышать напряжение питания в 3 раза.

Классически эти выбросы гасят шунтирующими диодами, установленными на обмотки, либо отводят в источник питания.

Поэтому выбросы нужно гасить только при превышении предельного значения, что обеспечивается включением стабилитрона навстречу диоду:

Желательно просто выбрать транзисторы с достаточно большим Vdss.

Я использовал IRF540N (Vdss = 100В) для двигателя ДШИ-200 и IRFZ44N (Vdss = 55В) для двигателей от принтеров.

Напомню, что Vdss — это напряжение между Drain и Source, при котором транзистор самопроизвольно открывается.

На практике это вызывает неправильную работу контроллера, нагрев транзисторов при относительно малых токах через них, или выход транзисторов из строя.

Для двигателей до 3А, мосфеты должны быть холодными; радиаторы на них не устанавливаются.

Контроллер запитан от блока питания от ноутбука на 19В 3А:

5В получены с помощью готового модуля DC-DC преобразователя на LM2596, доступного на ebay:

Почему важен контроль тока

В стабильном состоянии ток в обмотке определяется только активным сопротивлением обмотки и напряжением питания.

Но в момент включения ток в обмотке зависит и от активного, и от реактивного сопротивления.

Поэтому вместо прямоугольных импульсов тока мы увидим следующую картину:

Чем больше индуктивность обмотки, тем дольше будут происходить нарастания и спады тока.

При повышении скорости вращения, ток не будет успевать нарастать до максимального значения, и момент двигателя начнёт падать:

Чтобы обеспечить быстрое нарастание тока, нужно увеличить напряжение питания.

Но в стабильном состоянии ток в обмотке ограничен только активным сопротивлением обмотки.

Поэтому ограничение тока при повышении питающего напряжения является обязательным.

Следует упомянуть ещё один способ повышения оборотов.

Напряжение питания двигателя повышают, а сам двигатель включают через мощное сопротивление.

Этим мы уменьшаем долю реактивного сопротивления в цепи обмотки.

Таким образом эффективно решаются сразу две задачи: повышение оборотов двигателя и обогрев мастерской ?

Режимы работы двигателя

Режим работы двигателя указывается в прошивке индивидуально для каждой оси.

(полный шаг, одна обмотка)

Классический режим, в котором в каждый момент времени включена одна обмотка.

Full Step, Half phase

Режим, в котором в каждый момент включены 2 соседние обмотки одновременно.

Таким включением можно добиться повышения момента двигателя (легко реализуем, но не используется в текущей прошивке).

Комбинация предыдущих режимов. Количество шагов увеличивается вдвое. Когда включены две обмотки, ток в каждой установлен в 0.707 * Imax.

Если представить, как вращается двигатель в режиме полного шага — можно заметить, что он двигается рывками:

сначала разгоняется, притягиваемый очередной обмоткой, потом затормаживается, достигнув конечного положения.

Это вызывает вибрации вала и всего станка в целом.

Так работает станок, при создании которого вопрос снижения шума не рассматривался:

Здесь всё плохо — мощные двигатели в режиме полного шага, огромный резонирующий корпус из ДСП…

Совсем как в моём первом станке, который и пришлось разобрать из-за шумности ?

В жилом помещении вопрос снижения шума — это не прихоть, это — вопрос, будет ли возможно использовать станок вообще.

Чтобы обеспечить плавное вращение двигателя, необходимо питать двигатель синусоидальным током.

Для этого в контроллерах шаговых двигателей момент перехода от одной обмотки к другой делят на 4-16 микрошагов.

На каждом микрошаге ток в первой обмотке уменьшается, а во второй — увеличивается, по синусоидальному закону:

При этом частота импульсов Step в управляющей программе должна быть увеличена в 4-16 раз соответственно.

Использование микрошага позволяет значительно снизить шум двигателя и получить более высокий момент на больших скоростях.

Станок начинает “звучать профессионально”:

Я лично не рассматриваю микрошаг как способ повышения точности позиционирования, потому что конструкция ротора и статора не гарантирует равномерного распределения микрошагов.

Кроме того, при небольшом усилии, или при переключении в режим удержания, вал двигателя может “выпадать” в положения полного шага.

При отсутствии импульсов Step в течении

2 секунд, контроллер понижает ток в обмотках до значений, указанных индивидуально для каждой оси в прошивке.

Сравнение с модулями на чипах Allegro

Популярность самодельных 3D принтеров вызвала появление на ebay готовых модулей на чипах A4983, конкурировать с которыми “рассыпухой” достаточно сложно.

С другой стороны, мне было спокойнее экспериментировать со схемой, где в худшем случае придётся заменить ключи, чем с микросхемой 3×3мм, которая взорвётся при любой ошибке.

Кроме того, в будущем планируется расширить контроллер для автономной работы с небольшого пульта,

так как составлять программу каждый раз, когда требуется сделать ровный рез — неудобно.

А в совсем отдалённом будущем, возможно, получится реализовать управление по USB

( это когда контроллер принимает описание шагов с USB-UART и сам генерирует шаги ).

Описываемый контроллер эквивалентен 4-м таким модулям + плата опторазвязки.

— чипы Allegro умеют включать “режим быстрого снижения тока”. Если на следующем микрошаге ток в обмотке должен снизится, чип кратковременно шунтирует обмотку, открывая транзисторы моста. Введение такой возможности в данный (униполярный) контроллер слишком сильно усложнило бы схему;

— у A4983 максимальная частота импульсов Step составляет 1/2мкс = 500кГц.

Я пробовал подключать один и тот же двигатель к этому контроллеру в униполярном и к A4983 в биполярном подключении.

Субъективно, униполярное подключение давало больший момент на высоких скоростях.

Возможно, из-за меньшей индуктивности обмотки при униполярном включении.

Прошивка написана на С для CodevisionAVR 2.05.

При большом желании, основной цикл можно переписать на ассемблере и увеличить максимальную частоту импульсов Step до

При программировании микроконтроллера нужно отключать питание от силовой части.

Настройка Mach 3

В идеальном случае, управляющая программа должна уметь формировать импульсы Step точно с требуемой частотой.

На практике в программе Mach3 и подобных, драйвер работает на фиксированной частоте (Kernel speed):

Поэтому Mach3 умеет формировать импульсы только на границах периодов Kernel speed.

при частоте ядра 25kHz (период — 40мкс), то импульсы будут следовать неравномерно — с периодами, кратными 40мкс:

Из осциллограммы на выходе оптрона видно, что время восстановления для уверенного чтения “1” микроконтроллером составляет примерно 50мкс.

После этого нужно выдержать “единицу” один цикл программы (26мкс), итого

Для этого должно соблюдаться условие:

Steps per * Velocity / 60 < 12500

Полярность импульсов Step выставляется положительной:

Напряжение на токоизмерительном резисторе, низкая и средняя скорость вращения (Microstep 8x):

Напряжение на токоизмерительном резисторе, высокая скорость вращения:

Общение с микросхемой M62359 идет на частоте, превышающей заявленные в даташите, поэтому её желательно заменить на что-то более быстрое.

На практике я не наблюдал проблем в работе контроллера. Мне удаётся успешно фрезеровать печатные платы, обработка которых включает штриховку всей платы с шагом 0.3мм:

Платы силовой части разводились “на все случаи жизни”. Возможно имеет смысл убрать посадочные места для опциональных деталей и уменьшить габариты. Или сделать весь контроллер на одной большой плате в SMD варианте.

Силовые платы планировалось вставлять в управляющий модуль вертикально, как в материнскую плату компьютера, но в итоге сделал на шлейфах. Из-за этот шлейфы пришлось пережимать со сдвигом. Если бы делал изначально — развёл бы под готовые шлейфы от дисководов.

Контроллер не проверялся с токами больше 2А — возможно, следует уделить больше внимания разводке.

Напряжение питания двигателей можно поднять вплоть до 60В. При этом нужно установить транзисторы в большим Vdss и подобрать сопротивление R8 в цепи питания UC3842 (микросхема содержит внутренний стабилитрон на 30В). Напряжение питания нельзя поднимать бесконечно, потому что можно получить пробой в обмотках двигателя.

Также обратите внимание на (нестандартный) разъём программатора.

Сразу хочу предупредить, что для настройки контроллера обязательно нужен осциллограф.

Без него понять, что происходит в обмотках, будет невозможно.

UC3842 CURRENT MODE PWM CONTROLLER

DMOS Microstepping Driver with Translator A4983

Ускорение шаговых двигателей

Ускорение шаговых двигателей 2

Losing steps in Mach3: Kernel Speed, Pulse Width and «Sherline 1/2 Pulse mode»

Электроника и механика домашнего 3-х координатного станка ЧПУ (Hobby CNC).

hCNC3+ (ATMega16, StepDir, 3 axis, ШИМ, ручное управление).

Простой биполярный драйвер на Pic

Микрошаговый контроллер шагового двигателя на базе PIC18F2320 V4.1

STEP/DIR контроллер 3-х шаговых двигателей на микроконтроллере (для станка ЧПУ)

3 axis STEP-DIR controller

Источник: http://radiokot.ru/circuit/digital/security/26/

Драйвер шагового двигателя своими руками

Драйвер шагового двигателя своими руками

Шаговый двигатель используется в машинах для точного перемещения. Наладим управление шаговым двигателем через USB с компьютера своими руками. Нам потребуется:

1) Шаговый двигатель, возьмем — Nema23 76 мм, вместо него может быть другой, управлять будем биполяным методом, любой гибридный и биполярный шаговый двигатель будет работать с таким же управлением.

2) Блок питания, возьмем — импульсный блок питания мощностью 360W с выходным напряжением 24V / 15A, может использоваться любой другой блок питания, если будет достаточно мощности и напряжения для работы двигателя. Более мощному двигателю будет нужно больше напряжения. Предел напряжения нашего драйвера ограничивается максимальным напряжением, которое выдерживают транзисторы, это 100V, у нас блок питания на 24V. В случае большего напряжения транзисторы в схеме необходимо заменить на более мощные, также при увеличении напряжения, транзисторы могут начать греться, если такое случилось, необходимо дополнительно обдувать их куллером (у меня все в порядке и куллер не требуется). Для подключения блока питания к сети 220V также нужен шнур и нужно определить где в вашей розетке ноль, а где фаза. Контакт блока N подключается к нулю, а L к фазе, также можно подключить заземление (но не обязательно). Определение возможно при помощи индикаторной отвертки, у меня определилось, что слева ноль, а справа фаза.

Момент инерции: 56 oz-in

Момент инерции: 4 кг/см

Для соединителя: 5 мм

Максимальный ток: 15 A

Напряжение: AC 220V

Контакты: 2 (N / L)

Макс. напряжение: 250V

Не горит: Ноль (N)

Для двигателей: Nema 17

Диаметр 2: 10 мм

Как крутить шаговый двигатель

Шаговый двигатель работает от подачи комбинаций напряжения в разных направлениях на его обмотки, у этого шагового двигателя 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 управлением, который я собрал:

На картинке сверху — биполярный (гибридный) шаговый двигатель NEMA 23 с потреблением — 3А тока на обмотку. Под ним — импульсный блок питания 360 Вт, 24 В, 15 А. Мощности блока хватает на 15 / 3 = 5 одновременно запитанных обмоток, у одного двигателя 2 обмотки, т.е хватит на 2 одновременно работающих двигателя (4 обмотки). Я не вижу необходимости включать одновременно больше одного двигателя, в случае если необходимо двигаться по кривой траектории, то нужно чередовать короткие включения то одного, то другого двигателя. Так что имеющейся мощности с запасом хватает. Двигатель и блок питания подключены к устройству, которое также подключено через USB к компьютеру. Все соединено по схеме.

Схема драйвера биполярного шагового двигателя и USB контроллера (схема длинная и нуждается в прокрутке для просмотра):

Драйвер шагового двигателя USB на микроконтроллере AVR своими руками

Дополнительно нужно (нет в наличии):

1) Модуль питания DC-DC SMAU01L-12 (вместо него пойдет любой конвертер DC-DC с 5V до 10V-15V) — 1 шт. возможно можно без него, от 5V питать (не проверено)

Главным компонентом схемы является программируемый микроконтроллер AVR — ATmega16, если вы не знаете как с ними работать (записывать программу), сначало ознакомьтесь с основами такой работы, которые подробно описаны в первой статье

управление машиной. Для устройства можно использовать и другой микроконтроллер AVR, я выбрал ATmega16, т.к. в нем с запасом имеется много памяти и контактов для подключения нескольких двигателей и большого количества рабочих инструментов.

Слева от ATmega16 находятся компоненты для организации связи по протоколу USB — к выводам XTAL подключен внешний кварцевый резонатор с USB-совместимой частотой 12 МГц. Для сглаживания сигнала у него есть 2 конденсатора по 20 пФ, все это соединяется с минусом питания. К контактам, через которые идет обмен сообщениями с USB, подключены 2 резистора по 68 Ом, как того требует протокол USB. Резистор на 1.5 кОм, подключенный к D- линии задает низкоскоростной режим работы USB устройства. Диоды Зенера 3V6 понижают напряжение на линиях, через которые идет обмен данными USB с 5 до 3.6V.

Управление двигателем подключается к контактам 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 линии ставится сглаживающий пленочный конденсатор.

Отдельное крупное фото драйвера шагового двигателя:

Сразу подключать питание высокого уровня (24V) к схеме и шаговый двигатель не рекомендую. Сначало лучше проверьте правильность работы устройства. Для этого можно использовать 5 светодиодов и отсек для батареек в качестве источника питания (3V). 1 светодиод подключается к контакту PA0 длинной стороной (+) и короткой стороной (-) к минусу питания. Этот желтый диод показан на первом фото сверху, на схеме его нет. С его помощью можно проверить работу USB контроллера, зажигать его и гасить по команде из программы. 2 других светодиода подключите на место первой обмотки шагового двигателя в разнонаправленном положении — один длинной стороной к первому контакту, другой длинной стороной ко второму контакту. Оставшиеся 2 светодиода таким же образом подключите на место второй обмотки. Вместо импульсного блока питания 24V подключите батарейный отсек и батарейки на 1.5V (2 батарейки — это 3V). Проверка устройства — при посылке команды кручения двигателя загораются различные светодиоды. Все светодиоды должны загораться в свое время при переборе комбинаций. Медленный перебор комбинаций позволяет точно убедиться в том, что все работает правильно.

Конец функции delay0

Ток регулируется изменением чисел 200 и 120. 200 — время включения, 120 — время выключения. Сумма 200+120=320 дает частоту ШИМ 25 кГц (при условии, что контроллер работает на частоте 8 МГц от внутреннего генератора, такая там стоит по умолчанию, получается 8000000/320=25000). Сумма должна оставаться такой, а числа можно менять, чем больше первое число, тем ток больше.

Кроме того существует аппаратный ШИМ, который автоматически включается на линиях в микроконтроллере AVR через таймер счетчик. Однако тут есть недостаток — нужно пользоваться прерыванием для считывания сигнала таймера счетчика и передачи его на несколько портов. В виду постоянной ШИМизации и при большом количестве таких портов, возникает проблема перегруженности прерываний — если прерывание не уложится в период ШИМ, то в его конце запустится еще одно такое прерывание и контроллер зависнит, а ведь есть еще и другие прерывания, которые могут возникнуть в любое время! Аппаратный ШИМ есть в текущей версии программы для микроконтроллера.

Программа для Windows

Уже готовую программу для Windows на USB контроллер нужно немного изменить. В итоге должны перебираться комбинации для подачи напряжения в разных направлениях, нам нужно менять значения на портах PB0, PB1, PB2, PB3, следующие комбинации нужны для запуска двигателя 1010, 0110, 0101, 1001. Перебор их в одну сторону — кручение в эту сторону, в другую — кручение обратно. 0000 — отключает питание, необходимо в конце перебора, иначе двигатель нагреется. Сейчас над этой программой ведется работа, так что возьмите из USB контроллера, связь там работает.

Программа для микроконтроллера

Программа для микроконтроллера еще недоделана и находится в разработке, но то что было сделано вот оно, язык WinAVR C.

Источник: http://legkoe-delo.ru/remont-avtomobilya/avto/83511-drajver-shagovogo-dvigatelya-svoimi-rukami

Драйвер шагового двигателя с микрошаговым режимом

В статье представлены схема и конструкция, описан принцип действия драйвера биполярного шагового двигателя на базе микроконтроллера ATmega48. Он способен работать со многими двигателями, не содержит специализированных микросхем для управления шаговыми двигателями. Универсальность обеспечена оригинальным методом поддержания заданного тока в обмотках двигателя. Эта конструкция может послужить основой для создания аналогичных устройств, содержащих дополнительные элементы безопасности — опторазвязку входных цепей, защиту от замыкания нагрузки и пр. В описываемом устройстве в связи с предполагаемыми «умеренными»условиями его эксплуатации и для ограничения стоимости такие узлы не предусмотрены.

Целью разработки было создание простого и недорогого драйвера биполярного шагового двигателя универсального применения. Всё программное обеспечение написано на языке ассемблера AVRASM и оптимизировано по времени выполнения, что позволило решить задачу на имеющейся на момент разработки элементной базе.

Основные технические характеристики

  • Напряжение питания силовой части, В . 27
  • Напряжение питания логической части, В . 12
  • Максимальная амплитуда тока фазы двигателя, А, не менее . 5
  • Минимальная амплитуда тока фазы двигателя, А, не более . 0,25
  • Предустанавливаемый коэффициент деления шага . .1/8, 1/4, 1/2, 1/1
  • Автопонижение тока в режиме удержания, %. 65
  • Задержка автопонижения тока относительно последнего шага, с . 3,4
  • Уровни управляющих сигналов . ТТЛ,5 В
  • Максимальная частота шагов, кГц. 12
  • Габариты, мм . 102x68x40

Принципиальная схема драйвера приведена на рис. 1 . В его основу положены мостовые формирователи тока фаз А и В на полевых транзисторах VT1-VT4, VT5-VT8 соответственно, управляемые специализированными микросхемами-драйверами верхних и нижних ключей полумоста DA5-DA8 IR2104S. Для повышения помехоустойчивости применено раздельное питание силовой части (27 В) и логической части с драйверами силовых ключей (12 В).

Далее рассмотрим часть схемы, относящуюся к одной из фаз (фазе А), поскольку часть, относящаяся к фазе В, действует аналогично.

Мгновенное значение тока фазы устройство определяет по падению напряжения на резисторе R45, которое через интегрирующую цепь R5C6 поступает на неинвертирующий вход усилителя DA1.1 с регулируемым коэффициентом усиления, выполняющего также функцию ФНЧ первого порядка. С выхода усилителя сигнал приходит на инвертирующий вход компаратора DA3.1. Компаратор сравнивает сигнал, пропорциональный текущему через фазу двигателя току, с образцовым напряжением. Его формирует в виде ступенчатой синусоиды (для микрошагового режима работы) Таймер 1 микроконтроллера, работающий в режиме «Быстрая ШИМ» без предварительного деления. Сигнал с выхода таймера пропущен через многозвенный фильтр R1C1R3C4R7C8. Период следования широтно-модулированных импульсов — 12,7 мкс, что соответствует частоте 78,4 кГц. Резистор R23 в рабочем режиме в формировании образцового напряжения не участвует, так как выход PB3 микроконтроллера, к которому он подключён, находится в высокоимпедансном состоянии.

В режиме удержания (после отсутствия импульсов на входе «Шаг» в течение последних 3,4 с) программа устанавливает на выходе PB3 микроконтроллера низкий логический уровень, и амплитуда образцового сигнала понижается. С выхода компаратора DA3.1 с открытым коллектором, нагруженного резистором R25, результат сравнения поступает на вход компаратора DA3.2. Выход компаратора DA3.1 связан также с общим проводом через конденсатор C22. Совместно R25 и C22 — времязадающая цепь узла стабилизации тока. При его падении ниже некоторого образцового уровня происходит зарядка конденсатора C22 через резистор R25. В интервале времени от начала зарядки до достижения напряжением на конденсаторе значения, заданного делителем напряжения R27R28, питание обмотки двигателя отключено, что препятствует быстрым флюктуациям тока около образцового значения.

Этот алгоритм в классическом смысле не относится к алгоритмам стабилизации тока “Fixed-Frequency PWM” или “Fixed-Off-Time PWM”, однако на практике он показал хорошую работоспособность. При превышении током образцового значения на выходе компаратора DA3.2 установлен низкий логический уровень. Микроконтроллер реагирует на это отключением обмотки одновременным закрыванием транзисторов VT1-VT4 с помощью сигнала SD, подаваемого на драйверы DA5 и DA6. Этим достигается быстрый спад тока в обмотках двигателя. В случае спада тока ниже образцового происходит обратное, на драйверы DA5 и DA6 поступает сигнал SD высокого уровня, открывающий упомянутые транзисторы, что не препятствует нарастанию тока в обмотке.

Смена ступеней образцового напряжения, а также смена комбинаций открытых и закрытых транзисторов моста происходит с приходом очередного импульса на вход «Шаг» по алгоритмам, зависящим от предустановленного коэффициента деления шага (наличия перемычек между контактами 1-2 и 3-4 разъёма XP1) и текущего направления вращения (логического уровня сигнала на входе «Напр.»). Вход «Разр.» был задуман для разрешения и запрета работы двигателя, но в прилагаемой к статье версии программы он не действует.

Драйвер выполнен на двухсторонней печатной плате, чертёж печатных проводников которой изображён на рис. 2, а расположение элементов — на рис. 3. Транзисторы VT1-VT8 расположены с одной стороны платы теплоотводящими поверхностями от неё. К этим поверхностям прижат через изоляционные прокладки теплоотвод — в простейшем случае алюминиевая пластина размерами 60х60 мм. Следует заметить, что при токе фаз более 4. 5 А и длительном режиме работы теплоотвода в виде пластины может оказаться недостаточно и его поверхность следует увеличить, сделав теплоотвод ребристым или игольчатым.

Материал платы следует выбрать толщиной не менее 1 . 1,5 мм, толщина фольги — не менее 35 мкм. Печатные проводники, по которым течёт большой ток, следует обильно залудить или бандажировать медной проволокой, припаяв её по всей длине проводника.

Большая часть компонентов конструкции применена в оформлении для поверхностного монтажа. Резисторы и конденсаторы — типоразмера 1206. Резисторы R45, R50 имеют проволочные выводы и мощность — не менее 2 Вт. оксидные конденсаторы в цепях питания — с малым ESR. Подстроечные резисторы R18 и R19 — многооборотные 3296W.

Амплитудные значения тока фаз двигателя регулируют подстроечными резисторами R18, R19. Проще всего это делать, переведя драйвер в режим микрошага 1/8 и контролируя цифровым вольтметром падение напряжения на резисторах-датчикахтока R45 и R50. Подавая на вход «Шаг» одиночные импульсы, добиваются максимальных значений тока поочерёдно в фазах А и В. Подстроечными резисторами устанавливают эти значения одинаковыми и соответствующими требуемой амплитуде тока. Уменьшение сопротивления под-строечных резисторов приводит к снижению тока, и наоборот. Для ориентировки можно воспользоваться табл. 1, в которой приведена зависимость амплитуды тока фазы Imф от введённого сопротивления подстроечного резистора.

Источник: http://meandr.org/archives/34044

Драйвер шагового двигателя своими руками — управление с помощью аудио усилителя

Драйвер шагового двигателя своими руками-01

Драйвер шагового двигателя своими руками — хотя биполярные шаговые двигатели относительно дороги, для своих физических размеров они обеспечивают высокий вращающий момент. Однако для двух обмоток мотора требуется восемь управляющих транзисторов, соединенных в четыре Н-моста. Каждый транзистор должен выдерживать перегрузки и короткие замыкания и быстро восстанавливать работоспособность. А драйверу, соответственно, требуются сложные схемы защиты с большим количеством пассивных компонентов.

Драйвер шагового двигателя своими руками-1
Рисунок 1

Рисунок 1. Одна микросхема в корпусе для поверхностного монтажа и несколько пассивных компонентов могут управлять биполярным шаговым двигателем.

Управление биполярным шаговым двигателем

Драйвер шагового двигателя своими руками — на Рисунке 1 показана альтернативная схема драйвера двигателя, основанная на аудио усилителе класса D компании Maxim. Микросхема МАХ9715 в миниатюрном корпусе для поверхностного монтажа может отдавать мощность до 2.8 Вт в типичную нагрузку 4 или 8 Ом. Каждый из двух выходов микросхемы образован Н-мостами из мощных MOSFET, управляющими парами линий OUTR+, OUTR- и OUTL+, OUTL-, которые подключаются к обмоткам А и В шагового двигателя, соответственно. Каждая пара формирует дифференциальный широтно-модулированный импульсный сигнал с номинальной частотой переключения 1.22 МГц. Малый уровень помех, создаваемых схемой, исключает необходимость в выходных фильтрах.

Конденсаторы развязки

Конденсаторы С1, С3, С4 и С6 служат развязкой для входов питания и смещения, а С5 и С7 выполняют накопительные функции для мощных выходных усилителей класса D. Конденсаторы С8 и С9 ограничивают полосу пропускания усилителя до 16 Гц, а ферритовые бусины L2 и L3 ослабляют электрические помехи, наводимые на длинные кабели. П-образный фильтр C1, C2, L1 подавляет помехи на входе питания микросхемы IС1. Входные сигналы микросхемы Шаг_А и Шаг_В, управляющие, соответственно, правым и левым каналами двигателя, могут формироваться любым подходящим контроллером. Внутренние цепи защищают усилитель от коротких замыканий и перегрева в случае неисправности шагового двигателя или неправильного подключения его выводов.

Драйвер шагового двигателя своими руками-2
Таблица 1

Иллюстрация последовательности импульсов

Таблица 1 иллюстрирует последовательность импульсов Шаг_А и Шаг_В, управляющих вращением типичного шагового двигателя в одном направлении путем непрерывной подачи комбинаций сигналов от 0 до 4. Шаг 4 возвращает вал двигателя в исходное положение, завершая оборот в 360°. Чтобы изменить направление вращения мотора, начинайте формировать временную диаграмму импульсов снизу таблицы и последовательно двигайтесь по ней вверх. Подав напряжение низкого логического уровня на вход SHDN микросхемы (вывод 8), можно отключить оба канала усилителя. Формы сигналов на входах и выходах схемы представлены на Рисунке 2.

Драйвер шагового двигателя своими руками-3
Рисунок 2

Формы сигналов в схеме на Рисунке 2: вход Шаг_А (Канал 1), вход Шаг_В (Канал 2), выходы OUTR+ (Канал 3), OUTR- (Канал 4) и сигнал на обмотках двигателя (OUTR+ минус OUTR-, средняя осциллограмма), вычисленный с помощью математической функции осциллографа.

Простой контроллер Шагового Двигателя из компьютерного барахла стоимостью ~150 рублей.

Началось мое станкостроение со случайной ссылки на немецкий станок за 2000DM, который на мой взгляд выглядел по детски, однако мог выполнять довольно много занятных функций. В тот момент, меня заинтересовала возможность рисовать платы (это было еще до появления в моей жизни ЛУТ).

В результате протяженных поисков в сети было найдено несколько сайтов посвященных этой проблеме, однако русскоязычных среди них не было ни одного (это было примерно 3 года назад). В общем, в конце концов, я нашел два принтера CM6337 (кстати их выпускал Орловский завод УВМ), откуда и выдрал униполярные шаговые двигатели (Dynasyn 4SHG-023F 39S, аналог ДШИ200-1-1). Параллельно с доставанием принтеров заказал и микросхемы ULN2803A(с буквой А – DIP корпус). Все собрал, запустил. Что получил, а получил дико греющиеся микросхемы ключей, и с трудом вращающийся двигатель. Так как по схеме из Голландии для увеличения тока ключи соединены попарно, то максимальный отдаваемый ток не превышал 1А, в то время как двигателю надо было 2А (кто ж знал что я найду такие прожорливые, как мне тогда показалось, двигатели J). Кроме того, данные ключи построены по биполярной технологии, для тех кто не в курсе, падение напряжения может быть до 2В (если питание от 5, то фактически половина падает на сопротивлении перехода).

В принципе, для опытов с двигателями от 5” дисководов очень неплохой вариант, можно сделать например плоттер, однако что то более тяжелое чем карандаш (например дремель) ими вряд ли можно тягать.

Решил собрать свою собственную схему из дискретных элементов, благо в одном из принтеров оказалась нетронутой электроника, и я взял оттуда транзисторы КТ829 (Ток до 8А, напряжение до 100В)… Была собрана такая схема…

Рис.1 – Схема драйвера для 4х фазного униполярного двигателя.

Сейчас объясню принцип. При подаче логической “1” на один из выводов (на остальных “0”), например на D0, транзистор открывается и ток течет через одну из катушек двигателя, при этом двигатель отрабатывает один шаг. Далее единица подается на следующий вывод D1, а на D0 единица сбрасывается в ноль. Двигатель отрабатывает сладующий шаг. Если подавать ток сразу в две соседние катушки то реализуется режим полушагов (для моих двигателей с углом поворота 1,8’ получается 400 шагов на оборот).

К общему выводу подсоединяются отводы от середины катушек двигателя (их два если проводов шесть). Очень хорошо теория шаговых двигателей описана тут — Шаговые двигатели. Управление шаговым двигателем., тут же приведена схема контроллера ШД на микроконтроллере AVR фирмы Atmel. Честно говоря, мне показалось похоже на забивание гвоздей часами, однако в ней реализована очень хорошая функция как ШИМ регулирование тока обмоток.

Поняв принцип, несложно написать программу управляющую двигателем через LPT порт. Зачем в этой схеме диоды, а за тем, что нагрузка у нас индуктивная, при возникновении ЭДС самоиндукции она разряжается через диод, при этом исключается пробой транзистора, а следовательно и вывод его из строя. Еще одна деталь схемы – регистр RG (я использовал 555ИР33), используется как шинный формирователь, поскольку ток отдаваемый, например LPT портом мал – можно его элементарно спалить, а следовательно, есть возможность спалить весь компьютер.

Схема примитивна, и собрать такое можно минут за 15-20, если есть все детали. Однако у такого принципа управления есть недостаток – так как формирование задержек при задании скорости вращения задается программой относительно внутренних часов компьютера то работать в многозадачной системе (Win) это все не будет! Будут просто теряться шаги (может быть в Windows и есть таймер, но я не в курсе). Второй недостаток – это нестабилизированный ток обмоток, максимальную мощность из двигателя не выжать. Однако по простоте и надежности этот способ меня устраивает, тем более что для того, что бы не рисковать своим Атлоном 2ГГц, я собрал из барахла 486 тарантас, и кроме ДОСа там, в принципе мало, что можно поставить нормальное.

Описанная выше схема работала и в принципе неплоха, но я решил, что можно несколько переделать схему. Применить MOSFETJ). транзисторы (полевые), выигрыш в том, что можно коммутировать огромные токи (до 75 – 100А), при солидных для шаговых двигателей напряжениях (до 30В), и при этом детали схемы практически не греются, ну если не считать предельных значений (хотел бы я видеть тот который съест ток 100А

Как всегда в России возник вопрос, где взять детали. У меня возникла идея – извлечь транзисторы из горелых материнских плат, благо, например Атлоны кушают порядочно и транзисторы там стоят огого. Дал объявление в ФИДО, и получил предложение забрать 3 мат. платы за 100 рублей. Прикинув что в магазине за эти деньги можно от силы купить 3 транзистора, забрал, расковырял и о чудо, хотя они все и были дохлыми, ни один транзистор в цепи питания процессора не пострадал. Так я получил пару десятков полевых транзисторов за сто рублей. Схема, которая получилась в результате, представлена ниже.

Рис. 2 – Тоже на полевых транзисторах

Отличий в этой схеме немного, в частности была применена микросхема нормального буфера 75LS245 (выпаяна над газовой плитой из 286 материнской платы J). Диоды можно поставить любые, главное, что бы их максимальное напряжение не было меньше максимального напряжения питания, а предельный ток не меньше тока питания одной фазы. Я поставил диоды КД213A, это 10А и 200В. Возможно это излишне для моих 2х амперных двигателей, однако покупать детали не было смысла, да и запас по току думается лишним не будет. Резисторы служат для ограничения тока перезарядки емкости затворов.

Ниже приводится печатная плата контроллера построенного по такой схеме.

Рис. 3 – Печатная плата.

Печатная плата разведена для поверхностного монтажа на одностороннем текстолите (лень мне что то дырочки сверлить сталоJ). Микросхемы в DIP корпусах паяются с подогнутыми ножками, резисторы SMD с тех же материнок. Файл с разводкой в Sprint-Layout 4.0 прилагается. Можно было бы запаять на плату и разъемы, но лень как говорится — двигатель прогресса, да и при отладке железа удобнее было запаять провода подлиннее.

Еще необходимо отметить, что схема снабжена тремя концевиками, на плате справа снизу шесть контактов вертикально, радом с ними посадочные места под три резистора, каждый соединяет один вывод выключателей с +5В. Схема концевиков:

Рис. 4 – Схема концевиков.

Вот так это выглядело у меня в процессе наладки системы:

В результате на представленный контроллер я потратил не более 150 рублей: 100 рублей за материнские платы (при желании можно вообще бесплатно достать) + кусок текстолита, припой и банка хлорного железа в сумме тянут на ~50 рублей, причем хлорного железа останется потом еще много. Думаю считать провода и разъемы смысла не имеет. (Кстати разъем питания отпилен от старого винчестера.)

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

Если бы на Орловских заводах проточить отдельные детали не стоило бы так дорого, то мне бы конечно проще было бы вычертить все детали в CAD’е, со всеми квалитетами и шероховатостями и отдать на съедение рабочим. Однако знакомых токарей нет… Да и руками как то знаете ли интереснее…

P.S. Хочу высказать свое мнение по поводу негативного отношения автора сайта к советским и Российским двигателям. Советские двигатели ДШИ, вполне себе даже ничего, даже маломощный ДШИ200-1-1. Так что если вам удалось откопать за “пиво” такое добро не спешите выкидывать их, они еще поработают… проверено… Но если же покупать, и разность в стоимости не велика, лучше все таки брать иностранные, поскольку точность у них конечно будет выше.

P.P.S. Е: Если что то я написал не правильно пишите, исправим, но … РАБОТАЕТ…

В ассортименте полупроводниковых компонентов производства компании Texas Instruments
широко представлены микросхемы драйверов для управления всеми типами электродвигателей
, которые, совершенствуясь, находят все более широкое применение в самом различном оборудовании. Компания предлагает решения для создания приводов, работающих в широком диапазоне токов и напряжений, обеспечивающих надежную и удобную эксплуатацию коллекторных
, бесколлекторных
и шаговых двигателей
с полным комплексом защит по току, напряжению и температуре.

Электродвигатели находят широчайшее применение в современном высокотехнологическом укладе жизни. Этот тип электромеханического привода по-прежнему является одним из наиболее распространенных и востребованных. Электродвигатели самого разного назначения являются одной из основных составляющих любого производства, повсеместно используются в офисной и домашней технике, в системах мониторинга и управления зданий и объектов. Очень широкое распространение электродвигатели нашли на современном транспорте. Еще более впечатляющее будущее уготовано электродвигателям в электромобилях и роботах.

С развитием технологий традиционные двигатели совершенствуются и находят все новые области применения. Современные высокоточные станки и робототехника немыслимы без электродвигателей с интеллектуальными системами управления. На земле, в воздухе и под водой электродвигатели остаются широко востребованным преобразователем электрической энергии в механическую.

Типы электродвигателей, способы управления и возникающие сложности

Впервые созданный в 1834 году русским ученым Якоби преобразователь электрической энергии во вращательное движение получил название электродвигатель. С тех пор он был серьезно усовершенствован – появилось множество новых вариантов, но использованные при его создании принципы электромагнетизма по-прежнему являются основой всех модификаций современных электродвигателей.

Проводник с проходящим по нему током (рисунок 1) создает вокруг себя магнитное поле, интенсивность (магнитная индукция) которого пропорциональна количеству витков, в случае использования катушки (N), и величине проходящего по ней тока (I), где, В – вектор магнитной индукции, К – магнитная постоянная, N – число витков, I – сила тока.

Изменение направления тока влияет и на направление магнитного поля проводника.

При этом на помещенный во внешнее магнитное поле проводник с током действует сила Лоренца, вызывающая его вращательное перемещение. Направление вращения легко определяется с помощью известного правила правой руки для проводника с током в магнитном поле (рисунок 2). Сила (F), действующая на проводник в магнитном поле, равна произведению силы тока (I) в проводнике на вектор магнитной индукции поля (B) и длину проводника (L). F = LIB.

Коллекторные двигатели

Коллекторные двигатели постоянного тока (Brushed DC или BDC, по терминологии TI) сегодня относятся к одним из наиболее распространенных механизмов электромагнитного вращения.

В магнитном поле собранного из постоянных магнитов статора вращается многосекционный ротор с катушками, которые попарно и попеременно подключаются через коммутируемые коллекторные ламели на оси ротора (рисунок 3). Выбор пары активируемых катушек выполняется на основании закона Лоренца в соответствии с правилом Буравчика. Источник тока всегда подключен к катушкам, силовые линии магнитного поля которых смещены на угол, близкий к 90°, относительно магнитного поля статора.

Электродвигатели подобного типа часто используют статор с постоянными магнитами. Они позволяют легко регулировать скорость вращения и отличаются невысокой стоимостью.

Также широко используется вариант 2-обмоточного электродвигателя подобного типа, но со статорной обмоткой вместо постоянного магнита. Такие модели обладают большим пусковым моментом и могут работать не только на постоянном, но и на переменном токе. Электродвигатели подобного типа почти повсеместно используются в различной бытовой технике.

К недостаткам этой конструкции BDC стоит отнести износ щеточно-коллекторного узла в процессе эксплуатации. Кроме того, из-за искрообразования при коммутации отдельных обмоток ротора отмечается повышенный уровень электромагнитных помех, что не позволяет использовать такие двигатели во взрывоопасных средах.

Особенностью двигателей BDC также является повышенный нагрев ротора, охлаждение которого затруднено в силу конструктивных особенностей двигателя.

Достоинства коллекторных двигателей:

  • малая стоимость;
  • простая система управления;
  • 2-обмоточные коллекторные двигатели, обладающие высоким крутящим моментом и способные работать на постоянном и переменном токе.

Особенности эксплуатации коллекторных двигателей:

  • щетки требуют периодического обслуживания, понижают надежность двигателя;
  • в процессе коммутации возникают электрические искры и электромагнитные помехи;
  • затруднен отвод тепла от перегревающегося ротора.

Бесколлекторные двигатели

Несколько менее распространенными среди двигателей постоянного тока являются модели с бесщеточной конструкцией (BrushLess DC или BLDC), использующие ротор с постоянными магнитами, которые вращаются между электромагнитами статора (рисунок 4). Коммутация тока здесь выполняется электронным способом. Переключение обмоток электромагнитов статора заставляет магнитное поле ротора следовать за его полем.

Текущее положение ротора обычно контролируется энкодерами или датчиком на основе эффекта Холла, либо применяется технология с измерением напряжения противо-ЭДС на обмотках без использования в этом случае отдельного датчика положения ротора (SensorLess).

Коммутация тока обмоток статора выполняется с помощью электронных ключей (вентилей). Именно поэтому бесколлекторные двигатели BLDC часто называют «вентильными». Очередность подключения пары обмоток двигателя происходит в зависимости от текущего положения ротора.

Принцип работы BLDC основан на том, что контроллер коммутирует обмотки статора так, чтобы вектор магнитного поля статора всегда был сдвинут на угол, близкий к 90° или -90° относительно вектора магнитного поля ротора. Вращающееся при переключении магнитное поле заставляет перемещаться вслед за ним ротор с постоянными магнитами.

При использовании трехфазного сигнала управления подключенными к источнику тока всегда оказываются только две пары обмоток, а одна – отключена. В результате последовательно используется комбинация из шести состояний (рисунок 5).

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

В качестве датчиков скорости и положения ротора в BLDC могут использоваться датчики Холла, которые отличаются небольшой стоимостью, но также и достаточно невысоким разрешением. Повышенное разрешение обеспечивают вращающиеся трансформаторы (резольверы). Они отличаются высокой стоимостью и требуют использования ЦАП, так как выходной сигнал у них синусоидальный. Высоким разрешением, но пониженной надежностью, обладают оптические датчики. На рисунке 6 представлены выходные сигналы датчиков разного типа при вращении ротора двигателя.

Преимущества двигателей BLDC:

  • высокая эффективность;
  • отсутствие щеток, обеспечивающее повышенную надежность, снижение затраты на обслуживание;
  • линейность тока/крутящего момента;
  • упрощенный отвод тепла.

Особенности применения двигателей BLDC:

  • более сложная система управления с обратной связью по положению ротора;
  • пульсации крутящего момента.

Шаговые двигатели

Шаговые двигатели (ШД) получили достаточно широкое распространение в системах автоматики и управления. Они являются еще одним типом бесколлекторных двигателей постоянного тока. Конструктивно ШД состоят из статора, на котором размещены обмотки возбуждения, и ротора, выполненного из магнитных материалов. Шаговые двигатели с магнитным ротором позволяют обеспечить больший крутящий момент и жесткую фиксацию ротора при обесточенных обмотках.

В процессе вращения ротор ШД перемещается шагами под управлением подаваемых на обмотки статора импульсов питания. Шаговые двигатели удобны для использования в приводах машин и механизмов, работающих в старт-стопном режиме. Их диапазон перемещения задается определенной последовательностью электрических импульсов. Такие двигатели отличаются высокой точностью, не требуют датчиков и цепей обратной связи. Угол поворота ротора зависит от количества поданных импульсов управления. Точность позиционирования (величина шага) зависит от конструктивных особенностей двигателя, схемы подключения обмоток и последовательности подаваемых на них управляющих импульсов.

В зависимости от конфигурации схемы подключения обмоток шаговые двигатели делятся на биполярные и униполярные. Биполярный двигатель имеет в каждой из двух фаз единую обмотку для обоих полюсов статора, которая для изменения направления магнитного поля должна переполюсовываться драйвером. Биполярный двигатель имеет две обмотки и, соответственно, четыре вывода. Для управления таким ШД требуется мостовой драйвер или полумостовая схема с 2-полярным питанием. При биполярном управлении одновременно работают две обмотки и крутящий момент примерно на 40% больше. На рисунке 7 представлена последовательность сигналов управления при вращении биполярного ШД.

Униполярный двигатель использует в каждой фазе одну обмотку со средним выводом и позволяет использовать более простую схему управления с одним ключом на каждую из четырех полуобмоток.

Четырех обмоточные ШД могут использоваться как в биполярной, так и в униполярной конфигурации.

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

На практике используются разные способы подачи питания на четыре обмотки статора. Чаще всего применяют попарное подключение с полношаговым или полушаговым режимом работы. В полношаговом режиме ротор с двумя полюсами, вращающийся в переключаемом магнитном поле двух пар катушек, может занимать четыре положения (рисунок 8).

Получить удвоенную точность позиционирования и восемь позиций позволяет полушаговый режим работы (рисунок 9). Для его реализации добавляется промежуточный шаг с одновременной запиткой всех четырех катушек.

Значительно увеличить количество промежуточных положений и точность позиционирования позволяет режим микрошага. Идея микрошага заключается в подаче на обмотки шагового двигателя вместо импульсов управления непрерывного сигнала, напоминающего по форме ступенчатую синусоиду (рисунок 10). Полный шаг в этом случае делится на маленькие микрошаги, а вращение становится более плавным. Режим микрошага позволяет получить наиболее точное позиционирование. Кроме того, в этом режиме значительно снижается присущая шаговым двигателям вибрация корпуса.

Достоинства шаговых двигателей:

  • невысокая стоимость благодаря отсутствию схем контроля скорости вращения и позиционирования;
  • высокая точность позиционирования;
  • широкий диапазон скоростей вращения;
  • простой интерфейс управления с цифровыми контроллерами;
  • очень высокая надежность;
  • хороший удерживающий момент.

Особенности применения шаговых двигателей:

  • ШД присуще явление резонанса;
  • из-за отсутствия обратной связи возможна потеря контроля положения;
  • потребление энергии не уменьшается даже при работе без нагрузки;
  • затруднена работа на очень высоких скоростях;
  • невысокая удельная мощность;
  • достаточно сложная схема управления.

Традиционные решения для управления электродвигателями

Современная прецизионная система управления электродвигателем постоянного тока включает в себя микроконтроллер для обработки данных и блок управления питанием обмоток двигателя, часто называемый драйвером. В состав драйвера входит логическая схема для преобразования кодированных посылок в цифровые управляющие сигналы, из которых в блоке Gate Driver формируются аналоговые сигналы для управления силовыми ключами на основе полевых транзисторов (FET). FET могут входить в состав драйвера или размещаться в отдельном блоке. Кроме того, в состав драйвера входят схемы защиты силовых цепей и цепи обратной связи для контроля работы двигателя.

На рисунке 11 представлены варианты блок-схем для интегрированного и предварительного драйверов. Каждое из решений имеет свои преимущества и особенности. Предварительный драйвер (Pre-Driver) имеет значительно облеченный температурный режим, позволяет выбирать внешние силовые ключи в соответствии с мощностью подключаемого двигателя. Полнофункциональный интегрированный драйвер позволяет создавать более компактные системы управления, минимизирует внешние соединения, но значительно усложняет обеспечение необходимого температурного режима.

Так, у интегрированного драйвера TI максимальная рабочая температура отдельных элементов на плате может достигать 193°С, а у предварительного драйвера этот показатель не превышает 37°С.

Одной из наиболее распространенных схем для коммутации обмоток двигателей является мост типа “H”. Название схемы связано с конфигурацией подключения, которая похожа на букву “H”. Эта электронная схема позволяет легко изменять направление тока в нагрузке и, соответственно, направление вращения ротора. Напряжение, прикладываемое к обмоткам через транзисторы моста, может быть как постоянным, так и модулированным с помощью ШИМ. H-мост предназначен, в первую очередь, для смены полярности питания двигателя – реверса (рисунок 12), но также позволяет тормозить вращение, коротко замыкая выводы обмоток (рисунок 13).

Важнейшей характеристикой силовых элементов моста, в качестве которых сегодня часто используют полевые транзисторы с изолированным затвором, является величина сопротивления открытого канала между истоком и стоком транзистора – RDSON. Значение RDSON во многом определяет тепловые характеристики блока и энергетические потери. С увеличением температуры RDSON также растет, а ток и напряжение на обмотках уменьшаются.

Использование управляющих сигналов с ШИМ позволяет уменьшить пульсации крутящего момента и обеспечить более плавное вращение ротора двигателя. В идеале частота ШИМ должна быть выше 20 кГц, чтобы избежать акустического шума. Но с увеличением частоты растут потери на транзисторах моста в процессе коммутации.

Из-за индуктивных свойств нагрузки в виде обмоток форма тока в ней не соответствует форме подаваемого напряжения ШИМ. После подачи импульса напряжения ток нарастает постепенно,а в паузах ток плавно затухает из-за возникновения в обмотках противо-ЭДС. Наклон кривой на графике тока, амплитуда и частота пульсаций влияют на рабочие характеристики двигателя (пульсации крутящего момента, шум, мощность и так далее).

Для ускоренного затухания в обмотках электродвигателей возбуждаемого эффектом противо-ЭДС тока используют диоды в обратном включении, шунтирующие переходы «сток-исток» транзисторов, либо закорачивают обмотки через переходы «сток-исток» двух транзисторов, одновременно включенных в разных плечах моста. На рисунке 13 представлены три состояния моста: рабочее, быстрого торможения (Fast Decay) и медленного торможения (Slow Decay).

А наиболее эффективным считается комбинированный режим (Mixed Decay), при котором в паузе между рабочими импульсами сначала работают диоды, шунтирующие сток-исток транзисторов, а затем включаются транзисторы в нижних плечах моста.

Решения для управления электродвигателями от TI

Среди полупроводниковых компонентов, выпускаемых компанией TI, представлен обширный ассортимент различных драйверов для управления электродвигателями постоянного тока. Все они требуют минимума внешних компонентов, позволяют создавать компактные решения для управления двигателями с рабочим напряжением до 60 В, отличаются повышенной надежностью, обеспечивают быстрое и простое проектирование систем привода электродвигателями.

Встроенные в драйверы интеллектуальные функции требуют минимальной поддержки внешнего управляющего микроконтроллера (MCU), обеспечивают расширенные коммутационные возможности для обмоток, поддерживают внешние датчики и цифровые контуры управления. Комплекс защитных функций включает ограничение напряжения питания, защиту от превышения тока и короткого замыкания, понижения напряжения и повышения рабочей температуры.

Весь модельный ряд драйверов TI разбит на три раздела: шаговые, коллекторные и бесколлекторные двигателей постоянного тока. В каждом из них на сайте компании действует удобная система подбора по целому ряду параметров. Есть отдельные драйверы, предназначенные для использования с двигателями разных типов.

Драйверы TI для шаговых двигателей

Большой раздел решений TI для управления двигателями включает драйверы для ШД (рисунок 14), которые выпускаются как со встроенными силовыми ключами на основе FET, так и в виде предварительных драйверов, предоставляющих пользователю подбор необходимых силовых ключей. Всего в модельном ряду компании более 35 драйверов для ШД.

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

Отдельные драйверы, используя один управляющий контроллер, позволяют управлять сразу двумя двигателями, имея для этого четыре встроенных моста на основе FET. Есть драйверы с встроенными FET, например, DRV8834, которые можно подключить для управления к двум обмоткам шагового двигателя или использовать эти же выводы для управления двумя электродвигателями постоянного тока (рисунок 15).

Для более плавного перемещения ротора в драйверах для ШД используется настраиваемый механизм сглаживания импульсов тока (режимы Slow, Fast, Mixed Decay). Система расчета микрошага может быть следующих типов:

  • встроенной в драйвер;
  • с использованием внешнего опорного сигнала.

Не требуют внешнего контроллера для микрошагового перемещения драйверы ,
и . Здесь шаг перемещения и алгоритм коммутации обмоток рассчитываются схемой, встроенной в драйвер.

Драйверы TI для BDC

Для управления – коллекторными электродвигателями постоянного тока – предназначено специальное семейство драйверов , ряд представителей которого изображен на рисунке 16. Они обеспечивает полную защиту от превышения напряжения и тока, короткого замыкания и перегрева. Благодаря возможностям интерфейса управления эти драйверы обеспечивают простую и эффективную эксплуатацию двигателей. Пользователи могут с помощью одного чипа управлять одним или несколькими двигателями c рабочим напряжением 1,8…60 В.

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

Спящий режим (Sleep) позволяет минимизировать потребление энергии в режиме простоя и обеспечивает ускоренную активизацию при запуске двигателя. Для управления скоростью вращения могут использоваться внешние сигналы ШИМ или сигналы PHASE/ENABLE для выбора направления вращения и включения ключей выходного моста.

Имеющий четыре выходных моста драйвер способен управлять двумя ШД или одним ШД и двумя BDC, или же четырьмя BDC, используя при этом управляющий интерфейс SPI.

На рисунке 17 представлена функциональная схема простого драйвера для управления одним коллекторным двигателем.

Драйверы TI для BLDC

Драйверы TI для бесколлекторных двигателей, или BLDC, могут включать интегрированный силовой мост или использовать внешние силовые транзисторы. Схема формирования 3-фазных сигналов управления также может быть внешней или встроенной.

Семейство драйверов для управления бесколлекторными электродвигателями включает модели c разным принципом управления и с различным крутящим моментом. Эти драйверы, обеспечивающие разные уровни шума при управлении BDLС, идеально подойдут для использования в промышленном оборудовании, автомобильных системах и другой технике. Чтобы гарантировать надежную эксплуатацию электродвигателей, драйверы обеспечивают всеобъемлющий набор защит от превышения тока, напряжения и температуры. На рисунке 18 представлены лишь некоторые из 3-фазных драйверов для BLDC в обширном и постоянно пополняющемся модельном ряду компании TI.

Для контроля текущего положения вращающегося ротора могут использоваться внешние датчики разных типов или схема управления с определением позиции ротора по величине противо-ЭДС (Back Electromotive Force, BEMF).

Управление может выполняться с помощью ШИМ, аналоговых сигналов или через стандартные цифровые интерфейсы. Наборы настраиваемых параметров для управления вращением могут храниться во внутренней энергонезависимой памяти.

На рисунке 19 представлен работающий в широком диапазоне температур 40…125°C интеллектуальный драйвер для BLDC со встроенными силовыми ключами на полевых транзисторах, с сопротивлением открытого канала лишь 250 мОм. При диапазоне рабочих напряжений 8…28 В драйвер может обеспечивать номинальный ток 2 А и пиковый ток 3 А.

Драйвер не требует внешнего датчика для контроля положения ротора, но может использовать внешний резистор для контроля потребляемой двигателем мощности. отличается незначительным энергопотреблением, составляющим всего 3 мА, в дежурном режиме. А в модели этот показатель доведен до уровня 180 мкА.

Встроенный интерфейс I2C обеспечивает диагностику и настройку, доступ к регистрам управления работой логической схемы и хранящимся в памяти EEPROM рабочим профилям драйвера.

Расширенный комплект защитных функций обеспечивает остановку двигателя в случае превышения тока и понижения напряжения. Предусмотрено ограничение входного напряжения. Защита по превышению тока работает без использования внешнего резистора. Методы использования защиты настраиваются через специальные регистры.

Заключение

Электродвигатели находят все более широкое применение в самом различном оборудовании, совершенствуются и получают новые возможности во многом благодаря современным системам электропривода.

В ассортименте полупроводниковых компонентов производства компании Texas Instruments широко представлены микросхемы драйверов для управления всеми типами двигателей постоянного тока. На их основе компания предлагает масштабируемые в зависимости от требований по точности, мощности и функциональности решения для создания приводов, работающих в широком диапазоне токов и напряжений, обеспечивающих надежную и удобную эксплуатацию коллекторных, бесколлекторных и шаговых двигателей с полным комплексом защит по току, напряжению и температуре.

Шаг 1.

Нам потребуется…

От старого сканера:

  • 1 шаговый двигатель
  • 1 микросхема ULN2003
  • 2 стальных прута

Для корпуса: — 1 картонная коробка

Инструменты:

  • Клеевой пистолет
  • Кусачки
  • Ножницы
  • Принадлежности для пайки
  • Краска

Для контроллера:

  • 1 разъем DB-25 — провод
  • 1 цилиндрическое гнездо для питания постоянного тока Для испытательного стенда
  • 1 стержень с резьбой
  • 1 подходящая под стержень гайка — разные шайбы и шурупы — куски древесины

Для управляющего компьютера:

  • 1 старый компьютер (или ноутбук)
  • 1 копия TurboCNC (отсюда)

Шаг 2.

Берем детали от старого сканера. Чтобы построить собственный ЧПУ контроллер нужно для начала извлечь из сканера шаговый двигатель и плату управления. Здесь не приведено никаких фотографий, потому что каждый сканер выглядит по-своему, но обычно нужно просто снять стекло и вывернуть несколько винтов. Кроме двигателя и платы можно оставить еще металлические стержни, которые потребуются для тестирования шагового двигателя.

Шаг 3.

Извлекаем микросхему из платы управления Теперь нужно найти на плате управления шаговым двигателем микросхему ULN2003. Если вы не смогли обнаружить ее на своем устройстве, ULN2003 можно купить отдельно. Если она есть, ее нужно выпаять. Это потребует некоторого умения, но не так уж сложно. Сначала при помощи отсоса удалите как можно больше припоя. После этого осторожно просуньте под микросхему конец отвертки. Осторожно прикоснитесь концом паяльника к каждому выводу, продолжая при этом нажимать на отвертку.

Шаг 4.

Пайка Теперь нам нужно припаять микросхему на макетную плату. Припаяйте к плате все выводы микросхемы. На показанной здесь макетной плате имеется две шины электропитания, поэтому положительный вывод ULN2003 (смотрите схему и на рисунке ниже) припаивается к одной из них, а отрицательный — к другой. Теперь, нужно соединить вывод 2 коннектора параллельного порта с выводом 1 ULN2003. Вывод 3 коннектора параллельного порта соединяется с выводом 2 ULN2003, вывод 4 — с выводом 3 ULN2003 и вывод 5 — с выводом 4 ULN2003. Теперь вывод 25 параллельного порта припаивается к отрицательной шине питания. Далее к управляющему устройству припаивается мотор. Делать это придется путем проб и ошибок. Можно просто припаять провода так, чтобы потом цеплять на них крокодилы. Еще можно использовать клеммы с винтовым креплением или что-нибудь подобное. Просто припаяйте провода к выводам 16, 15, 14 и 13 микросхемы ULN2003. Теперь припаяйте провод (желательно черный) к положительной шине питания. Управляющее устройство почти готово. Наконец, подсоедините к шинам электропитания на макетной плате цилиндрическое гнездо для питания постоянного тока. Чтобы провода не могли отломаться, их закрепляют клеем из пистолета.

Шаг 5.

Установка программного обеспечения Теперь о программном обеспечении. Единственная вещь, которая точно будет работать с вашим новым устройством — это Turbo CNC. Скачайте его . Распакуйте архив и запишите на CD. Теперь, на компьютере, который вы собираетесь использовать для управления, перейдите на диск C:// и создайте в корне папку «tcnc». Затем, скопируйте файлы с CD в новую папку. Закройте все окна. Вы только что установили Turbo CNC.

Шаг 6.

Настройка программного обеспечения Перезагрузите компьютер чтобы перейти к работе в MS-DOS. В командной строке наберите «C: cncTURBOCNC». Иногда лучше использовать загрузочный диск, тогда копия TURBOCNC помещается на него и нужно набирать, соответственно «A: cncTURBOCNC». Возникнет экран, похожий на изображенный на рис. 3. Нажмите пробел. Теперь вы находитесь в главном меню программы. Нажмите F1, и при помощи клавиш со стрелками выберите меню «Configure». При помощи клавиш со стрелками выберите «number of axis». Нажмите Enter. Введите количество осей, которые будут использоваться. Поскольку у нас только один мотор, выбираем «1». Нажмите Enter чтобы продолжить. Снова нажмите F1 и в меню «Configure» выберите пункт «Configure axes», затем дважды нажмите Enter.

Появится следующий экран. Нажимайте Tab пока не перейдете к ячейке «Drive Type». При помощи стрелки вниз выберите пункт «Phase». Снова при помощи Tab выберите ячейку «Scale». Чтобы использовать калькулятор, нам нужно найти число шагов, которые двигатель делает за один оборот. Зная номер модели двигателя, можно установить на сколько градусов он поворачивается за один шаг. Чтобы найти число шагов, которые двигатель делает за один оборот, теперь нужно поделить 360 на число градусов за один шаг. Например, если мотор поворачивается за один шаг на 7,5 градусов, 360 поделить на 7,5 получится 48. Число, которое получится у вас, забейте в калькулятор шкалы (scale calculator).

Остальные настройки оставьте как есть. Нажмите OK, и скопируйте число в ячейке Scale в такую же ячейку на другом компьютере. В ячейке Acceleration установите значение 20, поскольку установленных по умолчанию 2000 слишком много для нашей системы. Начальную скорость установите равной 20, а максимальную — 175. Нажимайте Tab пока не дойдете до пункта «Last Phase». Установите в нем значение 4. Нажимайте Tab пока не дойдете до первого ряда иксов.

Скопируйте следующее в четыре первых ячейки:

1000XXXXXXXX
0100XXXXXXXX
0010XXXXXXXX
0001XXXXXXXX

Остальные ячейки оставьте без изменений. Выберите OK. Теперь вы настроили программное обеспечение.

Шаг 7.

Строим тестовый вал Следующим этапом работы будет сборка простого вала для тестовой системы. Отрежьте 3 бруска дерева и скрепите их друг с другом. Чтобы получить ровные отверстия проведите на поверхности дерева ровную линию. Просверлите на линии два отверстия. Еще 1 отверстие просверлите посередине ниже первых двух. Отсоедините бруски. Через два отверстия, что находятся на одной линии, проденьте стальные пруты. Чтобы закрепить пруты воспользуйтесь небольшими шурупами. Проденьте пруты сквозь второй брусок. На последнем бруске закрепите двигатель. Не имеет значения, как вы это сделаете, будьте изобретательны.

Чтобы закрепить двигатель, имевшийся в наличии, использовали два отрезка стержня с резьбой 1/8. Брусок с прикрепленным двигателем надевается на свободный конец стальных прутов. Снова закрепите их шурупами. Сквозь третье отверстие на первом бруске проденьте стержень с резьбой. Заверните на стержне гайку. Проденьте стержень сквозь отверстие во втором бруске. Поворачивайте стержень до тех пор, пока он не пройдет сквозь все отверстия и не дойдет до вала двигателя. Соедините вал двигателя и стержень при помощи шланга и зажимов из проволоки. На втором бруске гайка удерживается при помощи дополнительных гаек и винтов. В завершение, отрежьте брусок дерева для подставки. Привинтите ее шурупами ко второму бруску. Проверьте, установлена ли подставка ровно на поверхности. Регулировать положение подставки на поверхности можно при помощи дополнительных винтов и гаек. Так делается вал для тестовой системы.

Шаг 8.

Подсоединяем и тестируем двигатель Теперь нужно соединить двигатель с контроллером. Во-первых, соедините общий провод (смотрите документацию к двигателю) с проводом, который был припаян к положительной шине питания. Другие четыре провода соединяются путем проб и ошибок. Соедините их все, и затем меняйте порядок соединения, если ваш двигатель делает два шага вперед и один назад или что-либо подобное. Для проведения тестирования подключите 12 В 350 мА источник питания постоянного тока в цилиндрическое гнездо. Затем соедините разъем DB25 c компьютером. В TurboCNC проверьте как соединен двигатель. В результате тестирования и проверки правильного подсоединения двигателя у вас должен получиться полностью работоспособный вал. Чтобы проверить масштабирование вашего устройства, прикрепите к нему маркер и запустите тестовую программу. Измерьте получившуюся линию. Если длина линии составляет порядка 2-3 см, устройство работает правильно. В противном случае, проверьте вычисления в шаге 6. Если у вас все получилось, поздравляем, самое трудное уже позади.

Шаг 9.

Изготовление корпуса

Часть 1

Изготовление корпуса — это завершительный этап. Присоединимся к защитникам природы и сделаем его из вторсырья. Тем более, что контроллер у нас тоже не с магазинных полок. У представленного вашему вниманию образца плата имеет размер 5 на 7,5 см, поэтому корпус будет размером 7,5 на 10 на 5 см, чтобы оставить достаточно места для проводов. Из картонной коробки вырезаем стенки. Вырезаем 2 прямоугольника размером 7,5 на 10 см, еще 2 размером 5 на 10 см и еще 2 размером 7,5 на 5 см (см. рисунки). В них нужно вырезать отверстия для разъемов. Обведите контуры разъема параллельного порта на одной из 5 х 10 стенок. На этой же стенке обведите контуры цилиндрического гнезда для питания постоянного тока. Вырежьте по контурам оба отверстия. То, что вы будете делать дальше, зависит от того, припаивали ли вы к проводам двигателя разъемы. Если да, то закрепите их снаружи второй пока пустой стенки размером 5 х 10. Если нет, проткните в стенке 5 отверстий для проводов. При помощи клеевого пистолета соедините все стенки вместе (кроме верхней, см. рисунки). Корпус можно покрасить.

Шаг 10.

Изготовление корпуса

Часть 2

Теперь нужно приклеить все компоненты внутрь корпуса. Убедитесь, что на разъемы попало достаточно много клея, потому что они будут подвергаться большим нагрузкам. Чтобы коробка оставалась закрытой, нужно сделать защелки. Из пенопласта вырежьте пару ушек. Затем вырежьте пару полос и четыре небольших квадратика. Приклейте по два квадратика к каждой из полос как показано на рисунке. Приклейте ушки по обеим сторонам корпуса. Сверху коробки приклейте полосы. Этим завершается изготовление корпуса.

Шаг 11.

Возможные применения и заключение Этот контроллер можно применять как: — ЧПУ устройство — плоттер — или любую другую вещь, которой нужно точное управление движением. — добавление- Здесь приведены схема и инструкции по изготовлению контроллера с тремя осями. Чтобы настроить программное обеспечение, следуйте вышеуказанным шагам, но в поле «number of axis» введите 3.

зарегистрироваться
.

Шаговые двигатели присутствуют в автомобилях, принтерах, компьютерах, стиральных машинах, электробритвах и многих других устройствах из повседневного быта. Однако многие радиолюбители до сих пор не знают, как заставить такой мотор работать и что он вообще из себя представляет. Итак, давайте узнаем, как использовать шаговый двигатель.

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

Типы шаговых двигателей

Существуют три основных типа шаговых двигателей: переменной индуктивности, двигатели с постоянными магнитами, и гибридные двигатели.

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

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

Гибридный мотор
— это сочетание двух предыдущих. У его намагниченного центрального вала имеется два набора зубов для двух магнитных полюсов, которые затем выстраиваются в линию с зубами вдоль электромагнитов. В связи с двойным набором зубов на центральном валу, гибридный двигатель имеет наименьший доступный размер шага и поэтому является одним из наиболее популярных типов шаговых двигателей.

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

Но униполярный шаговый двигатель работает только с положительным напряжением, а биполярный шаговый двигатель имеет два полюса — положительный и отрицательный.

То есть фактическая разница между этими двумя типами заключается в том, что для однополярных требуется дополнительный провод в середине каждой катушки, что позволит току проходить либо к одному концу катушки, либо другому. Эти два противоположных направления производят две полярности магнитного поля, фактически имитируя как положительные, так и отрицательные напряжения.

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

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

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

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

Полный шаг
— такой привод всегда имеет два электромагнита. Для вращения вала, один из электромагнитов выключается и далее электромагнит включен, вызывая вращение вала на 1/4 зуба (по крайней мере для гибридных шаговых двигателей). Этот стиль имеет самый сильный момент вращения, но и самый большой размер шага.

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

Микрошаговый
имеет наименьший размер шага из всех этих стилей. Момент вращения, связанный с этим стилем, зависит от того, как много тока, протекает через катушки в определенное время, но он всегда будет меньше, чем при полном шаге.

Схема подключения шаговых двигателей

Чтобы управлять шаговым двигателем необходим контроллер
. Контроллер — схема, которая подает напряжение к любой из четырех катушек статора. Схемы управления достаточно сложны, по сравнению с обычными электромоторчиками, и имеют много особенностей. Подробно рассматривать тут мы их не будем, а просто приведём фрагмент популярного контроллера на ULN2003A .

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

Шаговые двигатели уже давно и успешно применяются в самых разнообразных устройствах. Их можно встретить в дисководах, принтерах, плоттерах, сканерах, факсах, а также в разнообразном промышленном и специальном оборудовании. В настоящее время выпускается множество различных типов шаговых двигателей на все случаи жизни. Однако правильно выбрать тип двигателя — это еще пол-дела. Не менее важно правильно выбрать схему драйвера и алгоритм его работы, который зачастую определяется программой микроконтроллера. Цель этой статьи — систематизировать сведения об устройстве шаговых двигателей, способах управления ими, схемах драйверов и алгоритмах. В качестве примера приведена практическая реализация простого и дешевого драйвера шагового двигателя на основе микроконтроллера семейства AVR.

Что такое шаговый двигатель, и зачем он нужен?

Шаговый двигатель — это электромеханичское устройство, которое преобразует электрические импульсы в дискретные механические перемещения. Так, пожалуй, можно дать строгое определение. Наверное, каждый видел, как выглядит шаговый двигатель внешне: он практически ничем не отличается от двигателей других типов. Чаще всего это круглый корпус, вал, несколько выводов (рис. 1).

Рис. 1. Внешний вид шаговых двигателей семейства ДШИ-200.

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

Чем же хорош шаговый двигатель?

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

Но не все так хорошо…

  • шаговым двигателем присуще явление резонанса
  • возможна потеря контроля положения ввиду работы без обратной связи
  • потребление энергии не уменьшается даже без нагрузки
  • затруднена работа на высоких скоростях
  • невысокая удельная мощность
  • относительно сложная схема управления

Что выбрать?

Шаговые двигатели относятся к классу бесколлекторных двигателей постоянного тока. Как и любые бесколлекторные двигатели, они имеют высокую надежность и большой срок службы, что позволяет использовать их в критичных, например, индустриальных применениях. По сравнению с обычными двигателями постоянного тока, шаговые двигатели требуют значительно более сложных схем управления, которые должны выполнять все коммутации обмоток при работе двигателя. Кроме того, сам шаговый двигатель — дорогостоящее устройство, поэтому там, где точное позиционирование не требуется, обычные коллекторные двигатели имеют заметное преимущество. Справедливости ради следует отметить, что в последнее время для управления коллекторными двигателями все чаще применяют контроллеры, которые по сложности практически не уступают контроллерам шаговых двигателей.

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

При проектировании конкретных систем приходится делать выбор между сервомотором и шаговым двигателем. Когда требуется прецизионное позиционирование и точное управление скоростью, а требуемый момент и скорость не выходят за допустимые пределы, то шаговый двигатель является наиболее экономичным решением. Как и для обычных двигателей, для повышения момента может быть использован понижающий редуктор. Однако для шаговых двигателей редуктор не всегда подходит. В отличие от коллекторных двигателей, у котрых момент растет с увеличением скорости, шаговый двигатель имеет больший момент на низких скоростях. К тому же, шаговые двигатели имеют гораздо меньшую максимальную скорость по сравнению с коллекторными двигателями, что ограничивает максимальное передаточное число и, соответственно, увеличение момента с помощью редуктора. Готовые шаговые двигатели с редукторами хотя и существуют, однако являются экзотикой. Еще одним фактом, ограничивающим применение редуктора, является присущий ему люфт.

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

Виды шаговых двигателей

Существуют три основных типа шаговых двигателей:

  • двигатели с переменным магнитным сопротивлением
  • двигатели с постоянными магнитами
  • гибридные двигатели

Определить тип двигателя можно даже на ощупь: при вращении вала обесточенного двигателя с постоянными магнитами (или гибридного) чувствуется переменное сопротивление вращению, двигатель вращается как бы щелчками. В то же время вал обесточенного двигателя с переменным магнитным сопротивлением вращается свободно. Гибридные двигатели являются дальнейшим усовершенствованием двигателей с постоянными магнитами и по способу управления ничем от них не отличаются. Определить тип двигателя можно также по конфигурации обмоток. Двигатели с переменным магнитным сопротивлением обычно имеют три (реже четыре) обмотки с одним общим выводом. Двигатели с постоянными магнитами чаще всего имеют две независимые обмотки. Эти обмотки могут иметь отводы от середины. Иногда двигатели с постоянными магнитами имеют 4 раздельных обмотки.

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

Двигатели с переменным магнитным сопротивлением

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

Рис. 2. Двигатель с переменным магнитным сопротивлением.

При включени тока в одной из катушек, ротор стремится занять положение, когда магнитный поток замкнут, т.е. зубцы ротора будут находиться напротив тех полюсов, на которых находится запитанная обмотка. Если затем выключить эту обмотку и включить следующую, то ротор поменяет положение, снова замкнув своими зубцами магнитный поток. Таким образом, чтобы осуществить непрерывное вращение, нужно включать фазы попеременно. Двигатель не чувствителен к направлению тока в обмотках. Реальный двигатель может иметь большее количество полюсов статора и большее количество зубцов ротора, что соответствует большему количеству шагов на оборот. Иногда поверхность каждого полюса статора выполняют зубчатой, что вместе с соответствующими зубцами ротора обеспечивает очень маленькое значения угла шага, порядка нескольких градусов. Двигатели с переменным магнитным сопротивлением довольно редко используют в индустриальных применениях.

Двигатели с постоянными магнитами

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

Рис. 3. Двигатель с постоянными магнитами.

Показанный на рисунке двигатель имеет 3 пары полюсов ротора и 2 пары полюсов статора. Двигатель имеет 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 фирмы National Semiconductor.

Диаграммы, диаграммы…

Существует несколько способов управления фазами шагового двигателя.

Первый способ обеспечивается попеременной коммутации фаз, при этом они не перекрываются, в один момент времени включена только одна фаза (рис 8а). Этот способ называют ”one phase on” full step или wave drive mode. Точки равновесия ротора для каждого шага совпадают с «естественными» точками равновесия ротора у незапитанного двигателя. Недостатком этого способа управления является то, что для биполярного двигателя в один и тот же момент времени иcпользуется 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). Недостатком этого метода является необходимость двух ключей, двух источников питания и более сложной схемы управления. В системах, где такие источники уже есть, метод может оказаться достаточно дешёвым. Еще одной трудностью является невозможность определения момента времени t 1 для общего случая. Для двигателя с меньшей индуктивностью обмоток скорость нарастания тока выше и при фиксированном 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 Кгц
  • разгон с постоянным ускорением
  • программируемое направление вращения
  • Контроллер графического ЖКИ высокого разрешения

Схема драйвера униполярного шагового двигателя, описанная в данной статье, реализует следующие задачи:
• управление 4-фазовым униполярным шаговым двигателем.
• обеспечивает плавную регулировку скорости вращения и изменение направления вращения.
• выполняет функцию остановки двигателя.

sxema-prostogo-drajvera-dlya-unipolyarnogo-shagovogo-dvigatelya-min

Ниже представлена принципиальная схема драйвера шагового двигателя. Драйвер построен с использованием трех микросхем 4000 серии и четырех силовых MOSFET транзисторов.

схема драйвера для униполярного шагового двигателя

Схема тактируется генератором прямоугольных импульсов, построенного на логических элементах 2И-НЕ с триггером Шмитта на выходе. Рабочая частота генератора определяется общим сопротивлением PR1 + R2 и емкостью конденсатора С1, и может быть изменена в широком диапазоне с помощью потенциометра PR1.

Тестер транзисторов / ESR-метр / генератор

Многофункциональный прибор для проверки транзисторов, диодов, тиристоров…

Фрагмент схемы на элементах EXOR и J-K триггере создает счетчик по модулю 4, с тактами высокого уровня. Переключатель SB1 (JP1) предназначен для изменения направления работы счетчика, а, следовательно, для изменения направления вращения шагового двигателя. С помощью переключателя SB2 (JP2) можно запускать и останавливать двигатель.

Управление катушками 4-фазного шагового двигателя осуществляется с помощью четырех MOSFET транзисторов (VT1…VT4). Использование в данной схеме транзисторов высокой мощности типа BUZ11 — это решение, гарантирующее надлежащую работу двигателя высокой мощности.

Ниже показаны формы сигналов на разъеме Х2, к которому подключаются обмотки шагового двигателя.

sxema-prostogo-drajvera-dlya-unipolyarnogo-shagovogo-dvigatelya-2

Драйвер собран на печатной плате, рисунок которой приведен ниже. Монтаж следует начать с установки резисторов, панельки под микросхемы и закончить разъемами и силовыми транзисторами.

sxema-prostogo-drajvera-dlya-unipolyarnogo-shagovogo-dvigatelya-3

Разъемы JP1 и JP2 имеют ту же функцию, что и нажатие кнопки SB1 и SB2, так что вы можете подключить к ним кнопки и вынести их за пределы платы.
Печатная плата разработана таким образом, что вы можете установить транзисторы на общий радиатор, предварительно изолировав их слюдяными или силиконовыми прокладками.

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

sxema-prostogo-drajvera-dlya-unipolyarnogo-shagovogo-dvigatelya-4

Следует, упомянуть о способе подключения питания и обмоток двигателя к плате драйвера. В случае питания схемы управления и двигателя тем же напряжением, которое находится в диапазоне от 5…15 В, и ток потребления не превышает 1 А, то необходимо установить перемычку JP3 и питание подать к разъему VDD.

Если параметры питания шагового двигателя не находится в пределах напряжения питания схемы драйвера, то необходимо снять перемычку JP3, и к разъему VDD подвести напряжение питания от 5…15 В, а к разъему X2 подать питание в соответствии с параметрами шагового двигателя.

Драйвер шагового двигателя на mosfet своими рукамиРисунок печатной платы (8,5 KiB, скачано: 2 206)

Как запустить шаговый двигатель без электроники с помощью конденсатора своими руками

Что такое шаговый двигатель?

Шаговый двигатель представляет собой электрическую машину, предназначенную для преобразования электрической энергии сети в механическую энергию. Конструктивно состоит из обмоток статора и магнитомягкого или магнитотвердого ротора. Отличительной особенностью шагового двигателя является дискретное вращение, при котором заданному числу импульсов соответствует определенное число совершаемых шагов. Наибольшее применение такие устройства получили в станках с ЧПУ, робототехнике, устройствах хранения и считывания информации.

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

Преимущества и недостатки шагового электродвигателя

К преимуществам эксплуатации шагового двигателя можно отнести:

  • В шаговых электродвигателях угол поворота соответствует числу поданных электрических сигналов, при этом, после остановки вращения сохраняется полный момент и фиксация;
  • Точное позиционирование – обеспечивает 3 – 5% от установленного шага, которая не накапливается от шага к шагу;
  • Обеспечивает высокую скорость старта, реверса, остановки;
  • Отличается высокой надежностью за счет отсутствия трущихся компонентов для токосъема, в отличии от коллекторных двигателей;
  • Для позиционирования шаговому двигателю не требуется обратной связи;
  • Может выдавать низкие обороты для непосредственно подведенной нагрузки без каких-либо редукторов;
  • Сравнительно меньшая стоимость относительно тех же сервоприводов;
  • Обеспечивается широкий диапазон управления скоростью оборотов вала за счет изменения частоты электрических импульсов.

К недостаткам применения шагового двигателя относятся:

  • Может возникать резонансный эффект и проскальзывание шагового агрегата;
  • Существует вероятность утраты контроля из-за отсутствия обратной связи;
  • Количество расходуемой электроэнергии не зависит от наличия или отсутствия нагрузки;
  • Сложности управления из-за особенности схемы

Схема шагового двигателя

Его схема обмоток выглядит примерно так:

Как запустить шаговый двигатель без электроники

Очень похоже на схему обычного асинхронного двигателя.

Для запуска понадобится:

  • Конденсатор емкостью 470-3300 мкФ.
  • Источник переменного тока 12 В.

Замыкаем обмотки последовательно.

Как запустить шаговый двигатель без электроники

Середину проводов скручиваем и запаиваем.

Как запустить шаговый двигатель без электроники

Подключаем конденсатор одним выводом к середине обмоток, а вторым выводом в источнику питания на любой выход. Фактически конденсатор будет параллелен одной из обмоток.

Как запустить шаговый двигатель без электроники

Как запустить шаговый двигатель без электроники

Подаем питание и двигатель начинает крутиться.

Как запустить шаговый двигатель без электроники

Если перекинуть вывод конденсатора с одного выхода питания на другой, то вал двигателя начнет вращаться в другую сторону.

Как запустить шаговый двигатель без электроники

Все предельно просто. А принцип работы этого всего очень прост: конденсатор формирует сдвиг фаз на одной из обмоток, в результате обмотки работают почти попеременно и шаговый двигатель крутится.

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

Хотелось бы добавить, что в данном примере используется конденсатор постоянного тока, что является не совсем правильным вариантом. И если вы решитесь использовать такую схему включения, берите конденсатор переменного тока. Его так же можно сделать самому, включив два конденсатора постоянного тока встречно-последовательно.

Применение

В электровелосипедах используются трёхфазные бесщёточные электродвигатели с датчиками Холла. Стоит отметить, что применение подобных трёхфазных двигателей достаточно обширно:

  • Бытовая техника
  • Оргтехника
  • Электротранспорт
  • Промышленность

Типы шаговых двигателей

   Существуют три основных типа шаговых двигателей: переменной индуктивности, двигатели с постоянными магнитами, и гибридные двигатели.

Драйвер шагового двигателя на mosfet своими руками

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

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

   Гибридный мотор — это сочетание двух предыдущих. У его намагниченного центрального вала имеется два набора зубов для двух магнитных полюсов, которые затем выстраиваются в линию с зубами вдоль электромагнитов. В связи с двойным набором зубов на центральном валу, гибридный двигатель имеет наименьший доступный размер шага и поэтому является одним из наиболее популярных типов шаговых двигателей.

Типы шаговых двигателей

Существуют три основных типа шаговых двигателей:

  1. Двигатель с постоянным магнитом
  2. Двигатель с переменным магнитным сопротивлением
  3. Гибридный двигатель

Шаговый двигатель с постоянными магнитами

шаговый двигатель с постоянными магнитами

Шаговый двигатель с постоянными магнитами применяется наиболее часто в устройствах бытового назначения, нежели в промышленных устройствах. Это недорогой двигатель, имеющий низкий крутящий момент и низкую скорость вращения. Он идеально подходит для устройств компьютерной периферии.

Производство шагового двигателя с постоянными магнитами несложно и экономически оправдано, когда дело касается производства больших объемов. Однако из-за его относительной инертности, применение ограничено в устройствах, где требуется точное позиционирование по времени.

 Шаговый двигатель с переменным магнитным сопротивлением

ШД с переменным магнитным сопротивлением

В шаговом двигателе с переменным магнитным сопротивлением нет постоянного магнита, и как результат этого — ротор вращается свободно, без остаточного крутящего момента. Этот тип двигателя часто используется в малогабаритных устройствах, например, в системах микро-позиционирования. Они не чувствительны к полярности тока и требуют систему управления отличную от других типов двигателей.

Гибридный шаговый двигатель

гибридный шаговый двигатель

Гибридный двигатель, на сегодняшний день, является самым популярным двигателем в промышленной сфере. Его название происходит от того, что он сочетает в себе принципы работы двух других типов двигателя (с постоянными магнитами и переменным магнитным сопротивлением). Большинство гибридных двигателей имеют две фазы.

фото шагового двигателя

Камрад, рассмотри датагорские рекомендации

? Купон до 1000₽ для новичка на Aliexpress

Никогда не затаривался у китайцев? Пришло время начать!
Камрад, регистрируйся на Али по нашей ссылке. Ты получишь скидочный купон на первый заказ. Не тяни, условия акции меняются.

? Полезные и проверенные железяки, можно брать

Куплено и опробовано читателями или в лаборатории редакции.

Устройство двигателя

Для разработки контроллера необходимо разобраться с принципом работы самого электродвигателя.

image

Электродвигатель состоит из фазных обмоток, магнитов и датчиков Холла, отслеживающих положение вала двигателя.

Конструктивно электродвигатели делятся на два типа: инраннеры и аутраннеры.

image

У инраннеров магнитные пластины крепятся на вал, а обмотки располагаются на барабане (статоре), в этом случае в движение приводится вал. В случае аутраннера всё наоборот: на валу — фазные обмотки, а в барабане — магнитные пластины. Это приводит в движение барабан.

image

Так как у велосипеда колесо крепится валом на раму, то здесь применителен тип аутраннера.

image

На этой картинке условно представлены три фазы с обмотками, соединёнными между собой. В реальности обмоток намного больше, они располагаются равномерно с чередованием по фазам по окружности двигателя. Чем больше обмоток — тем плавнее, чётче, эластичнее работает двигатель.

В двигатель устанавливаются три датчика Холла. Датчики реагируют на магнитное поле, тем самым определяя положение ротора относительно статора двигателя. Устанавливаются с интервалами в 60 или 120 электрических градусов. Эти градусы относятся к электрическому фазному обороту двигателя. Необходимо учитывать, что чем больше в двигателе обмоток на каждую фазу, тем больше происходит электрических оборотов за один физический оборот мотор-колеса.

image

Обмотки трёх фаз в большинстве случаев соединяются между собой по двум схемам: звезда и треугольник. В первом случае ток проходит от одной из фаз к другой, во втором — по всем трём фазам в разной степени. Иногда эти две схемы подключения комбинируют в одном двигателе, например в электромобилях. При старте и наборе скорости идёт соединение фаз по звезде: она даёт больший момент при относительно низких оборотах; далее, после набора скорости, происходит переключение на треугольник, в результате количество оборотов увеличивается, когда уже не нужен большой крутящий момент. По сути, получается условно автоматическая коробка передач электродвигателя.

Устройство и принцип работы

Принцип действия шагового двигателяРис. 1. Принцип действия шагового двигателя

На рисунке 1 изображены 4 обмотки, которые относятся к статору двигателя, а их расположение устроено так, что они находятся под углом 90º относительно друг друга. Из чего следует, что такая машина характеризуется размером шага в 90º.

В момент подачи напряжения U1 в первую обмотку происходит перемещение ротора на те же 90º. В случае поочередной подачи напряжения U2, U3, U4 в соответствующие обмотки, вал продолжит вращение до завершения полного круга. После чего цикл повторяется снова. Для изменения направления вращения достаточно изменить очередность подачи импульсов в соответствующие обмотки.

Униполярные и биполярные шаговые двигатели

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

Униполярные и биполярные шаговые двигатели

   Но униполярный шаговый двигатель работает только с положительным напряжением, а биполярный шаговый двигатель имеет два полюса — положительный и отрицательный.

Драйвер шагового двигателя на mosfet своими руками

   То есть фактическая разница между этими двумя типами заключается в том, что для однополярных требуется дополнительный провод в середине каждой катушки, что позволит току проходить либо к одному концу катушки, либо другому. Эти два противоположных направления производят две полярности магнитного поля, фактически имитируя как положительные, так и отрицательные напряжения.

Драйвер шагового двигателя на mosfet своими руками

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

Транзисторы и Н-мост

Но чтобы поочерёдно подавать ток на каждую из фаз и менять их полярность, необходимы транзисторы. Ещё нам нужна передача больших токов, высокая скорость переключения и чёткость открытия/закрытия затворов. В данном случае удобнее управлять затворами по напряжению, а не по току. Поэтому оптимальны полевые (MOSFET) транзисторы. Чаще всего их используют в контроллерах. Очень редко можно встретить комбинированный вариант транзисторов.

image

Для переключения фаз со сменой их полярностей используют классическую схему Н-моста (H-Bridge) из полевых транзисторов.

image

Он состоит из трёх пар транзисторов. Каждая из пар подключается к соответствующей фазе обмотки двигателя и обеспечивает подачу тока со значением (+ или –). Транзисторы, отвечающие за включение фазы с положительным значением, называют верхними ключами. С отрицательным — нижними. Для каждого шага открывается пара ключей: верхний одной фазы и нижний соседней фазы. В результате ток проходит от одной фазы к другой и приводит электродвигатель в движение.

image

Из схемы видно, что мы не можем включить одновременно верхний и нижний ключ у одной и той же фазы: произойдёт короткое замыкание. Поэтому очень важно быстрое переключение верхних и нижних ключей, чтобы в переходных процессах не появилось замыкание. И чем качественнее и быстрее мы обеспечим переключения, тем меньше у нас будет потерь и нагрева/перегрева транзисторов H-моста.

Для запуска остаётся обеспечить управление затворами ключей H-моста. Для управления H-мостом нужно:

  1. Считать показания датчиков Холла.
  2. Определить, в каком положении какую пару ключей включать.
  3. Передать сигналы на соответствующие затворы транзисторов.

Управление скоростью двигателя с помощью ШИМ сигнала

Управлять скоростью двигателя можно снижая подачу тока. Для этого вместо постоянного сигнала (на порты PB0, PB1, PB2, PB3) подается сигнал ШИМ. Суть ШИМ сигнала состоит в том, что это не постоянный сигнал, а быстрое включение и выключение. При этом интервал выключения можно изменять и направлять больше или меньше тока двигателю. Чем больше интервал выключения, тем медленней двигатель будет крутиться. В микроконтроллере AVR существует 2 способа получения ШИМ сигнала – программный ШИМ и аппаратный ШИМ.

Программный ШИМ делается на отдельном контроллере просто записью в него программы, этот контроллер подключается к уже имеющемуся контроллеру и сигнал идет не напрямую от ATmega16 к IR2101, а через этот ШИМ контроллер. Такое можно сделать на более мелком контроллере, например, ATtiny2313, программа для ATtiny2313, которая превращает его в программный ШИМ контроллер, вот она, эта программа на языке AVR Assembler…

Эта программа для микроконтроллера AVR Программа Комментарии

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

ldi r16, 0b11111111 

out DDRB, r16 

ldi r16, 0b00000000 

out DDRD, r16 

main: 

in r16, PIN

out PORTB, r16 

rcall delay1 

ldi r16, 0b00000000 

out PORTB, r16 

rcall delay0 

rjmp main 

delay1:  

ldi r16, 200 

perehod1: 

dec r16 

brne perehod1 

ret  

delay0:  

ldi r16, 120 

perehod2: 

dec r16 

brne perehod2 

ret

Записываем 1-цы в регистр r16

Настроили порт B на вывод

Записываем 0-ли в регистр r16

Начало основной программы

Записываем в r16 то что на порте D (читаем)

Записываем в порт B прочтенные данные

Задерживаем (для включения ШИМ на порт D надо подать 1)

Записываем в порт B эти 0-ли

Задерживаем данные (это всегда 0)

Переход на начало основной программы

Начало функции delay1, которая задерживает 1

Начало функции delay0, которая задерживает 0

Ток регулируется изменением чисел 200 и 120. 200 – время включения, 120 – время выключения. Сумма 200+120=320 дает частоту ШИМ 25 кГц (при условии, что контроллер работает на частоте 8 МГц от внутреннего генератора, такая там стоит по умолчанию, получается 8000000/320=25000). Сумма должна оставаться такой, а числа можно менять, чем больше первое число, тем ток больше.

Кроме того существует аппаратный ШИМ, который автоматически включается на линиях в микроконтроллере AVR через таймер счетчик. Однако тут есть недостаток – нужно пользоваться прерыванием для считывания сигнала таймера счетчика и передачи его на несколько портов. В виду постоянной ШИМизации и при большом количестве таких портов, возникает проблема перегруженности прерываний – если прерывание не уложится в период ШИМ, то в его конце запустится еще одно такое прерывание и контроллер зависнит, а ведь есть еще и другие прерывания, которые могут возникнуть в любое время! Аппаратный ШИМ есть в текущей версии программы для микроконтроллера.

Прототип на Ардуино

Под рукой у меня была Arduino UNO, и я решил собрать контроллер на её основе.

image

Первым делом я подал на датчики Холла питание 5 вольт от Ардуино (его достаточно для датчиков). Сигнальные провода от датчиков подключил на цифровые пины Ардуино, написав простейшую программу для считывания и обработки сигналов с датчиков.

//Пины ключей Н-мостов const int TRAplus = 8;const int TRAminus = 9;const int TRBplus = 10;const int TRBminus = 11;const int TRCplus = 12;const int TRCminus = 13;//датчики холлаconst int HallA = 3;const int HallB = 1;const int HallC = 0;boolean vala;boolean valb;boolean valc;boolean pvala;boolean pvalb;boolean pvalc;int pHall;int turns;void setup() { //Установка пинов ключей на выход pinMode(TRAplus, OUTPUT); pinMode(TRAminus, OUTPUT); pinMode(TRBplus, OUTPUT); pinMode(TRBminus, OUTPUT); pinMode(TRCplus, OUTPUT); pinMode(TRCminus, OUTPUT); //Вывод данных через серийный порт Serial.begin(9600); }void loop() { //Считываем датчики Холла и записываем их значение в val vala = digitalRead(HallA); valb = digitalRead(HallB); valc = digitalRead(HallC);//Счётчик оборотов колеса. Необходима доработка if(vala && !pvala) { if(pHall == HallC) // или HallB в обратную сторону turns++; pHall = HallA; } if(valb && !pvalb) { if(pHall == HallA) // или HallC в обратную сторону turns++; pHall = HallB; } if(valc && !pvalc) { if(pHall == HallB) // или HallA в обратную сторону turns++; pHall = HallC; } digitalWrite(TRAplus, (vala && !valb) ? HIGH : LOW); //если vala==HIGH и valb==LOW, тогда записать HIGH, иначе LOW digitalWrite(TRAminus, (valb && !vala) ? HIGH : LOW); digitalWrite(TRBplus, (valb && !valc) ? HIGH : LOW); digitalWrite(TRBminus, (valc && !valb) ? HIGH : LOW); digitalWrite(TRCplus, (valc && !vala) ? HIGH : LOW); digitalWrite(TRCminus, (vala && !valc) ? HIGH : LOW); pvala = vala; pvalb = valb; pvalc = valc; Serial.print(vala); Serial.print(valb); Serial.println(valc); //Serial.println(turns/3);}

Затем собрал Н-мост из полевых NPN-транзисторов. Подвёл к мосту независимое питание на 12 вольт. Но при отладке, чтоб убедиться в работоспособности, я подключил напрямую шесть пинов 5V из Ардуино на затворы H-моста. У большинства полевых транзисторов затвор работает на 20 вольт. Так делать нельзя, потому что Н-мост будет плохо работать и перегреваться. Но для кратковременных тестов это пойдёт. Кое-как, с сильными перегревами и страшными звуками, вибрациями и толчками колесо медленно закрутилось. Начало положено.

Схема подключения шаговых двигателей

   Чтобы управлять шаговым двигателем необходим контроллер. Контроллер — схема, которая подает напряжение к любой из четырех катушек статора. Схемы управления достаточно сложны, по сравнению с обычными электромоторчиками, и имеют много особенностей. Подробно рассматривать тут мы их не будем, а просто приведём фрагмент популярного контроллера на ULN2003A.

Схема подключения шаговых двигателей на uln2003

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

Originally posted 2018-11-23 11:47:42. Republished by Blog Post Promoter

Простейший драйвер шагового двигателя своими руками

Чтобы собрать схему драйвера в домашних условиях могут пригодиться некоторые элементы от старых принтеров, компьютеров и другой техники. Вам понадобятся транзисторы, диоды, резисторы (R) и микросхема (RG).

Схема простейшего драйвераСхема простейшего драйвера

Для построения программы руководствуйтесь следующим принципом: при подаче на один из выводов D логической единицы (остальные сигнализируют ноль)  происходит открытие транзистора и сигнал проходит к катушке двигателя. Таким образом, выполняется один шаг.

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

Прототип на базе микросхемы MC33035

Параллельно с разработкой контроллера на Ардуино я рассматривал альтернативные варианты логической части контроллера. И это привело меня к микросхеме MC33035. Это старая разработка от Motorola, сейчас её выпускает ON Semiconductor. Создана специально для мощных трёхфазных двигателей.

image

image

Данная микросхема:

  • Отвечает за всю логическую часть контроллера
  • Считывает показания с датчиков Холла
  • Определяет положения вала
  • Выдаёт сигналы для затворов Н-моста на их драйверы
  • Имеет возможность подключения индикатора ошибок, перегрева
  • Обрабатывает и передает ШИМ-сигнал (PWM)
  • Осуществляет реверс (обратный ход колеса)

Одним словом, микросхема содержит всё необходимое для управления электродвигателем. Её стоимость очень низкая: на Алиэкспрессе — около 50 рублей. Для сборки полноценного контроллера на её основе потребуется микросхема MC33035, полумостовые драйверы и Н-мост из полевых транзисторов. Я также собрал контроллер на этой микросхеме. Работает отлично, стабильно, колесо крутится как надо на различных оборотах. Но функционал микросхемы ограничен, если необходимо наворотить различные функции, вывод на дисплей скорости, одометр, расход батареи, то опять же возникает необходимость дополнительно подключить Ардуино или что-то аналогичное.

Схема с MC33035

image

Печатная плата

image

Готовый вариант

image

Планы на будущее контроллера

Продолжая работу над контроллером, планирую сделать следующее:

  • IGBT-транзисторы для H-моста вместо полевых транзисторов.
  • Обвязку с защитами по току, перегреву и т. п.
  • Полноценный круиз-контроль с возможностью выставлять необходимую скорость движения.
  • Расходомер. Когда задаётся необходимое расстояние, а контроллер, исходя из этого значения и заряда аккумулятора, дозирует разряд аккумулятора на всём протяжении маршрута так, чтобы зарядки хватило.

Шаговые двигатели не сильно отличаются от многих классических двигателей. Для управления шаговым двигателем необходимо подавать постоянное напряжение на обмотки в точной последовательности. Благодаря этому принципу, можно обеспечить точный угол поворота оси.

Более того, оставив напряжение питания на одной или нескольких обмотках двигателя, мы переводим двигатель в режим удержания. Шаговые двигатели
получили широкое распространение в технике, к примеру, их можно найти в гибких дисководах, сканерах и принтерах. Существует несколько типов шаговых двигателей.

Типы шаговых двигателей

Существуют три основных типа шаговых двигателей:

  1. Двигатель с постоянным магнитом
  2. Двигатель с переменным магнитным сопротивлением
  3. Гибридный двигатель

Шаговый двигатель с постоянными магнитами

Шаговый двигатель с постоянными магнитами применяется наиболее часто в устройствах бытового назначения, нежели в промышленных устройствах. Это недорогой двигатель, имеющий низкий крутящий момент и низкую скорость вращения. Он идеально подходит для устройств компьютерной периферии.

Производство шагового двигателя с постоянными магнитами несложно и экономически оправдано, когда дело касается производства больших объемов. Однако из-за его относительной инертности, применение ограничено в устройствах, где требуется точное позиционирование по времени.

Шаговый двигатель с переменным магнитным сопротивлением

В шаговом двигателе с переменным магнитным сопротивлением нет постоянного магнита, и как результат этого — ротор вращается свободно, без остаточного крутящего момента. Этот тип двигателя часто используется в малогабаритных устройствах, например, в системах микро-позиционирования. Они не чувствительны к полярности тока и требуют систему управления отличную от других типов двигателей.

Гибридный шаговый двигатель

Гибридный двигатель, на сегодняшний день, является самым популярным двигателем в промышленной сфере. Его название происходит от того, что он сочетает в себе принципы работы двух других типов двигателя (с постоянными магнитами и переменным магнитным сопротивлением). Большинство гибридных двигателей имеют две фазы.

Как работает гибридный двигатель

Работу гибридного шагового двигателя легко понять, глядя на очень простую модель, которая производит 12 шагов за один оборот.

Ротор этой машины состоит из двух частей, каждая из которых имеет три зуба. Между двумя частями находится постоянный магнит, намагниченный в направлении оси ротора, создавая, таким образом, южный полюс на одной части детали, и северного полюса на другой. Статор состоит из трубки, имеющей четыре зуба внутри нее. Обмотки статора намотаны вокруг каждого такого зуба.

Когда ток протекает через одну из обмоток, ротор занимает одно из положений, показанных на рисунках. Это связано с тем что, постоянный магнит ротора пытается минимизировать магнитное сопротивление обмотки. Крутящий момент, что стремится держать ротор в этих положениях, как правило, небольшой и называется «релаксация крутящего момента». Ниже изображена схема работы двигателя с 12 шагами.

Если ток течет по двум обмоткам статора, результирующие полюса будут притягивать зубы обратной полярности на каждом конце ротора. Есть три устойчивых позиций для ротора, столько же, сколько количество зубьев на роторе. Момент, необходимый для перемещения ротора от его стабильного положения во вращательное движение называется «удержание крутящего момента»

Изменяя ток первой до второй обмотки (В), магнитное поле статора поворачивается на 90 градусов и притягивает новую пару полюсов ротора. В результате этого ротор поворачивается на 30 градусов, что соответствует полному шагу. Возвращение к первому набору обмоток статора, но с питанием обратной полярности, изменяет магнитное поле статора еще на 90 градусов, и ротор поворачивается на 30 градусов (С).

Наконец, второй набор обмоток работает в противоположном направлении, обеспечивая третье положение ротора (еще 30 градусов). Теперь мы можем вернуться снова к первому этапу (А), и после прохождения заново всех этих четырех этапов, ротор будет перемещен еще на один зуб.

Очевидно, что если полярность питания обмоток будет противоположной описанной, то вращение двигателя так же сменится на противоположное.

Режим полшага

Подавая питание поочередно на одну обмотку, а затем на две, ротор будет совершать вращение на 15 градусов в каждом шаге и таким образом количество шагов на один оборот увеличится в два раза. Этот режим называется режимом «полшага», и большинство промышленных устройств применяют этот режим. Даже если это иногда вызывает небольшую потерю крутящего момента, режим в полшага намного плавнее на низких скоростях и вызывает меньший резонанс в конце каждого шага.

Когда шаговый двигатель находится под контролем в режиме «неполного шага», две фазы одновременно находятся под напряжением и крутящий момент обеспечивается на каждом шаге. В режиме полушага, питание чередуется между двумя фазами, и отдельной обмоткой, как показано на рисунке.

Биполярные и униполярные шаговые двигатели

От того какая у шагового двигателя форма обмоток, двигатели делятся на униполярные и биполярные. У биполярного двигателя по 1 обмотке в каждой фазе. Всего две обмотки и соответственно 4 вывода (рис. а). Для обеспечения вращения вала на эти обмотки должно подаваться напряжение с изменяемой полярностью. Поэтому для биполярного двигателя необходим полумостовой либо мостовой драйвер, снабженный двухполярным питанием.

Униполярный двигатель также как и биполярный, для каждой фазы имеет по одной обмотке, но каждая обмотка содержит отвод от середины. В связи с этим, путем переключения половинок обмотки шагового двигателя, появляется возможность менять направление магнитного поля.

В данном случае значительно упрощается структура драйвера двигателя. Он должен обладать всего лишь четырьмя силовыми ключами. Соответственно, в униполярном двигателе применяется иной метод изменения направления магнитного поля. Отводы обмоток зачастую объединяются внутри двигателя, вследствие этого данный тип двигателя может обладать пятью или шестью проводами (рис. б).

Порой униполярные двигатели снабжаются четырьмя обмотками, каждая из которых содержит собственные выводы – то есть их всего восемь (рис. в). При определенном соединении этих обмоток подобный шаговый двигатель возможно использовать как биполярный либо униполярный. Кстати, униполярный двигатель, имеющий две обмотки с отводами по середине, возможно использовать и как биполярный. В этом случае провода, идущие от середины обмоток не используются.

Управление шаговым двигателем

В качестве примера управления шаговым двигателем возьмем униполярный шаговый двигатель ШД-1ЕМ, имеющий характеристики: количество шагов — 200/об., ток обмотки – 0,5А, мощность — 12 Ватт.

Драйвером, управляющим обмотками шагового двигателя выберем микросхему ULN2003A. Эта уникальная микросхема, не что иное, как транзисторная сборка по схеме Дарлингтона с открытым коллектором, снабженная диодом, защищающим цепь питания нагрузки. ULN2003A имеет семь каналов управления с током нагрузки 500мА каждый.

Входы микросхемы ULN2003A можно напрямую подключать к выходам цифровых микросхем, поскольку она имеет резисторы, подключенные к базам транзисторов. Еще одним немаловажным моментом является то, что выходы ULN2003A снабжены диодами, которые защищают микросхему от индукционных выбросов в момент коммутации обмоток шагового двигателя.

Вывод 9 микросхемы ULN2003A подведен к источнику питания через стабилитрон, который защищает схему от ЭДС самоиндукции, появляющейся в момент выключения блока питания схемы. Управление шаговым двигателем
производится с помощью компьютера через LPT порт при помощи программы:

(скачено: 1 845)

Шаговые двигатели применяются сегодня во многих промышленных сферах. Двигатели данного типа отличаются тем, что позволяют добиться высокой точности позиционирования рабочего органа, по сравнению с другими типами двигателей. Очевидно, что для работы шагового двигателя требуется точное автоматическое управление. Именно этой для этой цели и служат контроллеры шаговых двигателей
, обеспечивающие бесперебойную и точную работу электроприводов различного назначения.

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

Следующий шаг — выключается первая обмотка, питание подается на вторую и так далее, в итоге после отработки каждой обмотки ротор совершит полный оборот. Но это грубое описание, на деле алгоритмы несколько сложнее, и об этом будет рассказано далее.

Алгоритмы управления шаговым двигателем

Управление шаговым двигателем может быть реализовано по одному из четырех основных алгоритмов: попеременное включение фаз, управление с перекрытием фаз, полушаговое управление или микрошаговое управление.

В первом случае в каждый момент времени питание получает только одна из фаз, и точки равновесия ротора двигателя на каждом шагу совпадают с ключевыми точками равновесия — полюса отчетливо выражены.

Управление с перекрытием фаз позволяет ротору получить шаги к позициям между полюсными выступами статора, что увеличивает вращающий момент на 40% по сравнению с управлением без перекрытия фаз. Угол шага сохраняется, однако положение фиксации смещено — оно находится между полюсными выступами статора. Эти первые два алгоритма применяются в электротехническом оборудовании, где очень высокая точность не требуется.

Полушаговое управление — комбинация первых двух алгоритмов: через шаг питание получают то одна фаза (обмотка), то две. Размер шага уменьшается вдвое, точность позиционирования получается более высокой, снижается вероятность наступления механического резонанса в двигателе.

Наконец, микрошаговый режим. Здесь ток в фазах меняется по величине так, чтобы положение фиксации ротора на шаг приходилось бы на точку между полюсами, причем, в зависимости от соотношения величин токов в одновременно включенных фазах, таких шагов можно получить несколько. Регулируя соотношение токов, настраивая количество рабочих соотношений, получают микрошаги — наиболее точное позиционирование ротора.

Подробнее смотрите со схемами здесь:

Чтобы выбранный алгоритм реализовать практически, применяют драйвер шагового двигателя
. Драйвер содержит в себе силовую часть и контроллер.

Силовая часть драйвера — это , задача которого преобразовать подаваемые на фазы импульсы тока в перемещения ротора: один импульс — один точный шаг или микрошаг.

Направление и величина тока — направление и величина шага. То есть задача силовой части — подать ток определенной величины и направления в соответствующую обмотку статора, удержать этот ток в течение некоторого времени, а также осуществлять быстрое включение и выключение токов, чтобы скоростные и мощностные характеристики привода соответствовали бы поставленной задаче.


Чем более совершенна силовая часть драйвера, тем больший момент можно получить на валу. Вообще, тренд прогресса в совершенствовании шаговых двигателей и их драйверов — получить от двигателей малых габаритов значительный рабочий момент, высокую точность, и сохранить при этом высокий КПД.

Контроллер шагового двигателя

Контроллер шагового двигателя — интеллектуальная часть системы, которая обычно изготовлена на базе микроконтроллера с возможностью перепрограммирования. Именно контроллер отвечает за то, в какой момент, на какую обмотку, на какое время, и какой величины ток будет подан. Контроллер управляет работой силовой части драйвера.

Продвинутые контроллеры подключаются к ПК, и могут регулироваться в режиме реального времени при помощи ПК. Возможность многократного перепрограммирования микроконтроллера избавляет пользователя от необходимости каждый раз при корректировке задачи приобретать новый контроллер — достаточно перенастроить уже имеющийся, в этом гибкость, контроллер можно легко переориентировать программно на выполнение новых функций.

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

Возможности контроллеров

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

Есть в продаже блоки управления шаговым двигателем, к которым подключаются: источник тока, кнопки управления, источник тактового сигнала, потенциометр для настройки шага и т. д. Такие блоки позволяют быстро интегрировать шаговый двигатель в оборудование для выполнения повторяющихся цикличных задач с ручным или автоматическим управлением. Возможность синхронизации с внешними устройствами и поддержка автоматического включения, выключения и управления — несомненное достоинство блока управления шаговым двигателем.

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

В зависимости от характера поставленной цели выбирают способ управления шаговым двигателем. Если необходимо настроить простое управление маломощным электроприводом, когда в каждый момент времени один импульс подается на одну катушку статора: на полный оборот нужно, скажем, 48 шагов, и ротор будет перемещаться на 7,5 градусов при каждом шаге. Режим одиночных импульсов в этом случае подойдет.

Для достижения более высокого вращающего момента применяют двойной импульс — в две соседние катушки подается одновременно по импульсу. И если для полного оборота нужно 48 шагов, то опять же нужно 48 таких двойных импульсов, каждый приведет к шагу в 7,5 градусов но с на 40% большим моментом нежели в режиме одиночных импульсов. Скомбинировав оба способа можно получить 96 импульсов разделив шаги — получится 3,75 градуса на шаг — это комбинированный режим управления (полушаговый).

Часть 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 с.
  • Шаговые двигатели полезны при управлении ими программируемым устройством но тем не менее могут возникать случаи когда в сложном управлении шаговым двигателем нет необходимости и нужен, всего лишь, большой крутящий момент и/или низкие обороты. Схема простого контроллера шагового двигателя приведена на рисунке:

    Рисунок 1 — Контроллер шагового двигателя

    Контроллер состоит из мультивибратора на таймере 555 , микросхемы десятичного счётчика 4022 (CD4022 , HEF4022 и т.д.) и необязательных светодиодов с резистором для визуализации и наглядности, резистор один т.к. больше одного светодиода в данной схеме светиться не может. Счётчик десятичный т.е. при подаче на его тактовый вход (CLOCK (вывод 14)) импульсов напряжения на выводе соответствующему выходу номер которого совпадает с количеством поданных импульсов, после сброса, появляется напряжение уровня логической единицы, на всех остальных выводах выходов, при этом, устанавливаются напряжения уровня логического нуля. Вывод «11» соединён с выводом «15» для того чтобы ограничить счёт данного счётчика. Когда на тактовый вход приходит четвёртый импульс, после сброса, на выводе «11» (выход out4) появляется напряжение уровня логической единицы которое подаётся на вывод «15» (RESET) — вывод сброса, от этого счётчик происходит сброс счётчика в исходное состояние когда напряжение уровня логической единицы будет на выводе «2» который соответствует выходу out0 (т.е. 0 импульсов пришло на тактовый вход). Если вывод «15» соединить с «землёй» (GND, минус ноль питания) а «14» при этом никуда не соединять то счётчик будет считать 7 импульсов, 8ой импульс произведёт сброс и счёт пойдёт заново (так можно сделать мигалку с 8 светодиодами). Если убрать мультивибратор и светодиоды то останется только микросхема и её можно использовать с программируемым устройством для управления шаговым двигателем подавая на тактовый вход этой микросхемы импульсы с программируемого устройства. Вместе с этим контроллером можно использовать например драйвер на эмиттерных повторителях на транзисторах такая схема универсальная, безопасная при неправильном управлении но у неё есть недостатки , можно также использовать микросхему драйвер если она подходит. Схема драйвера:

    Рисунок 2 — Драйвер на транзисторах

    Шаговый двигатель подключается к драйверу

    Рисунок 3 — Шаговый двигатель

    Для возможности реверса двигателя можно поставить переключатели (или переключатель) так чтобы при переключении менялись местами выводы output1 с output4 и output2 с output3 например:

    Шаговые двигатели уже давно и успешно применяются в самых разнообразных устройствах. Их можно встретить в дисководах, принтерах, плоттерах, сканерах, факсах, а также в разнообразном промышленном и специальном оборудовании. В настоящее время выпускается множество различных типов шаговых двигателей на все случаи жизни. Однако правильно выбрать тип двигателя — это еще пол-дела. Не менее важно правильно выбрать схему драйвера и алгоритм его работы, который зачастую определяется программой микроконтроллера. Цель этой статьи — систематизировать сведения об устройстве шаговых двигателей, способах управления ими, схемах драйверов и алгоритмах. В качестве примера приведена практическая реализация простого и дешевого драйвера шагового двигателя на основе микроконтроллера семейства AVR.

    Что такое шаговый двигатель, и зачем он нужен?

    Шаговый двигатель — это электромеханичское устройство, которое преобразует электрические импульсы в дискретные механические перемещения. Так, пожалуй, можно дать строгое определение. Наверное, каждый видел, как выглядит шаговый двигатель внешне: он практически ничем не отличается от двигателей других типов. Чаще всего это круглый корпус, вал, несколько выводов (рис. 1).

    Рис. 1. Внешний вид шаговых двигателей семейства ДШИ-200.

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

    Чем же хорош шаговый двигатель?

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

    Но не все так хорошо…

    • шаговым двигателем присуще явление резонанса
    • возможна потеря контроля положения ввиду работы без обратной связи
    • потребление энергии не уменьшается даже без нагрузки
    • затруднена работа на высоких скоростях
    • невысокая удельная мощность
    • относительно сложная схема управления

    Что выбрать?

    Шаговые двигатели относятся к классу бесколлекторных двигателей постоянного тока. Как и любые бесколлекторные двигатели, они имеют высокую надежность и большой срок службы, что позволяет использовать их в критичных, например, индустриальных применениях. По сравнению с обычными двигателями постоянного тока, шаговые двигатели требуют значительно более сложных схем управления, которые должны выполнять все коммутации обмоток при работе двигателя. Кроме того, сам шаговый двигатель — дорогостоящее устройство, поэтому там, где точное позиционирование не требуется, обычные коллекторные двигатели имеют заметное преимущество. Справедливости ради следует отметить, что в последнее время для управления коллекторными двигателями все чаще применяют контроллеры, которые по сложности практически не уступают контроллерам шаговых двигателей.

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

    При проектировании конкретных систем приходится делать выбор между сервомотором и шаговым двигателем. Когда требуется прецизионное позиционирование и точное управление скоростью, а требуемый момент и скорость не выходят за допустимые пределы, то шаговый двигатель является наиболее экономичным решением. Как и для обычных двигателей, для повышения момента может быть использован понижающий редуктор. Однако для шаговых двигателей редуктор не всегда подходит. В отличие от коллекторных двигателей, у котрых момент растет с увеличением скорости, шаговый двигатель имеет больший момент на низких скоростях. К тому же, шаговые двигатели имеют гораздо меньшую максимальную скорость по сравнению с коллекторными двигателями, что ограничивает максимальное передаточное число и, соответственно, увеличение момента с помощью редуктора. Готовые шаговые двигатели с редукторами хотя и существуют, однако являются экзотикой. Еще одним фактом, ограничивающим применение редуктора, является присущий ему люфт.

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

    Виды шаговых двигателей

    Существуют три основных типа шаговых двигателей:

    • двигатели с переменным магнитным сопротивлением
    • двигатели с постоянными магнитами
    • гибридные двигатели

    Определить тип двигателя можно даже на ощупь: при вращении вала обесточенного двигателя с постоянными магнитами (или гибридного) чувствуется переменное сопротивление вращению, двигатель вращается как бы щелчками. В то же время вал обесточенного двигателя с переменным магнитным сопротивлением вращается свободно. Гибридные двигатели являются дальнейшим усовершенствованием двигателей с постоянными магнитами и по способу управления ничем от них не отличаются. Определить тип двигателя можно также по конфигурации обмоток. Двигатели с переменным магнитным сопротивлением обычно имеют три (реже четыре) обмотки с одним общим выводом. Двигатели с постоянными магнитами чаще всего имеют две независимые обмотки. Эти обмотки могут иметь отводы от середины. Иногда двигатели с постоянными магнитами имеют 4 раздельных обмотки.

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

    Двигатели с переменным магнитным сопротивлением

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

    Рис. 2. Двигатель с переменным магнитным сопротивлением.

    При включени тока в одной из катушек, ротор стремится занять положение, когда магнитный поток замкнут, т.е. зубцы ротора будут находиться напротив тех полюсов, на которых находится запитанная обмотка. Если затем выключить эту обмотку и включить следующую, то ротор поменяет положение, снова замкнув своими зубцами магнитный поток. Таким образом, чтобы осуществить непрерывное вращение, нужно включать фазы попеременно. Двигатель не чувствителен к направлению тока в обмотках. Реальный двигатель может иметь большее количество полюсов статора и большее количество зубцов ротора, что соответствует большему количеству шагов на оборот. Иногда поверхность каждого полюса статора выполняют зубчатой, что вместе с соответствующими зубцами ротора обеспечивает очень маленькое значения угла шага, порядка нескольких градусов. Двигатели с переменным магнитным сопротивлением довольно редко используют в индустриальных применениях.

    Двигатели с постоянными магнитами

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

    Рис. 3. Двигатель с постоянными магнитами.

    Показанный на рисунке двигатель имеет 3 пары полюсов ротора и 2 пары полюсов статора. Двигатель имеет 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 фирмы National Semiconductor.

    Диаграммы, диаграммы…

    Существует несколько способов управления фазами шагового двигателя.

    Первый способ обеспечивается попеременной коммутации фаз, при этом они не перекрываются, в один момент времени включена только одна фаза (рис 8а). Этот способ называют ”one phase on” full step или wave drive mode. Точки равновесия ротора для каждого шага совпадают с «естественными» точками равновесия ротора у незапитанного двигателя. Недостатком этого способа управления является то, что для биполярного двигателя в один и тот же момент времени иcпользуется 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). Недостатком этого метода является необходимость двух ключей, двух источников питания и более сложной схемы управления. В системах, где такие источники уже есть, метод может оказаться достаточно дешёвым. Еще одной трудностью является невозможность определения момента времени t 1 для общего случая. Для двигателя с меньшей индуктивностью обмоток скорость нарастания тока выше и при фиксированном 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 Кгц
    • разгон с постоянным ускорением
    • программируемое направление вращения
    • Контроллер графического ЖКИ высокого разрешения

    Часть 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 с.
  • Драйвер шагового двигателя на транзисторах

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

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

    Каскад усиления необходим, так как мощности тока на выходе из микроконтроллера недостаточно для открытия силовых транзисторов. После силовых транзисторов установлены диоды гашения самоиндукции мотора.

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

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

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

    Шаг 1.

    Нам потребуется…

    От старого сканера:

    • 1 шаговый двигатель
    • 1 микросхема ULN2003
    • 2 стальных прута

    Для корпуса: — 1 картонная коробка

    Инструменты:

    • Клеевой пистолет
    • Кусачки
    • Ножницы
    • Принадлежности для пайки
    • Краска

    Для контроллера:

    • 1 разъем DB-25 — провод
    • 1 цилиндрическое гнездо для питания постоянного тока Для испытательного стенда
    • 1 стержень с резьбой
    • 1 подходящая под стержень гайка — разные шайбы и шурупы — куски древесины

    Для управляющего компьютера:

    • 1 старый компьютер (или ноутбук)
    • 1 копия TurboCNC (отсюда)

    Шаг 2.

    Берем детали от старого сканера. Чтобы построить собственный ЧПУ контроллер нужно для начала извлечь из сканера шаговый двигатель и плату управления. Здесь не приведено никаких фотографий, потому что каждый сканер выглядит по-своему, но обычно нужно просто снять стекло и вывернуть несколько винтов. Кроме двигателя и платы можно оставить еще металлические стержни, которые потребуются для тестирования шагового двигателя.

    Шаг 3.

    Извлекаем микросхему из платы управления Теперь нужно найти на плате управления шаговым двигателем микросхему ULN2003. Если вы не смогли обнаружить ее на своем устройстве, ULN2003 можно купить отдельно. Если она есть, ее нужно выпаять. Это потребует некоторого умения, но не так уж сложно. Сначала при помощи отсоса удалите как можно больше припоя. После этого осторожно просуньте под микросхему конец отвертки. Осторожно прикоснитесь концом паяльника к каждому выводу, продолжая при этом нажимать на отвертку.

    Шаг 4.

    Пайка Теперь нам нужно припаять микросхему на макетную плату. Припаяйте к плате все выводы микросхемы. На показанной здесь макетной плате имеется две шины электропитания, поэтому положительный вывод ULN2003 (смотрите схему и на рисунке ниже) припаивается к одной из них, а отрицательный — к другой. Теперь, нужно соединить вывод 2 коннектора параллельного порта с выводом 1 ULN2003. Вывод 3 коннектора параллельного порта соединяется с выводом 2 ULN2003, вывод 4 — с выводом 3 ULN2003 и вывод 5 — с выводом 4 ULN2003. Теперь вывод 25 параллельного порта припаивается к отрицательной шине питания. Далее к управляющему устройству припаивается мотор. Делать это придется путем проб и ошибок. Можно просто припаять провода так, чтобы потом цеплять на них крокодилы. Еще можно использовать клеммы с винтовым креплением или что-нибудь подобное. Просто припаяйте провода к выводам 16, 15, 14 и 13 микросхемы ULN2003. Теперь припаяйте провод (желательно черный) к положительной шине питания. Управляющее устройство почти готово. Наконец, подсоедините к шинам электропитания на макетной плате цилиндрическое гнездо для питания постоянного тока. Чтобы провода не могли отломаться, их закрепляют клеем из пистолета.

    Шаг 5.

    Установка программного обеспечения Теперь о программном обеспечении. Единственная вещь, которая точно будет работать с вашим новым устройством — это Turbo CNC. Скачайте его . Распакуйте архив и запишите на CD. Теперь, на компьютере, который вы собираетесь использовать для управления, перейдите на диск C:// и создайте в корне папку «tcnc». Затем, скопируйте файлы с CD в новую папку. Закройте все окна. Вы только что установили Turbo CNC.

    Шаг 6.

    Настройка программного обеспечения Перезагрузите компьютер чтобы перейти к работе в MS-DOS. В командной строке наберите «C: cncTURBOCNC». Иногда лучше использовать загрузочный диск, тогда копия TURBOCNC помещается на него и нужно набирать, соответственно «A: cncTURBOCNC». Возникнет экран, похожий на изображенный на рис. 3. Нажмите пробел. Теперь вы находитесь в главном меню программы. Нажмите F1, и при помощи клавиш со стрелками выберите меню «Configure». При помощи клавиш со стрелками выберите «number of axis». Нажмите Enter. Введите количество осей, которые будут использоваться. Поскольку у нас только один мотор, выбираем «1». Нажмите Enter чтобы продолжить. Снова нажмите F1 и в меню «Configure» выберите пункт «Configure axes», затем дважды нажмите Enter.

    Появится следующий экран. Нажимайте Tab пока не перейдете к ячейке «Drive Type». При помощи стрелки вниз выберите пункт «Phase». Снова при помощи Tab выберите ячейку «Scale». Чтобы использовать калькулятор, нам нужно найти число шагов, которые двигатель делает за один оборот. Зная номер модели двигателя, можно установить на сколько градусов он поворачивается за один шаг. Чтобы найти число шагов, которые двигатель делает за один оборот, теперь нужно поделить 360 на число градусов за один шаг. Например, если мотор поворачивается за один шаг на 7,5 градусов, 360 поделить на 7,5 получится 48. Число, которое получится у вас, забейте в калькулятор шкалы (scale calculator).

    Остальные настройки оставьте как есть. Нажмите OK, и скопируйте число в ячейке Scale в такую же ячейку на другом компьютере. В ячейке Acceleration установите значение 20, поскольку установленных по умолчанию 2000 слишком много для нашей системы. Начальную скорость установите равной 20, а максимальную — 175. Нажимайте Tab пока не дойдете до пункта «Last Phase». Установите в нем значение 4. Нажимайте Tab пока не дойдете до первого ряда иксов.

    Скопируйте следующее в четыре первых ячейки:

    1000XXXXXXXX
    0100XXXXXXXX
    0010XXXXXXXX
    0001XXXXXXXX

    Остальные ячейки оставьте без изменений. Выберите OK. Теперь вы настроили программное обеспечение.

    Шаг 7.

    Строим тестовый вал Следующим этапом работы будет сборка простого вала для тестовой системы. Отрежьте 3 бруска дерева и скрепите их друг с другом. Чтобы получить ровные отверстия проведите на поверхности дерева ровную линию. Просверлите на линии два отверстия. Еще 1 отверстие просверлите посередине ниже первых двух. Отсоедините бруски. Через два отверстия, что находятся на одной линии, проденьте стальные пруты. Чтобы закрепить пруты воспользуйтесь небольшими шурупами. Проденьте пруты сквозь второй брусок. На последнем бруске закрепите двигатель. Не имеет значения, как вы это сделаете, будьте изобретательны.

    Чтобы закрепить двигатель, имевшийся в наличии, использовали два отрезка стержня с резьбой 1/8. Брусок с прикрепленным двигателем надевается на свободный конец стальных прутов. Снова закрепите их шурупами. Сквозь третье отверстие на первом бруске проденьте стержень с резьбой. Заверните на стержне гайку. Проденьте стержень сквозь отверстие во втором бруске. Поворачивайте стержень до тех пор, пока он не пройдет сквозь все отверстия и не дойдет до вала двигателя. Соедините вал двигателя и стержень при помощи шланга и зажимов из проволоки. На втором бруске гайка удерживается при помощи дополнительных гаек и винтов. В завершение, отрежьте брусок дерева для подставки. Привинтите ее шурупами ко второму бруску. Проверьте, установлена ли подставка ровно на поверхности. Регулировать положение подставки на поверхности можно при помощи дополнительных винтов и гаек. Так делается вал для тестовой системы.

    Шаг 8.

    Подсоединяем и тестируем двигатель Теперь нужно соединить двигатель с контроллером. Во-первых, соедините общий провод (смотрите документацию к двигателю) с проводом, который был припаян к положительной шине питания. Другие четыре провода соединяются путем проб и ошибок. Соедините их все, и затем меняйте порядок соединения, если ваш двигатель делает два шага вперед и один назад или что-либо подобное. Для проведения тестирования подключите 12 В 350 мА источник питания постоянного тока в цилиндрическое гнездо. Затем соедините разъем DB25 c компьютером. В TurboCNC проверьте как соединен двигатель. В результате тестирования и проверки правильного подсоединения двигателя у вас должен получиться полностью работоспособный вал. Чтобы проверить масштабирование вашего устройства, прикрепите к нему маркер и запустите тестовую программу. Измерьте получившуюся линию. Если длина линии составляет порядка 2-3 см, устройство работает правильно. В противном случае, проверьте вычисления в шаге 6. Если у вас все получилось, поздравляем, самое трудное уже позади.

    Шаг 9.

    Изготовление корпуса

    Часть 1

    Изготовление корпуса — это завершительный этап. Присоединимся к защитникам природы и сделаем его из вторсырья. Тем более, что контроллер у нас тоже не с магазинных полок. У представленного вашему вниманию образца плата имеет размер 5 на 7,5 см, поэтому корпус будет размером 7,5 на 10 на 5 см, чтобы оставить достаточно места для проводов. Из картонной коробки вырезаем стенки. Вырезаем 2 прямоугольника размером 7,5 на 10 см, еще 2 размером 5 на 10 см и еще 2 размером 7,5 на 5 см (см. рисунки). В них нужно вырезать отверстия для разъемов. Обведите контуры разъема параллельного порта на одной из 5 х 10 стенок. На этой же стенке обведите контуры цилиндрического гнезда для питания постоянного тока. Вырежьте по контурам оба отверстия. То, что вы будете делать дальше, зависит от того, припаивали ли вы к проводам двигателя разъемы. Если да, то закрепите их снаружи второй пока пустой стенки размером 5 х 10. Если нет, проткните в стенке 5 отверстий для проводов. При помощи клеевого пистолета соедините все стенки вместе (кроме верхней, см. рисунки). Корпус можно покрасить.

    Шаг 10.

    Изготовление корпуса

    Часть 2

    Теперь нужно приклеить все компоненты внутрь корпуса. Убедитесь, что на разъемы попало достаточно много клея, потому что они будут подвергаться большим нагрузкам. Чтобы коробка оставалась закрытой, нужно сделать защелки. Из пенопласта вырежьте пару ушек. Затем вырежьте пару полос и четыре небольших квадратика. Приклейте по два квадратика к каждой из полос как показано на рисунке. Приклейте ушки по обеим сторонам корпуса. Сверху коробки приклейте полосы. Этим завершается изготовление корпуса.

    Шаг 11.

    Возможные применения и заключение Этот контроллер можно применять как: — ЧПУ устройство — плоттер — или любую другую вещь, которой нужно точное управление движением. — добавление- Здесь приведены схема и инструкции по изготовлению контроллера с тремя осями. Чтобы настроить программное обеспечение, следуйте вышеуказанным шагам, но в поле «number of axis» введите 3.

    зарегистрироваться
    .

    Краткое введение в теорию и типы драйверов, советы по подбору оптимального драйвера для шагового двигателя.

    Если вы хотите
    купить драйвер шагового двигателя
    , нажмите на информер справа

    Некоторые сведения, которые могут помочь вам выбрать драйвер шагового двигателя
    .

    Шаговый двигатель – двигатель со сложной схемой управления, которому требуется специальное электронное устройство – драйвер шагового двигателя.
    Драйвер шагового двигателя получает на входе логические сигналы STEP/DIR, которые, как правило, представлены высоким и низким уровнем опорного напряжения 5 В, и в соответствии с полученными сигналами изменяет ток в обмотках двигателя, заставляя вал поворачиваться в соответствующем направлении на заданный угол. >Сигналы STEP/DIR генерируются ЧПУ-контроллером или персональным компьютером, на котором работает программа управления типа Mach3 или LinuxCNC.

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

    Типы (виды) драйверов ШД

    Драйверы делятся по способу закачки тока в обмотки на несколько видов:

    1) Драйверы постоянного напряжения

    Эти драйверы подают постоянный уровень напряжения поочередно на обмотки, результирующий ток зависит от сопротивления обмотки, а на высоких скоростях – и от индуктивности. Эти драйверы крайне неэффективны, и могут быть использованы только на очень малых скоростях.

    2) Двухуровневые драйверы

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

    3) Драйверы с ШИМ.

    На текущий момент ШИМ-драйверы шаговых двигателей наиболее популярны, практически все драйверы на рынке – этого типа. Эти драйверы подают на обмотку шагового мотора ШИМ-сигнал очень высокого напряжения, которое отсекается по достижению током необходимого уровня. Величина силы тока, по которой происходит отсечка, задается либо потенциометром, либо DIP-переключателем, иногда эта величина программируется с помощью специального ПО. Эти драйверы достаточно интеллектуальны, и снабжены множеством дополнительных функций, поддерживают разные деления шага, что позволяет увеличить дискретность позиционирования и плавность хода. Однако, ШИМ-драйверы также весьма сильно отличаются друг от друга. Помимо таких характеристик, как питающее напряжение и максимальный ток обмотки, у них отличается частота ШИМ. Лучше, если частота драйвера будет более 20 кГц, и вообще, чем она больше – тем лучше. Частота ниже 20 кГц ухудшает ходовые характеристики двигателей и попадает в слышимый диапазон, шаговые моторы начинают издавать неприятный писк. Драйверы шаговых двигателей вслед за самими двигателями делятся на униполярные и биполярные. Начинающим станкостроителям настоятельно рекомендуем не экспериментировать с приводами, а выбрать те, по которым можно получить максимальный объем технической поддержки, информации и для которых продукты на рынке представлены наиболее широко. Такими являются драйверы биполярных гибридных шаговых двигателей.

    Как выбрать драйвер шагового двигателя (ШД)

    Первый параметр
    , на который стоит обратить внимание, когда вы решили выбрать драйвер шагового двигателя – это сила тока, которую может обеспечить драйвер. Как правило, она регулируется в достаточно широких пределах, но стоит драйвер нужно выбирать такой, который может выдавать ток, равный току фазы выбранного шагового двигателя. Желательно, конечно, чтобы максимальная сила тока драйвера была еще на 15-40% больше. С одной стороны, это даст запас на случай, если вы захотите получить больший момент от мотора, или в будущем поставите более мощный двигатель, с другой – не будет излишней: производители иногда «подгоняют» номиналы радиоэлектронных компонентов к тому или иному виду/размеру двигателей, поэтому слишком мощный драйвер на 8 А, управляющий двигателем NEMA 17 (42 мм), может, к примеру, вызывать излишние вибрации.

    Второй момент
    – это напряжение питания. Весьма важный и неоднозначный параметр. Его влияние достаточно многогранно – напряжение питания влияет на динамику(момент на высоких оборотах), вибрации, нагрев двигателя и драйвера. Обычно максимальное напряжение питания драйвера примерно равно максимальному току I, умноженному на 8-10. Если максимальное указанное напряжение питания драйвера резко отличается от данных величин – стоит дополнительно поинтересоваться, в чем причина такой разницы. Чем больше индуктивность двигателя — тем большее напряжение требуется для драйвера. Существует эмпирическая формула U = 32 * sqrt(L), где L — индуктивность обмотки шагового двигателя. Величина U, получаемая по этой формуле, весьма приблизительная, но она позволяет ориентироваться при выборе драйвера: U должно примерно равняться максимальному значению напряжения питания драйвера. Если вы получили U равным 70, то по данному критерию проходят драйверы EM706, AM882, YKC2608M-H.

    Третий аспект
    – наличие опторазвязанных входов. Практически во всех драйверах и контроллерах, выпускаемых на заводах, тем более брендовых, опторазвязка стоит обязательно, ведь драйвер – устройство силовой электроники, и пробой ключа может привести к мощному импульсу на кабелях, по которым подаются управляющие сигналы, и выгоранию дорогостоящего ЧПУ-контроллера. Однако, если вы решили выбрать драйвер ШД незнакомой модели, стоит дополнительно поинтересоваться наличием оптоизоляции входов и выходов.

    Четвертый аспект
    – наличие механизмов подавления резонанса. Резонанс шагового двигателя – явление, которое проявляется всегда, разница только в резонансной частоте, которая прежде всего зависит от момента инерции нагрузки, напряжения питания драйвера и установленной силы тока фазы мотора. При возникновении резонанса шаговый двигатель начинает вибрировать и терять крутящий момент, вплоть до полной остановки вала. Для подавления резонанса используется микрошаг и – встроенные алгоритмы компенсации резонанса. Колеблющийся в резонансе ротор шагового двигателя порождает микроколебания ЭДС индукции в обмотках, и по их характеру и амплитуде драйвер определяет, есть ли резонанс и насколько он силен. В зависимости от полученных данных драйвер несколько смещает шаги двигателя во времени относительно друг друга – такая искусственная неравномерность нивелирует резонанс. Механизм подавления резонанса встроен во все >драйверы Leadshine серий DM, AM и EM. Драйверы с подавлением резонанса – высококачественные драйверы, и если бюджет позволяет – лучше брать именно такие. Впрочем, и без этого механизма драйвер остается вполне рабочим устройством – основная масса проданных драйверов – без компенсации резонанса, и тем не менее десятки тысяч станков без проблем работают по всему миру и успешно выполняют свои задачи.

    Пятый аспект
    – протокольная часть. Надо убедиться, что драйвер работает по нужному вам протоколу, а уровни входных сигналов совместимы с требуемыми Вам логическими уровнями. Эта проверка идет пятым пунктом, потому что за редким исключением подавляющее число драйверов работает по протоколу STEP/DIR/ENABLE и совместимо с уровнем сигналов 0..5 В, вам надо только лишь на всякий случай убедиться.

    Шестой аспект
    – наличие защитных функций. Среди них защита от превышения питающего напряжения, тока обмоток(в т.ч. от короткого замыкания обмоток), от переполюсовки питающего напряжения, от неправильного подключения фаз шагового мотора. Чем больше таких функций — тем лучше.

    Седьмой аспект
    – наличие микрошаговых режимов. Сейчас практически в каждом драйвере есть множество микрошаговых режимов. Однако, из каждого правила есть исключения, и в драйверах Geckodrive режим только один – деления шага 1/10. Мотивируется это тем, что большее деление не приносит большей точности, а значит, в нем нет необходимости. Однако, практика показывает, что микрошаг полезен вовсе не повышением дискретности позиционирования или точности, а тем, что чем больше деление шага, тем плавней движение вала мотора и меньше резонанс. Соответственно, при прочих равных условиях стоит использовать деление чем больше, тем лучше. Максимально допустимое деление шага будет определяться не только встроенными в драйвер таблицами Брадиса, но и максимальной частотой входных сигналов – так, для драйвера со входной частотой 100 кГц нет смысла использовать деление 1/256, так как скорость вращения будет ограничена 100 000 / (200 * 256) * 60 = 117 об/мин, что для шагового двигателя очень мало. Кроме того, персональный компьютер тоже с трудом сможет генерировать сигналы с частотой более 100 кГц. Если вы не планируете использовать аппаратный ЧПУ контроллер, то 100 кГц скорее всего будет Вашим потолком, что соответствует делению 1/32.

    Восьмой аспект
    – наличие дополнительных функций. Их может быть множество, например, функция определения «срыва» — внезапной остановки вала при заклинивании или нехватки крутящего момента у шагового двигателя, выходы для внешней индикации ошибок и т.п. Все они не являются необходимыми, но могут сильно облегчить жизнь при построении станка.

    Девятый, и самый важный аспект
    – качество драйвера. Оно практически не связано с характеристиками и т.п. На рынке существует множество предложений, и иногда характеристики драйверов двух производителей совпадают практически до запятой, а установив их по очереди на станок, становится ясно, что один из производителей явно занимается не своим делом, и в производстве недорогих утюгов ему больше повезет. Определить уровень драйвера заранее по каким-то косвенным данным новичку достаточно трудно. Можно попробовать ориентироваться на количество интеллектуальных функций, таких как «stall detect» или подавление резонанса, а также воспользоваться проверенным способом — ориентироваться на бренды.

    В статье приводятся принципиальные схемы вариантов простого, недорогого контроллера шагового двигателя и резидентное программное обеспечение (прошивка) для него.

    Общее описание.

    Контроллер шагового двигателя разработан на 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 значений дискретности в сек.
    • При остановленном двигателе (сигнал ВКЛ не активен).
      • Нажатие кнопки «+» задает режим вращения в прямом направлении.
      • Нажатие кнопки «–» переводит контроллер в режим реверсивного вращения.
    • Для выбора режима – полношаговый или полушаговый необходимо при подаче питания на контроллер удерживать кнопку «–» в нажатом состоянии. Режим управления двигателем будет изменен на другой (проинвертирован). Достаточно выдержать кнопку – нажатой в течение 0,5 сек.

    Схема контроллера униполярного шагового двигателя с драйвером на 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 проводов выводы промаркированы следующим цветами.

    Конфигурация с 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 провода выводы промаркированы следующим цветами.

    Схема подключения биполярного шагового двигателя с 6 проводами (выводами).

    Для двигателей FL20STH, FL28STH, FL35ST, FL39ST, FL42STH, FL57ST, FL57STH с такой конфигурацией обмоток выводы промаркированы следующим цветами.

    Такая схема требует напряжения питания в два раза большего по сравнению с униполярным включением, т.к. сопротивление обмоток в два раза больше. Скорее всего, контроллер надо подключать к питанию 24 В.

    Схема подключения биполярного шагового двигателя с 8 проводами (выводами).

    Может быть два варианта:

    • с последовательным включением
    • с параллельным включением.

    Схема последовательного включения обмоток.

    Схема с последовательным включением обмоток требует в два раза большего напряжения обмоток. Зато не увеличивается ток фазы.

    Схема параллельного включения обмоток.

    Схема с параллельным включением обмоток увеличивает в 2 раза фазные токи. К достоинствам этой схемы можно отнести, низкую индуктивность фазных обмоток. Это важно на больших скоростях вращения.

    Т.е. выбор между последовательным и параллельным включением биполярного шагового двигателя с 8 выводами определяется критериями:

    • максимальный ток драйвера;
    • максимальное напряжение драйвера;
    • скорость вращения двигателя.

    Программное обеспечение (прошивка) для PIC12F629 можно загрузить .

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *