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

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

В этой публикации я хочу поделиться своим опытом управления. Точнее – управления шагами. А уж если быть совсем точным, речь пойдёт об управлении замечательным устройством – шаговым электродвигателем.
Что же такое этот самый шаговый электродвигатель? В принципе, в плане функциональности этот мотор можно представить как обычный электромотор, каждый оборот вала которого разбит на множество одинаковых, точно фиксированных шагов. Перемещением на определённое количество шагов мы можем позиционировать вал шагового мотора с высокой точностью и хорошей повторяемостью. Каждый шаг можно разбить на множество ступенек (так называемый микростеппинг), что увеличивает плавность хода мотора, способствует подавлению резонансов, а также увеличивает угловое разрешение. Различия между полношаговым режимом (слева), 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
Ну, и традиционное: Have fun!
Что за шаговые двигатели

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



Поиски в интернете привели только на сайты, где они продаются, без каких-либо даташитов. Подскажите, видел ли кто-либо такие? Может работал?
По вольтажу скорее всего 12В.
Нужно научиться ими управлять, так как все-таки собрался из них делать гравировальный аппарат.
18 января 2015
Поделиться:
Комментарии 48
Войдите или зарегистрируйтесь, чтобы писать комментарии, задавать вопросы и участвовать в обсуждении.

Собирал из статьи здесь forum.cxem.net/index.php?showtopic=91070 схему что на pic 12f629 схему. рабочая.


на али экспресс не смотрели драйвера ? должны быть, знакомый двигатель)) тоже есть возможность поковыряться в списанной технике)

Смотрел. Там и буду заказывать. Дешевле всего.

vk.com/id31733467
Я тут всего по теме на собирал

Спасибо! Видел, на выходных проштудирую.

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

Спасибо. Они будут на осях установлены.

Ну тогда, общие положения реализации координатного привода на шаговиках.
1) Делать контроллер с двумя входными сигналами управления. Сигнал_1 — пошаговый синхросигнал -поехали . Сигнал_2 — указывает направление, в котором поехали.
2)Начальная инициализация шагового привода.
а) При начальной инициализации привода, шаговик работает какое-то время, чтобы гарантированно откинуть привод к нулю оси, упереться в упор и еще немного пощелкать приводом в упор. Процессор системы после этого периода времени полагает, что нуль оси достигнут и далее высчитывает и ведет в ОЗУ журнал положения привода на оси, согласно своим командам.При этом, ничто не мешает установить концевой путевой датчик, сигнализирующий о достижении нуля оси. Однако, это справедливо только для привода, который не встречает какого — либо механического сопротивления при своем движении. Для металлообрабатывающих станков — несправедливо. Процессор системы может полагать, что привод прошагал согласно команде, но реально, привод встретил механическое сопротивление и остался на месте, в магнитном скольжении. А процессор системы полагает, что он прошагал.
б)Если привод может встретить непреодолимое механическое сопротивление при своем движении, то необходимо применять обратную связь положения привода. Так называемое векторное управление. Оптический энкодер, датчик Холла, что либо… чтобы контролировать, исполнил ли привод команду или застрял на месте и в какой именно момент застрял, дабы снизить нажим на обрабатывающий инструмент и повторить команду перемещения.
… Далее много чего, но вот основное. С уважением.

Благодарю за развернутый ответ. Очень понятно. Я хотел делать изначально, что при отключении станка он оси в ноль выставляет. А лазерным диодом при включении светит на точку, где будет начало резки. Туда устанавливается деталь и поехали. Это самое простое, что я смог придумать))) Но это только начало. Там, возможно, усовершенствую. Спасибо! P.S. У меня, кстати, рядом с Вами дед живет, в пгт. Приморский.

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

