Однополюсный драйвер шагового двигателя на 3,5 А

ОБОРУДОВАНИЕ
ТЕХНОЛОГИИ
РАЗРАБОТКИ

Блог технической поддержки моих разработок

Драйверы шагового двигателя: униполярный, биполярный, L298N.

Как правило, логические сигналы для управления шаговым двигателем формирует микроконтроллер. Ресурсов современных микроконтроллеров вполне хватает для этого даже в самом ”тяжелом” режиме – микрошаговом.

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

В функцию драйверов входит:

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

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

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

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

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

Драйвер униполярного шагового двигателя.

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

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

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

Если последовательно замыкать ключи 1, 2, 3, 4, то ротор двигателя будет вращаться.

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

Практически ключи можно выполнить на биполярных транзисторах, но предпочтительнее использовать низкопороговые MOSFET транзисторы. Я применяю транзисторы IRF7341. Это MOSFET транзисторы с параметрами:

  • максимально допустимый ток 4 А;
  • предельное напряжение 55 В;
  • сопротивление в открытом состоянии 0,05 Ом;
  • порог включения 1 В;
  • выполнены в миниатюрном корпусе SO-8;
  • в корпусе два транзистора.

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

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

На биполярных транзисторах ключи с такими параметрами создать не возможно. Есть много других вариантов MOSFET транзисторов для ключей, например IRF7313 ( 6 А, 30 В, 0,029 Ом).

Схема ключа на MOSFET транзисторе для одной фазы выглядит так.

Ключ управляется непосредственно от микроконтроллера логическими уровнями KMOП или TTL ( 0 / +5 В). При управляющем сигнале высокого уровня (+5 В) ключ открыт, и через обмотку фазы идет ток. Диод шунтирует обмотку двигателя в обратном направлении. Он необходим для защиты транзистора от бросков напряжения самоиндукции при выключении фазы. Для управления двигателями на значительных скоростях вращения, лучше использовать высокочастотные диоды, например, FR207.

Вот фрагмент схемы подключения униполярного шагового двигателя к микроконтроллеру.

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

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

А это изображение платы контроллера униполярного шагового двигателя с PIC контроллером фирмы Microchip.

Простая плата с восьми разрядным микроконтроллером PIC18F2520 управляет:

  • двумя шаговыми двигателями с током фазы до 3 А;
  • двумя ШИМ ключами для электромагнитов;
  • считывает состояние 4х датчиков;
  • обменивается данными по сети с центральным контроллером.

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

  • полно-шаговый, одна фаза на полный шаг;
  • полно-шаговый, две фазы на полный шаг;
  • полу-шаговый;
  • фиксацию положения двигателя при остановке.

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

  • простой, дешевый, надежный драйвер.
  • в униполярном режиме крутящий момент примерно на 40 % меньше по сравнению с биполярным режимом.

Драйвер биполярного шагового двигателя.

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

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

Драйвер биполярного двигателя должен обеспечивать сложную коммутацию. Каждая обмотка:

  • подключается в прямой полярности к источнику напряжения;
  • отключается от источника напряжения;
  • подключается с противоположной полярностью.

Схема коммутации одной обмотки биполярного двигателя выглядит так.

Для обеспечения двух полярных коммутаций от одного источника питания требуется 4 ключа. При замыкании 1 и 2 ключей обмотка подключается к источнику питания в прямой полярности. Замыкание 3 и 4 ключей подает на обмотку обратную полярность напряжения.

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

  • сложное управление верхними ключами ( 1 и 4) от логических сигналов “привязанных” к земле;
  • проблемы со сквозными токами при одновременном открывании ключей одного плеча ( 1,3 или 2,4).

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

Читайте также:
Звуковой светодиодный выключатель света с таймером

Схема драйвера биполярного шагового двигателя.

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

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

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

Драйвер биполярного шагового двигателя L298N.

Описания этой микросхемы на русском языке практически нет. Поэтому привожу параметры L298N достаточно подробно, по официальным материалам производителя этой микросхемы – компании STMicroelectronics (datasheet l298n.pdf).

L298N это полный мостовой драйвер для управления двунаправленными нагрузками с токами до 2 А и напряжением до 46 В.

  • Драйвер разработан для управления компонентами с индуктивными нагрузками, такими как электромагниты, реле, шаговые двигатели.
  • Сигналы управления имеют TTL совместимые уровни.
  • Два входа разрешения дают возможность отключать нагрузку независимо от входных сигналов микросхемы.
  • Предусмотрена возможность подключения внешних датчиков тока для защиты и контроля тока каждого моста.
  • Питание логической схемы и нагрузки L298N разделены. Это позволяет подавать на нагрузку напряжение другой величины, чем питание микросхемы.
  • Микросхема имеет защиту от перегрева на уровне + 70 °C.

Структурная схема L298N выглядит так.

Микросхема выполнена в 15ти выводном корпусе с возможностью крепления радиатора охлаждения.

Назначение выводов L298N.

