Страница 8 из 56

Re: Агрегатный станок

Добавлено: 16 июл 2012, 14:14
ЗАВ
ось а это стол, просто при вращении делеат пол оборота и вырубается

Re: Агрегатный станок

Добавлено: 16 июл 2012, 14:18
ЗАВ
отрабатыват перемещение и вырубается , включаю питание, все повторяется.

Re: Агрегатный станок

Добавлено: 16 июл 2012, 14:54
Nick
Ошибок никаких не пишет? Сделай скрин, когда вырубается...

Re: Агрегатный станок

Добавлено: 16 июл 2012, 15:05
ЗАВ
выдает ошибку

Re: Агрегатный станок

Добавлено: 16 июл 2012, 16:49
Nick
Ага, following error это значит, что по показаниям энкодера станок отклонился больше чем на FERROR от запланированной траектории.
Скинь свой последний ini.

Re: Агрегатный станок

Добавлено: 17 июл 2012, 07:18
ЗАВ
с хоме поворотного стола ось-а проблема, при движении срабатывает датчик хоме, стол включает реверс и начинает вращаться без остановки в другую сторону- в чем проблема? ну и осталась старая проблема вырубается через определенное время движение полностью.

Re: Агрегатный станок

Добавлено: 17 июл 2012, 12:54
Nick
Похоже все таки надо PID приделывать...
Похоже одного управления скоростью недостаточно. Т.к. сам motion не вытягивает ошибку. А вот ПИД это сможет сделать.

В общем пробуем с ПИД. Для этого:

В ini

В [AXIS_3] добавляем параметры ПИД :
P = 1.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 0.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0

В hal

1. Загружаем компонент ПИД:
loadrt pid names=pid.a (эту строчку рядом со всеми loadrt )

addf pid.a.do-pid-calcs servo-thread (эту после addf motion-controller servo-thread)

2. добавляем загрузку параметров пид:

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

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_VELOCITY
(это все можно рядом с нашим stepgen.3)

Потом меняем подключение пинов команды перемещения:
Сначала убираем старые строчки, которые будем заменять:
net apos-cmd axis.3.joint-vel-cmd => stepgen.3.velocity-cmd
И добавляем вот эти:

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

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

net a-pos-cmd  <=  axis.3.motor-pos-cmd
net a-output    => stepgen.3.velocity-cmd
net a-enable     axis.3.amp-enable-out  => stepgen.3.enable

Кстати, вот эту строчку можно убрать, пусть у нас ось хоумится по индексной метке.
net all-home => axis.3.home-sw-in

Re: Агрегатный станок

Добавлено: 17 июл 2012, 13:02
ЗАВ
мне кажется не стоит хоумится по энкодеру , там же люфт. Сейчас я хоумлюсь по двум датчикам , один на столе, второй на валу шд , в сумме у них получается хоум. думаю так точнее?

Re: Агрегатный станок

Добавлено: 17 июл 2012, 13:48
ЗАВ
прог не грузится выдало сообщение, все прикладываю :thinking:

Re: Агрегатный станок

Добавлено: 17 июл 2012, 13:50
ЗАВ
упс, ошибка ини, исправляю

Re: Агрегатный станок

Добавлено: 17 июл 2012, 14:26
ЗАВ
исправил ошибка не пропала, прог не грузится

Re: Агрегатный станок

Добавлено: 17 июл 2012, 14:32
ЗАВ
ошибка при загрузке

Re: Агрегатный станок

Добавлено: 17 июл 2012, 14:38
nkp
у тебя так:

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

loadrt classicladder_rt numPhysInputs=15 numPhysOutputs=15 numS32in=10 
loadrt pid names=pid.a
numS32out=10 numFloatIn=10 numFloatOut=10
напиши так :

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

loadrt classicladder_rt numPhysInputs=15 numPhysOutputs=15 numS32in=10  numS32out=10 numFloatIn=10 numFloatOut=10
loadrt pid names=pid.a

Re: Агрегатный станок

Добавлено: 17 июл 2012, 14:55
Nick
ЗАВ писал(а):мне кажется не стоит хоумится по энкодеру , там же люфт. Сейчас я хоумлюсь по двум датчикам , один на столе, второй на валу шд , в сумме у них получается хоум. думаю так точнее?
Но ты же положение определяешь по энкодеру. Тем более у тебя люфт в передаче, а энкодер показывает точно.
И совсем тем более, нельзя захоумится по двум отдельно стоящим датчикам :). 0 выставляется в конечном итоге по 1 датчику. Поэтому индекс энкодера - самое лучшее.

По ошибке:
ЗАВ писал(а):мой-станок.hal:14: parameter or pin 'numS32out=10' not found
Ты мимо строчку вставил, она у тебя вставилась в середину строки:
loadrt classicladder_rt numPhysInputs=15 numPhysOutputs=15 numS32in=10
loadrt pid names=pid.a
numS32out=10 numFloatIn=10 numFloatOut=10

PS nkp +1 за оперативность :)

Re: Агрегатный станок

Добавлено: 17 июл 2012, 17:45
ЗАВ
без изменения прог не грузится

Re: Агрегатный станок

Добавлено: 17 июл 2012, 17:48
nkp
попробуй с этим
мой-станок.hal
(5.4 КБ) 959 скачиваний

Re: Агрегатный станок

Добавлено: 17 июл 2012, 18:00
Nick
ЗАВ писал(а):без изменения прог не грузится
Так ты же ничего и не исправил :). Я написал строки с твоей ошибкой.

Re: Агрегатный станок

Добавлено: 17 июл 2012, 18:06
ЗАВ
:roll: Ник, я дома. станок на работе, попробую завтра (похоже у меня закружилась голова от корректировок хала)у нас с моской +2часа разница . завтра когда планируешь выйти на форум? хочется пооперативнее поработать и запустить станок.

Re: Агрегатный станок

Добавлено: 17 июл 2012, 18:11
Nick
по Москве, может с утра из дома залезу около 8:00, или уже с работы, это от 10:00+

Re: Агрегатный станок

Добавлено: 17 июл 2012, 18:20
ЗАВ
:D завтра по москве в 7-30 я буду на форуме с результатом. пожалуйста, если есть возможность , завтра посматривай на форум. как думаешь, еще далеко до результата-корректировки шд по энкодеру?