Страница 1 из 1

А опять с ПИД проблемы...

Добавлено: 24 ноя 2016, 12:09
SVP
Очередной раунд замучивания микротокарника настал.
Сетап такой
1. МЕСА + lcnc
2. Yaskawa 100w первой серии
3. Микронные линейки ditron
4. Чугунная плита, рельсы, ШВП, X-Z стальные.
Перемещаемая масса по ощущениям 10+-5 кг.

Проблемы.
1. Плохое удержание.
При включенной серве могу вручную повернуть муфту так, что набегает 10-20 микрон.
Отпускаю - возвращается обратно, но не до конца, т.е. 5-10 микрон разницы остается.
Более 20 микрон скрутить не могу, не хватает сил. Но и это мягко говоря "дофига".
DEADBAND = 0
Что можно посмотреть ?

2. Почему-то более нагруженная ось гораздо лучше регулируется, чем менее.
Но все равно ошибки следования 10-20 микрон. Это норма ?
И это на скоростях типа 300мм в минуту. При этом движок судя по сигмавину
не развивает и 30% мощности.
Картинка не моя, моя похожа
xxxxx.png (7210 просмотров) <a class='original' href='./download/file.php?id=95800&sid=ab29d41747a6532375f4a1886890b844&mode=view' target=_blank>Загрузить оригинал (44.25 КБ)</a>
Вопрос: что отвечает за общий "фон" рассогласования ?
Недостаточная быстро работающая сервосистема ?
Маленький P ?
У меня по мере увеличения P растет амплитуда синусойды
но зарраза всё равно относительно какой-то очень немаленькой ошибки.

Сколько отсчетов энкодера вообще реально получить в качестве точности следования ?
2-5 или 10-20 ?
Если представить себе, что на оборот "родной энкодер" дает 8000 (с копейками) импульсов,
то это 2000 импульсов на миллиметр (винты 4мм шаг), получается, что линейки вдвое
меньшую точность дают... зато реальную. Нельзя-ли как-то еще и информацию с движка
в lcnc использовать как-нибудь по-умному ?

Re: А опять с ПИД проблемы...

Добавлено: 25 ноя 2016, 08:48
Duhas
за статическую ошибку отвечает интегральная часть, смысл в изменении значения интегратора до компенсации ошибки..

Re: А опять с ПИД проблемы...

Добавлено: 25 ноя 2016, 11:45
solo
тоже долго настраивал пид много тыкал в разные параметры и мне показалось, что параметр
STEPGEN_MAXACCEL = ..... тоже влияет на ошибку следование , я себе установил в три-четыре раза больше от MAX_ACCELERATION = .....

Re: А опять с ПИД проблемы...

Добавлено: 25 ноя 2016, 12:46
solo
SVP писал(а):Сколько отсчетов энкодера вообще реально получить в качестве точности следования ?
2-5 или 10-20 ?
может Lcnc плохо считает числа после запятой и просто игнорирует значения 0.001 и тогда как вариант изменить масштаб станка и задать системе как единицу измерения микрон , так как у меня станок отрабатывает одно деление энкодера (0.005) не зависимо от значения MIN_FERROR =
SVP писал(а):DEADBAND = 0
тоже себе поставил так просто теперь пока включен привод оси постоянно "танцует" в пределах одного деления энкодера

Re: А опять с ПИД проблемы...

Добавлено: 25 ноя 2016, 13:07
SVP
solo писал(а):STEPGEN_MAXACCEL =
Ммм... а он как-то при управлении сервами используется разве ? Управляю аналогом.

Re: А опять с ПИД проблемы...

Добавлено: 25 ноя 2016, 13:08
SVP
Duhas писал(а):за статическую ошибку отвечает интегральная часть, смысл в изменении значения интегратора до компенсации ошибки..
Да такое ощущение, что он вообще не предполагает никуда ехать... каких-то настроек не хватает.
I попробую сделать ЕЩЕ больше, посмотрю.

ЗЫ. пример конфига-бы, где сервами управляют и нормально "стоит на месте как вкопанный".

Re: А опять с ПИД проблемы...

Добавлено: 25 ноя 2016, 15:57
Duhas
тут вопрос какая жесткость вообще достижима на этих сервах ведь..

Re: А опять с ПИД проблемы...

Добавлено: 25 ноя 2016, 16:57
SVP
SGDA 01 AS
Вроде использует народ и довольно активно.
Мне тоже интересно, к чему стремиться можно.

И всё-таки, на графике выше видно, что даже без ускорений постоянно есть ошибка какая-то.
Откуда она-то берется ? Я ожидал, что "хороший" график будет выглядить как синусойда,
касающаяся своей нижней границей нуля.

Re: А опять с ПИД проблемы...

Добавлено: 25 ноя 2016, 17:23
solo
вот мои настройки ПИД одной из осей
setp pid.2.Pgain 20.0
setp pid.2.Igain 0.00
setp pid.2.Dgain 0.0
setp pid.2.bias 0.0
setp pid.2.FF0 0.0
setp pid.2.FF1 1.0
setp pid.2.FF2 0.03
#setp pid.2.deadband 0.005

ось отрабатывает положение по энкодеру до одной дискреты
если задать значение смешение по оси на одну дискрету (один импульс энкодера ) то ось отрабатывает это перемещение , только очень медленно ,
если задать значение .deadband 0.005 (дискретность моей линейки ) то привод оси при нулевой скорости стоит на месте , если задать значение (не задавать setp pid.1.deadband 0.00) то привод оси при нулевой скорости постоянно "танцует" медленно вращается туда-сюда в пределах одного тыка энкодера

у меня линейки стоят на 676 станке , на двух осях стоят родные винты и гайки (трапеции) с люфтами в гайке до 0.5 мм , привод оси ШД нема 43 но по линейке точность следования даже на 2400мм/мин в пределах нескольких соток (за исключением моментов когда происходит смена направления движения и приводу приходится выбирать люфт , но люфты выбираются очень быстро) , а чем ниже скорость тем более точно станок следует заданной позиции , да и ленейки у меня заведены на ЛПТ и ШД тоже крутятся от ЛПТ, без месы