1 Sense A Между этими выводами и землей подключаются резисторы – датчики тока для контроля тока нагрузки. Если контроль тока не используется, они соединяются с землей.
15 Sense B
2 Out 1 Выходы моста A.
3 Out 2
4 Vs Питание нагрузки. Между этим выводом и землей должен быть подключен низкоимпедансный конденсатор емкостью не менее 100 нФ.
5 In 1 Входы управления мостом A. TTL совместимые уровни.
7 In 2
6 En A Входы разрешения работы мостов. TTL совместимые уровни. Низкий уровень сигналов запрещает работу моста.
11 En B
8 GND Общий вывод.
9 Vss Питание логической части микросхемы (+ 5 В). Между этим выводом и землей должен быть подключен низкоимпедансный конденсатор емкостью не менее 100 нФ.
10 In 3 Входы управления мостом B. TTL совместимые уровни.
12 In 4
13 Out 3 Выходы моста B.
14 Out 4


Предельно допустимые параметры L298N.

Параметры расчетов тепловых режимов.

Обозначение Параметр Значение
Tth j-case Тепловое сопротивление кристалл-корпус 3 ºC/Вт
Tth j-amb Тепловое сопротивление кристалл-окружающая среда 35 ºC/Вт

Электрические характеристики драйвера L298N.

Схема подключения шагового двигателя к микроконтроллеру с помощью драйвера L298N.

Диаграмма работы этой схемы в полношаговом режиме выглядит так.

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

По функциям это аналог контроллера описанного в главе про униполярные двигатели, только для биполярного. Он также собран на PIC контроллере фирмы Microchip и управляет двумя биполярными шаговыми двигателями с током фаз до 2 А. Функциональные возможности и режимы управления двигателем те же.

К достоинствам управления шаговым двигателем в биполярном режиме следует отнести:

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

Однополюсный драйвер шагового двигателя на 3,5 А

Этот компактный однополюсный драйвер способен управлять униполярными шаговыми двигателями с силой тока до 3,5 А, а также с питанием от 10-ти до 50-ти В постоянного тока. Рассматриваемая плата основана на системе STK672-440BN, формирующейся от полупроводникового прибора ON. По своей технической природе STK672-440BN является гибридной информационной системой, которая применяется в качестве однополярного двухфазного шагового двигателя. Данная система оснащена контролем тока типа PWM. Её управление является микрошаговым.

Примечание. Несмотря на то, что граничным питанием для двигателя является 50 В постоянного тока, рекомендуется не применять напряжение выше 36 В (так можно точно гарантировать безопасную и долгую эксплуатацию). Кроме того, допускается использование питания меньше 10 В. Для этого необходимо снимать плату системы U2 LM317. Благодаря данной операции, можно заставить двигатель функционировать даже при 5 Вольтах постоянного тока, идущих от внешнего источника.

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

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

На плате присутствует светодиод типа D2. Он служит индикатором неисправности при перегрузке сети либо при перегревании двигателя.

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

Через контакт CN3 осуществляется прямое подключение шагового двигателя.

Контакт CN1 служит точкой подключения оптимального внешнего источника питания (от 10-ти до 36 Вольт).

Читайте также:
Двухканальный регулятор охлаждения

Основные технические особенности платы:

    допустимым показателем внешнего питания является 36 В постоянного тока (при надобности, может использоваться и 50-вольтовый источник);

номинальная сила тока — 3,5 А;

плата может использоваться для управления шаговыми моторами, состоящими из 5-ти, 6-ти либо 8-ми проводов;

имеется функция отключения мотора при открытии защитных перегородок;

присутствует датчик перегрузки напряжения, отключающий плату;

есть датчик перегрева мотора, отключающий всю систему;

имеется сигнальный модуль FAULT1, который издает активный низкий звук при возникновении каких-либо технических проблем (перегрев мотора, сетевая перегрузка и так далее);

присутствует сигнальный модуль FAULT 2, который издает звук при активации защитной цепи;

есть интегрированная функция сброса питания;

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

имеется несколько внешних контактов для более удобного подключения платы;

4-фазный распределитель можно переключать (чтобы сделать эту функцию доступной, необходимо монтировать дополнительный контакт типа MODE3);

активные фазы работы поддерживаются даже при переключении распределителя;

