Step dir что это: Уроки Ардуино. STEP/DIR драйверы шаговых двигателей. Основные понятия. Протокол STEP/DIR.

Управляющие сигналы в системах с ЧПУ. Протокол STEP/DIR

Наиболее распространенным протоколом на текущий момент является «шаг-направление» (варианты названия: STEP/DIR, PULSE/DIR, PUL/DIR, CP/DIR). Некоторые hi-end станки используют собственные проприетарные цифровые или аналоговые протоколы, но зачастую это все равно вариации на тему формата STEP/DIR. Данные сигналы генерируются контроллером(в роли которого часто выступает компьютер) при выполнении управляющей программы на высокоуровневом языке (обычно G-код). 

Название протокола STEP/DIR говорит само за себя — привод с ЧПУ получает команду из двух частей. 

Одна часть предписывает приводу сделать шаг, вторая часть говорит, в каком направлении шаг должен быть сделан. На физическом уровне сигналы представляют собой прямоугольные импульсы амплитудой 5 В, которые, например, могут генерироваться компьютером на контактах LPT-порта(часто такие сигналы называюют ТТЛ-совместимыми сигналами). Т.е. управляющие сигналы для привода выглядят как последовательность чередующихся уровней напряжения 0 В и +5В, представляющих логические 0 и 1 соответственно. Сигнал такого рода явлется разновидностью ШИМ-сигнала, в котором ширина импульса интерпретируется драйвером как 0 или 1. Поскольку все драйверы и контроллеры разные, очень важно понимать как работает протокол STEP/DIR. 

Рассмотрим на примере популярного драйвера шагового двигателя Geckodrive G201.

В руководстве сказано, что минимальная длительность логической 1 канала STEP — 4мкс, а логического 0 — 0.5 мкс. Посмотрим на картинку снизу: там изображен сигнал, соответствующий минимальным требованиям. Аналогичные требования указаны и для сигнала направления, только минимальная длительность уже будет 1 мкс. Если входящие сигналы будут удовлетворять указанным требованиям, то при поступлении каждой логической единицы по каналу STEP драйвер распознает её и сделает шаг, тогда как состояние канала DIR в этот момент задаст направление шага (1 — по, 0 — против часовой стрелки, или наоборот).

Сигналы «шаг» и «направление» посылаются одновременно. Если движения в настоящий момент нет, на канал STEP будет подаваться 0, а DIR обычно меняет уровень сигнала только при смене направления. Почему знать это важно? 

Дело в том, что у множества дешевых моделей безымянных производителей заявлены такие же характеристики, что и у hi-end моделей, кроме максимальной входной частоты. Драйвер Geckodrive G201 способен обработать входящие сигналы STEP с частотой 200 кГц, что является весьма неплохим показателем. Во многих случаях, если используется большое деление шага, частоты STEP могут быть очень высокими, и надо понимать, какой драйвер сможет их отработать, а какой спасует гораздо раньше. 

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


Тестер Step-Dir

Все большую популярность приобретают самодельные станки ЧПУ, как фрезерные, так и лазерные. Выбор комплектующих для таких станков часто определяется бюджетом энтузиаста-самоделкина. И при сборке и дальнейшей эксплуатации возникают проблемы с выбором комплектующих и выявлением проблемных мест. Часто в качестве управляющего блока используется компьютер с LPT-портом. В последнее время LPT-порт реализуется с помощью преобразователей USB-LPT, отлично работающих на одних компьютерах, и не стабильно работающих на других, причем это не зависит от производительности компьютера. Особенно проблематичной становится диагностика нестабильной работы, выражающаяся в медленном «уплывании» координат при работе станка.Справедливости ради стоит отметить, что такая неисправность характерна и для станков под управлением настоящих управляющих панелей/блоков и долгое время находящихся в эксплуатации. Причин нестабильной работы может быть много — механические нагрузки, нестабильное напряжения питания, нестабильная работа опторазвязки и многое другое. Для облегчения диагностики и локализации проблемных мест предназначен данный тестер.

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

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

При нажатии кнопок на панели тестера возможна генерация импульсов Step в следующих режимах:

 — количество импульсов — 1, 10,100,200,400,1600,3200, непрерывно

— частота импульсов (Гц) — 1,10,100,1000,10000,20000.

Возможно переключение уровня сигнала Dir.

При нажатии на кнопку «Старт» происходит выдача заданного количества импульсов с заданной частотой. Это позволяет протестировать возможность работы драйвера и двигателя на различных частотах управляющих импульсов, проверить стабильность перемещения элементов станка при различных режимах и выявить при этом проблемы механики. При работе от управляющего блока/компьютера тестер производит подсчет принятых сигналов. Как правило все системы ЧПУ автоматически возвращаются в стартовую точку по окончании выполнения программы. При этом тестер будет показывать в начале выполнения программы и в конце «0», поскольку при подсчете импульсов тестер учитывает изменение направления движения.

