Сервы + ремни: настройка ПИД

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
K.Viktor
Новичок
Сообщения: 13
Зарегистрирован: 20 июн 2013, 13:58
Репутация: 3
Откуда: Россия, Москва
Контактная информация:

Сервы + ремни: настройка ПИД

Сообщение K.Viktor »

Добрый день!
Станок МС12-250. Кинематика - двигатели постоянного тока с тахогенераторами, редукторы к ШВП на зубчатых ремнях, ШВП с регулируемым преднатягом.
На осях - датчики положения, индуктосины.
Когда все это работало на стойке 2С-42 - никаких проблем не было. Станок держал позицию с точностью около 0,005-0,01мм без раскачки приводов, максимальная скорость движения стола около 4000мм/мин.

Потребовалось перевести станок под управление LinuxCNC для решения некоторой специфической задачи, связанной с прикручиванием 5й оси.
Вместо индуктосинов установлены линейки с разрешением 0.001мм. Двигатели на осях и привода оставлены старые.
Проблема с настройкой ПИДа...
Чем выше скорость - тем больше ferror. Например, едем со скоростью 100мм/мин. ferror 0.01 . Если не превышать эту скорость то все работает... При движении на 500мм/мин - ferror начинает плавно увеличиваться и может достигать довольно больших значений, 1-2 и т.д... Чем дольше едет тем больше ferror. До тех пор пока не остановится по following error. Если увеличиваю жесткость ПИДа чтобы получить низкий и постоянный ferror на больших скоростях - получаю раскачку на удержании, что и понятно т.к. ремень имеет некий небольшой люфт.

Куда смотреть-что делать? :thinking: Как оно вообще на 2С42 работает? :) Там же по большому счету точно такой же ПИД регулятор...
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6194
Откуда: Казахстан.
Контактная информация:

Re: Сервы + ремни: настройка ПИД

Сообщение aftaev »

K.Viktor писал(а):При движении на 500мм/мин - ferror начинает плавно увеличиваться и может достигать довольно больших значений
А как ты это заметил что ferror увеличивается? Смотришь график? В 2С42 тоже график есть? :)
K.Viktor писал(а):Как оно вообще на 2С42 работает?
Как узнать что оно там работало правильно на 4м/мин ?
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
K.Viktor
Новичок
Сообщения: 13
Зарегистрирован: 20 июн 2013, 13:58
Репутация: 3
Откуда: Россия, Москва
Контактная информация:

Re: Сервы + ремни: настройка ПИД

Сообщение K.Viktor »

2с42 показывает рассогласование в режиме ручного управления. Примерно как halmeter в linuxcnc.
На 4м/мин оно конечно больше чем на 100мм мин. Но постоянное и небольшое (0.1-0.2мм) . На линуксе рассогласование быстро растет, как при маленьком P. При увеличении P или ff1 - раскачка на малой скорости.
Duhas
Мастер
Сообщения: 1961
Зарегистрирован: 10 окт 2015, 23:25
Репутация: 285
Настоящее имя: Андрей
Откуда: Красноярск
Контактная информация:

Re: Сервы + ремни: настройка ПИД

Сообщение Duhas »

дык может и нарастание скорости на старой стойке было меньше чем сейчас? по физику процесса понимаете? как думаете можно при мгновенном изменении задания положение также быстро поменять реальное положение?

ПС как у вас с документацией на МС-ку? у меня такой зверь в длительном процессе перерождения в 5-ти осевик. был бы рад документации на гидравлику и смазку.
K.Viktor
Новичок
Сообщения: 13
Зарегистрирован: 20 июн 2013, 13:58
Репутация: 3
Откуда: Россия, Москва
Контактная информация:

Re: Сервы + ремни: настройка ПИД

Сообщение K.Viktor »

Физику процесса представляю. Рассогласование не должно меняться при установившемся режиме по скорости. И цифры я смотрю естественно после завершения разгона оси. Время разгона/торможения выставлено такое же как на родной стойке.
Документация есть вся, но в описании стойки отсутствует математика ПИДа. Такое ощущение что жесткость регулятора должна меняться в зависимости от скорости, но вот по какому закону?
Duhas
Мастер
Сообщения: 1961
Зарегистрирован: 10 окт 2015, 23:25
Репутация: 285
Настоящее имя: Андрей
Откуда: Красноярск
Контактная информация:

Re: Сервы + ремни: настройка ПИД

Сообщение Duhas »

на счет жесткости - маловероятно, вы как жесткость регулируете? какие вообще настройки есть у вас в линуксе? я с LCNC дел пока не имел. есть что-то вроде kflop-овского?
ServoFlowDiagram.png (3797 просмотров) <a class='original' href='./download/file.php?id=121906&mode=view' target=_blank>Загрузить оригинал (37.49 КБ)</a>
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Сервы + ремни: настройка ПИД

Сообщение Serg »

А PID вообще хоть как-то настраивался?..
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Сервы + ремни: настройка ПИД

Сообщение solo »

http://gnipsel.com/linuxcnc/tuning/servo.html
я себе по этой методе настроил ПИД
на мах скорости (у меня 2700 мм/мин) феррор не более 0.03, на рабочей подачи феррор в пределах одного тыка энкодера
SVP
Мастер
Сообщения: 6140
Зарегистрирован: 19 дек 2012, 15:49
Репутация: 884
Откуда: Москва
Контактная информация:

Re: Сервы + ремни: настройка ПИД

Сообщение SVP »

У меня по этой получается так, что (условно) если настраивать на 1000мм/мин, то потом на 3000мм/мин проблемы, если на 3000, то на 1000.
Т.е. получается что на каждую подачу хорошо-бы свой набор коэффициентов.
Почему так, пока не копал, проект побочный, всё нет времени разобраться.
K.Viktor
Новичок
Сообщения: 13
Зарегистрирован: 20 июн 2013, 13:58
Репутация: 3
Откуда: Россия, Москва
Контактная информация:

Re: Сервы + ремни: настройка ПИД

Сообщение K.Viktor »

Duhas писал(а):на счет жесткости - маловероятно, вы как жесткость регулируете?
Величина P и FF1 определяющая максимальное рассогласование, и deadband обеспечивающий нечувствительность к малым перемещениям.
Duhas писал(а):какие вообще настройки есть у вас в линуксе? я с LCNC дел пока не имел. есть что-то вроде kflop-овского?
Коэффициенты P,I,D, deadband, FF0, FF1, FF2, scale .

Код: Выделить всё

error = command - feedback
    if ( abs(error) < deadband ) then error = 0
    limit error to +/- maxerror
    errorI += error * period
    limit errorI to +/- maxerrorI
    errorD = (error - previouserror) / period
    limit errorD to +/- maxerrorD
    commandD = (command - previouscommand) / period
    limit commandD to +/- maxcmdD
    commandDD = (commandD - previouscommandD) / period
    limit commandDD to +/- maxcmdDD
    output = bias + error * Pgain + errorI * Igain +
             errorD * Dgain + command * FF0 + commandD * FF1 +
             commandDD * FF2
    limit output to +/- maxoutput
Вообще написать можно любой алгоритм с любыми коэффициентами, знать бы правильный закон регулирования для этих приводов.
UAVpilot писал(а):А PID вообще хоть как-то настраивался?..
Пид конечно настраивался. Процедура аналогична приведенной по ссылке выше.
SVP писал(а):У меня по этой получается так, что (условно) если настраивать на 1000мм/мин, то потом на 3000мм/мин проблемы, если на 3000, то на 1000.
Ситуация 1-в-1 такая же.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Сервы + ремни: настройка ПИД

Сообщение Serg »

K.Viktor писал(а):Пид конечно настраивался. Процедура аналогична приведенной по ссылке выше.
Значит неправильно настроен...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
MGG
Мастер
Сообщения: 3673
Зарегистрирован: 08 фев 2016, 16:33
Репутация: 1010
Настоящее имя: Манн Геннадий Геннадьевич
Откуда: Москва
Контактная информация:

Re: Сервы + ремни: настройка ПИД

Сообщение MGG »