присутствует специальный резистор обнаружения тока;

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

  • специальный выход типа ENABLE может задействоваться в целях ограничения мощности выходного тока.
  • Ниже схематически показан принцип работы описываемого драйвера:

    Далее идёт точный список деталей:

    Ниже схематически представлено устройство коннекторов драйвера:

    Здесь представлена таблица значений при осуществлении микрошагов двигателя:

    Ниже идёт фотография готовой платы:

    Завершаем наш обзор печатными платами драйвера:

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

    Доброго вам времени суток, уважаемые гики и сочувствующие!

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

    Что же такое этот самый шаговый электродвигатель? В принципе, в плане функциональности этот мотор можно представить как обычный электромотор, каждый оборот вала которого разбит на множество одинаковых, точно фиксированных шагов. Перемещением на определённое количество шагов мы можем позиционировать вал шагового мотора с высокой точностью и хорошей повторяемостью. Каждый шаг можно разбить на множество ступенек (так называемый микростеппинг), что увеличивает плавность хода мотора, способствует подавлению резонансов, а также увеличивает угловое разрешение. Различия между полношаговым режимом (слева), 1/2 микростеппингом (в центре) и 1/16 микростеппингом (справа) видны невооружённым глазом:

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

    Из этой картинки видно, что шаговый мотор в электрическом плане представляет собой два или более электромагнита, которые необходимо переключать в определённой последовательности для приведения ротора в движение.
    Лирическое отступление: На настоящий момент существуют два основных типа шаговых моторов: униполярный и биполярный. Поскольку униполярные моторы имеют меньший крутящий момент и худшие скоростные характеристики, в данной публикации они рассматриваться не будут.
    Итак, вернёмся к управлению биполярным мотором. Как это ни парадоксально звучит, но зачастую проще обсуждать общие принципы на конкретных примерах. В качестве примера мы возьмём шаговый мотор ST4118L1804-A производителя Nanotec. Почему именно этот мотор и производитель? Причина проста: по основным характеристикам это типичный представитель моторов типоразмера NEMA 17, широко применяющихся в радиолюбительской практике, и имеет к тому же довольно подробную техдокументацию (которая начисто отсутствует у китайских noname-моторов).

    Основные характеристики данного мотора:
    Рабочее напряжение 3,15 В
    Рабочий ток 1,8 А
    Активное сопротивление обмотки 1,75 Ом
    Индуктивность обмотки 3,3 мГн
    Момент удержания 0,5 Нм
    Угловой размер шага 1,8° (200 шагов на один оборот ротора)

    В данном случае самое главное — это правильная интерпретация данных. Применив закон Ома, выясняем, что производитель указал рабочий ток и напряжение для постоянного тока, протекающего через обмотки двигателя, без учёта индуктивности.
    Проверка: I = U/R, или 1,8 А = 3,15 В/1,75 Ом. Всё сходится.
    Какой же будет мощность рассеяния при питании обмоток постоянным током?
    Всё просто: P=I x U, или 1,8 А х 3,15 В = 5,67 Вт. В полушаговом режиме возможна ситуация, когда ток течёт через обе обмотки мотора, соответственно рассеиваемую мощность нужно удвоить: 5,67 Вт х 2 = 11,34 Вт. Это достаточно много, и может привести к перегреву мотора. Эта же величина является минимальной мощностью блока питания для этого мотора. Обыкновенный 3D принтер имеет пять подобных моторов, соответственно для питания драйверов необходим источник питания с минимальной мощностью 11,34 Вт х 5 = 56,7 Вт. К этой цифре необходимо добавить электрическую мощность, превращённую мотором в кинетическую или потенциальную энергию при работе принтера. Точный расчёт этой мощности — дело достаточно сложное, на практике проще всего добавить 75% к рассчитанной тепловой мощности и на том завершить расчёты. Почему именно 75%? Дело в том, что обычный шаговый мотор способен совершить полезную работу на величину примерно 2/3 от максимальной тепловой мощности. В данном случае для создания какого-либо узла или устройства сначала подбирается подходящий мотор (например, по крутящему моменту), а после этого рассчитывается мощность блока питания.
    Итоговая мощность блока питания для пяти шаговых моторов: 56,7 Вт х 1,75 = 99,225 Вт.
    Конечно, на практике ни в одном любительском устройстве не используются моторы под максимальной нагрузкой, и реальная мощность потребления будет, скорее всего, намного ниже расчётной. Я же, как человек ленивый и скаредный, крайне не люблю делать одно и то же два раза, поэтому беру блок питания всегда с некоторым запасом (то есть, согласно вышеприведённым расчётам).
    Теперь пришла пора приступить к определению минимально необходимого напряжения блока питания. К сожалению, этому параметру уделяется незаслуженно маленькое внимание в тематических публикациях. Почему этот параметр так важен? Дело в том, что при вращении ротора шагового мотора через катушки течёт переменный ток, ограниченный не только активным, но также и индуктивным сопротивлением обмоток.
    Рассмотрим предоставленный производителем график зависимости крутящего момента нашего мотора от частоты вращения:

    На графике присутствуют две линии, показывающие зависимость крутящего момента от частоты вращения для напряжения питания 24 В (красная линия) и 48 В (зелёная линия). Нетрудно заметить, что спад крутящего момента начинается примерно с 300 об/мин для 24 В и примерно с 600-700 об/мин для напряжения 48 В. При этом необходимо упомянуть, что производитель использует недоступные любителям дорогостоящие промышленные драйверы. Почему же так важно напряжение питания драйвера, если оно даже в случае питания от 12 В заведомо выше паспортной величины напряжения питания шагового мотора (3,15 В)? Дело в том, что шаговый мотор управляется током, а не напряжением, и именно источниками тока являются все современные драйверы. В идеальном случае драйвер обеспечивает заданный ток в обмотках двигателя вне зависимости от частоты вращения ротора, нагрузки, изменения температуры и других параметров. Это организовано за счёт работы ШИМ-регулятора, управляемого зачастую довольно сложными алгоритмами. Из технической документации нашего мотора видно, что для полного оборота ротору необходимо совершить 200 шагов, при 300 об/мин это составит 60 000 шагов в минуту, или 1000 шагов в секунду. Это, проще говоря, соответствует переменному току частотой 1 кГц. На этой частоте индуктивное сопротивление обмотки составит (R(L)=2π×F×L): 2π х 1 кГц х 3,3 мГн = 20,73 Ом. Какое же напряжение необходимо для обеспеченияя тока в 1,8 А при этом сопротивлении? Закон Ома не дремлет (U=IR): 1,8 А х 20,73 Ом = 37,31 В. Неудивительно, что выше частоты вращения 300 об/мин наблюдается спад крутящего момента: драйверу банально не хватает напряжения питания. Почему же при таком вопиющем недостатке питания (37 — 24 =13 В) спад не наступает при более низкой частоте вращения? Дело в том, что в современных драйверах используется мостовая схема выходных каскадов, что позволяет «удваивать» напряжение, прикладываемое к обмоткам мотора. То есть, теоретически драйвер способен приложить «виртуальные» 48 В к обмоткам при напряжении питания 24 В, что создаёт теоретический запас по напряжению 48 — 37 = 11 В. На практике же этот запас будет нивелирован потерями в драйвере, сопутствующих цепях и активным сопротивлением обмоток мотора (активное сопротивление обмоток присутствует постоянно, и даже несколько возрастает при нагреве мотора). При увеличении частоты вращения ротора свыше 300 об/мин пропорционально растёт частота импульсов и, соответственно, увеличивается индуктивное сопротивление обмотки. При питании от 24 В драйверу перестаёт хватать напряжения питания для поддержания тока в обмотках, и крутящий момент неуклонно снижается. То же самое происходит при питании драйвера от 48 В, но уже гораздо значительно позже, при частоте вращения 600-700 об/мин.
    Итак, с мощностью и величиной напряжения блока питания всё ясно, теперь необходимо переходить к практической реализации универсального драйвера, способного как к филигранной работе при помощи крохотных NEMA 11, так и к сотрясению основ мира в паре с могучими NEMA 23. Какими же основными качествами должен иметь драйвер моей мечты?

    Читайте также:
    Часы реального времени на жидкокристаллическом дисплее

    1. Высокое напряжение питания. Поскольку в техдокументации к моторам крайне редко указано максимальное напряжение питания, лучше будет ограничиться напряжением 48 В.
    2. Важнейший параметр: высокий выходной ток. NEMA 23 имеют рабочие токи вплоть до 3,5 А, драйвер должен обеспечивать этот ток с запасом 30%. Путём нехитрых расчётов получаем максимальный рабочий ток около 4,5 А.
    3. Простая и оперативная подстройка силы выходного тока.
    4. Наличие микростеппинга, как минимум 1/8 шага
    5. Наличие защиты от КЗ, перегрева, и т.д.
    6. Небольшой размер, возможность крепления произвольного радиатора.
    7. Исполнeние в виде интегральной схемы. XXI век на дворе!
    8. Простая схема включения с минимальным количеством дискретных компонентов.
    9. Низкая цена.

    После множества бессонных ночей пятиминутного копания в Google выяснилось, что единственной доступной микросхемой драйвера с подходящими параметрами является TB6600HG. Покупка готового китайского драйвера на eBay показала, что не всё ладно в датском королевстве, далеко не всё. В частности, китайский драйвер отказался напрямую работать с выходами Arduino Due, и «завёлся» только через буферный преобразователь уровней. При работе с трёхамперной нагрузкой драйвер грелся и терял шаги десятками. Вскрытие пациента показало, что в нём не только была установлена микросхема предыдущего поколения (TB6560), а даже и термопаста не смогла найти себе места в списке компонентов. К тому же размерами и весом китайский драйвер наводил меня на мысли о моей молодости… о прошлом веке, если быть совсем точным. Ну нафиг, сказал во мне интеллигент в третьем поколении, мы сделаем свой драйвер, с преферансом и поэтессами. Если бы разработчики KiCAD видели, как я обращаюсь с их детищем, я разорился бы на одних только адвокатах:


    С целью минимизации размеров была спроектирована четырёхслойная печатная плата. Этот факт, к сожалению, исключает её изготовление в домашних условиях. Посему на берлинской фирме LeitOn были заказаны 36 таких плат, каждая из которых обошлась в итоге около пяти евро. Часть этих плат были впоследствии выкуплены у меня собратьями по увлечению, и в итоге изготовление плат вышло не слишком накладным предприятием. Микросхемы TBB6600HG были заказаны на Aliexpress по 4 евро за штуку, остальные компоненты были заказаны на eBay, в пересчёте на один драйвер цена дискретных компонентов составила 2 евро. В качестве радиаторов были взяты пятисантиметровые отрезки П-образного алюминиевого профиля, пластиковые каркасы были отпечатаны на 3D принтере. Итого цена одного драйвера составила около 12 евро. Это справедливая цена за драйвер со следующими характеристиками:

    Читайте также:
    Регулятор температуры для низковольтного паяльника

    Напряжение питания от 8 до 42 Вольт
    Максимальный долговременный рабочий ток 4,5 Ампер, устанавливается потенциометром
    Микростеппинг вплоть до 1/16 шага
    Защита: КЗ, перегрев, низкое напряжение питания
    Компактные размеры и низкий вес
    Работа с уровнями входных сигналов от 3,3 до 5,5 вольт
    Простая установка микростеппинга с помошью микропереключателей — к чёрту перемычки!

    Готовые печатные платы:

    Собранные и недособранные драйверы.

    Видео работы драйвера в моём старом 3D принтере. Здесь трёхамперный NEMA 17 бодро гоняет подогреваемую рабочую площадку принтера размером 45 х 25 см через шестнадцатимиллиметровый шпиндель длиной 60 см:

    Финальное фото: самодельные драйвера на своём рабочем месте в моём новом 3D принтере.

    Публикуется под лицензией WTFPL

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

    Владимир Рентюк, Запорожье, Украина

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

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

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

    Рисунок 9. Драйвер униполярного шагового двигателя. (Дополнительная
    информация по подключению на Рисунках 10 и 12).

    Естественно, что выбор типа транзистора для ключей управления обмотками должен происходить с учетом максимального тока коммутации, а его подключение учитывать необходимость заряда/разряда емкости затвора. В ряде случаев прямое соединение MOSFET с ИМС коммутатора может быть недопустимым. Как правило, в затворах устанавливаются последовательно включенные резисторы небольших номиналов. Но в ряде случае необходимо предусмотреть еще и соответствующий драйвер для управления ключами, который обеспечит заряд/разряд их входной емкости. В некоторых решениях предлагается в качестве ключей использовать биполярные транзисторы. Это подходит только для очень маломощных двигателей с небольшим током обмоток. Для рассматриваемого двигателя с рабочим током обмоток I = 230 мА ток управления по базе ключа должен составить, по крайней мере, 15 мА (хотя для нормальной работы ключа необходимо, чтобы ток базы равнялся 1/10 рабочего, то есть 23 мА). Но такой ток от микросхем серии 74HCхх забрать невозможно, поэтому потребуются дополнительные драйверы. Как хороший компромисс, можно использовать IGBT, сочетающие в себе достоинства полевых и биполярных транзисторов.

    С точки зрения автора статьи, самым оптимальным для управления коммутацией обмоток двигателей небольшой мощности является использование подходящих по току и сопротивлению открытого канала RDC(ON) MOSFET, но с учетом рекомендаций, описанных выше. Мощность, рассеиваемая на ключах для выбранного в качестве примера двигателя серии P542-M48, при полной остановке ротора не превысит

    PVT = RDC(ON) × I 2 = 0.25 × (0.230) 2 = 13.2 мВт.

    Транзисторы IRLML2803 с RDC(ON) = 0.25 Ом имеют допустимую мощность рассеяния 540 мВ и постоянный ток стока 0.93 А при температуре 70 °С. Так что, они полностью соответствуют требованиям и обеспечат надежную работу драйвера. В большинстве случаев, учитывая низкие частоты коммутации, проведенной выше оценки вполне достаточно. Поскольку детальное рассмотрение особенностей работы ключей не входит в рамки данной статьи, то для их выбора и полного расчета можно воспользоваться методикой, приведенной, например, в [7].

    Еще одним важным моментов является правильный выбор так называемых снаберных диодов, шунтирующих обмотку двигателя (VD1…VD4 на Рисунке 9). Назначение этих диодов – гасить ЭДС самоиндукции, возникающую при выключении управляющих ключей. Если диоды выбраны неверно, то неизбежен выход из строя транзисторных ключей и устройства в целом. Обратите внимание, что в мощные MOSFET такие диоды, как правило, уже встроены.

    Читайте также:
    Плата для аниматроники

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

    Рисунок 10. Схема универсального коммутатора шагового двигателя (с реверсом).

    Схема на Рисунке 10 пригодна для любых типов двигателей (униполярных и биполярных). Частота вращения двигателя задается внешним тактовым генератором (скважность любая), сигнал с которого подается на вход «ШАГИ», а направление вращения устанавливается через вход «НАПРАВЛЕНИЕ». Оба сигнала имеют логические уровни и, если для их формирования используются выходы с открытым коллектором, то потребуются соответствующие резисторы подтяжки (на Рисунке 10 они не показаны). Временная диаграмма работы коммутатора приведена на Рисунке 11.

    Рисунок 11. Временная диаграмма универсального коммутатора с реверсом.
    Верхние две осциллограммы – Q1 D2-2, Q2 D2-2; нижние две – Q1 D2-1, Q2 D2-1.
    Маркеры показывают область изменения очередности включения фаз.

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

    Рисунок 12. Упрощенная схема коммутатора шагового
    двигателя (без реверса).

    Поскольку особых требований к сигналу «ШАГИ» не предъявляется, для его формирования может использоваться любой подходящий по уровням выходного сигнала генератор. Для своих отладочных модулей автор использовал генератор на базе ИМС таймера 555 (Рисунок 13).

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

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

    Рисунок 14. Схема питания шагового двигателя с режимами
    удержания и выключения.

    Схема на Рисунке 14 обеспечивает подачу двух стабильных по уровню напряжений для питания обмоток двигателя: 12 В в рабочем режиме и 6 В в режиме удержания. (Формулы, необходимые для расчета выходного напряжения, приведены в [8]). Рабочий режим включается подачей высокого логического уровня на контакт «ТОРМОЗ» разъема Х1. Допустимость снижения напряжения питания определяется тем, что, как уже отмечалось в первой части статьи, момент удержания шаговых двигателей превышает момент вращения. Так, для рассматриваемого двигателя P542-M48 момент удержания с редуктором 25:6 равен 19.8 Н·см, а момент вращения всего 6 Н·см. Этот подход позволяет при остановке двигателя уменьшить потребление мощности с 5.52 Вт до 1.38 Вт! Полное отключение двигателя осуществляется подачей высокого логического уровня на контакт «ВКЛ/ВЫКЛ» разъема Х1.

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

    Примечание: В этом варианте использование резисторов подтяжки недопустимо!

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

    Задача управления биполярными двигателями более сложна. Основная проблема в драйвере. Для этих двигателей требуется драйвер мостового типа, и делать его, тем более в современных условиях, на дискретных элементах – неблагодарная задача. Да, этого и не требуется, так как имеется очень большой выбор специализированных ИМС. Все эти ИМС условно можно свести к двум типам. Первый – весьма популярная у любителей робототехники ИМС L293D STMicroelectronics [9] или ее варианты от Texas Instruments. Они относительно недороги и подходят для управления маломощными двигателями с током обмоток до 600 мА. ИМС имеют защиту от перегрева; устанавливать ее необходимо с обеспечением теплоотвода, которым служит фольга печатной платы [9]. Второй тип – это уже знакомая читателям по публикации в [1] ИМС LMD18245 [2].

    Автор использовал драйвер L293DD в схеме для управления биполярным двигателем малой мощности типа 20M020D2B 12 В/0.1 А во время изучения проблемы использования шаговых двигателей. Этот драйвер удобен тем, что содержит четыре полумостовых ключа, поэтому для управления биполярным шаговым двигателем требуется всего одна ИМС. Полная схема, приведенная в [10] и многократно повторенная на интернет-сайтах, пригодна для использования в качестве тестовой платы. На Рисунке 15 показано включение ИМС драйвера (с привязкой к коммутатору из Рисунка 10), поскольку именно эта часть сейчас представляет для нас интерес, а Figure 6 (Bipolar Stepping-Motor Control) из спецификации [9] не совсем понятна начинающему пользователю. Она вводит в заблуждение, например, тем, что показаны внешние диоды, которые на самом деле встроены в ИМС и прекрасно справляются с обмотками маломощных двигателей. Естественно, что драйвер L293D может работать с любым коммутатором. Выключается драйвер логическим нулем по входу R.

    Читайте также:
    Схема сетевого фильтра

    Примечание: ИМС L293, в зависимости от изготовителя и суффиксов, указывающих на тип корпуса, имеют различия в нумерации и количестве выводов!

    Рисунок 15. Схема подключения драйвера L293DD.

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

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

    В отличие от 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). Формула для расчета максимального тока приведена в спецификации на драйвер [2]. Ограничение тока осуществляется импульсным методом. При достижении максимально заданной величины тока выполняется его «нарезка» («chopping»). Параметры этой «нарезки» задаются параллельной RC цепочкой, подключенной к выводу 3 драйвера. Достоинством ИМС LMD18245 является то, что токозадающий резистор, не включенный непосредственно в цепь двигателя, имеет достаточно большой номинал и маленькую рассеиваемую мощность. Для рассматриваемой схемы максимальный ток в амперах, согласно приведенной в [2] формуле, составляет:

    VDAC REF – опорное напряжение ЦАП (в рассматриваемой схеме 5 В);
    D – задействованные разряды ЦАП (в этом режиме используются все 16 разрядов);
    RS – сопротивление токоограничивающего резистора (R3 = R8 = 10 кОм).

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

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

    Как можно видеть из предложенной статьи, шаговые двигатели хоть и сложнее в управлении, чем коллекторные, но не настолько, чтобы отказываться от них. Как говорили еще древние римляне: «Дорогу осилит идущий». Естественно, что на практике для многих приложений управление шаговыми двигателями целесообразно делать на основе микроконтроллеров, которые легко сформируют нужные команды для драйверов и выполнят роль коммутаторов. Дополнительную информацию и более детальное рассмотрение проблем, связанных с применением шаговых двигателей, кроме как по упомянутым выше ссылкам [3, 4, 7], можно почерпнуть из ставшей уже классикой монографии Кенио Такаши [11] и на специализированных интернет-сайтах, например, [12].

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

    Обзор драйвера шагового двигателя DRV8825

    Автор: Сергей · Опубликовано 22.04.2019 · Обновлено 13.04.2020

    В предыдущей статье рассказывало о драйвере для биполярного шагового двигателя A4988, который часто используют в проектировании станков ЧПУ. В этой статье расскажу о другом драйвере DRV8825, который полностью взаимозаменяемый с драйвером A4988 и может работать с микрошагом до 1/32, напряжением до 45 В и током до 2.5 А.

    Читайте также:
    Самодельные автоматические ворота
    Технические параметры

    ► Напряжения питания: от 8,2 до 45 В
    ► Установка шага: 1, 1/2, 1/4, 1/8, 1/16, 1/32
    ► Напряжение логики: 3.3 В
    ► Защита от перегрева: Есть
    ► Максимальный ток на фазу: 1.5 А без радиатора, 2.5 А с радиатором.
    ► Габариты модуля: 20 мм х 15 мм х 10 мм
    ► Габариты радиатора: 9 мм х 5 мм х 9 мм

    Общие сведения о драйвере DRV8825

    Основная микросхема модуля это драйвер от TI (Texas Instruments Inc.) DRV8825, которая способна управлять одним биполярным шаговым двигателем. Как говорил ранее данный драйвер полностью взаимозаменяемый с драйвером A4988. Микросхема DRV8825 может работать с выходным напряжение до 45 В и током до 1.5 на катушку без радиатора и до 2.5 А с радиатором (дополнительным охлаждением). Так же, модуль имеет внутренний стабилизатор напряжение, который напитывает логическую часть модуля напряжение 3.3 В от источника шагового питания двигателя.
    Драйвер позволяет использовать шесть вариантов шага: 1, 1/2, 1/4, 1/8, 1/16, 1/32

    Распиновка драйвера DRV8825:
    На драйвере DRV8825 расположено 16 контактов, назначение каждого можно посмотреть ниже:

    EN — включение и выключение модуля (0 — включен, 5 В — выключен).
    M0, M1 и M2 — выбор режима микро шаг (смотрите таблицу ниже).
    RST — сброс драйвера.
    SLP — вывод включения спящего режима, если подтянуть его к низкому состоянию драйвер перейдет в спящий режим.
    STEP — управляющий вывод, при каждом положительном импульсе, двигатель делает шаг (в зависимости от настройки микро шага), чем быстрее импульсы, тем быстрее вращаться двигатель.
    DIR — управляющий вывод, если подать +5 В двигатель будет вращается по часовой стрелке, а если подать 0 В против часовой стрелки.
    VMOT & GND MOT — питание шагового двигателя двигателя от 8.2 до 45 В (обязательное наличие конденсатора на 100 мкФ). Так же, нет необходим
    B2, B1, A1, и A2 — подключение обмоток двигателя.
    ► FAULT — Выход включения защиты, если состояние «0», значит полевые транзисторы H-моста отключены в результате защиты от перегрузки по току или был перегрев.
    GND LOGIC — заземление микроконтроллера.

    Настройка микрошага
    Драйвер DRV8825 может работать микрошаговом режиме, то есть может подавать питание на катушки с промежуточным уровням. Например, если взять двигатель NEMA17 с шагом 1.8 или 200 оборотов, в режиме 1/4, двигатель будет выдавать 800 шагов за оборот
    Дня настройки микрошагов на драйвере DRV предусмотрены три выхода, а именно M0, M1 и M2. Установив соответствующие логические уровни для этих выводов, можно выбрать режим микрошага.

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

    Система охлаждения DRV8825
    При интенсивной работе микросхемы DRV8825 начинает сильно греется и если температура превысит придельные значение, может сгореть. По документации DRV8825 может работать с током до 2.5 А на катушку, но на практике микросхема не греется если ток не превышает 1.2 А на катушку. Поэтому если ток выше 1.2 А необходимо устанавливать радиатор охлаждения, который идет в комплекте.

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

    Vref = Current Limit / 2

    где,
    Current Limit — номинальный ток двигателя
    В моем случаи, номинальный ток двигателя 17HS4401 равняется 1,7 А.

    Vref = 1,7 / 2 = 0,85 В

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

    Подключение драйвера шагового двигателя DRV8825 к Arduino UNO

    Необходимые детали:
    Arduino UNO R3 x 1 шт.
    ► Драйвер шагового двигателя DRV8825 x 1 шт.
    ► Шаговый двигатель 17HS4401 x 1 шт.
    ► Комплект проводов DuPont 2.54 мм, 20 см x 1 шт.

    Подключение:
    Теперь, можно приступить к сборке схемы. Первым делом подключаем GND LOGIC к GND на Arduino. Контакты DIR и STEP подключим к цифровым контактам 2 и 3 на Arduino. Подключение шагового двигатель к контактам B2, B1, A2 и A1.

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

    Затем необходимо подключить контакт RST к соседнему контакту SLP к 5В на Arduino, чтобы включить драйвер. Так-же контакты выбора микрошага необходимо оставить не подключенными, чтобы работал режим полный микрошаг. Теперь осталось подключить питание двигателя к контактам VMOT и GND MOT, главное не забудьте подключить электролитический конденсатор на 100 мкФ, в противном случаи при скачке напряжение, модуль может выйти из строя.

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

    Шаговые двигатели (подробный разбор 4 типов)

    Общие сведения:

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

    Читайте также:
    Устройство для снижение пиковой нагрузки на сеть

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

    Виды шаговых двигателей по типу ротора:

    По типу ротора, шаговые двигатели делятся на: двигатели с постоянными магнитами, реактивные двигатели и гибридные двигатели.

    • Двигатель с постоянными магнитами (ротор из магнитотвердого материала). На роторе установлен один, или несколько, постоянных магнитов. Количество полных шагов в одном обороте таких двигателей, зависит от количества постоянных магнитов на роторе, и количества электромагнитов на статоре. Обычно в одном обороте от 4 до 48 шагов (один шаг от 7,5° до 90° ).
    • Реактивный двигатель (ротор из магнитомягкого материала). Еще такие двигатели называют двигателями с переменным магнитным сопротивлением. Ротор не имеет постоянных магнитов, он выполнен из магнитомягкого материала в виде многоконечной звезды. Данные двигатели встречаются редко, так как у них наименьший крутящий момент, по сравнению с остальными, при тех же размерах. Количество полных шагов в одном обороте таких двигателей, зависит от количества зубцов на звезде ротора, и количества электромагнитов на статоре. Обычно в одном обороте от 24 до 72 шагов (один шаг от 5° до 15°.)
    • Гибридный двигатель (совмещает технологии двух предыдущих двигателей). Ротор выполнен из магнитотвердого материала (как у двигателя с постоянными магнитами), но имеет форму многоконечной звезды (как у реактивного двигателя). Количество полных шагов в одном обороте таких двигателей, зависит от количества постоянных магнитов на звезде ротора, и количества электромагнитов на статоре. Количество шагов в одном обороте таких двигателей может доходить до 400 (один шаг от 0,9°).

    Какой тип шагового двигателя у меня?

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

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

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

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

    • Биполярный двигатель имеет 4 вывода. Выводы A и A питают обмотку AA, выводы B и B питают обмотку BB. Для включения электромагнита, на выводы обмотки необходимо подать разность потенциалов (два разных уровня), поэтому двигатель называется биполярным. Направление магнитного поля зависит от полярности потенциалов на выводах.
    • Униполярный двигатель имеет 5 выводов. Центральные точки его обмоток соединены между собой и являются общим (пятым) выводом, который, обычно, подключают к GND. Для включения электромагнита, достаточно подать положительный потенциал на один из выводов обмотки, поэтому двигатель называется униполярным. Направление магнитного поля зависит от того, на какой именно вывод обмотки подан положительный потенциал.
    • 6-выводной двигатель имеет ответвление от центральных точек обмоток, но обмотка AA не соединена с обмоткой BB. Если не использовать выводы центральных точек обмоток, то двигатель будет биполярным, а если эти выводы соединить и подключить к GND, то двигатель будет униполярным.
    • 8-выводной двигатель является наиболее гибким в плане подключения электромагнитов. Данный двигатель можно не только использовать как биполярный или униполярный, но и самим определять, как соединить электромагниты обмоток, последовательно или параллельно.

    Какой тип шагового двигателя у меня?

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

    Режимы работы шаговых двигателей:

      Для работы шагового двигателя (вне зависимости от его вида) можно выбрать один из трех режимов работы:
    • Полношаговый режим – ротор поворачивается на 1 шаг за 1 такт.
    • Полушаговый режим – ротор поворачивается на ½ шага за 1 такт.
    • Микрошаговый режим – ротор поворачивается на ¼, ⅛ и т.д. шагов за 1 такт.

    Ниже рассмотрены режимы работы, на примере биполярного двигателя с постоянным магнитом и полным шагом 90°.

    Полношаговый режим (одна фаза на полный шаг). Номинальные значения шагового двигателя указываются именно для этого режима.

    Читайте также:
    Схема твердотельного реле на 12В

    Полношаговый режим (две фазы на полный шаг). Этот режим позволяет увеличить крутящий момент почти в половину от номинального.

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

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

    Если подавать уровни не «0» – «½» – «1» (как на картинке), а «0» – «¼» – «½» – «¾» – «1», то количество шагов в полном обороте увеличится не в 4 раза, а в 8 раз. Можно увеличить количество шагов в 16, 32, 64 раза и т.д., а если заменить дискретные уровни сигналов на синусоиды, то мотор будет вращаться плавно (без шагов).

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

    Пример работы шаговых двигателей с разными видами роторов:

    Подключение шаговых двигателей к Arduino:

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

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

    • Биполярный двигатель можно подключить только к драйверу биполярных двигателей.
    • 6-выводной двигатель можно подключить к любому драйверу. Если не использовать выводы центральных точек обмоток, то двигатель будет биполярным, а если эти выводы соединить и подключить к GND, то двигатель будет униполярным.
    • 8-выводной двигатель является наиболее гибким в плане подключения. Данный двигатель можно не только использовать как биполярный или униполярный, но и самим определять, как соединить электромагниты обмоток внутри двигателя, последовательно или параллельно.
    • Униполярный двигатель, при необходимости, можно подключить и к драйверу биполярного двигателя по простой схеме из нескольких диодов (лучше использовать диоды Шоттки), но такое подключение гарантирует корректность работы униполярного двигателя только в полношаговом режиме.

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

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

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

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

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

    Шаговый двигатель работает от подачи комбинаций напряжения в разных направлениях на его обмотки, у этого шагового двигателя 2 обмотки – 4 провода, первая обмотка – черный (A) и зеленый (A*) провод, вторая обмотка – красный (B) и синий (B*). За одну смену комбинаций делается 1 шаг – 1,8 градусов. Если комбинации быстро менять, то двигатель будет быстро и точно позиционироваться – крутиться. Смена комбинаций возможна в двух направлениях, соответственно двигатель будет крутиться вперед или назад.

    Чтобы крутить шаговый двигатель, надо:

    1) Собрать устройство – USB контроллер шагового двигателя на микроконтроллере AVR и драйвер шагового двигателя, 2 в 1. Перед тем как собирать это сложное устройство, рекомендую сначало отдельно собрать и проверить работу только USB контроллера, его я уже собрал вот тут – контроллер USB. Если USB связь работает нормально, то можно приступать к изготовлению драйвера.

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

    3) Написать программу для микроконтроллера AVR, которая будет принимать USB команды и крутить двигатель.

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

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

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

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

    Читайте также:
    Принципиальная схема симисторного регулятора

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

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

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

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

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

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

    Рейтинг
    ( Пока оценок нет )
    Понравилась статья? Поделиться с друзьями:
    Добавить комментарий

    ;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: