Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Автоматизация гильотины
Диалог специалистов АВОК > ОБЩИЙ ФОРУМ > Автоматизация систем
Edbe1
Всем привет!

На старой гильотине сломался энкодер на приводе заднего упора, замену этому энкодеру не найти. Поэтому возникла идея поставить другой энкодер и заодно поменять систему управления. Задний упор передвигается за счет асинхронного двигателя. В планах поставить панель управления HMI для ввода значения, контроллер и частотник для управления АД заднего упора. Так как до этого не приходилось программировать и настраивать устройства линейного перемещения, то возникла проблема с преобразованием вращения двигателя в линейное перемещение заднего упора станка.
Буду очень признателен, если сможете поделится своим опытом или объясните как преобразовать "вращение двигателя в пройденное растояние" или подскажете, где искать нужную информацию!

Энкодер будет использоваться инкрементальный, на данный момент имеется с разрешением 500 имп/об (но можно и поменять).
Михайло
Первые шаги:
1. Определить, каким должно быть перемещение оси - абсолютным или относительным?
2. Выбрать энкодер.
3. Определитесь с моделью частотника и контроллера.

Теперь подробнее:
1.
а) Относительное перемещение - самое простое. Не важно, какая в текущий момент абсолютная координата: как только система активировалась (получила питание и т.д.) принимается, что ось находится в нулевой точке.
б) Абсолютное перемещение гораздо сложнее. Как только система получила питание и загрузилась, она должна понять, какая абсолютная координата у оси. Инкрементальный энкодер неспособен дать абсолютную координату без определенных манипуляций. Процедура определения абсолютной координаты называется homing (поиск "дома") - после активации ось должна один раз переместиться "домой" и только после этого можно перемещаться по абсолютным координатам.

2.
а) Если перемещение относительное, то берите любой энкодер с выходами A, B.
б) Если перемещение абсолютное, то энкодер нужен либо абсолютный, либо инкрементальный c выходами A, B, Z или A, B, R. Нулевая (референтная) точка имеет большое значение при осуществлении процедуры homing. К этому инкрементальному энкодеру также дополнительно потребуется конечный выключатель, индуктивник или другой датчик абсолютного нуля.
Если энкодер абсолютный, то никакого датчика абсолютного нуля не потребуется и сама процедура homing не осуществляется, но такие системы гораздо дороже.

3. Нужно позаботиться, чтобы Ваш частотник или контроллер умели работать с сигналами инкрементального энкодера (нужны высокоскоростные входы). Про абсолютные энкодеры - отдельный разговор...
а) Чтобы обработать сигналы A и B, достаточно функции высокоскоростного реверсивного счетчика. Если у частотника или контроллера имеются высокоскоростные входы, то можно считать, что там есть и нужная эта функция.
б) Функции реверсивного счетчика недостаточно, нужен еще функционал, который позволил бы проводить процедуру homing. Некоторые контроллеры и частотники имеют такой встроенный функционал. Например, могу посоветовать контроллер Сименс S7-1200, у него требуемый функционал встроен во все модели CPU и бесплатна для использования. Функционал называется Motion control. Возможностей даже больше, чем обычно требуется. Программирования минимум, больше похоже на настройку системы. В программе просто пишешь, грубо говоря, "переместиться на N миллиметров вперед" и система выполняет команду.
Михайло
ПРОДОЛЖЕНИЕ

Первые шаги:
4. Определиться с интерфейсом "контроллер-частотник".

