Добавлено: 24.08.2025 Автор: : admin Комментарии: 0

Чтобы вам было проще разобраться в особенностях нашего оборудования, мы готовим подробные обзорные материалы. Они будут публикуются в этой рубрике «ТехноГид». А если хотите сначала кратко ознакомиться с темой, загляните в наш Telegram-канал — там мы публикуем сжатые версии этих обзоров.

В нашем магазине представлена линейка шаговых двигателей и сервоприводов. Несмотря на разнообразие интерфейсов управления, стандартом де-факто для них является импульсный сигнал Pulse/Dir. Этим способом управляются все шаговые двигатели и сервоприводы, которые мы предлагаем.

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

Для управления по протоколу Pull/Dir требуется высокоскоростной выход контроллера для формирования импульсного сигнала (Pulse). Все контроллеры серии FLE с транзисторными выходами имеют от 2 до 8 таких выходов в зависимости от модели.

Мы предполагаем, что большинство из вас уже знакомы со средой FLProg. Новичкам рекомендуем обратиться к «Учебному центру» на сайте программы, где собраны обучающие материалы. Также вы можете задать вопросы на активном форуме FLProg, найти множество руководств на YouTube и в Telegram-каналах.

Для жителей России, в связи с ограничением доступа к некоторым международным ресурсам, мы создали группу ВКонтакте и канал на RuTube.

Теперь давайте подробнее рассмотрим, как реализовать управление шаговым двигателем или сервоприводом с помощью контроллера FLE.

В программе FLProg необходимый функционал находится в библиотеке блоков: раздел «Промышленная автоматика» → «ЧПУ». Для управления используйте блок «Шаговый двигатель с драйвером Pull/Dir».

Вытащим этот блок на схему проекта.

Рассмотрим настройки этого блока и возможные режимы управления.

Вкладка «Основные параметры»

Пин PUL драйвера — укажите выходной пин для сигнала PULL, передаваемого на драйвер шагового двигателя. Для корректной работы рекомендуется выбирать высокоскоростной выход контроллера. Если выбрать значение «Вход», у блока появится соответствующий вход «pinPull», на который необходимо подать номер требуемого пина. При необходимости сигнал на этом пине можно инвертировать с помощью чек-бокса «Инвертировать пин».

Пин DIR драйвера — укажите выходной пин для сигнала DIR, передаваемого на драйвер шагового двигателя. Для сигнала DIR не требуется высокоскоростной пин контроллера. При выборе значения «Вход» у блока появится вход «pinDir» для указания номера пина. Сигнал на этом пине также можно инвертировать через чек-бокс «Инвертировать пин».

Длительность импульса PULL (мкс.) — установите длительность импульса на пине PULL. Рекомендуемое значение — 20 мкс. При переключении в положение «Вход» у блока появится вход «Pulse» для задания значения длительности импульса.

Пин Zero — при необходимости укажите входной пин для сигнала установки в 0 значения счетчика текущего шага. При выборе значения «Вход» у блока появится вход «pinZero» для указания номера пина. Сигнал на этом пине можно инвертировать через чек-бокс «Инвертировать пин».

Включить подтягивающий резистор — при активации этой опции будет программно включен подтягивающий к VCC резистор для данного входа.

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

Вкладка «Управление шаговым двигателем»

Режим управления двигателем — выберите режим работы двигателя. Для возможности динамического переключения режимов установите значение «Вход». В этом случае у блока появится вход «Mode».

