Для автоматизации машин, требующих всего двух-трех осей электрических приводов, импульсные выходы могут быть самым простым решением.
Использование импульсных выходов ПЛК — это экономически эффективный способ управления простым движением. Большинство, если не все, производители ПЛК предоставляют возможность управления сервоприводами и шаговыми двигателями с помощью импульсной последовательности сигналов. Поэтому, когда необходимо автоматизировать работу простой машины всего по двум или трем осям с использованием электрических приводов, импульсные выходы гораздо проще настроить, подключить и запрограммировать, чем использовать аналоговые сигналы. Это также может быть дешевле, чем использование сетевого управления движением, например, по Ethernet/IP.
Итак, давайте рассмотрим управление шаговым двигателем или сервоприводом с помощью драйвера или усилителя, расположенного между контроллером и двигателем, с акцентом на импульсные сигналы, используемые контроллером или индексатором.
Основы пульсовой тренировки
Шаговые двигатели и импульсно-управляемые версии серводвигателей могут вращаться в обоих направлениях. Это означает, что контроллер должен подавать на привод как минимум два управляющих сигнала. Существует два способа подачи этих сигналов, и разные производители называют их по-разному. Существует два распространенных способа обозначения двух используемых схем управления сигналами: «режим 1P», также известный как «режим шага/направления», и «режим 2P», который называется «режимом CW/CCW» или режимом вращения по часовой стрелке/против часовой стрелки. Оба режима требуют двух управляющих сигналов от контроллера к приводу.
В режиме 1P один управляющий сигнал представляет собой последовательность импульсов или «шаговый» сигнал. Другой сигнал — это вход направления. Если вход направления включен и на шаговом входе присутствует импульсный сигнал, двигатель вращается по часовой стрелке. И наоборот, если сигнал направления выключен и на шаговом входе присутствует импульсный сигнал, двигатель вращается в другом направлении, или против часовой стрелки. Последовательность импульсов всегда подается на один и тот же вход независимо от желаемого направления.
В режиме 2P оба сигнала представляют собой последовательность импульсов. Частота может быть задана только для одного входа одновременно, поэтому, если присутствует последовательность импульсов по часовой стрелке, двигатель вращается по часовой стрелке. Если присутствует последовательность импульсов против часовой стрелки, двигатель вращается против часовой стрелки. Какой вход будет принимать последовательность импульсов, зависит от желаемого направления.
Импульсы, подаваемые контроллером, приводят двигатель в движение. Двигатель поворачивается на одну единицу за каждый импульс на входе привода. Например, если двухфазный шаговый двигатель имеет 200 импульсов на оборот (ppr), то один импульс заставляет двигатель повернуться на 1/200 оборота или 1,8 градуса, а 200 импульсов заставят двигатель повернуться на один оборот.
Конечно, разные двигатели имеют разное разрешение. Шаговые двигатели могут работать в режиме микрошага, что обеспечивает им тысячи импульсов на оборот. Кроме того, серводвигатели, как правило, имеют минимальное разрешение в несколько тысяч импульсов на оборот. Независимо от разрешения двигателя, импульс от контроллера или индексатора заставляет его вращаться только на одну единицу приращения.
Скорость вращения двигателя зависит от частоты импульсов, или скорости их генерации. Чем чаще импульсы, тем быстрее вращается двигатель. В приведенном выше примере для двигателя с частотой 200 импульсов в секунду (импульсов в секунду) частота 200 импульсов в секунду (импульсов в секунду) обеспечит один оборот в секунду (об/мин) или 60 оборотов в минуту (об/мин). Чем больше импульсов необходимо для одного оборота двигателя (импульсов в секунду), тем быстрее должны подаваться импульсы для достижения той же скорости. Например, двигателю с частотой 1000 импульсов в секунду потребуется частота импульсов в раз больше, чем двигателю с частотой 200 импульсов в секунду, чтобы достичь той же скорости вращения. Расчеты довольно просты:
rps = pps/ppr (количество оборотов в секунду = импульсов в секунду / импульсов на оборот)
об/мин = об/с(60)
Контроль пульса
Большинство контроллеров имеют метод определения направления вращения двигателя — по часовой стрелке или против часовой стрелки — и соответствующим образом управляют сигналами. Другими словами, программисту обычно не требуется определять, какие выходы нужно включить. Например, многие ПЛК имеют функции управления движением с помощью импульсного сигнала, и эта функция автоматически управляет выходами для получения правильного направления вращения независимо от того, настроен ли контроллер на однополюсный (1P) или двухполюсный (2P) режим.
Рассмотрим в качестве простого примера два движения. Оба движения состоят из 1000 импульсов. Одно в положительном направлении, другое в отрицательном. Контроллер включает соответствующие выходы, независимо от того, используется ли 1P или 2P, чтобы заставить двигатель вращаться в положительном направлении (обычно по часовой стрелке), когда количество заданных импульсов равно 1000. С другой стороны, если программа задает -1000 импульсов, контроллер включает соответствующие выходы для вращения в отрицательном направлении (обычно против часовой стрелки). Следовательно, программисту не нужно управлять направлением вращения двигателя с помощью кода в программе, выбирая, какие выходы использовать. Контроллер делает это автоматически.
Контроллеры и драйверы обычно предоставляют пользователям возможность выбора типа импульса либо с помощью DIP-переключателя, либо через программные настройки. Важно убедиться, что контроллер и драйвер настроены одинаково. В противном случае работа может быть нестабильной или вообще не работать.
Абсолютные и инкрементальные движения
В программировании систем управления движением наиболее распространены две команды перемещения: инкрементальное и абсолютное перемещение. Понятие абсолютного и инкрементального перемещения сбивает с толку многих пользователей независимо от используемого метода управления двигателем. Однако эта информация применима независимо от того, управляется ли двигатель импульсами, аналоговым сигналом или сетью, такой как Ethernet/IP или Ethercat.
Во-первых, если на двигателе есть энкодер, то типы его перемещений никак не зависят от типа энкодера. Во-вторых, абсолютные и инкрементальные перемещения возможны независимо от наличия или отсутствия энкодера.
При использовании двигателя для перемещения линейной оси, например, в шариковинтовом приводе, существует (очевидно) конечное расстояние между одним концом привода и другим. Другими словами, если каретка находится на одном конце привода, двигатель может вращаться только до тех пор, пока каретка не достигнет противоположного конца. Это и есть длина хода. Например, у привода с ходом 200 мм один конец привода обычно находится в «нулевом» или исходном положении.
Абсолютное перемещение перемещает каретку в заданное положение независимо от ее текущего положения. Например, если текущее положение равно нулю, а заданное перемещение составляет 100 мм, контроллер посылает достаточное количество импульсов, чтобы переместить привод вперед до отметки 100 мм и остановить его.
Но если текущее положение привода составляло 150 мм, то абсолютное перемещение на 100 мм заставило бы контроллер посылать импульсы в отрицательном направлении, чтобы переместить привод назад на 50 мм и остановить его в положении 100 мм.
Практическое применение
Наиболее распространенная проблема при использовании импульсного управления заключается в проводке. Сигналы часто случайно подключаются в обратном порядке. В режиме 2P это означает, что выход против часовой стрелки подключен к входу по часовой стрелке и наоборот. В режиме 1P это означает, что выход импульсного сигнала подключен к входу управления направлением, а выход сигнала управления направлением подключен к импульсному входу.
В режиме 2P эта ошибка в проводке приводит к тому, что двигатель вращается по часовой стрелке при команде вращения против часовой стрелки и против часовой стрелки при команде вращения по часовой стрелке. В режиме 1P проблему сложнее диагностировать. Если сигналы перепутаны, контроллер посылает последовательность импульсов на вход направления, что ничего не меняет. Он также может посылать изменение направления (включать или выключать сигнал в зависимости от направления) на шаговый вход, что может вызвать вращение двигателя импульсом. Один импульс движения обычно довольно трудно заметить.
Использование режима 2P упрощает поиск и устранение неисправностей, и его обычно легче понять тем, кто не имеет большого опыта в этом типе управления движением.
Вот метод, позволяющий свести к минимуму время, затрачиваемое на поиск и устранение неисправностей в осях импульсов и направления. Он позволяет инженерам сосредоточиться на одной задаче за раз. Это предотвратит многодневные попытки выяснить, какая ошибка в проводке препятствует движению, и только потом обнаружить, что функция импульсного вывода неправильно настроена в ПЛК, и импульсы вообще не выводились.
1. Определите режим импульсной модуляции и используйте один и тот же режим для всех осей.
2. Установите контроллер в соответствующий режим.
3. Установите привод в соответствующий режим.
4. Создайте простейшую программу в вашем контроллере (обычно это функция управления движением), чтобы можно было задавать вращение двигателя в одном или другом направлении с низкой скоростью.
5. Отдайте команду на движение по часовой стрелке и следите за состоянием контроллера, чтобы убедиться, что импульсы выводятся на экран.
– Это могут быть светодиоды на выходах контроллера или индикаторы состояния, например, флаг занятости в ПЛК. Также можно отслеживать изменение значения счетчика импульсных выходов в контроллере.
–Двигатель не обязательно должен быть подключен к выходным импульсам.
6. Повторите тест против часовой стрелки.
7. Если вывод импульсов в обоих направлениях проходит успешно, переходите к следующему шагу. В противном случае, сначала необходимо разобраться с программированием.
8. Подключите контроллер к драйверу.
9. Поверните двигатель в одном направлении. Если это сработает, переходите к шагу 10. Если не сработает, проверьте проводку.
10. Поверните двигатель в противоположном направлении. Если это сработает, значит, вы добились успеха. Если нет, проверьте проводку.
На первом этапе было потрачено много часов впустую, потому что частота импульсов достаточно низкая, чтобы двигатель вращался крайне медленно, примерно со скоростью 1/100 об/мин. Если единственный способ определить, работает ли двигатель, — это наблюдать за валом, может показаться, что он не вращается с низкой скоростью, что может навести на мысль, что он не генерирует импульсы. Лучше всего рассчитать безопасную скорость, исходя из разрешения двигателя и параметров приложения, прежде чем устанавливать скорость для теста. Некоторые считают, что можно установить рабочую скорость просто наугад. Но если двигателю требуется 10 000 импульсов для одного оборота, а частота импульсов установлена на 1000 импульсов в секунду, двигателю потребуется 10 секунд, чтобы совершить один оборот. И наоборот, если двигателю требуется 1000 импульсов для одного оборота, а частота импульсов установлена на 1000, двигатель будет совершать один оборот в секунду или 60 об/мин. Это может быть слишком быстро для теста, если двигатель подключен к нагрузке, например, к шариковинтовому приводу с ограниченным диапазоном перемещения. Крайне важно следить за индикаторами, показывающими, что импульсы выводятся на экран (светодиоды или счетчик импульсов).
Расчеты для практического применения
Пользователи часто получают интерфейсы HMI, отображающие расстояние и скорость машины в единицах импульсов, а не в инженерных единицах, таких как миллиметры. Зачастую программист спешит запустить машину и не тратит время на определение единиц измерения машины и их преобразование в инженерные единицы. Вот несколько советов, которые помогут в этом.
Если известно разрешение шага двигателя (импульсов на оборот) и перемещение, совершаемое за один оборот двигателя (мм), то постоянная управляющего импульса рассчитывается как разрешение/расстояние на оборот или импульсы на оборот/расстояние на оборот.
Эта константа может помочь определить, сколько импульсов необходимо для перемещения на определенное расстояние:
Текущее положение (или расстояние) = количество импульсов / постоянное количество командных импульсов.
Для перевода инженерных единиц в импульсы сначала определите константу, определяющую количество импульсов, необходимых для данного перемещения. Предположим, в приведенном выше примере двигателю требуется 500 импульсов для одного оборота, а один оборот равен 10 мм. Константу можно рассчитать, разделив 500 (импульсов на оборот) на 10 (мм на оборот). Таким образом, константа равна 500 импульсов/10 мм или 50 импульсов/мм.
Затем эту константу можно использовать для расчета количества импульсов, необходимых для перемещения на заданное расстояние. Например, для перемещения на 15 мм потребуется 15 мм × 50 ppm = 750 импульсов.
Для перевода показаний счетчика импульсов в инженерные единицы достаточно разделить значение счетчика импульсов на постоянную управляющего импульса. Таким образом, если счетчик импульсов показывает 6000, разделив это значение на постоянную управляющего импульса, рассчитанную на основе приведенного выше примера, положение исполнительного механизма составит 6000 импульсов / 50 ppm = 120 мм.
Чтобы задать скорость в мм и заставить контроллер рассчитать необходимую частоту в Гц (импульсов в секунду), сначала необходимо определить постоянную скорости. Это делается путем нахождения постоянной управляющего импульса (как показано выше), но единицы измерения изменены. Другими словами, если двигатель выдает 500 импульсов в секунду, а привод перемещается на 10 мм за оборот, то при задании 500 импульсов в секунду привод будет перемещаться на 10 мм в секунду. Разделив 500 импульсов в секунду на 10 мм в секунду, получим 50 импульсов в секунду на мм. Следовательно, умножение целевой скорости на 50 дает необходимую частоту импульсов.
Формулы те же, но единицы измерения меняются:
Постоянная скорости в импульсах в секунду = количество импульсов на оборот / расстояние на оборот
Частота импульсов (имп/с) = (постоянная скорости) × скорость в мм
Использование системы, управляющей движением с помощью импульсных сигналов, может показаться сложным на первый взгляд, однако, уделив пристальное внимание типам сигналов и настройкам контроллера и приводов на начальном этапе, можно сократить время, затрачиваемое на ее настройку. Кроме того, если сразу же выполнить некоторые базовые расчеты, программирование скоростей и расстояний станет проще, а операторы станков будут получать более наглядную информацию на своих человеко-машинных интерфейсах.
Дата публикации: 08 февраля 2021 г.