Теперь подробнее:
4. Контроллер может управлять частотником несколькими способами:
а) Цифровой интерфейс. Тут рассказывать нечего, это самый гибкий и мощный способ.
б) Аналоговый сигнал (-10...+10 В, 4-20 мА) - это самый простой, понятный и универсальный способ. Тут, надеюсь, тоже не нужно пояснять.
в) Частотные сигналы STEP/DIR (шаг/направление). Импульс сигнала STEP перемещает ось на один шаг в направлении, указанном сигналом DIR (допустим 0 - вперед, 1 - назад). Сигналы STEP и DIR должны выдаваться на высоскоростные выходы. Сигнал DIR в некоторых задачах можно выдавать обычным дискретным выходом, либо вовсе не использовать (нереверсивная ось).
г) Частотные сигналы CCW/CCCW (по часовой стрелке/против часовой стрелки). Почти то же самое, что и STEP/DIR. Импульс CCW перемещает на один шаг вперед, импульс на CCCW перемещает на один шаг назад. То есть эти сигналы должны обрабатываться функцией реверсивного счетчика в частотнике. Один из сигналов может не использоваться (нереверсивная ось).

Частотные сигналы в) и г) называются PTO (pulse train output). У контроллера S7-1200 функционал Motion control ориентирован на эти выходы. С их помощью можно легко управлять шаговыми двигателями.
vladun
А что уже пора ?
Edbe1
"Михайло" спасибо большое за подробный ответ!

1. Планировал сделать абсолютное перемещение оси, чтобы каждый раз после включения ось перемещалась в нулевую точку, до индуктивного датчика.
2. Использовать думаю инкрементальный энкодер.
3. Что касается контроллера, то планировал испльзовать Mitsubishi FX3GE. Но так же у меня имеются и S7-1200 контроллеры, которые мне намного ближе, так что возможно придется и пересмотреть свой выбор. Частотник Mitsubishi FR-D. Панель управления Beijer iXT4.

4. Частотником думаю управлять через цивровые входы или через адаптер RS485-RJ45 в случае контроллера Mitsubishi.
В принципе уже для себя сделал стенд с контроллером FX3GE, панелью Beijer и частотником FR-D. К валу двигателя напрямую подсоединен инкрементальный энкодер Kübler 500 имп/об. Настроил высокочастотный 32битный счетчик для подсчета импульсов и вроде всё красиво считает. После чего назрел другой вопрос, что с этими импульсами делать дальше smile.gif .... как-то ведь их нужно преобразовать в милиметры.

Почему выбор пал на инкрементальный энкодер...честно говоря пока не представляю каким образом преобразовать сигнал с энкодера, насколько я понимаю он генерируется в виде код Грея, а каким образом его дефинировать в контроллере не знаю.

По пробую настроить предложенный "Михайло" функцию Motion Control в TIA Portal.

Михайло
Цитата(Edbe1 @ 19.12.2015, 21:51) *
Почему выбор пал на инкрементальный энкодер...честно говоря пока не представляю каким образом преобразовать сигнал с энкодера, насколько я понимаю он генерируется в виде код Грея, а каким образом его дефинировать в контроллере не знаю.

Тут какой-то изъян в познаниях. Код Грея - это для абсолютных энкодеров вроде как.
Edbe1
Цитата(Михайло @ 19.12.2015, 21:01) *
Тут какой-то изъян в познаниях. Код Грея - это для абсолютных энкодеров вроде как.


Я извеняюсь забыл в теме написать:
"Почему выбор пал на инкрементальный энкодер...честно говоря пока не представляю каким образом преобразовать сигнал с абсолютного энкодера, насколько я понимаю он генерируется в виде код Грея, а каким образом его дефинировать в контроллере не знаю. "

С инкрементального энкодера проблем не возникло, там в виде импульсов и подсчет высокоскоростным счетчиком.

Подскажите пожалуйста, сигнал с выхода "0" инкрементального энкодера - это и есть выход "Z" - референтная точка?

Михайло
Цитата(Edbe1 @ 19.12.2015, 22:18) *
Подскажите пожалуйста, сигнал с выхода "0" инкрементального энкодера - это и есть выход "Z" - референтная точка?

Обычно другого не бывает. Либо пишут R (referent), либо Z (zero). В вашем случае 0.
Edbe1
Цитата(Михайло @ 19.12.2015, 21:09) *
Обычно другого не бывает. Либо пишут R (referent), либо Z (zero). В вашем случае 0.


Спасибо
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.