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