Токарный GDW RD250 в ЧПУ
- Vladimir52
- Мастер
- Сообщения: 386
- Зарегистрирован: 31 май 2017, 15:48
- Репутация: 51
- Настоящее имя: Владимир
- Контактная информация:
Re: Токарный GDW RD250 в ЧПУ
Для того, чтобы подтвердить (или опровергнуть) теоретические рассчеты о том, что 750W мотора хватит для тяжелой оси Z, был собран стенд из обломков плит и китайких ШВП 2005.
Для меня невероятно тяжело размечать и сверлить вручную. Вроде и вымеряешь точно, и накерниваешь, но все равно получается криво, и приходится допиливать. Такие вещи конечно было бы приятнее по сверлить на ЧПУ.
Опора двигателя HM15-80 с али оказалось очень даже неплохого качества.
А вот держатель гайки полностью оправдал свою цену в 5 баксов:
Плита стенда с нагрузкой 64 кг бегает довольно резво (обороты 3000 rpm, при шаге винта 5мм)
https://youtu.be/vF2XuJCdGHA
и даже попадает в сотку
https://youtu.be/wOOYvAVyofo
Но есть одна проблема...
Для меня невероятно тяжело размечать и сверлить вручную. Вроде и вымеряешь точно, и накерниваешь, но все равно получается криво, и приходится допиливать. Такие вещи конечно было бы приятнее по сверлить на ЧПУ.
Опора двигателя HM15-80 с али оказалось очень даже неплохого качества.
А вот держатель гайки полностью оправдал свою цену в 5 баксов:
Плита стенда с нагрузкой 64 кг бегает довольно резво (обороты 3000 rpm, при шаге винта 5мм)
https://youtu.be/vF2XuJCdGHA
и даже попадает в сотку
https://youtu.be/wOOYvAVyofo
Но есть одна проблема...
- Vladimir52
- Мастер
- Сообщения: 386
- Зарегистрирован: 31 май 2017, 15:48
- Репутация: 51
- Настоящее имя: Владимир
- Контактная информация:
Re: Токарный GDW RD250 в ЧПУ
А проблема в следующем. Во время движения набегает динамическая ошибка позиционирования (статическая равна 0, т.е. к концу движения рассогласование снова 0). Такое ощущение, что во время старта (ускорение) набегает какая-то величина, и сохранятеся до момента, когда ось дошла до назначения и остановилась, т.е. добрала позицию. С первого взгляда кажется, что мотору нехватает момента, чтобы разогнать ось. Однако, монитор момента показывает не более 30% при нагруженной оси. А если полностью разгрузить ось, то ничего не меняется, ошибка такая же - это ставит в тупик. Ниже на видео - пустая плита бегает с оборотами винта 1500 rpm (т.е. линейное перемещение 4.5м/мин) и ускорением до заданной скорости 0.1 с (ну примерно 1 м/с2). На индикаторе сервопака значение Un008 (Position error amount, reference unit).
https://youtu.be/_fLcgy4-eHc
Коненчо, изменение скорости и ускорения меняет величину ошибки, но никак не убирает ее. Увеличение коэффициента усиления контура позиционирования тоже влияет (если увеличить в 10 раз, т.е. очень близко к резонансам, то ошибка падает тоже примерно в 10 раз, например, с 1500 до 150). Но это кажется ненормальным, особенно на ненагруженной оси. Пока ничено не могу предположить, почему такое происходит. Единственный вариант, который приходит в голову, это то, что управление задается с USB через SigmaWin+, а не со входов Step/Dir. Это надо бы проверить, подключив внешний генератор импульсов.
https://youtu.be/_fLcgy4-eHc
Коненчо, изменение скорости и ускорения меняет величину ошибки, но никак не убирает ее. Увеличение коэффициента усиления контура позиционирования тоже влияет (если увеличить в 10 раз, т.е. очень близко к резонансам, то ошибка падает тоже примерно в 10 раз, например, с 1500 до 150). Но это кажется ненормальным, особенно на ненагруженной оси. Пока ничено не могу предположить, почему такое происходит. Единственный вариант, который приходит в голову, это то, что управление задается с USB через SigmaWin+, а не со входов Step/Dir. Это надо бы проверить, подключив внешний генератор импульсов.
-
- Мастер
- Сообщения: 997
- Зарегистрирован: 19 июл 2018, 07:46
- Репутация: 193
- Откуда: Иркутск
- Контактная информация:
Re: Токарный GDW RD250 в ЧПУ
Ну в общем-то все так и должно быть. Настройка контуров сервы как раз и нужна, чтобы минимизировать этот эффект. Надо настраивать пиды.
- Vladimir52
- Мастер
- Сообщения: 386
- Зарегистрирован: 31 май 2017, 15:48
- Репутация: 51
- Настоящее имя: Владимир
- Контактная информация:
Re: Токарный GDW RD250 в ЧПУ
Я забыл упомянуть, что для начала я сделал автотьюниг, т.е. сервопак определил момент инерции оси (78%) и выбрал коэффициент усиления в контуре позиционирования (480). Естественно, я игрался с этими настройками, и как я упомянул уже, поднимал коэффициент усиления в 10 раз - это уменьшает динамическую ошибку, но не до приемлеимых уровней (приемлемо, это примерно 10 и ниже, а мне удалось снизить до 150-180). Дальнейшее увеличение коффициента ведет к резонансу.
- Vladimir52
- Мастер
- Сообщения: 386
- Зарегистрирован: 31 май 2017, 15:48
- Репутация: 51
- Настоящее имя: Владимир
- Контактная информация:
-
- Мастер
- Сообщения: 997
- Зарегистрирован: 19 июл 2018, 07:46
- Репутация: 193
- Откуда: Иркутск
- Контактная информация:
Re: Токарный GDW RD250 в ЧПУ
При чем тут нагрузка? У вас просто контур позиционирования настроен не жестко, он не видит необходимости бороться с рассогласованием меньше ваших 1200. Зависимость от нагрузки появится позже, когда вы настроите нормально. Там как бы больше одного коэффициента усиления и автотюнинг не панацея.
- Vladimir52
- Мастер
- Сообщения: 386
- Зарегистрирован: 31 май 2017, 15:48
- Репутация: 51
- Настоящее имя: Владимир
- Контактная информация:
Re: Токарный GDW RD250 в ЧПУ
Может, конечно, вы и правы. Мне удалось загнать рассогласование в нужные пределы (<10) задрав пропорциональный коэффициент контура в десять раз (Pn102=6000), и поднятием коэффициента усиления прямой подачи (Feedforward) почти до ста процентов (Pn109=95%). Кстати, постоянная времени фильтра Feedforward (Pn10A) никак не влияет..
Но я бы это не назвал нормальной настройкой, так как все коэффициенты усиления в контуре, по-сути, выкручены на максимум, и это при половинной номинальной скорости двигателя.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Токарный GDW RD250 в ЧПУ
Накопленная ошибка рассогласования убирается компонентом I.
Просто так через P - прямой коэффициент это не решить.
Ну и D тоже может помочь, но основные это P и I. А там в ПО наверное есть графики рассогласования, можешь их сфоткать?
Просто так через P - прямой коэффициент это не решить.
Ну и D тоже может помочь, но основные это P и I. А там в ПО наверное есть графики рассогласования, можешь их сфоткать?
- Vladimir52
- Мастер
- Сообщения: 386
- Зарегистрирован: 31 май 2017, 15:48
- Репутация: 51
- Настоящее имя: Владимир
- Контактная информация:
Re: Токарный GDW RD250 в ЧПУ
Ну мы же тут рассматриваем не классический ПИД-регулятор в вакууме, а контур позиционирования яскавовского сервоусилителя:
Как я понимаю, основным способом регулирования ответа на ошибку позиционирования является пропорциональный коэффициент: Pn102.
Дополнительным регулированием (не участвующим в рассчете ошибки) явлется коэффициент прямой связи или Feed-Forward, который просто добавляется к заданной скорости: Pn109.
Вот и все управление. В контуре скорости (в режиме управления скоростью) есть и интергальный (Pn101), и пропорциональный (Pn100) коэффициенты. Заметьте, интергальный коэ-т здесь задается другим параметром, нежели интергальный коэ-т в режиме позиционирования. Изменения этих коффициентов никак не влияют на ошибку позиционирования.
Вот список всех параметров, которые могут использоваться для регулирования, в любом режиме, и любым (автоматическим или ручным) методом:
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Токарный GDW RD250 в ЧПУ
Можно начать с того, что в доках на эти Yaskawa ничего не говорится о соблюдении траектории при управлении по позиции, обещают только что оно приедет в указанную позицию и будет её удерживать. Посему в настройках и нет соотв. параметров...
Нужно смотреть в сторону других моделей или брендов или менять способ управления.
Нужно смотреть в сторону других моделей или брендов или менять способ управления.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Vladimir52
- Мастер
- Сообщения: 386
- Зарегистрирован: 31 май 2017, 15:48
- Репутация: 51
- Настоящее имя: Владимир
- Контактная информация:
Re: Токарный GDW RD250 в ЧПУ
А какой производитель сервоусилителей говорит о соблюдении траектории, без full closed loop?
Ну и моушнконтроллеры как-то работают, осями двигают, в частности на Фануках, и вполне себе в режиме позиционирования (читаем мануалы по MP2200).
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Токарный GDW RD250 в ЧПУ
Сервопривод с управлением по позиции вполне себе full closed loop по позиции.Vladimir52 писал(а): ↑ А какой производитель сервоусилителей говорит о соблюдении траектории, без full closed loop?
Внимательно читаем написанное:Vladimir52 писал(а): ↑ Ну и моушнконтроллеры как-то работают, осями двигают, в частности на Фануках, и вполне себе в режиме позиционирования (читаем мануалы по MP2200).
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Vladimir52
- Мастер
- Сообщения: 386
- Зарегистрирован: 31 май 2017, 15:48
- Репутация: 51
- Настоящее имя: Владимир
- Контактная информация:
Re: Токарный GDW RD250 в ЧПУ
У нас с вами разное понимание терминов. В моем случае, это включение внешнего энкодера в системе для постоянного отслеживания позиции оси.
Мне не нужно, я работаю с тем что есть.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Токарный GDW RD250 в ЧПУ
Замечательно!Vladimir52 писал(а): ↑ В моем случае, это включение внешнего энкодера в системе для постоянного отслеживания позиции оси.
А каким образом добавление внешнего энкодера поможет выдерживать траекторию движения, если ПИД-регулятор привода не умеет этого делать? Внешний экодер применяется только для учёта влияния механической передачи между валом мотора объектом перемещения.
А в решении данной проблемы это как поможет? Тут вроде как про механику ни слова не сказано - сам привод показывает рассогласование во время движения между планируемой и реальной позициями вала двигателя, непосредственно на котором и стоит энкодер. Т.е. в данном случае объект перемещения - вал мотора, значит система вполне себе "full closed loop".
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Vladimir52
- Мастер
- Сообщения: 386
- Зарегистрирован: 31 май 2017, 15:48
- Репутация: 51
- Настоящее имя: Владимир
- Контактная информация:
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Токарный GDW RD250 в ЧПУ
Ну так ее тратьте время - не читайте их и не реагируйте на них. Кто заставляет-то?..Vladimir52 писал(а): ↑ Может не стоит тратить время?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Vladimir52
- Мастер
- Сообщения: 386
- Зарегистрирован: 31 май 2017, 15:48
- Репутация: 51
- Настоящее имя: Владимир
- Контактная информация:
Re: Токарный GDW RD250 в ЧПУ
Переписали свое сообщение? Похвально! Видимо, осознали, что неправы, отвечая насмешливыми смайликами.
Вы же сами говорили:
на что я вам возразил, о соблюдении траектории
Более того "fully-closed loop" - это официальный яскавовский термин, котрый описывает систему с подключением внешнего энкодера - это можно прочитать в любом мануале. Но вам непременно нужно было оказаться правым, и вы теперь говорите не о траектории, а о "реальной позициями вала двигателя".Vladimir52 писал(а): ↑ А какой производитель сервоусилителей говорит о соблюдении траектории, без full closed loop?
Нет, это просто "closed loop", как во всех сервах. А как сервопак может решить проблему рассогласования, в этом и был мой вопрос, на который вы, не имея опыта с яскавовскими системами, ответить не можете. Но ваши аргументы я услышал, спасибо.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Токарный GDW RD250 в ЧПУ
Решил развёрнуто ответить, а то мало-ли кто чего себе нафантазирует. Но похоже не помогло...Vladimir52 писал(а): ↑ Переписали свое сообщение? Похвально! Видимо, осознали, что неправы, отвечая насмешливыми смайликами.
Вы путаете маркетинговые названия отдельных фирм и "абстрагированные" понятия.Vladimir52 писал(а): ↑ Более того "fully-closed loop" - это официальный яскавовский термин
Даже если внимательно и полностью почитать определение от Yaskawa (поинтересоваться теорией автоматического управления не рискну предложить) , то можно будет обнаружить, что внешним энкодер должен быть только потому, что между мотором и перемещаемым объектом есть механическая передача, вносящая некоторую погрешность. Вот собственно система потому и называется "fully-closed loop", что позволяет учесть все внешние воздействия/погрешности на систему. В данном-же случае рассматривается система, состоящая только из двигателя и закрепленного на его валу энкодера и между ними нет никаких дополнительных передач, влияние которых нужно было-бы учитывать - посему в данном случае система вполне себе "fully-closed loop".
В описании проблемы ясно написано:
Vladimir52 писал(а): ↑ Во время движения набегает динамическая ошибка позиционирования (статическая равна 0, т.е. к концу движения рассогласование снова 0). Такое ощущение, что во время старта (ускорение) набегает какая-то величина, и сохранятеся до момента, когда ось дошла до назначения и остановилась, т.е. добрала позицию.
Т.е. серводрайвер без всяких ваших "fully-closed loop" видит ошибку во время движения, но не пытается её исправлять, ибо не умеет (см. настройки). А вот если например подключить это всё к LinuxCNC и задействовать его ПИД-регулятор, то он будет компенсировать эту ошибку, ибо в него такая функциональность заложена.Vladimir52 писал(а): ↑ На индикаторе сервопака значение Un008 (Position error amount, reference unit).
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
- Мастер
- Сообщения: 1949
- Зарегистрирован: 10 окт 2015, 23:25
- Репутация: 284
- Настоящее имя: Андрей
- Откуда: Красноярск
- Контактная информация:
Re: Токарный GDW RD250 в ЧПУ
было бы интересно поглядеть на реальный опыт.. т.е. предлагается добавить второй контур положения компенсирующий ошибку первого? по сути он будет давать сначала перебег, а потом откатывать его назад?
по теме - то что писали выше про жесткость, имхо, верно, если увеличивая пропорциональный коэффициент получается приблизиться к желаемому результату вблизи выхода в колебательность, то, вероятно, система в целом спроектирована не верно, имхо, в области согласования инерционностей.
сколько у вас ошибка получается если попугаи сервы перевести в мм?
из моего опыта FeedForward позволяет как раз таки уменьшить эту ошибку, наваливая побольше чем считает нужным ПИД, без необходимости наращивать коэффициент усиления. чем больше инерционности, тем больше фидфорварда.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Токарный GDW RD250 в ЧПУ
Уже много раз такое применял - управление скоростью по step/dir замечательно работает. А с данным серводрайвером вообще всё просто - даже I и D в его настроках в ноль сбрасывать не надо будет, ибо нечего сбрасывать.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...