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

Не следует траектории

Добавлено: 14 авг 2012, 00:09
cnc-00
Есть G-code

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

G0 X30
G0 X0
Без обратной связи проезжает как и положено, сначала до Х30 потом до Х0.
При включении обратной связи траектория не соблюдается, не до езд до Х30 порядка 2-3 мм, т.е. станок едет, едет, едет, доезжает до 27,5мм и начинает выполнятся команда Х0 (до Х0 подъезжает великолепно :)

Куда копать? :rail:

Re: Не следует траектории

Добавлено: 14 авг 2012, 07:35
nkp
Мало информации:
1. Станок управляется EMC ? Что за станок?
2. Как организована обратная связь? Скинь свои ini и hal файлы.
Для анализа ошибки нужно погонять станок больше с ж1 и на разных скоростях(чтоб найти какую то закономерность)
(ну к примеру непонятно- а отрабатывает нормально?

Re: Не следует траектории

Добавлено: 14 авг 2012, 11:50
cnc-00
nkp писал(а):Мало информации:
1. Станок управляется EMC ? Что за станок?
2. Как организована обратная связь? Скинь свои ini и hal файлы.
Для анализа ошибки нужно погонять станок больше с ж1 и на разных скоростях(чтоб найти какую то закономерность)
(ну к примеру непонятно- а отрабатывает нормально?
Станок управляется LinuxCNC 2.5.0, экран Axis.
Станок - электроэрозионный.
Обратная связь - через линейки. Движки - шаговики.

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

g1 x30 f200
g1 x0 f200
Не доехало до 30 - 3.5 мм

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

g1 x30 f50
g1 x0 f50
Не доехало до 30 - 0.5 мм

Если в G-code одна строка, например, G0 x30 - выезжает четко в 30.

Re: Не следует траектории

Добавлено: 14 авг 2012, 11:54
nkp
Надо настраивать пид

Re: Не следует траектории

Добавлено: 14 авг 2012, 12:17
cnc-00
Спасибо.

Re: Не следует траектории

Добавлено: 15 авг 2012, 09:18
Milk
FERROR = 100
MIN_FERROR = 100.25

Очень интересные строки!
100 мм допуск следования получается!
У меня стоит 0,2 и 0,02 соотв. и то я считаю что это не совсем гуд...
Исправьте хотя бы на 1 оба значения и проверьте, либо вылетит в ошибку, либо погрешность упадет до 1 мм.

Re: Не следует траектории

Добавлено: 15 авг 2012, 10:33
PKM
cnc-00, дело не в ПИД, тут его вообще нет, это шаговики
попробуй перед этими командами выполнить G61

кстати советую поставить
FERROR = 1
MIN_FERROR = 0.1
иначе зачем вообще линейки нужны :)

Re: Не следует траектории

Добавлено: 15 авг 2012, 10:55
nkp
PKM писал(а):дело не в ПИД, тут его вообще нет, это шаговики
так у него без линеек и так работает все нормально
а вот с ОС -проблемы
я так думаю без пид здесь не обойтись-вот и сказал-"настраивать пид"

Re: Не следует траектории

Добавлено: 15 авг 2012, 11:18
nkp
Система шаговик-датчик(энкодер,линейка) может быть организована для работы в двух режимах:
1. Когда емс следит за рассогласованием зад.положение-факт.положение ,и в случае превышения установленного-вырубается с ошибкой
2.Когда емс следит за рассогласованием и выдает упр сигнал для его устранения (то есть сервосистема на шаговиках)
И хоть эрозионные станки довольно медленные-емс может не успеть обрабатывать сигналы с датчика без дополнительного устройства(плуто,меса,YAPSC)

Re: Не следует траектории

Добавлено: 15 авг 2012, 11:30
cnc-00
Milk писал(а):Исправьте хотя бы на 1 оба значения и проверьте, либо вылетит в ошибку, либо погрешность упадет до 1 мм.
PKM писал(а):кстати советую поставить FERROR = 1MIN_FERROR = 0.1
Вылетело joint following error
PKM писал(а):попробуй перед этими командами выполнить G61
И G61 и G61.1 пробовали, везде результат одинаковый.

Re: Не следует траектории

Добавлено: 15 авг 2012, 11:42
PKM
При беглом взгляде впечатление, что все спутано в конфигурации.
Если есть ПИД, где его параметры? Все строки закомментированы
Где же ПИД? (для просмотра содержимого нажмите на ссылку)
#добавляем PID
loadrt at_pid num_chan=2
addf pid.0.do-pid-calcs servo-thread
net Xpos-fb <= encoder.0.position => pid.0.feedback
net Xpos-cmd <= axis.0.motor-pos-cmd => pid.0.command
net Xpos-fb axis.0.motor-pos-fb
net xenable axis.0.amp-enable-out => pid.0.enable

# привязываем pid к stepgen
net Xvel-cmd <= pid.0.output => stepgen.0.velocity-cmd

# задаем значения параметров для PID
#setp pid.0.Pgain [AXIS_0]P
#setp pid.0.Igain [AXIS_0]I
#setp pid.0.Dgain [AXIS_0]D
#setp pid.0.bias [AXIS_0]BIAS
#setp pid.0.FF0 [AXIS_0]FF0
#setp pid.0.FF1 [AXIS_0]FF1
#setp pid.0.FF2 [AXIS_0]FF2
#setp pid.0.deadband [AXIS_0]DEADBAND
В файле ini тоже не вижу параметров ПИД. Естественно, ничего не будет работать.

Re: Не следует траектории

Добавлено: 15 авг 2012, 11:47
nkp
PKM писал(а):В файле ini тоже не вижу параметров ПИД. Естественно, ничего не будет работать.
так уже второй день про это-надо настраивать пид ;)

Re: Не следует траектории

Добавлено: 15 авг 2012, 11:56
PKM
Как же его настраивать, если его нет :hehehe:

Re: Не следует траектории

Добавлено: 15 авг 2012, 12:06
nkp
PKM писал(а):Как же его настраивать, если его нет
У меня немного другая терминология:
в емс все уже есть -но что то бывает настроено на работу,а что то нет.

Re: Не следует траектории

Добавлено: 15 авг 2012, 12:10
PKM
Общепринято настройка ПИД (PID tuning) - подбор коэффициентов для минимизации ошибки следования.
Тут нужно добавить ПИД в конфигурацию, потом уже что-то настраивать.

Re: Не следует траектории

Добавлено: 15 авг 2012, 12:17
nkp
PKM писал(а):Общепринято настройка ПИД (PID tuning) - подбор коэффициентов для минимизации ошибки следования.
соглашусь

Re: Не следует траектории

Добавлено: 15 авг 2012, 16:23
Lexxa
там в hal-файле не pid модуль, а at_pid.
Как там вообще работает что-то???

Re: Не следует траектории

Добавлено: 15 авг 2012, 19:02
cnc-00
Lexxa писал(а):Как там вообще работает что-то???
Как и все в Linux - благодаря черной магии :)

Re: Не следует траектории

Добавлено: 16 авг 2012, 01:36
Nick
Не ну на at_pid гонять вроде тоже можно...
На форуме linuxcnc читал не хорошее про at_pid - мол он не работает совсем...
В общем да, надо параметры pid поднастроить и все будет пучком, при условии, что энкодер будет правильно считываться, хотя у него всего 200 тиков на мм...
А какая максимальная скорость на станке? тфу блин туплю этож в ini есть :)
В общем настраивай ПИД. Начни с вот такого, открываешь halscope, выводишь на нем пины axis.n.pos-cmd, axis.n.feedback и axis.n.ferror (названия пинов указанны примерно).
Потом гоняешь станок туда сюда.
И потихоньку увеличаваешь P, пока станок не начнет проскаивать нужное положение, потом увеличиваешь D, потом I. Ну и выкладывай скриншоты сюда, со значениями параметров будем говорить чего, куда крутить.
Параметры PID говорят можно крутить в меню калибровки осей станка в axis

Re: Не следует траектории

Добавлено: 16 авг 2012, 01:42
Lexxa
Nick писал(а):можно крутить в меню калибровки осей станка в axis
нужно