Страница 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
ЗАВ
прог не грузится выдало сообщение, все прикладываю

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
Re: Агрегатный станок
Добавлено: 17 июл 2012, 18:00
Nick
ЗАВ писал(а):без изменения прог не грузится
Так ты же ничего и не исправил

. Я написал строки с твоей ошибкой.
Re: Агрегатный станок
Добавлено: 17 июл 2012, 18:06
ЗАВ

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

завтра по москве в 7-30 я буду на форуме с результатом. пожалуйста, если есть возможность , завтра посматривай на форум. как думаешь, еще далеко до результата-корректировки шд по энкодеру?