У меня во дворе тоннель из 10-17 этажек…ветрище дует нереальный. Тут от ветряка можно всю квартиру осветить)
Шаговый двигатель с ручным управлением в качестве мотора
Описание Шаговый двигатель с ручным управлением в качестве мотора
Если в качестве двигателя использовать шаговый двигатель, то можно упростить систему управления и отказаться от микроконтроллера. Это готовая сборка блоков, для простого способа ручного управления четырехполюсным шаговым двигателем. Шаговый двигатель является надежным мотором рассчитанным на продолжительную работу, у него отсутствует щеточный узел и он может заменить коллекторные моторы в схемах низкооборотистых приводов, Устройство состоит из шагового мотора, драйвера и блока регулятора выдающего импульсы. Они передаются на драйвер, который вращает шаговый двигатель как обычный мотор редуктор, регулировку оборотов производят переменным резистором, а направление вращения переключателем. На драйвере имеются грубые настройки параметров работы. Схема позволяет управлять шаговых двигателей (однополярный или биполярный) вручную, с помощью регулятора оборотов, без использования контроллера или компьютера, поэтому никакого программирования не требуется.
Напряжение питания: 9-12 вольт. ток 1-3 ампера.
Преимущества и недостатки шагового электродвигателя
К преимуществам эксплуатации шагового двигателя можно отнести:
В шаговых электродвигателях угол поворота соответствует числу поданных электрических сигналов, при этом, после остановки вращения сохраняется полный момент и фиксация;
Точное позиционирование – обеспечивает 3 – 5% от установленного шага, которая не накапливается от шага к шагу;
Обеспечивает высокую скорость старта, реверса, остановки;
Отличается высокой надежностью за счет отсутствия трущихся компонентов для токосъема, в отличии от коллекторных двигателей;
Для позиционирования шаговому двигателю не требуется обратной связи;
Может выдавать низкие обороты для непосредственно подведенной нагрузки без каких-либо редукторов;
Сравнительно меньшая стоимость относительно тех же сервоприводов;
Обеспечивается широкий диапазон управления скоростью оборотов вала за счет изменения частоты электрических импульсов.
К недостаткам применения шагового двигателя относятся:
Может возникать резонансный эффект и проскальзывание шагового агрегата;
Существует вероятность утраты контроля из-за отсутствия обратной связи;
Количество расходуемой электроэнергии не зависит от наличия или отсутствия нагрузки.
Использование шагового двигателя как обычного мотора:
Шаговый двигатель это устройство, которое преобразует электрические импульсы в дискретные, механические перемещения. Шаговый двигатель практически ничем не отличается от двигателей других типов. Шаговые двигателя в настоящее время широко применяются в качестве приводов в принтерах, сканерах, DVD-проигрывателях и многих других . В случае выхода из строя такого прибора, из него можно извлечь шаговый мотор и применить его по другому подходящему назначению, без применения электронного управления.
С этим товаром смотрят
Переделка шагового двигателя из униполярного в биполярный
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
С каждым годом аддитивные технологии развиваются все стремительней и входят в массы, и от этого , естественно, 3D печать становится только доступней. Но не для всех, и поэтому самые очумелые ручки решаются на собственное принтеростроение из всего что только попадется под руки. Одной из главных загвоздок такого принтеростроения становятся шаговые двигатели. Легче всего их достать из старых МФУ принтеров. Но зачастую двигатели из них являются униполярными и совсем не подходят для драйверов типа А4988 и drv8825. Сам столкнулся с такой проблемой, много читал про переделку в биполярный шаговый двигатель и теперь хочу поделиться с вами:)
Вот схема соединения катушек униполярного и биполярного шаговых двигателей:

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

Он имеет стандартный размер Nema 17 и угол поворота на один полный шаг 1.8 градуса.
Для разборки откручиваем 4 болта и снимаем заднюю крышку. Вот что мы должны увидеть:

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

И начинаем прозванивать выводы мультиметром. У меня получилось так : 1-8, 2-5, 3-6 и 4-7. Мы нашли четыре необходимых нам обмотки. Осталось определиться с их соединением. Возможно параллельное соединение обмоток, тогда бы мы соединили 1 с 2 выводом, 8 с 5, 3 с 4 и 6 с 7 соответственно, при данном подключении достигается максимальная скорость вращения. Также возможно последовательное соединение, тогда необходимо соединить 8 с 5 выводом и 6 с 7, при данном подключении получаем максимальный вращающий момент, что важно, например, для экструдеров. Ниже привожу схемы:

Схему соединения необходимо выбирать в зависимости от конкретных целей и удобства соединения. Конкретно в нашем случае удобней выбрать схему с последовательным соединением, так как выводы 6 и 7 и так находятся рядом, и необходима будет лишь одна перемычка между 5 и 8 выводом и никакой больше мишуры из проводов. Разрезаем пятую дорожку на 3 части, и спаиваем все согласно схеме. Вот что получилось у меня:

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

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