Как подключить драйвер для шагового двигателя на станок чпу
При конструировании очередного станка с ЧПУ, а попросту 3-х осевого фрезерного-сверлильного станочка для печатных плат и мелких фрезерных работ, у меня появилось неугомонное желание разложить всё «по полочкам».
Многие скажут, что тема не нова, существует множество проектов, множество технических и программных решений. Но, плавая в этом море информации, я постарался убрать всю «воду» и получить «сухой остаток».
Вот что из этого получилось…
Содержание / Contents
Камрад, рассмотри датагорские рекомендации
🌼 Полезные и проверенные железяки, можно брать
Опробовано в лаборатории редакции или читателями.
Задача построения станка обычно сводится к трем подзадачам — механика, электроника, программное обеспечение. Видимо и статьи придется писать тоже три.
Поскольку у нас журнал всё-таки практической электроники, начну с электроники и чуть-чуть с механики!
↑ Привод
Нужно двигать собственно фрезер в 3-х направлениях — XYZ, значит нужно 3 привода — 3 мотора с передачей вращения вала двигателя в линейное перемещение.
О передаче…
Для фрезерного станка, где есть боковые усилия резания материала, желательно не применять ременные передачи, очень популярные в 3D принтерах. Буду применять передачу «винт-гайка». Самая бюджетная передача — обычный стальной винт и безлюфтовая, желательно бронзовая, гайка. Более правильная — винт с трапециевидной резьбой и гайка из капролона. Самая хорошая (и, увы, самая дорогая) шарико-винтовая пара, или ШВП. Об этом подробнее я еще расскажу далее…
У каждой передачи есть свой коэффициент, свой шаг — то есть насколько линейно по оси переместится фрезер за один оборот двигателя, например, на 4 мм.
↑ Двигатель (мотор)
В качестве двигателя для привода определил шаговый двигатель (ШД)
Почему шаговый? Что это вообще такое?
Двигатели есть переменного и постоянного тока, коллекторные и бесколлекторные, и так называемые «шаговые». В любом случае нам надо обеспечить какую-то точность позиционирования, например 0,01 мм. Как это сделать? Если двигатель имеет прямой привод — вал двигателя соединяют напрямую с винтом, то для обеспечения такой точности нужно повернуть его на некоторый угол. В данном случае, при шаге передачи 4 мм и желаемой точности перемещения 0,01 мм это… всего 1/400 оборота, или 360/400=0,9 градуса! Ерунда, возьмем обычный моторчик…
С «обычным» моторчиком без обратной связи никак не получится. Не вдаваясь в подробности, схема управления двигателем должна «знать», на какой угол повернулась ось. Можно конечно поставить редуктор — потеряем в скорости, и все равно без гарантии, без обратной связи вообще никак! На ось ставится датчик угла поворота. Такое решение надежное, но дорогое.
Альтернатива — шаговый двигатель (как он работает, почитайте сами). Можно считать, что за одну «команду» он повернет свою ось на определенный градус, обычно это 1,8 или 0,9 градуса (точность обычно не хуже 5%) — как раз то, что нужно. Недостаток такого решения — при большой нагрузке двигатель будет пропускать команды — «шаги» и может вообще остановиться. Вопрос решается установкой заведомо мощного двигателя. На шаговых двигателях и делается большинство любительских станочков.
↑ Выбираем шаговый двигатель
2 обмотки, с минимальным током, минимальной индуктивностью и максимальным моментом — то есть максимально мощный и экономичный двигатель.
Противоречивые требования. Малый ток — значит большое сопротивление, значит много витков провода обмотки двигателя, значит большая индуктивность. А большой момент — это большой ток и много витков. Выбираем в пользу большего тока и меньшей индуктивности. А момент надо выбирать исходя из нагрузки, но об этом потом.
Характеристики некоторых двигателей приведены в таблице:
↑ Драйвер шагового двигателя
Двигатель есть. Теперь нужен драйвер — переключать напряжение на обмотках двигателя определенным образом, при этом не превышая установленный ток.
Самое простое решение — источник заданного тока и две пары транзисторных ключей на каждую обмотку. И четыре защитных диода. И логическая схема чтобы менять направление. И… Такое решение обычно делают на микросхеме ULN2003A для двигателей с малым током, имеет много недостатков, не буду на них останавливаться.
Альтернатива — специализированные микросхемы «всё в одном» — с логикой, транзисторами и диодами защиты внутри (или снаружи). А еще такие микросхемы контролируют ток обмоток и регулируют его с помощью ШИМ-а, а так же могут реализовывать режим «полушаг», а некоторые режимы 1/4 шага, и 1/8 шага и т. д. Эти режимы позволяют повысить точность позиционирования, повысить плавность движения и снизить резонанс. Обычно достаточно режима «полушаг», что позволит повысить теоретическую точность линейного позиционирования (в моем примере до 0,005 мм).
Что внутри микросхемы драйвера шагового двигателя? Блок логики и управления, источники питания, ШИМ со схемами формирования момента и времени коммутации обмоток, выходные ключи на полевых транзисторах, компараторы обратной связи — ток контролируется по падению напряжения на резисторах (Rs) в цепи питания обмоток. Ток двигателя задается опорным напряжением.
Для реализации этих функций существуют и другие схемные решения, например, с использованием микроконтроллеров PIC или ATMEGA (опять же с внешними транзисторами и защитными диодами). На мой взгляд, они не обладают значительным преимуществом перед «готовыми» микросхемами и я их в данном проекте использовать не буду.
↑ Богатство выбора
На сегодняшний день есть достаточно много различных микросхем и достаточно много уже готовых плат и модулей драйверов ШД. Можно купить готовый, а можно «изобретать велосипед», тут каждый решает по-своему.
Из готовых — наиболее распространённые и недорогие драйверы на микросхемах Allegro A4988 (до 2А), Texas Instruments DRV8825 (до 2,5А).
Поскольку модули изначально разрабатывались для использования в 3D принтерах типа Rep-rap проекта Arduino, они не являются законченными модулями (например, им нужно еще питание логики (+5V), которое подается с так называемой рампы (Ramp).
Еще есть решения на DRV8811 (до 1,9 А), A3982 (до 2 А), A3977 (до 2,5 А), DRV8818 (до 2,5 А) DRV8825 (до 2,5 А), Toshiba TB6560 (до 3 А) и другие.
Поскольку мне интересно что-то сделать самому, плюс появилась возможность «попробовать на вкус» микросхемы Allegro A3982 и A3977, решил сделать пару драйверов самостоятельно.
Готовые решения на A4988 не понравились, прежде всего, из-за миниатюризации размеров печатной платы в ущерб хорошему охлаждению. Типовое сопротивление открытых транзисторов у A4388 при токе 1,5А 0,32+0,43 Ом, плюс 0,1-0,22 Ома «измерительный» резистор — получается около 0,85 Ом. А таких каналов два, и хотя и работают они импульсно, но 2-3 Ватта тепла надо рассеивать. Ну не верю я в многослойную плату и малюсенький радиатор охлаждения — в даташите нарисована плата гораздо больших размеров.
Провода мотора нужно сделать короткими, драйвер устанавливать рядом с двигателем. Существует 2 технических решения в звукотехнике: длинный сигнальный кабель к усилителю + короткие провода к акустической системе, или короткий сигнальный кабель к усилителю + длинные провода, а акустической системе. Оба решения имеют свои плюсы и минусы. С моторами — так же. Я выбрал длинные провода управления и короткие провода к мотору.
Управляющие сигналы — «шаг» (step), «направление» (dir), «включение» (enable), индикация состояния сигналов управления. Некоторые схемы не используют сигнал «Enable», но это приводит в режиме простоя к ненужному нагреву и микросхемы и двигателя.
Одно питание 12-24 вольта, источник питания логики (+5B) — на плате. Размеры платы — достаточные для хорошего охлаждения, двухсторонняя печать с большой областью «меди», возможность приклеить на микросхему радиатор (применяемой для охлаждения памяти видеокарт).
↑ Драйвер ШД на микросхеме Allegro A3982
Напряжение питание силовое: 8…35 В Напряжение питание логики: 3,3…5 В Выходной ток (максимальный, зависит от режима и охлаждения): ±2 А Типовое сопротивление открытых транзисторов (при токе 1,5А): 0,33+0,37 Ом
↑ Драйвер ШД на микросхеме Allegro A3977
Напряжение питание силовое: 8…35 В Напряжение питание логики: 3,3…5 В Выходной ток (максимальный, зависит от режима и охлаждения): ±2,5 А Типовое сопротивление открытых транзисторов (при токе 2,5А): 0,33+0,45 Ом
↑ Схема и прототип
Проектировал в среде DipTrace. Драйвер A3982 включен по схеме из документации производителя. Включен режим «полушаг». Дополнительно для надежной работы сигналов управления и индикации применил микросхему логики 74НС14 (с триггерами Шмитта). Можно было сделать гальвано-развязку на оптронах, но для маленького станка я решил ее не делать. Схема на A3977 отличается только дополнительными джамперами режима шага и более мощным разъемом питания, пока в «железе» не реализована.
↑ Печатная плата
↑ Работа
Температуру корпуса микросхемы мерил пирометром — без радиатора она достигала 90-95 градусов (при токе обмоток 1,6А) — мне это не понравилось. С радиатором — 55-60 градусов — куда лучше! Вообще плата вся теплая — около 35 градусов.
Всем доброго времени суток! А вот и я с новой частью своего рассказа о ЧПУ - станке. Когда начинал писать статью даже не думал, что она получится настолько объемной. Когда написал про электронику станка посмотрел и испугался – лист А4 исписан с двух сторон, а ещё очень и очень много чего нужно рассказать.
В итоге получилось этакое руководство по созданию станка ЧПУ, рабочего станка, с ноля. Будет три части статьи об одном станке: 1-электронная начинка, 2-механика станка, 3-все тонкости настройки электроники, самого станка, и программы управления станком.
В общем попытаюсь объединить в одном материале всё полезное и необходимое каждому начинающему в этом интересном деле, то что сам прочел на разных интернет-ресурсах и пропустил через себя.
Содержание / Contents
Камрад, рассмотри датагорские рекомендации
🌼 Полезные и проверенные железяки, можно брать
Опробовано в лаборатории редакции или читателями.
Кстати, в той статье я забыл показать фотографии изготовленных поделок. Исправляю это. Пенопластовый медведь и фанерное растение.
↑ Предисловие
После того, как собрал свой маленький станочек без существенных затрат сил, времени и средств, меня всерьез заинтересовала эта тема. Посмотрел на ютубе, если не все, то почти все ролики, связанные с любительскими станками. Особенно впечатлили фотографии изделий, которые люди делают на своих «home CNC». Посмотрел и принял решение – буду собирать свой большой станок! Вот так на волне эмоций, хорошо всё не обдумал погрузился в новый и неизведанный для себя мир CNC.
Не знал с чего начать. Первым делом заказал нормальный шаговый двигатель Vexta на 12 кг/см, между прочим с гордой надписью «made in Japan».
Пока тот ехал через всю Россию, сидел вечерами на разных ЧПУ-шных форумах и пытался определиться в выборе контроллера STEP/DIR и драйвера шаговых двигателей. Рассматривал три варианта: на микросхеме L298, на полевиках, либо же купить готовый китайский TB6560 о котором были очень противоречивые отзывы.
У одних он работал без проблем продолжительное время, у других сгорал при малейшей ошибки пользователя. Кто-то даже писал, что у него сгорел, когда тот немножко провернул вал двигателя, подключенного в это время к контроллеру. Наверное факт ненадежности китайца и сыграл в пользу выбора схемы L297+IRFZ44 активно обсуждаемой на форуме. Схема наверное и в самом деле неубиваемая т.к. полевики драйвера по амперам в несколько раз превышают то, что нужно подавать на моторы. Пусть и самому паять надо (это же только в плюс), и по стоимости деталей выходило чуть больше, чем китайский контроллер, зато надежно, что важнее.
Немного отступлю от темы. Когда всё это делалось, даже не возникло мысли, что когда-нибудь буду об этом писать. Поэтому нет фотографий процесса сборки механики и электроники, только несколько фоток, сделанных на камеру мобильника. Всё остальное щелкал специально для статьи, в уже собранном виде.
↑ Дело паяльника боится
Начну с блока питания. Планировал сделать импульсный, провозился с ним наверное неделю, но так и не смог победить возбуд, который шел непонятно откуда. Мотаю транс на 12в – всё ОК, мотаю на 30-полная неразбериха. Пришел к выводу, что какая-то бяка лезет по обратной связи с 30в на TL494 и сносит ей башню. Так и забросил этот импульсник, благо было несколько ТС-180 один из которых пошел служить родине в качестве транса питания. Да и что ни говори, а кусок железа и меди будет надежнее кучки рассыпухи. Трансформатор перемотал на нужные напряжения, а нужно было +30в на питание моторчиков, +15в на питание IR2104, +5в на L297, и вентилятор. На двигатели можно подавать 10, а можно и 70, главное не превышать по току, но, если сделать меньше – снижаются максимальные обороты и сила, а вот больше не позволял трансформатор т.к. нужно было 6-7А. Напряжения 5 и 15в застабилизировал, 30 оставил «плавающими» на усмотрение нашей электросети.
Всё это время ежевечернее сидел за компьютером и читал, читал, читал. Настройка контроллера, выбор программ: какой рисовать, какой управлять станком, как изготовить механику и тд. и тп. В общем, чем больше читал, тем страшнее становилось, и всё чаще возникал вопрос «нафига мне это надо?!». Но отступать было поздно, двигатель на столе, детали где-то в пути – надо продолжать.
2 - Резисторы и конденсаторы также взял в SMD корпусах для уменьшения количества отверстий, которые нужно было сверлить.
3 - Имеющийся у меня радиатор был меньшего размера и крайние транзисторы были вне его площади. Нужно было смещать полевики на одной плате вправо, а на другой влево, поэтому изготовил два вида платы.
↑ Схема контроллера станка
Для безопасности LPT порта, контроллер и компьютер соединил через плату опторазвязки. Схему и печатку взял на одном известном сайте, но опять же пришлось немного переделать её под себя и убрать лишние детали.
Одна сторона платы питается через USB порт, другая, подключенная к контроллеру - от источника +5в. Сигналы передаются через оптроны. Все подробности о настройке контроллера и развязки напишу в третьей главе, здесь же упомяну только основные моменты. Данная плата развязки предназначена для безопасного подключения контроллера шагового двигателя к LPT порту компьютера. Полностью электрически изолирует порт компьютера от электроники станка, и позволяет управлять 4-х осевым ЧПУ станком. Если станок имеет только три оси, как в нашем случае, ненужные детали можно оставить висеть в воздухе, либо вообще их не впаивать. Имеется возможность подключения концевых датчиков, кнопки принудительной остановки, реле включения шпинделя и другого устройства, например пылесоса.
Это было фото платы опторазвязки взятое из интернета, а вот так выглядит мой огород после установки в корпус. Две платы и куча проводов. Но вроде бы наводок никаких нет, и всё работает без ошибок.
Первая плата контроллера готова, всё проверил и пошагово протестировал, как в инструкции. Подстроечником выставил небольшой ток (это возможно благодаря наличию ШИМ), и подключил питание (двигателей) через цепочку лампочек 12+24в, чтобы было «ничё, если чё». У меня же полевики стоят без радиатора.
Двигатель зашипел. Хорошая новость, значит ШИМ работает как надо. Нажимаю клавишу и он крутится! Забыл упомянуть, что этот контроллер предназначен для управления биполярным шаговым двигателем т.е. тем, у которого подключаются 4 провода. Игрался с режимами шаг/полушаг, током. В режиме полушаг двигатель ведёт себя стабильнее и развивает большие обороты + увеличивается точность. Так и оставил перемычку в «полушаге». С максимальным безопасным для двигателя током при напряжении примерно 30в получилось раскрутить двигатель до 2500 об/мин! Моему первому станку без ШИМ такое и не снилось. ))
Следующие два мотора заказал помощнее, Nema на 18кг/с, но уже «made in China».
По качеству они уступают Vexta, всё-таки Китай и Япония разные вещи. Когда вращаешь вал рукой у японца это происходит как-то мягко, а от китайцев ощущение другое, но на работе это пока что никак не сказалось. Замечаний к ним нет.
Спаял две оставшиеся платы, проверил через «светодиодный симулятор шагового двигателя», вроде бы всё хорошо. Подключаю один мотор – работает отлично, но уже не 2500 оборотов, а около 3000! По уже отработанной схеме подключаю третий мотор к третей плате, крутится пару секунд и встал… Смотрю осциллом – на одном выводе импульсов нет. Прозваниваю плату – одна из IR2104 пробита.
Ну ладно, может бракованная попалась, читал что часто такое бывает с этой микрухой. Впаиваю новую (брал с запасом 2 штуки), та же ерунда – пару секунд крутит и STOP! Тут я поднапрягся, и давай проверять полевики. Кстати, в моей плате установлены IRF530 (100В/17А) против IRFZ44 (50В/49А), как в оригинале. На мотор будет идти максимум 3А, так что запаса в 14А хватит с избытком, а вот разница в цене почти в 2 раза в пользу 530-ых.
Так вот, проверяю полевики и что я вижу…не припаял одну ножку! И на выход этой "ирки" полетели все 30В с полевика. Припаял ножку, ещё раз внимательно всё осмотрел, ставлю ещё одну IR2104, сам волнуюсь – это же последняя. Включил и был очень счастлив, когда двигатель не остановится после двух секунд работы. Режимы оставил такие: двигатель Vexta – 1,5А, двигатель NEMA 2,5А. При таком токе достигаются обороты примерно 2000, но лучше ограничить их программно во избежании пропуска шагов, и температура двигателей при длительной работе не превышает безопасную для моторов. Трансформатор питания справляется без проблем, ведь обычно одновременно крутятся только 2 мотора, но радиатору желательно дополнительное воздушное охлаждение.
Теперь про установку полевиков на радиатор, а их 24 штуки, если кто не заметил. В этом варианте платы они расположены лежа, т.е. радиатор просто на них ложится и чем-либо притягивается.
Конечно, желательно положить сплошной кусок слюды для изоляции радиатора от транзисторов, но у меня его не было. Выход нашел такой. Т.к. у половины транзисторов корпус идёт на плюс питания их можно крепить без изоляции, просто на термопасту. А под оставшиеся я положил кусочки слюды, оставшиеся от советских транзисторов. Радиатор и плату просверлил в трех местах насквозь и стянул болтиками. Одну большую плату я получил путем спаивания трех отдельных плат по краям, при этом для прочности впаял по периметру медный провод 1мм. Всю электронную начинку и блок питания разместил на каком–то железном шасси, даже не знаю от чего.
Боковые и верхнюю крышку вырезал из фанеры, и сверху поставил вентилятор.
Для быстро подключения/отключения двигателей и блока управления использовал разъёмы из прошлого тысячелетия. И контакт хороший и нужный ток держат без каких-либо последствий для себя.
Для того, чтобы не запутаться где какой индикатор и тумблер, нарисовал, приклеил такую бумажку, пропущенную через ламинатор.
Электронная часть закончилась. Следующая глава полностью посвящена железякам. До встречи!
↑ Одно из первых испытаний двигателей и контроллера
↑ Файлы
Все материалы найдены в свободном доступе на просторах Сети. У каждой схемы есть автор и не хочется никого обидеть - на авторство никак не претендую.
Ниже чертежи платы развязки и самого контроллера, подстроенные под себя.
🎁el.rar 126.74 Kb ⇣ 326
В предыдущих статьях мы рассматривали процесс выбора шагового электродвигателя (см. статью«Как выбрать шаговый двигатель») в зависимости от способа его применения. В данной статье мы подробно рассмотрим как подключить шаговый двигатель.
КАК ПОДКЛЮЧИТЬ ШАГОВЫЙ ДВИГАТЕЛЬ С 4 ВЫВОДАМИ
Если в вашем распоряжении имеется шаговый двигатель, подключаемый при помощи только четырех проводов, это означает, что в нем две обмотки, это биполярный мотор и вы сможете использовать его только с биполярным драйвером. Обратите внимание на то, что каждая из фазных обмоток содержит пару проводов — для идентификации каждого провода используйте тестер (мультиметр).
Найдите замкнутые между собой провода(которые прозваниваются) и подключите их к шаговому двигателю. Лучше сразу свяжите их вместе, чтобы не повторять операцию постоянно
КАК ПОДКЛЮЧИТЬ УНИПОЛЯРНЫЙ ШАГОВЫЙ ДВИГАТЕЛЬ С 6 ВЫВОДАМИ
Также, как и шаговый двигатель с четырехконтактным соединением, униполярный двигатель с 6 проводами имеет пару проводов для каждой обмотки. Однако, он также имеет центральный вывод для каждой обмотки, что дает возможность подключать его как в качестве биполярного шагового двигателя, так и в качестве однополярного.
Для того, чтобы подключить шаговый двигатель с 6 выводами, с помощью тестера разделите все провода на три группы, замкнутые между собой, а затем найдите центральные выводы, измеряя сопротивление между проводами. Если вы хотите подключить ваш электродвигатель к униполярному драйверу, используйте все шесть проводов.
Подключение к биполярному драйверу(коих подавляющее большинство) потребует от вас использования только одного конца провода с одним выводом и одного центрального вывода для подключения к каждой обмотке.
Схема подключения шагового электродвигателя с 5-ю выводами очень похожа на схему подключения с 6-ю контактами. Главное ее отличие состоит в том, что центральные выводы замкнуты между собой внутри, соединяясь в один провод. Это обеспечивает работу электродвигателя только по однополярной схеме.
Кроме того, определить обмотки можно только методом проб и ошибок; лучше всего попытаться найти центральный вывод, так как его сопротивление составляет половину от сопротивления других проводов.
КАК ПОДКЛЮЧИТЬ ШАГОВЫЙ ДВИГАТЕЛЬ С 8 ВЫВОДАМИ
Шаговый двигатель – двигатель со сложной схемой управления, которому требуется специальное электронное устройство – драйвер шагового двигателя. Драйвер шагового двигателя получает на входе логические сигналы STEP/DIR, которые, как правило, представлены высоким и низким уровнем опорного напряжения 5 В, и в соответствии с полученными сигналами изменяет ток в обмотках двигателя, заставляя вал поворачиваться в соответствующем направлении на заданный угол. >Сигналы STEP/DIR генерируются ЧПУ-контроллером или персональным компьютером, на котором работает программа управления типа Mach3 или LinuxCNC.
Задача драйвера – изменять ток в обмотках как можно более эффективно, а поскольку индуктивность обмоток и ротор гибридного шагового двигателя постоянно вмешиваются в этот процесс, то драйверы весьма отличаются друг от друга своими характеристиками и качеством получаемого движения. Ток, протекающий в обмотках, определяет движение ротора: величина тока задает крутящий момент, его динамика влияет на равномерность и т.п.
Типы (виды) драйверов ШД
Драйверы делятся по способу закачки тока в обмотки на несколько видов:
1) Драйверы постоянного напряжения
Эти драйверы подают постоянный уровень напряжения поочередно на обмотки, результирующий ток зависит от сопротивления обмотки, а на высоких скоростях – и от индуктивности. Эти драйверы крайне неэффективны, и могут быть использованы только на очень малых скоростях.
В драйверах этого типа ток в обмотке сперва поднимается до нужного уровня с помощью высокого напряжения, затем источник высокого напряжения отключается, и нужная сила тока поддерживается источником малого напряжения. Такие драйверы достаточно эффективны, помимо прочего они снижают нагрев двигателей, и их все еще можно иногда встретить в высококлассном оборудовании. Однако, такие драйверы поддерживают только режим шага и полушага.
На текущий момент ШИМ-драйверы шаговых двигателей наиболее популярны, практически все драйверы на рынке – этого типа. Эти драйверы подают на обмотку шагового мотора ШИМ-сигнал очень высокого напряжения, которое отсекается по достижению током необходимого уровня. Величина силы тока, по которой происходит отсечка, задается либо потенциометром, либо DIP-переключателем, иногда эта величина программируется с помощью специального ПО. Эти драйверы достаточно интеллектуальны, и снабжены множеством дополнительных функций, поддерживают разные деления шага, что позволяет увеличить дискретность позиционирования и плавность хода. Однако, ШИМ-драйверы также весьма сильно отличаются друг от друга. Помимо таких характеристик, как питающее напряжение и максимальный ток обмотки, у них отличается частота ШИМ. Лучше, если частота драйвера будет более 20 кГц, и вообще, чем она больше – тем лучше. Частота ниже 20 кГц ухудшает ходовые характеристики двигателей и попадает в слышимый диапазон, шаговые моторы начинают издавать неприятный писк. Драйверы шаговых двигателей вслед за самими двигателями делятся на униполярные и биполярные. Начинающим станкостроителям настоятельно рекомендуем не экспериментировать с приводами, а выбрать те, по которым можно получить максимальный объем технической поддержки, информации и для которых продукты на рынке представлены наиболее широко. Такими являются драйверы биполярных гибридных шаговых двигателей.
Ниже будут описаны только практические рекомендации по выбору ШИМ-драйвера биполярного шагового двигателя. При этом предполагается, что Вы уже определились с моделью двигателя, его характеристиками и т.п.
Как выбрать драйвер шагового двигателя (ШД)
Первый параметр, на который стоит обратить внимание, когда вы решили выбрать драйвер шагового двигателя – это сила тока, которую может обеспечить драйвер. Как правило, она регулируется в достаточно широких пределах, но стоит драйвер нужно выбирать такой, который может выдавать ток, равный току фазы выбранного шагового двигателя. Желательно, конечно, чтобы максимальная сила тока драйвера была еще на 15-40% больше. С одной стороны, это даст запас на случай, если вы захотите получить больший момент от мотора, или в будущем поставите более мощный двигатель, с другой – не будет излишней: производители иногда «подгоняют» номиналы радиоэлектронных компонентов к тому или иному виду/размеру двигателей, поэтому слишком мощный драйвер на 8 А, управляющий двигателем NEMA 17 (42 мм), может, к примеру, вызывать излишние вибрации.
Третий аспект – наличие опторазвязанных входов. Практически во всех драйверах и контроллерах, выпускаемых на заводах, тем более брендовых, опторазвязка стоит обязательно, ведь драйвер – устройство силовой электроники, и пробой ключа может привести к мощному импульсу на кабелях, по которым подаются управляющие сигналы, и выгоранию дорогостоящего ЧПУ-контроллера. Однако, если вы решили выбрать драйвер ШД незнакомой модели, стоит дополнительно поинтересоваться наличием оптоизоляции входов и выходов.
Четвертый аспект – наличие механизмов подавления резонанса. Резонанс шагового двигателя – явление, которое проявляется всегда, разница только в резонансной частоте, которая прежде всего зависит от момента инерции нагрузки, напряжения питания драйвера и установленной силы тока фазы мотора. При возникновении резонанса шаговый двигатель начинает вибрировать и терять крутящий момент, вплоть до полной остановки вала. Для подавления резонанса используется микрошаг и – встроенные алгоритмы компенсации резонанса. Колеблющийся в резонансе ротор шагового двигателя порождает микроколебания ЭДС индукции в обмотках, и по их характеру и амплитуде драйвер определяет, есть ли резонанс и насколько он силен. В зависимости от полученных данных драйвер несколько смещает шаги двигателя во времени относительно друг друга – такая искусственная неравномерность нивелирует резонанс. Механизм подавления резонанса встроен во все >драйверы 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» или подавление резонанса, а также воспользоваться проверенным способом - ориентироваться на бренды.
В разработке электроники для шаговых двигателей давно удерживает пальму первенства корпорация Leadshine, продукцию которой мы и рекомендуем использовать в станках с ЧПУ.
Как известно, драйверы шаговых двигателей компании Leadshine серий AM, EM и DM обладают рядом уникальных функций.
Однако, чтобы воспользоваться преимуществами этих функций в полной мере, драйверы необходимо настроить. Выполняется настройка с помощью специального фирменного ПО - ProTuner. Для настройки потребуется компьютер под управлением Windows, оснащенный COM-портом, а также кабель Leadshine RS232-RJ12.
Подключаем драйвер к COM-порту компьютера с помощью кабеля, устанавливаем ProTuner на компьютер, подаем питание на драйвер.
После запуска ProTuner будет предложено выбрать COM-порт для установки связи с драйвером. Номер порта можно посмотреть в диспетчере устройств:
После успешного запуска будет показано основное меню ProTuner:
Настройка контура регулирования обмоток шагового двигателя
Настройка драйвера начинается с пункта меню Tuning, где настраиваются параметры ПИ-регулятора уровня тока в обмотках двигателя. На графике отражается изменение тока во времени, оранжевая линия показывает эталонный уровень тока, зеленый - реальный ток. В идеале график должен быть правильной прямоугольной формы. Значение I-test задает требуемый уровень тока - он должен быть равен рабочему току обмоток двигателей.
Настройка ПИ-регулятора заключается в подборе двух параметров - пропорционального Kp и интегрального Ki.
Пропорциональный коэффициент Kp соответствует названию - результат его влияния в том, что чем больше разница между нужным уровнем тока и реальным током обмотки, тем быстрее происходит изменение тока драйвером. Большие значения пропорционального коэффициента приводят к возникновению колебаний в регулируемом процессе.
Интегральный коэффициент обладает сглаживающим эффектом, и устраняет т.н. статическую ошибку. Слишком малые значения Ki приводят к тому, что статическая ошибка не компенсируется до конца, слишком большие значения приводят к тому, что уровень тока "плавает" вокруг необходимого значения.
Ниже пример неудачно настроенного контура. Слишком маленький пропорциональный коэффициент Kp привел к тому, что ток слишком медленно меняется, причем скорость изменения падает по мере приближения к заданному уровню, а интегральный коэффициент Ki=15 оказался недостаточен для компенсации статической ошибки - в результате ток так и не достигает нужного уровня за шаг.
Можно также воспользоваться функцией автоматического подбора параметров, нажав кнопку Auto. При этом драйвер самостоятельно протестирует обмотки и выберет подходящие коэффициенты. Именно это происходит при вкл/выкл переключателя SW4(см. документацию на AM882).
Примечание. Производитель рекомендует настраивать параметры на ненагруженном двигателе.
Настройка основных параметров драйвера
После настройки контура тока можно перейти к настройке продвинутых функций драйверов Leadshine. Они настраиваются в окне System Config:
PeakCur(A) - пиковый ток в обмотке шагового двигателя. Обратите внимание, что производителями ШД указывается среднеквадратичное значение тока!
Microstep - если DIP-переключатели установлены нужным образом(см. документацию на драйвер), можно задать точное деление шага с помощью этого параметра.
Elec Damp - "коэффициент электронного демпфирования". Данное число используется как некий коэффициент в антирезонансных алгоритмах. Алгоритмы подавления резонанса Leadshine держатся в секрете, поэтому точное назначение параметра неизвестно, однако известно, что данный коэффициент полезен при устранении вибраций, а также есть рекомендация производителя - сперва настроить коэффициенты 3 резонансных областей со значением коэффициента по умолчанию, прежде чем переходить к подбору Elec Damp - возможно, подбор не потребуется.
Idle Current - величина тока удержания(при простое мотора) в % от рабочего тока.
Idle time - время простоя мотора, после истечения которого ток снижается до уровня, заданного предыдущим параметром.
Phase Error Detection - задает, будет ли драйвер диагностировать ошибки, связанные с функционированием обмоток мотора и выдавать сигнал аварии. Лучше всегда оставлять включенным.
Sensorless stall detection - функция определения момента остановки вала двигателя. При включенной функции драйвер постарается определить, когда произошел внезапный останов вала(вал заклинило или он остановился по другой причине, например из-за пропуска шагов) и выдаст сигнал аварии на выход ALM. Отключать данную функцию стоит только если есть подозрения на ложные срабатывания, а также если не планируется использовать выход аварии драйвера для остановки всего станка.
ENA Reset - при установленной галочке драйвер можно вывести из состояния "авария" без выключения питания, с помощью снятия-подачи сигнала ENABLE.
Low-active ENA - данная функция инвертирует уровень сигнала ENABLE. Аналогично, уровни сигналов ALM и DIR выбираются соответствующими переключателями.
Pulse smoother - алгоритм сглаживания периода поступающих импульсов STEP. Назначение данной функции в том, чтобы немного сгладить негативные эффекты, связанные с нестабильностью входящих импульсов. Так, например, программа Mach3 генерирует сигнал на пинах LPT-порта с крайне большой дисперсией периода импульсов - такая неравномерность очень негативно сказывается на максимально достижимой скорости станка. Однако, данную функцию лучше отключить - работающий фильтр импульсов отключает мультистеппинг. Это особенность всех драйверов Leadshine, не является ошибкой, а осознанным решением производителя. Польза от мультистеппинга видится гораздо большей, чем от фильтра импульсов по той причине, что неравномерность STEP, генерируемых Mach3 настолько велика, что её не сгладить никаким фильтром, а вибрации ШД на низких частотах - очень серьезная проблема, которая почти полностью устраняется мультистеппингом:
Настройка параметров резонансных областей
В драйверах Leadshine AM,EM и DM выделены 3 диапазона скорости вращения ШД, в которых наиболее вероятно возникновение вибраций. Для их устранения предоставляется возможность настройки 2 параметров для каждой области - коррекция соотношения амплитуды тока обмоток и сдвиг фаз. Порядок настройки не регламентируется производителем, даются лишь несколько рекомендаций:
1) Производить настройку на ненагруженном моторе(без подсоединения приводного винта/ремня)
2) Все подстройки ползунками производить на предварительно четко выделенной резонансной частоте вращения.
Ниже описана методика, предлагаемая Михаилом Юровым.
С помощью встроенного генератора импульсов двигатель раскручивается до появления вибрации (первая резонансная область соответствует скорости примерно 0.5-1.2 об/сек, вторая - 1.2-2.5 об/сек, третья 2.5-5 об/сек.)
Ползунок амплитуды перемещается таким образом, чтобы добиться максимальной вибрации, после чего легко подобрать частоту наибольшего резонанса. Зафиксировав частоту, используя ползунки коррекции амплитуды и сдвига фаз добиться максимально плавного движения(хотя бы на слух). После настройки на данной частоте - скорость вращения увеличивается до проявления вибрации в следующей области.
Читайте также: