Step dir что это
Сигналы управления STEP/DIR/ENABLE
[править] Описание
К драйверу ШД подключается источник питания, сам шаговый двигатель (его обмотки) и сигналы управления. Стандартом по сигналам управления является управление сигналами STEP/DIR или CW/CCW и сигнал ENABLE. Обычно драйверы управляются сигналами STEP/DIR/ENABLE, управление сигналами CW/CCW/ENABLE встречается реже.
[править] Протокол STEP/DIR
Сигнал STEP — Тактирующий сигнал, сигнал шага. Один импульс приводит к повороту ротора ШД на один шаг (не физический шаг ШД, а шаг выставленный на драйвере — 1:1, 1:8, 1:16 и т.д.). Обычно драйвер отрабатывает шаг по переднему или заднему фронту импульса.
Сигнал DIR — Потенциальный сигнал, сигнал направления. Логическая единица — ШД вращается по часовой стрелке, ноль — ШД вращается против часовой стрелки, или наоборот. Инвертировать сигнал DIR обычно можно либо из программы управления или поменять местами подключение фаз ШД в разъеме подключения в драйвере.
[править] Протокол CW/CCW
Сигнал CW — Тактирующий сигнал, сигнал шага. Один импульс приводит к повороту ротора ШД на один шаг (не физический шаг ШД, а шаг выставленный на драйвере — 1:1, 1:8, 1:16 и т. д.) по часовой стрелке. Обычно драйвер отрабатывает шаг по переднему или заднему фронту импульса.
Сигнал CCW — Тактирующий сигнал, сигнал шага. Один импульс приводит к повороту ротора ШД на один шаг (не физический шаг ШД, а шаг выставленный на драйвере — 1:1, 1:8, 1:16 и т. д.) против часовой стрелки. Обычно драйвер отрабатывает шаг по переднему или заднему фронту импульса.
Сигнал ENABLE — Потенциальный сигнал, сигнал включения/выключения драйвера. Обычно логика работы такая: логическая единица (подано 5В на вход) — драйвер ШД выключен и обмотки ШД обесточены, ноль (ничего не подано или 0В на вход) — драйвер ШД включен и обмотки ШД запитаны.
ОБОРУДОВАНИЕ
ТЕХНОЛОГИИ
РАЗРАБОТКИ
Блог технической поддержки моих разработок
Урок 34. STEP/DIR драйверы шаговых двигателей. Основные понятия. Протокол STEP/DIR.
В статье рассказываю о STEP/DIR драйверах шаговых двигателей, о преимуществах применения их, об интерфейсе управления STEP/DIR.
В предыдущих уроках для подключения шаговых двигателей к плате Ардуино мы использовали простые драйверы-ключи, которые по сигналам от микроконтроллера коммутировали обмотки двигателей. Вся логика работы была реализована в программе микроконтроллера.
Достоинство такого решения очевидно – простота и минимум аппаратных средств. Всего четыре транзисторных ключа для униполярных приводов или микросхема L298N для биполярных шаговых двигателей достаточно для управления ими. Да и программа коммутации фаз несложная, занимает совсем не много ресурсов микроконтроллера. Альтернативным вариантом управления шаговыми двигателями является использование STEP/DIR драйверов.
STEP/DIR драйвер это аппаратный модуль управления шаговым двигателем, использующий для связи с микроконтроллером протокол STEP/DIR.
Кроме того STEP/DIR драйверы обеспечивают широкий набор дополнительных функциональных возможностей:
Стабилизация тока фазных обмоток.
Главный недостаток простых драйверов шаговых двигателей – отсутствие стабилизации тока обмоток.
В предыдущих уроках я уже затронул эту тему. Итак, как мы подключали обмотки к источнику питания. По самой простой схеме – через транзисторные ключи.
Какие недостатки этой схемы?
Постоянный ток через обмотку при замкнутом ключе определяется по закону Ома:
Ток фазы определяется как отношение напряжения питания к активному сопротивлению обмотки. Т.е. какой попало двигатель подключать нельзя. Надо подбирать привод по сопротивлению обмоток или менять напряжение питания.
В предыдущем уроке я использовал двигатель с сопротивлением обмотки 1,65 Ом. Если бы я его подключил к источнику питания 12 В, то ток был бы свыше 7 А. Двигатель просто сгорит. Для обеспечения требуемого тока фазы 1 А, напряжения источника питания должно быть 1,65 Ом * 1 А = 1,65 В. Где взять такой источник питания я не знаю. К тому же на открытых ключах падает напряжение сравнимое с напряжение на обмотке, которое тоже надо учесть в расчетах. А оно не стабильно и строго не определено. Никаких приемлемых вариантов не видно.
Для подключения такого двигателя я использовал ограничительные резисторы, включенные последовательно с обмотками.
Формула вычисления тока фазы выглядит так:
Но при такой схеме на ограничительных резисторах может выделяться значительная мощность, часто превышающая мощность, потребляемую двигателем. На маломощных двигателях такой вариант более или менее приемлем. При увеличении мощности двигателя становится сомнительным. В схеме из предыдущего урока только на одном ограничительном резисторе выделялось до 7,4 Вт.
Iфазы =( 12 В – 2 В ) / (1,65 + 10 ) = 0,86 А
Pограничительная = I 2 * R = 0,86 * 0,86 * 10 = 7,4 Вт.
И это для тока фазы 0,86 А и только на одном резисторе. Даже на этом двигателе практически не допустимые потери.
Простые драйверы можно использовать с ограниченным числом типов двигателей, или с двигателями небольших мощностей.
Второй недостаток простых драйверов-ключей связан со скоростью нарастания тока в обмотках двигателя. В уроках 28 и 29 я подключал униполярный двигатель FL57STH76-1006 через транзисторные ключи к источнику питания 12 В. Сопротивление обмоток двигателя 8,6 Ом, индуктивность 14 мГн.
Давайте посмотрим, какую форму будет иметь ток фазы для скорости вращения 1 оборот в секунду. Такая скорость соответствует периоду переключения фаз 1 сек / 400 шагов на оборот = 2,5 мс.
Я промоделировал схему в пакете SwCAD.
На диаграмме видно, как задерживается рост тока через обмотку (синий цвет) по отношению к напряжению на обмотке (зеленый цвет). В предыдущем уроке я рассчитал, что для этого двигателя даже при нулевом сопротивлении обмоток ток фазы достигнет значения 1 А за время
T = I * L / U = 1 А * 14 мГн / 12 В = 1,2 мс.
И все эти расчеты для скорости вращения 1 оборот в сек. У меня на практике и получилась максимальная скорость 1 оборот в сек. Дальше двигатель выходит из синхронизма. Не хватает крутящего момента.
Выход – стабилизировать ток фазы. Стабилизатор тока это схема, меняющая напряжение на нагрузке, стремясь обеспечить заданный ток. Т.е. напряжение на нагрузке зависит от сопротивления. Если сопротивление увеличивается, то для того чтобы обеспечить заданный ток стабилизатор тока увеличивает напряжение. При уменьшении сопротивления нагрузки напряжение снижается. Естественно стабилизатор тока работает в ограниченном диапазоне напряжений. При невозможности обеспечить требуемый ток он формирует на нагрузке максимально возможное напряжение.
Например, если стабилизатор тока питается от источника 12 В, необходимо стабилизировать ток 1 А, а подключили нагрузку сопротивление 1000 Ом, то на нагрузке будет 12 В. Хотя теоретически стабилизатор тока должен обеспечить напряжение 1000 В.
Для шаговых двигателей это идеальный закон управления токами обмоток.
Естественно речь идет об импульсных стабилизаторах, имеющих высокий КПД. Силовая часть стабилизаторов тока в обмотках двигателей практически состоит только из ключей. Роль сглаживающего фильтра выполняет индуктивность обмотки.
Реализовать стабилизацию тока на управляющем микроконтроллере довольно проблематично. К примеру, при скорости 10 оборотов в сек, и числе шагов двигателя на полный оборот равном 400, длительность импульса коммутации фаз равна 250 мкс. За такое время ШИМ регулятор, реализованный в программе микроконтроллера, не успеет выполнить функции стабилизации тока. Примерно каждые 10 мкс необходимо измерить ток фазы и вычислить новое значение ЩИМ. А надо реализовать два отдельных регулятора для разных обмоток. Да и скорости вращения бывают выше.
Поэтому функция стабилизации тока обычно реализуется на отдельном аппаратном драйвере. Даже в этом случае, как правило, используется не ШИМ регулятор, а синхронный релейный регулятор. Релейный регулятор открывает ключи и с помощью аналогового компаратора следит за током. При достижении заданного значения тока ключи закрываются. При снижении тока ниже порога опять открываются. Таким образом, в обмотке создается ток с заданным значением. Пульсации сглаживаются индуктивностью обмотки. Релейный регулятор прост в реализации и, в отличие от ШИМ регулятора, обладает высоким быстродействием.
Кроме того стабилизация тока фаз необходима при реализации микро шагового режима управления двигателем. Для установки ротора в определенное положение между фазными полюсами двигателя необходимо обеспечить заданную пропорцию токов обмоток. В статье о драйвере TB6560 можете посмотреть диаграммы соотношения токов фаз для микро шагового режима с 16 градациями. Точность стабилизации тока должна быть достаточно высокая.
Интерфейс STEP/DIR.
Де факто это основной интерфейс управления аппаратными драйверами шаговых двигателей. Для связи с микроконтроллером используются три сигнала.
STEP – шаг. Каждый импульс инициирует поворот двигателя на один шаг. Если драйвер работает в полу шаговом или микро шаговом режимах, то поворот происходит не на физический шаг двигателя, а на часть шага, определяемого режимом. Для полу шагового режима это половина физического шага, для микро шагового – микро шаг. Драйверы реагируют на фронт импульса, как правило, отрицательный.
Частота следования импульсов сигнала STEP определяет скорость вращения двигателя. Естественно существуют ограничения на максимальную частоту импульсов сигнала STEP и на минимальную длительность импульса. Драйвер должен успеть принять, выделить и обработать каждый импульс. Реальный двигатель добавит свои ограничения на скорость вращения, связанные с механическими параметрами, токами обмоток, числом полюсов, механическими нагрузками и т.п.
DIR – сигнал задающий направления вращения двигателя. Как правило, при высоком уровне сигнала двигатель вращается по часовой стрелке. Сигнал DIR должен быть сформирован до импульса STEP.
ENABLE – сигнал разрешения работы драйвера. Запрещающий уровень сигнала снимает напряжение на выходе драйвера. Логика работы устройства не меняется. Сигнал используется для остановки двигателя в режиме без тока удержания. Положение ротора не фиксируется. Разрешающий уровень сигнала ENABLE – низкий, т.е. отсутствие напряжения. Если сигнал не используется, то его можно просто не подключать, бросить входы драйвера ”в воздухе”.
Как правило, все сигналы STEP/DIR драйверов имеют гальваническую развязку, выполненную на оптоэлектронных компонентах. Коммутация обмоток двигателей вызывает значительные импульсные помехи в цепях питания и приводит к смещению уровней общих (земляных) проводов всех электронных модулей системы. В таких условиях гальваническая развязка сигналов управления абсолютно необходима.
Преимущества применения STEP/DIR драйверов.
Я обобщу положительные качества STEP/DIR драйверов.
В качестве примера STEP/DIR драйвера могу привести модуль TB6560-V2.
Это один из самых недорогих STEP/DIR драйверов. На момент написания статьи (октябрь 2016) цена модуля составляла 500-700 руб. Тем не менее, он обеспечивает все перечисленные в статье функции и режимы.
В следующем уроке будем подключать этот драйвер к плате Ардуино. Я представлю библиотеку управления STEP/DIR драйверами.
Немного об управляющих сигналах в системах с ЧПУ. Протокол STEP/DIR.
Наиболее распространенным протоколом на текущий момент является «шаг-направление» (варианты названия: STEP/DIR, PULSE/DIR, PUL/DIR, CP/DIR). Некоторые hi-end станки используют собственные проприетарные цифровые или аналоговые протоколы, но зачастую это все равно вариации на тему формата STEP/DIR. Данные сигналы генерируются контроллером(в роли которого часто выступает компьютер) при выполнении управляющей программы на высокоуровневом языке (обычно G-код).
Одна часть предписывает приводу сделать шаг, вторая часть говорит, в каком направлении шаг должен быть сделан. На физическом уровне сигналы представляют собой прямоугольные импульсы амплитудой 5 В, которые, например, могут генерироваться компьютером на контактах LPT-порта(часто такие сигналы называюют ТТЛ-совместимыми сигналами). Т.е. управляющие сигналы для привода выглядят как последовательность чередующихся уровней напряжения 0 В и +5В, представляющих логические 0 и 1 соответственно. Сигнал такого рода явлется разновидностью ШИМ-сигнала, в котором ширина импульса интерпретируется драйвером как 0 или 1. Поскольку все драйверы и контроллеры разные, очень важно понимать как работает протокол STEP/DIR.
Рассмотрим на примере популярного драйвера шагового двигателя Geckodrive G201.
Сигналы «шаг» и «направление» посылаются одновременно. Если движения в настоящий момент нет, на канал STEP будет подаваться 0, а DIR обычно меняет уровень сигнала только при смене направления. Почему знать это важно?
Дело в том, что у множества дешевых моделей безымянных производителей заявлены такие же характеристики, что и у hi-end моделей, кроме максимальной входной частоты. Драйвер Geckodrive G201 способен обработать входящие сигналы STEP с частотой 200 кГц, что является весьма неплохим показателем. Во многих случаях, если используется большое деление шага, частоты STEP могут быть очень высокими, и надо понимать, какой драйвер сможет их отработать, а какой спасует гораздо раньше.
Конечно, скорее всего, Вам не понадобятся глубокие знания о протоколах управления приводами с ЧПУ, если только вы не планируете собрать драйверы собственноручно, но понимание принципов пригодится при решении разнообразных проблем со станком.
Сигналы управления драйвера ШД: PUL/DIR, STEP/DIR, CW/CCW. Управление шаговыми драйверами DM860H, DM556, TB6600. с Arduino.
Общие сведения:
Шаговый двигатель это бесколлекторный двигатель, ротор которого вращается не плавно, а шагами (дискретно). Один оборот ротора (360°) состоит из определённого количества шагов. Количество полных шагов в одном обороте указывается в технической документации двигателя.
Например, ротор шагового двигателя 17HS1352-P4130, за один полный шаг, поворачивается на 1,8°. Значит для поворота ротора на 360° двигатель должен совершить 200 полных шагов.
Для совершения одного полного шага на обмотки двигателя поступает серия сигналов от драйвера (как в полношаговом «1», так и в микрошаговых режимах «2», «4», «8», «16»).
Микрошаг:
Большинство драйверов позволяют разделить полный шаг двигателя на несколько микрошагов. Выбор микрошага устанавливается согласно таблице в инструкции к драйверу. В таблице указывается количество микрошагов на полный шаг «Microstep» (1/2/4/8/16/32/. ) и/или количество тактов на полный оборот вала «Pulse/rev» (200/400/800/1600/3200/6400/. ).
Если для целого поворота ротора двигателя в режиме 1 микрошаг на полный шаг требуется 200 тактов, то в режиме 4 микрошага на полный шаг, потребуется уже 800 тактов.
Чем больше микрошагов в полном шаге, тем точнее и плавнее поворачивается ротор шагового двигателя, но для поддержания той же скорости, требуется увеличивать частоту следования тактовых импульсов.
Ограничение тока фазы:
Большинство драйверов позволяют ограничить ток фазы (ток протекающий через обмотки двигателя). Выбор тока фазы осуществляется согласно таблице в инструкции к драйверу. В таблице указывается действующий ток «Current» и/или пиковый ток «PK Current». Чем выше ток, тем выше отдаваемый момент (сила двигателя).
Слишком большой ток приведёт к перегреву двигателя и может вызвать его поломку, а слишком маленький может привести к пропуску шагов, или нестабильному вращению ротора.
У некоторых драйверов ограничение тока осуществляется поворотом потенциометра.
Ток удержания:
Ток удержания это постоянный ток проходящий через обмотки двигателя, удерживающий вал в неподвижном состоянии. Некоторые драйверы позволяют снизить ток удержания.
Снижение тока удержания приводит к снижению нагрева двигателя при его удержании.
Силовые выводы драйвера:
Силовые выводы используются для подачи напряжения питания шагового двигателя и подключения его обмоток.
Подключение обмоток двигателя к драйверу зависит от количества выводов у двигателя.
Драйверы DM860H, DM556, TB6600 позволяют работать только с биполярными двигателями. Двигатели с 4 выводами подключаются по схеме А. Двигатели с 6 выводами подключаются по схеме Б или В. Двигатели с 8 выводами подключаются по схеме Г или Д.
Запрещается подключать или отключать обмотки двигателя на включенном драйвере!
Сигналы управления STEP/DIR (PUL/DIR):
Сигналы управления CW/CCW:
(Данные сигналы не поддерживаются драйверами DM860H, DM556, TB6600)
Подключение управляющих выводов драйвера:
Для подключения управляющих выводов можно использовать одну их следующих схем:
Допускается подключать драйвер к контроллеру без использования сигнала ENABLE, тогда выводы ENA+ и ENA- остаются свободными (не подключёнными).
Подключение драйвера к Arduino:
Так как логические уровни Arduino UNO равны 5В, то при подключении управляющих выводов к драйверу, ограничивающие сопротивления R не нужны.
Для подключения драйвера к Arduino воспользуемся схемой где выводы PUL-, DIR-, ENA- подключены к GND контроллера (правая схема на картинке выше).
Если подключить драйвер к Arduino без использования сигнала ENABLE, оставив выводы ENA+ и ENA- не подключёнными, то приведённый ниже скетч не сможет освобождать вал. Вал двигателя будет удерживаться всё время, пока он не вращается.
Выводы драйвера ENA+, DIR+ и PUL+ можно подключить к любым выводам Arduino, их номера указываются в начале скетча. В примере это выводы 2, 3 и 4 соответственно.
Если для подключения драйвера воспользоваться схемой где выводы PUL+, DIR+, ENA+ подключены к 5V контроллера (левая схема на картинке выше), то в скетче нужно изменить логические уровни устанавливаемые функциями digitalWrite().
Управление двигателем при помощи Arduino:
Для работы скетча установите микрошаг 1/4, что соответствует 800 тактов на 1 оборот. Микрошаг устанавливается DIP-переключателями драйвера согласно таблице на его корпусе.
Скетч постоянно повторяет 4 действия:
Управление шаговым двигателем по прерываниям от 2 таймера Arduino:
Данный скетч выполняет те же действия что и предыдущий. Но подача импульсов на вывод PUL осуществляется не в цикле основного кода, а по прерываниям от таймера.
Как только переменной step присваивается число отличное от 0, то на драйвер начинают поступать импульсы. Значение step убывает с каждым поданным импульсом, пока не достигнет 0, что приведёт к остановке вала двигателя. Частота подачи импульсов в Гц указывается функцией funcSetTimer2().
В данном скетче мы ждём завершение вращения вала проверяя значение step в цикле while, вместо этого можно выполнять другие действия, например, опрашивать концевики, датчики, измерять пройденное расстояние и т.д.
Код работает на Arduino UNO, Pro Mini, Nano, Mega.
самодельный станок чпу
Сайт поможет вам в изготовлении своего станка чпу
Драйверы шаговых двигателей
Особенности и функции драйверов шаговых двигателей
Драйвер (контроллер) шагового двигателя представляет собой устройство-набор микросхем, которое обеспечивает его правильную работу и заставляет двигатель четко выполнять сигналы управления. В сфере управления ШД существуют определенные стандарты – это сигналы STEP, DIR и ENABLE. Сигнал STEP отвечает за шаг двигателя, DIR – за направление вращения, а ENABLE является сигналом включения самого драйвера. Говоря научным языком, контроллеры шаговых двигателей – это силовые электронные устройства, управляющие высоковольтными/сильноточными обмотками шагового двигателя на основе цифровых сигналов управления. С их помощью двигатель выполняет свою непосредственную функцию – делает шаги (то есть, вращается).
Как известно, шаговые двигатели имеют более сложную структуру и систему управления, по сравнению с теми же обычными коллекторными двигателями. Чтобы эффективно управлять ими, нужно переключать уровень напряжения в обмотках в определенной последовательности и одновременно поддерживать контроль тока. Поэтому, чтобы упростить обслуживание данных механизмов, были внедрены вспомогательные устройства управления – драйверы шаговых двигателей. Они позволяют контролировать вращения ротора двигателя, в зависимости от сигналов управления и в после этого делить физический шаг шагового двигателя на мелкие дискреты с помощью электроники.
Для того, чтобы обеспечить полноценную работу устройства, к контроллерам шагового двигателя подключаются сигналы управления, сам ШД через обмотки, а также источник питания. Стандартные сигналы управления для такого оборудования – это сигналы STEP\DIR (или же CW\CCW), а также сигнал ENABLE.
Протокол STEP\DIR
Сигнал STEP – основной сигнал шага, тактирующий. Один его импульс поворачивает ротор двигателя на один шаг. Важно, что здесь имеется в виду не физический шаг шагового двигателя, а специальный шаг, параметры которого определяются драйвером (например, 1:1, 1:8, 1:16). Как правило, драйверы шаговых двигателей отрабатывают этот шаг по заднему или же переднему фронту импульса.
Сигнал DIR – сигнал направления, потенциальный сигнал. В режиме логической единице шаговый двигатель вращается по часовой стрелке, а в режиме нуля – против нее. Также можно выставить значения этих параметров в обратной последовательности. Есть возможность инвертировать сигнал DIR из программы управления или же изменить последовательность подключения фаз двигателя с помощью драйвера (в разъеме его подключения).
Протокол CW/CWW
Сигнал CW – сигнал шага, тактирующий сигнал. Его импульс также поворачивает ротор. Один сигнал – один шаг ротора, коэффициенты которого устанавливаются драйвером (1:1, 1:16, 1:8 итд). Шаг отрабатывается драйвером по переднему или заднему фронту импульса.
Сигнал ENABLE – сигнал включения/выключения драйвера, потенциальный сигнал. При логической единице (5В на вход) драйвер выключается, и обмотки шагового двигателя обесточиваются. При нуле (0В на вход) драйвер включен и обмотки запитаны.
Дополнительные функции контроллеров шаговых двигателей
• Контроль перегрузок по току
• Контроль напряжения в питании, в том числе и защита от эффекта обратной ЭДС. Если вращение ротора замедляется, шаговый двигатель начинает вырабатывать дополнительное напряжение, которое суммируется с напряжением питания и на краткий период времени увеличивает его. Чем сильнее замедление, тем больше растет напряжение обратной ЭДС, и тем больше скачет напряжение питания. Такой скачок напряжения негативно влияет на драйвер и может даже вывести его из строя, поэтому драйверы шаговых двигателей оснащены системой защиты от колебаний питающего напряжения. Если показатели напряжения превышают пороговое значение, драйвер автоматически отключается.
• Контроль изменения полюсов (переполюсовки) при подключении питающего напряжения и сигналов управления.
• Режим экономии электрического тока, подаваемого на обмотки ШД при его простое (определяется отсутствием сигнала STEP). Он позволяет уменьшить нагрев двигателя и снизить расход потребляемого тока (в режиме AUTO-SLEEP).
• Автоматическая система-компенсатор среднечастотного резонанса шагового двигателя. Резонанс часто возникает при работе ШД (в диапазоне 6-12 об/сек.) и негативно влияет на его работу. В частности, двигатель начинает гудеть, работать нестабильно и в итоге ротор останавливается. Это явление во многом зависит от механической нагрузки и параметров шагового двигателя. Автоматический компенсатор помогает полностью устранить явление резонанса, сделать вращение его ротора устойчивым и равномерным при любых диапазонах частот.
• Схема изменений формы фазовых токов с функцией увеличения их частоты. Также она называется морфинг – то есть, переход от микрошага к обычному шагу двигателя при увеличении частоты тока. Как известно, максимальный момент (заявленный в ТХ) отдается двигателем лишь при режиме полного шага. Поэтому, обычные драйверы шаговых двигателей (без морфинга) позволяют двигателям работать лишь на 70% от их максимальной мощности. Драйвер с функцией морфинга обеспечивает максимальную отдачу двигателя во всех частотных диапазонах.
• Генератор частоты STEP (встроенный) – это функция, позволяющая осуществить пробный запуск контроллера шагового двигателя без необходимости подключения к ПК или какому-либо другому внешнему генератору. Также с его помощью можно устанавливать простые системы перемещения опять таки без использования компьютера.