Схема тестера представлена ниже:

Кнопки на оптопарах U2, U3 иммитируют сигналы от управляющего блока. Эти сигналы поступают в микроконтроллер, где происходит их подсчет и микроконтроллер выдает аналогичные выходные сигналы. Выходные сигналы снимаются с эммитеров транзисторов Q1 (Step) и Q2 (Dir). Благодаря эммитерным повторителям возможно снятие сигнала относительно как минусового (общего) провода, так и плюсового. Также эммитерные повторители защищают выводы микроконтроллера от превышения допустимого тока в случае замыканий. Выходной сигнал тестера Step с эммитера транзистора Q1 также подается на оптопару U4, сигнал с которой обрабатывается микроконтроллером аналогично сигналам с оптопар U2, U3. Это сделано специально, поскольку в случае замыкания на корпус провода, передающего сигнал Step на драйвер двигателя, подсчет выходящих импульсов вестись не будет. С помощью кнопок «Количество», «Частота», «Направление» задаются параметры ручного управления. И при нажатии на кнопку «Старт» тестер выдает на выход заданные последовательности импульсов.

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

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

Ну и напоследок пара видео, демонстрирующих работу тестера.

Список радиоэлементов
ОбозначениеТипНоминалКоличествоПримечаниеМагазинМой блокнот
U1МК AVR 8-бит

ATmega8-16PU

1Поиск в магазине ОтронВ блокнот
U2-U4Оптопара

PC817

3Возможна замена другими оптпарамиПоиск в магазине ОтронВ блокнот
Q1, Q2Биполярный транзистор

КТ315Б

2Поиск в магазине ОтронВ блокнот
C1, C2Конденсатор22 пФ2Поиск в магазине ОтронВ блокнот
R1, R2, R5, R6, R9Резистор

2. 2 кОм

5Поиск в магазине ОтронВ блокнот
R3, R4, R7, R8, R10Резистор

220 Ом

5Поиск в магазине ОтронВ блокнот
R11-R15Резистор

10 кОм

5Поиск в магазине ОтронВ блокнот
X1Кварцевый резонатор16 МГц1Поиск в магазине ОтронВ блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:
  • Arhiv.rar (64 Кб)
Теги:
  • AVR
  • Микроконтроллер
  • Шаговый двигатель
  • Тестер
  • Sprint-Layout
  • Proteus

Шаг/Направление против Пул/Направление

  • 02-05-2017 #1

    Привет

    Извините, если это глупый вопрос, но мне просто нужно подтвердить следующее, пожалуйста.

    Маркировка/метки на моем драйвере шагового двигателя AM882: PUL, DIR и ENA

    Я полагаю, что они переводятся следующим образом:

    PUL = Импульсный сигнал, который = или совпадает с Шаговый сигнал или Шаговый импульс, или просто STEP
    DIR = Сигнал направления.
    ENA = Активировать сигнал. Этот сигнал используется для включения/отключения драйвера.

    Я прав??

    Спасибо

    Ответить с цитатой


  • 02-05-2017 #2

    да вы правы.

    Джерри
    ______________________________________________
    UCCNC 2022 Screenset

    Mach4 2010 Screenset

    JointCAM — CAM для деревообрабатывающих соединений

    Ответить с цитатой


  • 02-05-2017 #3

    Спасибо за быстрый ответ.

    Ян

    Ответить с цитатой


  • Драйвер серводвигателя постоянного тока Rhino 40 В, 20 А, Вт/Т, ввод шага/направления (RMCS-2301) – Rhino Motion Control Solutions

    . Входы PULSE/STEP, DIRECTION оптически изолированы. Оба входа работают с сигналами логического привода 2,5 В, 3,3 В или 5 В. Этот привод полностью совместим с двигателями с датчиками крутящего момента Mega и серводвигателями с датчиками крутящего момента Rhino IG52.


    Особенности

    • Плавная и бесшумная работа на всех скоростях и производительность серводвигателя постоянного тока с нулевым люфтом.
    • Входное напряжение питания от 12 В до 48 В постоянного тока.
    • Выбираемый множитель усиления и выбираемый предел погрешности.
    • Входы ИМПУЛЬС и НАПРАВЛЕНИЕ с оптоизолированным интерфейсом.
    • потенциометра для настройки пропорционального, интегрального и дифференциального усиления, а также 1 потенциометр для ограничения тока.

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

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