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

Атипичное поведение приводов под месой.

Добавлено: 19 ноя 2018, 16:01
Loituma
Добрый день, Уважаемые.

Подключил я месу, настраивал настраивал и недонастраивал....

Система выглядит так: Шаговики + меса 5i25 + 7i77 + 7i76 + линейки + фрезер

Симптомы такие по всем осям... беганье в пределах 10 ки, не может он себе место найти
https://www.youtube.com/watch?v=guDM7J6pBL8

Подскажите как настроить этот аппарат, достал уже.

Я себе это видел как то слишком просто: идем по заданию, считываем где встали, вносим корректор идем еще раз, считываем вносим корректор встаем. Тут все как то иначе устроено.
Параметры самые любые устанавливал.
Разрешение линеек 200 точек на мм.

Что нужно выложить, что бы посмотреть и найти проблему?

Re: Атипичное поведение приводов под месой.

Добавлено: 19 ноя 2018, 16:25
aftaev
Loituma писал(а):беганье в пределах 10 ки, не может он себе место найти
ПИД настраивал?

Re: Атипичное поведение приводов под месой.

Добавлено: 19 ноя 2018, 16:32
Loituma
Да как только не крутил...

Ставишь большое P дергается как триперный заяц, добиваешь остальные, особо не помогает, а на больших перемещениях просто выносит в ошибку...
Если поставить DEADBAND = 0.0005 перестает реагировать на десятку, то есть пролетел и пофигу, ставишь 0.0004 начинает дергаться, увеличения в пределах статысячной дают не более чем вялую реакцию на пролет...

короче не победимая хрень...

Re: Атипичное поведение приводов под месой.

Добавлено: 19 ноя 2018, 16:35
Serg
Loituma писал(а):Что нужно выложить, что бы посмотреть и найти проблему?
Судя по заданным коэффициентам P, I, D тут надо не выкладывать, а наоборот впитывать, хотя бы азы теории PID-регуляторов и методику их настройки...
Без этого помочь сможет разве что только приглашённый специалист...

Re: Атипичное поведение приводов под месой.

Добавлено: 19 ноя 2018, 16:38
Loituma
Читал методичку: доводим Р до биения, убавляем вдвое и далее настраиваем I и если требуется D.
Пробовал, не работает...

Либо реакция системы отсутствует (вялая), либо слишком резко и приводит к колебаниям как на видео.

Re: Атипичное поведение приводов под месой.

Добавлено: 19 ноя 2018, 16:42
Serg
На видео вижу реакцию PID'а на "невообразимые" параметры, в конце видео это подтверждается.
Попробуй начать с теории и с понимания какой параметр на что влияет, когда будет понимание настройка пойдёт легко. Увы, но методом тыка PID нормально не настроить.

Re: Атипичное поведение приводов под месой.

Добавлено: 19 ноя 2018, 16:53
MGG
I, D настраивается если механике каюк, так хватает ффов

Re: Атипичное поведение приводов под месой.

Добавлено: 19 ноя 2018, 17:01
Loituma
Могу конечно снять, что происходит с минимальными значениями... Но сначала предыстория:
ПнсКонф изначально увидев шаговые двигатели выставил мне P = 1000 остальные по нулям кроме FF1 = 1

От этого и отталкивался...

Если поставить P скажем равное 10 (уж не говорю про 100) реакция системы становится на столько вялой, что работать не имеет смысла, а именно. даю команду идти с Y=1 в Y=0 он перебегает например 0.1 и секунд 10 дотупливает эту 0.1. Механика к сожалению не свежая, есть люфт, для того и ставил линейки. К тому же мы управляем шаговыми двигателями, которым степ = растояние, PIF на севах я настраивал, там после 20 ти P гул начинается в движке...

Re: Атипичное поведение приводов под месой.

Добавлено: 19 ноя 2018, 17:02
Loituma
P - скорость реакции системы
I - учет ошибки накопленной в прошлом.
D - прогноз ошибки будущего...

Читал, видео смотрел...

Re: Атипичное поведение приводов под месой.

Добавлено: 19 ноя 2018, 17:19
Serg
Loituma писал(а):ПнсКонф изначально увидев шаговые двигатели выставил мне P = 1000 остальные по нулям кроме FF1 = 1
Так оно делает, когда обратная связь берётся из stepgen.
Loituma писал(а):Если поставить P скажем равное 10 (уж не говорю про 100) реакция системы становится на столько вялой, что работать не имеет смысла
На это влияют скорость и ускорение. Люфт очень сильно затрудняет настройку PID, вплоть до полной невозможности...

Re: Атипичное поведение приводов под месой.

Добавлено: 19 ноя 2018, 17:30
Dimka
А для чего в системе 7i77, если на шаговиках станок?

Re: Атипичное поведение приводов под месой.

Добавлено: 19 ноя 2018, 17:33
Serg
Dimka_almighty писал(а):А для чего в системе 7i77, если на шаговиках станок?
Для чего хочешь, например для линеек. :)

Re: Атипичное поведение приводов под месой.

Добавлено: 19 ноя 2018, 17:35
Loituma
UAVpilot писал(а):На это влияют скорость и ускорение. Люфт очень сильно затрудняет настройку PID, вплоть до полной невозможности...
е возможно скорость и ускорение выставить больше чем оно есть... срывает движение...

Вот и мучаюсь...

Может здесь косяк?

#*******************
# AXIS Y
#*******************

setp pid.y.Pgain [AXIS_1]P
setp pid.y.Igain [AXIS_1]I
setp pid.y.Dgain [AXIS_1]D
setp pid.y.bias [AXIS_1]BIAS
setp pid.y.FF0 [AXIS_1]FF0
setp pid.y.FF1 [AXIS_1]FF1
setp pid.y.FF2 [AXIS_1]FF2
setp pid.y.deadband [AXIS_1]DEADBAND
setp pid.y.maxoutput [AXIS_1]MAX_OUTPUT
setp pid.y.error-previous-target true
setp pid.y.maxerror .0005

net y-index-enable <=> pid.y.index-enable
net y-enable => pid.y.enable
net y-pos-cmd => pid.y.command
net y-vel-cmd => pid.y.command-deriv
net y-pos-fb => pid.y.feedback
net y-output => pid.y.output

# Step Gen signals/setup

setp hm2_5i25.0.stepgen.01.dirsetup [AXIS_1]DIRSETUP
setp hm2_5i25.0.stepgen.01.dirhold [AXIS_1]DIRHOLD
setp hm2_5i25.0.stepgen.01.steplen [AXIS_1]STEPLEN
setp hm2_5i25.0.stepgen.01.stepspace [AXIS_1]STEPSPACE
setp hm2_5i25.0.stepgen.01.position-scale [AXIS_1]STEP_SCALE
setp hm2_5i25.0.stepgen.01.step_type 0
setp hm2_5i25.0.stepgen.01.control-type 1
setp hm2_5i25.0.stepgen.01.maxaccel [AXIS_1]STEPGEN_MAXACCEL
setp hm2_5i25.0.stepgen.01.maxvel [AXIS_1]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net y-pos-cmd <= axis.1.motor-pos-cmd
net y-vel-cmd <= axis.1.joint-vel-cmd
net y-output <= hm2_5i25.0.stepgen.01.velocity-cmd

net y-pos-fb => axis.1.motor-pos-fb
net y-enable <= axis.1.amp-enable-out
net y-enable => hm2_5i25.0.stepgen.01.enable

# ---Encoder feedback signals/setup---

setp hm2_5i25.0.encoder.01.counter-mode 0
setp hm2_5i25.0.encoder.01.filter 1
setp hm2_5i25.0.encoder.01.index-invert 0
setp hm2_5i25.0.encoder.01.index-mask 0
setp hm2_5i25.0.encoder.01.index-mask-invert 0
setp hm2_5i25.0.encoder.01.scale [AXIS_1]ENCODER_SCALE

net y-pos-fb <= hm2_5i25.0.encoder.01.position
net y-vel-fb <= hm2_5i25.0.encoder.01.velocity
net y-pos-fb => axis.1.motor-pos-fb
net y-index-enable axis.1.index-enable <=> hm2_5i25.0.encoder.01.index-enable
net y-pos-rawcounts <= hm2_5i25.0.encoder.01.rawcounts

# ---setup home / limit switch signals---

net home-y => axis.1.home-sw-in
net all-limit => axis.1.neg-lim-sw-in
net all-limit => axis.1.pos-lim-sw-in

Re: Атипичное поведение приводов под месой.

Добавлено: 19 ноя 2018, 18:41
nkp
убери
setp pid.y.maxerror .0005

Re: Атипичное поведение приводов под месой.

Добавлено: 19 ноя 2018, 21:49
Loituma
nkp писал(а):убери
setp pid.y.maxerror .0005
В очередной раз кланяюсь твоему гению :good:

Как только убрал эту строку, сразу заработал PID и стал регулировать и откликаться на команды...
сейчас настройка выглядит так:
P=25
I=3.5
D=0.3

и вполне приемлемо... жаль уже глубокая ночь и я не могу дальше продолжать....

Спасибо, большое, огромное человеческое.....

Re: Атипичное поведение приводов под месой.

Добавлено: 20 ноя 2018, 00:49
PKM
nkp писал(а):убери
setp pid.y.maxerror .0005

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

Re: Атипичное поведение приводов под месой.

Добавлено: 20 ноя 2018, 07:20
Loituma
Это точно Pnconf подставу кидает

Re: Атипичное поведение приводов под месой.

Добавлено: 08 апр 2019, 12:51
skytronix
Добрый день! Таже самая история с постоянным рысканьем всех осей. Изменение коэффициентов ПИД не приводит к результату( Люфт конечно же присутствует. Ставлю DEADBAND=0,01 и он в пределах +-0,01 колбаситься, ставлю 0,1 он в пределах +-0,1 бегает. Подскажите что надо изменить что бы стоял привод??

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

#*******************
#  AXIS A
#*******************

setp   pid.a.Pgain     [AXIS_3]P
setp   pid.a.Igain     [AXIS_3]I
setp   pid.a.Dgain     [AXIS_3]D
setp   pid.a.bias      [AXIS_3]BIAS
setp   pid.a.FF0       [AXIS_3]FF0
setp   pid.a.FF1       [AXIS_3]FF1
setp   pid.a.FF2       [AXIS_3]FF2
setp   pid.a.deadband  [AXIS_3]DEADBAND
setp   pid.a.maxoutput [AXIS_3]MAX_OUTPUT
setp   pid.a.error-previous-target true

net a-index-enable  <=> pid.a.index-enable
net a-enable        =>  pid.a.enable
net a-pos-cmd       =>  pid.a.command
net a-vel-cmd       =>  pid.a.command-deriv
net a-pos-fb        =>  pid.a.feedback
net a-output        =>  pid.a.output

# ---PWM Generator signals/setup---

setp   hm2_5i25.0.7i77.0.1.analogout3-scalemax  [AXIS_3]OUTPUT_SCALE
setp   hm2_5i25.0.7i77.0.1.analogout3-minlim    [AXIS_3]OUTPUT_MIN_LIMIT
setp   hm2_5i25.0.7i77.0.1.analogout3-maxlim    [AXIS_3]OUTPUT_MAX_LIMIT

net a-output                             => hm2_5i25.0.7i77.0.1.analogout3
net a-pos-cmd    axis.3.motor-pos-cmd
net a-enable     axis.3.amp-enable-out

# ---Encoder feedback signals/setup---

setp    hm2_5i25.0.encoder.03.counter-mode 0
setp    hm2_5i25.0.encoder.03.filter 1
setp    hm2_5i25.0.encoder.03.index-invert 0
setp    hm2_5i25.0.encoder.03.index-mask 0
setp    hm2_5i25.0.encoder.03.index-mask-invert 0
setp    hm2_5i25.0.encoder.03.scale  [AXIS_3]ENCODER_SCALE

net a-pos-fb               <=  hm2_5i25.0.encoder.03.position
net a-vel-fb               <=  hm2_5i25.0.encoder.03.velocity
net a-pos-fb               =>  axis.3.motor-pos-fb
net a-index-enable    axis.3.index-enable  <=>  hm2_5i25.0.encoder.03.index-enable
net a-pos-rawcounts        <=  hm2_5i25.0.encoder.03.rawcounts

# ---setup home / limit switch signals---

net a-home-sw     =>  axis.3.home-sw-in
net a-neg-limit     =>  axis.3.neg-lim-sw-in
net a-pos-limit     =>  axis.3.pos-lim-sw-in
Строчки с setp pid.y.maxerror .0005 нет

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

#********************
# Axis A
#********************
[AXIS_3]
TYPE = ANGULAR
WRAPPED_ROTARY = 1
FERROR = 3.0
MIN_FERROR = 2.0
MAX_VELOCITY = 5.0
MAX_ACCELERATION = 100.0
P = 80.0
I = 5.0
#I = 60.0
#D = 0.001
D = 0.1
FF0 = 0.0
FF1 = 1.0
FF2 = 0.01
BIAS = 0.0
#BACKLASH = 0.1
DEADBAND = 0.0
MAX_OUTPUT = 10.0
ENCODER_SCALE = 694.444
OUTPUT_OFFSET = 0.0
OUTPUT_SCALE = -30.0
OUTPUT_MIN_LIMIT = -10.0
OUTPUT_MAX_LIMIT = 10.0
MIN_LIMIT = -92.0
MAX_LIMIT = 4.0

HOME = 0.0
HOME_OFFSET = 4.663
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 2
HOME_FINAL_VEL = 5.0
HOME_SEQUENCE = 2
HOME_USE_INDEX = YES
VOLATILE_HOME = 1
HOME_SEQUENCE = 2

Re: Атипичное поведение приводов под месой.

Добавлено: 08 апр 2019, 14:02
rehden
skytronix писал(а):P = 80.0
очень много
skytronix писал(а):DEADBAND = 0.0
очень мало. пробуй 0.05 и меньше но не 0
skytronix писал(а):OUTPUT_SCALE = -30.0
чет многовато и зачем минус
skytronix писал(а):ENCODER_SCALE = 694.444
скорее всего не правильно подобран

Re: Атипичное поведение приводов под месой.

Добавлено: 08 апр 2019, 16:48
skytronix
Спасибо, сейчас не у станка, завтра изменю параметры и попробую. DEADBAND разный пробовал. Минус потому, что если ставлю положительное число двигатель резко дернется и following error. Encoder_scale правильный, т.к. энкодер немного не стандартный, и стоит непосредственно на поворотной оси (на двигателе свой)