Очередной раунд замучивания микротокарника настал.
Сетап такой
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% мощности.
Картинка не моя, моя похожа
Вопрос: что отвечает за общий "фон" рассогласования ?
Недостаточная быстро работающая сервосистема ?
Маленький P ?
У меня по мере увеличения P растет амплитуда синусойды
но зарраза всё равно относительно какой-то очень немаленькой ошибки.
Сколько отсчетов энкодера вообще реально получить в качестве точности следования ?
2-5 или 10-20 ?
Если представить себе, что на оборот "родной энкодер" дает 8000 (с копейками) импульсов,
то это 2000 импульсов на миллиметр (винты 4мм шаг), получается, что линейки вдвое
меньшую точность дают... зато реальную. Нельзя-ли как-то еще и информацию с движка
в lcnc использовать как-нибудь по-умному ?
А опять с ПИД проблемы...
-
- Мастер
- Сообщения: 1949
- Зарегистрирован: 10 окт 2015, 23:25
- Репутация: 284
- Настоящее имя: Андрей
- Откуда: Красноярск
- Контактная информация:
Re: А опять с ПИД проблемы...
за статическую ошибку отвечает интегральная часть, смысл в изменении значения интегратора до компенсации ошибки..
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: А опять с ПИД проблемы...
тоже долго настраивал пид много тыкал в разные параметры и мне показалось, что параметр
STEPGEN_MAXACCEL = ..... тоже влияет на ошибку следование , я себе установил в три-четыре раза больше от MAX_ACCELERATION = .....
STEPGEN_MAXACCEL = ..... тоже влияет на ошибку следование , я себе установил в три-четыре раза больше от MAX_ACCELERATION = .....
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: А опять с ПИД проблемы...
может Lcnc плохо считает числа после запятой и просто игнорирует значения 0.001 и тогда как вариант изменить масштаб станка и задать системе как единицу измерения микрон , так как у меня станок отрабатывает одно деление энкодера (0.005) не зависимо от значения MIN_FERROR =SVP писал(а):Сколько отсчетов энкодера вообще реально получить в качестве точности следования ?
2-5 или 10-20 ?
тоже себе поставил так просто теперь пока включен привод оси постоянно "танцует" в пределах одного деления энкодераSVP писал(а):DEADBAND = 0
-
- Мастер
- Сообщения: 6135
- Зарегистрирован: 19 дек 2012, 15:49
- Репутация: 884
- Откуда: Москва
- Контактная информация:
Re: А опять с ПИД проблемы...
Ммм... а он как-то при управлении сервами используется разве ? Управляю аналогом.solo писал(а):STEPGEN_MAXACCEL =
-
- Мастер
- Сообщения: 6135
- Зарегистрирован: 19 дек 2012, 15:49
- Репутация: 884
- Откуда: Москва
- Контактная информация:
Re: А опять с ПИД проблемы...
Да такое ощущение, что он вообще не предполагает никуда ехать... каких-то настроек не хватает.Duhas писал(а):за статическую ошибку отвечает интегральная часть, смысл в изменении значения интегратора до компенсации ошибки..
I попробую сделать ЕЩЕ больше, посмотрю.
ЗЫ. пример конфига-бы, где сервами управляют и нормально "стоит на месте как вкопанный".
-
- Мастер
- Сообщения: 1949
- Зарегистрирован: 10 окт 2015, 23:25
- Репутация: 284
- Настоящее имя: Андрей
- Откуда: Красноярск
- Контактная информация:
Re: А опять с ПИД проблемы...
тут вопрос какая жесткость вообще достижима на этих сервах ведь..
-
- Мастер
- Сообщения: 6135
- Зарегистрирован: 19 дек 2012, 15:49
- Репутация: 884
- Откуда: Москва
- Контактная информация:
Re: А опять с ПИД проблемы...
SGDA 01 AS
Вроде использует народ и довольно активно.
Мне тоже интересно, к чему стремиться можно.
И всё-таки, на графике выше видно, что даже без ускорений постоянно есть ошибка какая-то.
Откуда она-то берется ? Я ожидал, что "хороший" график будет выглядить как синусойда,
касающаяся своей нижней границей нуля.
Вроде использует народ и довольно активно.
Мне тоже интересно, к чему стремиться можно.
И всё-таки, на графике выше видно, что даже без ускорений постоянно есть ошибка какая-то.
Откуда она-то берется ? Я ожидал, что "хороший" график будет выглядить как синусойда,
касающаяся своей нижней границей нуля.
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: А опять с ПИД проблемы...
вот мои настройки ПИД одной из осей
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мм/мин в пределах нескольких соток (за исключением моментов когда происходит смена направления движения и приводу приходится выбирать люфт , но люфты выбираются очень быстро) , а чем ниже скорость тем более точно станок следует заданной позиции , да и ленейки у меня заведены на ЛПТ и ШД тоже крутятся от ЛПТ, без месы
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мм/мин в пределах нескольких соток (за исключением моментов когда происходит смена направления движения и приводу приходится выбирать люфт , но люфты выбираются очень быстро) , а чем ниже скорость тем более точно станок следует заданной позиции , да и ленейки у меня заведены на ЛПТ и ШД тоже крутятся от ЛПТ, без месы