SVP писал(а):У меня по этой получается так, что (условно) если настраивать на 1000мм/мин, то потом на 3000мм/мин проблемы, если на 3000, то на 1000.
Т.е. получается что на каждую подачу хорошо-бы свой набор коэффициентов.
Почему так, пока не копал, проект побочный, всё нет времени разобраться.
Тоже самое, настрапвается или под низкие или под высокие скорости
http://www.cnc-club.ru/forum/viewtopic. ... 76#p304076 Поставки оборудования для ваших станков
https://www.instagram.com/dtw.moscow/
dtw.moscow@gmail.com
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Сервы + ремни: настройка ПИД

Сообщение PKM »

SVP писал(а):получается что на каждую подачу хорошо-бы свой набор коэффициентов.
При желании можно связать коэффициенты ПИД со скоростью движения оси.
Аватара пользователя
Dmaster
Мастер
Сообщения: 1272
Зарегистрирован: 15 июл 2011, 13:36
Репутация: 476
Контактная информация:

Re: Сервы + ремни: настройка ПИД

Сообщение Dmaster »

Вот ещё какой момент. А привода то какие? Советские привода бывает имеют нелинейную характеристику. Там есть варианты постройки нелинейности.. Они не особо точные, так что придётся мириться.
" Linux CNC - наше всё"
K.Viktor
Новичок
Сообщения: 13
Зарегистрирован: 20 июн 2013, 13:58
Репутация: 3
Откуда: Россия, Москва
Контактная информация:

Re: Сервы + ремни: настройка ПИД

Сообщение K.Viktor »

Привод постоянного тока с тахогенератором.
Моторы УПС-6, блок управления ПТ-0.5 .
SVP
Мастер
Сообщения: 6140
Зарегистрирован: 19 дек 2012, 15:49
Репутация: 884
Откуда: Москва
Контактная информация:

Re: Сервы + ремни: настройка ПИД

Сообщение SVP »

MGG писал(а):Тоже самое, настрапвается или под низкие или под высокие скорости
Так и чего делать ?
У меня (условно) при чистовом точении скорости ожидаемые в десятки, дай бог сотни мм/мин,
(мелочевка, и разного диаметра может быть)
а холостые можно было бы и десятки метров в минуту делать, механика скорее всего позволит.
Ползать везде как при чистовых проходах не вариант...
ferror конечно можно для mix/max подобрать, наверное, но как-то это "не так", хотелось бы
выдавать правильное задание, а не игнорировать неправильные настройки.

Привода яскавы первых серий, без редукторов, обратная связь от линеек.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Сервы + ремни: настройка ПИД

Сообщение Serg »

SVP писал(а):Так и чего делать ?
Таки нормально настраивать PID по известной методике. Никакого увеличения погрешности на меньшей скорости быть не должно.
Я б даже сказал на любой скорости. Погрешность имеет право расти разве что при увеличении ускорения, ибо движимая масса и мощность привода постоянны.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
botcman
Мастер
Сообщения: 557
Зарегистрирован: 04 мар 2016, 20:22
Репутация: 1
Настоящее имя: Андрей
Контактная информация:

Re: Сервы + ремни: настройка ПИД

Сообщение botcman »

Можно методику в студию?
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Сервы + ремни: настройка ПИД

Сообщение Serg »

http://gnipsel.com/linuxcnc/tuning/servo.html
Ну и понимание принципов (теории) очень сильно помогает.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Dmaster
Мастер
Сообщения: 1272
Зарегистрирован: 15 июл 2011, 13:36
Репутация: 476
Контактная информация:

Re: Сервы + ремни: настройка ПИД

Сообщение Dmaster »

UAVpilot писал(а):Никакого увеличения погрешности на меньшей скорости быть не должно.
Не соглашусь . Привода mezomatic-V имеют нелинейную характеристику скорости даже имея тахогенератор. Приходится настраивать идеально и подбирать ff1 под скорости на которых будет вестись обработка. .. а при холостых уже идет значительное отставание. К примеру Feror в пределах подачи 0-800 мм мин не превышает 0.04 .. а при подаче в 4000 уже 0.2. Это на постоянной скорости. без разгона. Об этой проблеме приводов писал еще Чернов в своей книге. "Чернов Е.А., Кузьмин В.П. Комплектные электроприводы станков с ЧПУ" Страница 17-18 разбирается блок нелинейности и балансировка пи регулятора данного привода.
" Linux CNC - наше всё"
Ответить

Вернуться в «LinuxCNC»