Доступные режимы:

  • 0 – Стоп. Двигатель остановлен.
  • 1 – Непрерывное вращение. Двигатель разгоняется в направлении, заданном сигналом на входе «Dir», от стартовой скорости до максимальной с заданным ускорением, после чего продолжает вращение с постоянной скоростью.
  • 2 – Переход на заданный шаг. Двигатель перемещается к указанному на входе «TargetStep» положению. При изменении номера целевого шага двигатель немедленно начинает перемещение к новому положению. Допустимый диапазон значений: от -2147483648 до 2147483647. В этом режиме сигнал на входе «Dir» игнорируется, так как направление определяется автоматически.
  • 3 – Выполнение количества шагов. При поступлении переднего фронта на входе «ExecNumStep» двигатель выполняет заданное на входе «NumStep» количество шагов в направлении, указанном сигналом на входе «Dir».
  • 4 – Поиск нуля. Двигатель начинает вращение в направлении, заданном сигналом на входе «Dir», до момента появления сигнала на пине Zero (при его настройке) или логической единицы на входе блока «Zero». При возникновении любого из этих событий двигатель останавливается, а значение текущего шага сбрасывается в 0. Обработка сигнала с пина Zero выполняется в аппаратном прерывании для обеспечения точной установки нулевой позиции.

Направление вращения — задайте направление вращения двигателя. Для возможности оперативного управления направлением установите значение «Вход», что активирует вход «Dir».

Максимальная скорость — укажите максимальную скорость вращения двигателя. При выборе значения «Вход» у блока появится вход «MaxSpeed».

Начальная скорость — задайте стартовую скорость вращения двигателя, с которой начинается ускорение. При выборе значения «Вход» у блока появится вход «InitSpeed».

Ускорение — укажите ускорение, с которым двигатель будет разгоняться от начальной скорости до максимальной. При выборе значения «Вход» у блока появится вход «Acceleration».

Вход перехода на целевой шаг — при активации этой опции у блока появится вход «TargetStep» для задания номера целевого шага в соответствующем режиме. При деактивации значение целевого шага будет равно 0.

Вход выполнения количества шагов — при активации этой опции у блока появятся входы «ExecNumStep» и «NumStep», необходимые для режима выполнения заданного количества шагов. При деактивации данный режим будет работать как режим остановки.

Вход установки текущего шага — при активации этой опции у блока появятся входы «ExecSetStep» и «CurrentStep». При поступлении переднего фронта на входе «ExecSetStep» в счетчик текущего шага будет установлено значение со входа «CurrentStep».

Вход Zero — при активации этой опции у блока появится вход «Zero». При поступлении переднего фронта на этом входе в счетчик текущего шага будет записано значение 0. В режиме поиска нуля это также приведет к остановке двигателя.

Выход текущего шага — при активации этой опции у блока появится выход «Step», на который будет выводиться значение счетчика текущего шага.

Выход текущей скорости — при активации этой опции у блока появится выход «Speed», отображающий текущую скорость вращения двигателя.

Статусы работы двигателя

На выходе «Status» отображаются следующие состояния:

  • 1 — FLPROG_STOP_STEP_MOTOR_STATUS — Двигатель остановлен.
  • 2 — FLPROG_CONTINUOUS_ROTATION_STEP_MOTOR_STATUS — Двигатель находится в режиме непрерывного вращения.
  • 3 — FLPROG_POSITION_TRANSITION_WAIT_COMMAND_STEP_MOTOR_STATUS — Двигатель находится в режиме перехода на заданный шаг и остановлен после достижения целевой позиции.
  • 4 — FLPROG_POSITION_TRANSITION_EXECUTE_COMMAND_STEP_MOTOR_STATUS — Двигатель находится в режиме перехода на заданный шаг и выполняет перемещение.
  • 5 — FLPROG_GO_STEP_COUNT_STEP_WAIT_COMMAND_STEP_MOTOR_STATUS — Двигатель находится в режиме выполнения заданного количества шагов и ожидает команду.
  • 6 — FLPROG_GO_STEP_COUNT_STEP_EXECUTE_COMMAND_STEP_MOTOR_STATUS — Двигатель находится в режиме выполнения заданного количества шагов.
  • 7 — FLPROG_FIND_ZERO_STEP_MOTOR_STATUS — Двигатель находится в режиме поиска нуля и выполняет поиск.
  • 8 — FLPROG_END_FIND_ZERO_STEP_MOTOR_STATUS — Двигатель завершил поиск нуля и остановлен.

Таким образом применение контроллера серии FLE и шаговых двигателей или серводвигателей позволяет создавать системы различной сложности с управлением от одного контроллера от 2 до 8 (FLE-56MT) приводов.

Оставить комментарий