Модернизация 6720вф2

Тяжелые фрезерные станки по металлу.
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Модернизация 6720вф2

Сообщение Nick »

Ну тогда просто заведи на тормоз не только halui.spindle.brake-is-on но и еще и halui.machine.is-on, при этом соедини их через AND или OR (или последовательно или параллельно в ладдере)
Milk
Мастер
Сообщения: 206
Зарегистрирован: 05 июл 2011, 15:09
Репутация: 2
Контактная информация:

Re: Модернизация 6720вф2

Сообщение Milk »

Ну в общем, последолгих мучений получилось вот так
ladder.png (4875 просмотров) <a class='original' href='./download/file.php?id=5156&sid=857b3ebda3c582302194a0582b5af7bc&mode=view' target=_blank>Загрузить оригинал (177.94 КБ)</a>
(для просмотра содержимого нажмите на ссылку)
# Generated by PNCconf at Wed Apr 18 18:49:28 2012
# Все изменения в этом файле будут перезаписаны
# overwritten when you run PNCconf again

loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt probe_parport
loadrt hostmot2
loadrt hm2_pci config="firmware=hm2/5i20/SVST8_4.BIT num_encoders=3 num_pwmgens=3 num_stepgens=0"
setp hm2_5i20.0.pwmgen.pwm_frequency 100000
setp hm2_5i20.0.pwmgen.pdm_frequency 100000
setp hm2_5i20.0.watchdog.timeout_ns 10000000
loadrt near
loadrt classicladder_rt numPhysInputs=15 numPhysOutputs=15 numS32in=10 numS32out=10 numFloatIn=10 numFloatOut=10

addf hm2_5i20.0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
loadrt pid num_chan=3
addf pid.0.do-pid-calcs servo-thread
addf pid.1.do-pid-calcs servo-thread
addf pid.2.do-pid-calcs servo-thread
alias pin pid.0.Pgain pid.x.Pgain
alias pin pid.0.Igain pid.x.Igain
alias pin pid.0.Dgain pid.x.Dgain
alias pin pid.0.bias pid.x.bias
alias pin pid.0.FF0 pid.x.FF0
alias pin pid.0.FF1 pid.x.FF1
alias pin pid.0.FF2 pid.x.FF2
alias pin pid.0.deadband pid.x.deadband
alias pin pid.0.maxoutput pid.x.maxoutput
alias pin pid.0.enable pid.x.enable
alias pin pid.0.command pid.x.command
alias pin pid.0.feedback pid.x.feedback
alias pin pid.0.output pid.x.output
alias pin pid.0.index-enable pid.x.index-enable

alias pin pid.1.Pgain pid.y.Pgain
alias pin pid.1.Igain pid.y.Igain
alias pin pid.1.Dgain pid.y.Dgain
alias pin pid.1.bias pid.y.bias
alias pin pid.1.FF0 pid.y.FF0
alias pin pid.1.FF1 pid.y.FF1
alias pin pid.1.FF2 pid.y.FF2
alias pin pid.1.deadband pid.y.deadband
alias pin pid.1.maxoutput pid.y.maxoutput
alias pin pid.1.enable pid.y.enable
alias pin pid.1.command pid.y.command
alias pin pid.1.feedback pid.y.feedback
alias pin pid.1.output pid.y.output
alias pin pid.1.index-enable pid.y.index-enable

alias pin pid.2.Pgain pid.z.Pgain
alias pin pid.2.Igain pid.z.Igain
alias pin pid.2.Dgain pid.z.Dgain
alias pin pid.2.bias pid.z.bias
alias pin pid.2.FF0 pid.z.FF0
alias pin pid.2.FF1 pid.z.FF1
alias pin pid.2.FF2 pid.z.FF2
alias pin pid.2.deadband pid.z.deadband
alias pin pid.2.maxoutput pid.z.maxoutput
alias pin pid.2.enable pid.z.enable
alias pin pid.2.command pid.z.command
alias pin pid.2.feedback pid.z.feedback
alias pin pid.2.output pid.z.output
alias pin pid.2.index-enable pid.z.index-enable

addf classicladder.0.refresh servo-thread
addf near.0 servo-thread
addf hm2_5i20.0.write servo-thread
addf hm2_5i20.0.pet_watchdog servo-thread

# external output signals
# --- ENABLE ---
setp hm2_5i20.0.gpio.049.is_output true
setp hm2_5i20.0.gpio.049.invert_output true
net enable => hm2_5i20.0.gpio.049.out
# --- SPINDLE-CCW ---
setp hm2_5i20.0.gpio.051.is_output true
setp hm2_5i20.0.gpio.051.invert_output true
net spindle-ccw => hm2_5i20.0.gpio.051.out
# --- SPINDLE-BRAKE ---
setp hm2_5i20.0.gpio.053.is_output true
setp hm2_5i20.0.gpio.053.invert_output true
#net spindle-brake => hm2_5i20.0.gpio.053.out >ladder
# --- SPINDLE-CW ---
setp hm2_5i20.0.gpio.055.is_output true
setp hm2_5i20.0.gpio.055.invert_output true
net spindle-cw => hm2_5i20.0.gpio.055.out
# --- COOLANT-FLOOD ---
setp hm2_5i20.0.gpio.057.is_output true
setp hm2_5i20.0.gpio.057.invert_output true
net coolant-flood => hm2_5i20.0.gpio.057.out


# external input signals


# --- SPINDLE-MANUAL-CW ---
#net spindle-manual-cw <= hm2_5i20.0.gpio.029.in_not
# --- ESTOP-EXT ---
net estop-ext <= hm2_5i20.0.gpio.031.in_not
# --- SPINDLE-MANUAL-CCW ---
#net spindle-manual-ccw <= hm2_5i20.0.gpio.033.in_not
# --- SPINDLE-MANUAL-STOP ---
#net spindle-manual-stop <= hm2_5i20.0.gpio.035.in_not
# --- DIN-00 ---
#net din-00 <= hm2_5i20.0.gpio.036.in_not

#*******************
# AXIS X
#*******************

setp pid.x.Pgain [AXIS_0]P
setp pid.x.Igain [AXIS_0]I
setp pid.x.Dgain [AXIS_0]D
setp pid.x.bias [AXIS_0]BIAS
setp pid.x.FF0 [AXIS_0]FF0
setp pid.x.FF1 [AXIS_0]FF1
setp pid.x.FF2 [AXIS_0]FF2
setp pid.x.deadband [AXIS_0]DEADBAND
setp pid.x.maxoutput [AXIS_0]MAX_OUTPUT

net x-index-enable <=> pid.x.index-enable

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

setp hm2_5i20.0.pwmgen.01.output-type 1
setp hm2_5i20.0.pwmgen.01.scale [AXIS_0]OUTPUT_SCALE

net xenable => pid.x.enable
net xoutput pid.x.output => hm2_5i20.0.pwmgen.01.value
net xpos-cmd axis.0.motor-pos-cmd => pid.x.command
net xenable axis.0.amp-enable-out => hm2_5i20.0.pwmgen.01.enable

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

setp hm2_5i20.0.encoder.01.counter-mode 0
setp hm2_5i20.0.encoder.01.filter 1
setp hm2_5i20.0.encoder.01.index-invert 0
setp hm2_5i20.0.encoder.01.index-mask 0
setp hm2_5i20.0.encoder.01.index-mask-invert 0
setp hm2_5i20.0.encoder.01.scale [AXIS_0]INPUT_SCALE

net xpos-fb <= hm2_5i20.0.encoder.01.position
net xpos-fb => pid.x.feedback
net xpos-fb => axis.0.motor-pos-fb
net x-index-enable axis.0.index-enable <=> hm2_5i20.0.encoder.01.index-enable

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

net x-home-sw => axis.0.home-sw-in
net x-neg-limit => axis.0.neg-lim-sw-in
net x-pos-limit => axis.0.pos-lim-sw-in

#*******************
# 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

net y-index-enable <=> pid.y.index-enable

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

setp hm2_5i20.0.pwmgen.00.output-type 1
setp hm2_5i20.0.pwmgen.00.scale [AXIS_1]OUTPUT_SCALE

net yenable => pid.y.enable
net youtput pid.y.output => hm2_5i20.0.pwmgen.00.value
net ypos-cmd axis.1.motor-pos-cmd => pid.y.command
net yenable axis.1.amp-enable-out => hm2_5i20.0.pwmgen.00.enable

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

setp hm2_5i20.0.encoder.00.counter-mode 0
setp hm2_5i20.0.encoder.00.filter 1
setp hm2_5i20.0.encoder.00.index-invert 0
setp hm2_5i20.0.encoder.00.index-mask 0
setp hm2_5i20.0.encoder.00.index-mask-invert 0
setp hm2_5i20.0.encoder.00.scale [AXIS_1]INPUT_SCALE

net ypos-fb <= hm2_5i20.0.encoder.00.position
net ypos-fb => pid.y.feedback
net ypos-fb => axis.1.motor-pos-fb
net y-index-enable axis.1.index-enable <=> hm2_5i20.0.encoder.00.index-enable

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

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

#*******************
# AXIS Z
#*******************

setp pid.z.Pgain [AXIS_2]P
setp pid.z.Igain [AXIS_2]I
setp pid.z.Dgain [AXIS_2]D
setp pid.z.bias [AXIS_2]BIAS
setp pid.z.FF0 [AXIS_2]FF0
setp pid.z.FF1 [AXIS_2]FF1
setp pid.z.FF2 [AXIS_2]FF2
setp pid.z.deadband [AXIS_2]DEADBAND
setp pid.z.maxoutput [AXIS_2]MAX_OUTPUT

net z-index-enable <=> pid.z.index-enable

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

setp hm2_5i20.0.pwmgen.02.output-type 1
setp hm2_5i20.0.pwmgen.02.scale [AXIS_2]OUTPUT_SCALE

net zenable => pid.z.enable
net zoutput pid.z.output => hm2_5i20.0.pwmgen.02.value
net zpos-cmd axis.2.motor-pos-cmd => pid.z.command
net zenable axis.2.amp-enable-out => hm2_5i20.0.pwmgen.02.enable

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

setp hm2_5i20.0.encoder.02.counter-mode 0
setp hm2_5i20.0.encoder.02.filter 1
setp hm2_5i20.0.encoder.02.index-invert 0
setp hm2_5i20.0.encoder.02.index-mask 0
setp hm2_5i20.0.encoder.02.index-mask-invert 0
setp hm2_5i20.0.encoder.02.scale [AXIS_2]INPUT_SCALE

net zpos-fb <= hm2_5i20.0.encoder.02.position
net zpos-fb => pid.z.feedback
net zpos-fb => axis.2.motor-pos-fb
net z-index-enable axis.2.index-enable <=> hm2_5i20.0.encoder.02.index-enable

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

net z-home-sw => axis.2.home-sw-in
net z-neg-limit => axis.2.neg-lim-sw-in
net z-pos-limit => axis.2.pos-lim-sw-in

#*******************
# SPINDLE S
#*******************

# ---setup spindle control signals---

net spindle-vel-cmd-rps <= motion.spindle-speed-out-rps
net spindle-vel-cmd <= motion.spindle-speed-out
net spindle-enable <= motion.spindle-on
net spindle-cw <= motion.spindle-forward
net spindle-ccw <= motion.spindle-reverse
#net spindle-brake <= motion.spindle-brake > ladder
net spindle-revs => motion.spindle-revs
net spindle-at-speed => motion.spindle-at-speed
net spindle-vel-fb => motion.spindle-speed-in
net spindle-index-enable <=> motion.spindle-index-enable

# ---Setup spindle at speed signals---

sets spindle-at-speed true

#******************************
# connect miscellaneous signals
#******************************

# ---coolant signals---

net coolant-mist <= iocontrol.0.coolant-mist
net coolant-flood <= iocontrol.0.coolant-flood

# ---probe signal---

net probe-in => motion.probe-input

# ---digital in / out signals---

net din-00 => motion.digital-in-00
# ---estop signals---

net estop-out <= iocontrol.0.user-enable-out
net estop-ext => iocontrol.0.emc-enable-in
net enable => motion.motion-enabled

# ---manual tool change signals---

loadusr -W hal_manualtoolchange
net tool-change-request iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-change-confirmed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared


#---HALUI SIGNALS---
#net spindle-manual-cw halui.spindle.forward
#net spindle-manual-ccw halui.spindle.reverse
net spindle-manual-stop halui.spindle.stop
net machine-is-on halui.machine.is-on
#net spindle-brake halui.spindle.brake-is-on


# Load Classicladder without GUI (can reload LADDER GUI in AXIS GUI

#loadusr classicladder --nogui custom.clp
loadusr classicladder custom.clp
net machine-on-off-ladder-in hm2_5i20.0.gpio.037.in_not => classicladder.0.in-14
net machine-on-ladder-out halui.machine.on => classicladder.0.out-05
net machine-off-ladder-out halui.machine.off => classicladder.0.out-06
net spindle-brake-on-off-ladder-in hm2_5i20.0.gpio.035.in_not => classicladder.0.in-02
net spindle-brake-on-ladder-out halui.spindle.brake-on classicladder.0.out-02
net spindle-brake-off-ladder-out halui.spindle.brake-off classicladder.0.out-07
net spindle-manual-cw-ladder-in hm2_5i20.0.gpio.033.in_not => classicladder.0.in-01
net spindle-cw-ladder-out halui.spindle.forward => classicladder.0.out-01
net spindle-manual-ccw-ladder-in hm2_5i20.0.gpio.029.in_not => classicladder.0.in-03
net spindle-ccw-ladder-out halui.spindle.reverse => classicladder.0.out-03
net coolant-flood-on-ladder-out halui.flood.on => classicladder.0.out-04
net coolant-flood-off-ladder-out halui.flood.off => classicladder.0.out-08
net coolant-flood-ladder-on-off hm2_5i20.0.gpio.036.in_not => classicladder.0.in-13

net brake-in motion.spindle-brake classicladder.0.in-10
net brake-out hm2_5i20.0.gpio.053.out classicladder.0.out-10
Наверное обходными путями, но работает, зараза...
Единственное не знаю как сделать, чтобы тормоз не включался если шпиндель не включен, наверное уже "глаз замылился"
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Модернизация 6720вф2

Сообщение Nick »

Ну добавь просто еще 1 такой ---| |---- элемент с пином halui.spindle.is-on перед выходом на тормоз и все.
Milk
Мастер
Сообщения: 206
Зарегистрирован: 05 июл 2011, 15:09
Репутация: 2
Контактная информация:

Re: Модернизация 6720вф2

Сообщение Milk »

Но тогда как только шпиндель выключится тормоз тоже перестанет работать...В том-то и дело.
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Модернизация 6720вф2

Сообщение Nick »

Тогда не понимаю чего ты хочешь...
хотя... попробуй сделать так, вместо выхода ----( )-- сделать выход ----(S)--, тогда пин будет устанавливаться в 1 до его сброса выходом ----(R)--.
Но возможно, что придется пересмотреть процедуру снятия с тормоза.

Напиши "таблицу истинности" для пина тормоза шпинделя в зависимости от состояния других пинов, т.е. при таких-то условиях включаем, при таких-то выключаем ...
Milk
Мастер
Сообщения: 206
Зарегистрирован: 05 июл 2011, 15:09
Репутация: 2
Контактная информация:

Re: Модернизация 6720вф2

Сообщение Milk »

Сделал вроде. Пришлось "разнести" выключение и торможение на секунду, а то пару кз выхватил...
Подключил все три сервопривода через фильтры и пускатель. Моторы покаа лежат на столе станка. Интересно, настройки пид на все сервыы прописал одни и два мотора (на У и на Z) работают нормально, а мотор на X не хочет, пишет ошибку. Поразбираюсь ещё...
Вопрос тако сейчас - как сделать включение и enable?
Пока прицепил пускатель серв на machine is on, но куда при этом повесить три сигнала Servo on (SON) с серв?
Физически повесил их на выходы 7i37, а вот к чему привязать эти пины не знаю.
SON должен включаться после включения питания, а выключаться перед выключением. Во время работы должны бть включен даже при простое оси для удержания положения.
Кстати, на 7i33 есть пины enable. Как они работают? Когда включаются?

P.S. Блин, печатать на домашнем компе становится всё сложнее... Мелкий мой (9,5 мес) его осваивает активно, половина кнопок глючит уже.
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Модернизация 6720вф2

Сообщение Nick »

На управление сервоусилителями есть такие пины
axis.N.amp-enable-out OUT BIT
TRUE if the amplifier for this joint should be enabled

axis.N.amp-fault-in IN BIT
Should be driven TRUE if an external fault is detected with the amplifier for this joint

Milk писал(а):Кстати, на 7i33 есть пины enable. Как они работают? Когда включаются?
ENABLE INPUT
Each 7I33 channel has an active low TTL level enable input. When this input is high,
the corresponding AOUT is forced to 0V regardless of the state of the PWM and direction
inputs. A pullup resistor keeps the enable input high if the controller connection is lost.
ENABLE OUTPUT
Each 7I33 channel has an 5V CMOS active high enable output available on the
SERVO AMP / ENCODER connector. These signals are the logical inversion of the Enable
inputs.
Эти?
что-то никак перевести не получается башка не варит...
Milk
Мастер
Сообщения: 206
Зарегистрирован: 05 июл 2011, 15:09
Репутация: 2
Контактная информация:

Re: Модернизация 6720вф2

Сообщение Milk »

В общем подключил сервы, моторы прикрутил к станку. Enable привязал к выходам 7i37, а включение питания серв пока никуда не привязал - вручную врубаю. Потом думаю привязать к estop, снял с аварийки - подал питание на сервы. С настройками пока не ахти - до 400 мм/мин нормально, больше - ошибка... Пытаю ПИД.
Milk
Мастер
Сообщения: 206
Зарегистрирован: 05 июл 2011, 15:09
Репутация: 2
Контактная информация:

Re: Модернизация 6720вф2

Сообщение Milk »

Ну блин фокус так фокус!!!
Долбаюсь с ПИД. Прочитал статейку http://roboforum.ru/wiki/%D0%9F%D0%B5%D ... 1.80.D0.B0 но, честно говоря, не очень она помогла в настройке. В понимании разве что чуть-чуть. В общем гонял ось У по синусоиде всяко разно безобразно, с разными настройками, исходя из того, что Р - побольше (до резонанса) I - малая величина 0,01-1, а D вообще 0,001-0,005. Почему-то ось поехала более менее (pid-error при скорости около 25 об/сек на синусоиде 4,5*20 около 0,001-0,002) при P=20, I=405, D=0.015 при deadband = 0. Поднимаем deadband и pid-error около 0,005-0,007. В общем в pid tuning все красиво. В EMC похуже. Иногда вышибает ось по following error.
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Модернизация 6720вф2

Сообщение Nick »

Сделай замеры в emc2 в HAL Scope. Добавь графики скорости, ferror, текущего положения и заданного положения. И скидывай скриншот. Посмотрим, что где он вылетает за пределы...

Тюнил pid в какой-то другой программе? Двигатель уже подключен станку, или ты его в холостую гоняешь?
Milk
Мастер
Сообщения: 206
Зарегистрирован: 05 июл 2011, 15:09
Репутация: 2
Контактная информация:

Re: Модернизация 6720вф2

Сообщение Milk »

Все моторы на своих местах. Пользуюсь вот такой http://www.linuxcnc.org/index.php/engli ... 95&limit=6 штукой.
Пробовал запустить halscope в emc, но подловить момент вылета не так-то просто...
Так вроде нормально, но нет-нет да вырубится. В разных местах, неожиданно...
А emc случаем лог ошибок не ведет? Очень полезно было бы знать конкретную причину follow error.
1500мм/мин едет, чем очень меня радует не смотря ни на что. На шаговиках 675 максимум 270 мм/мин "летал".
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Модернизация 6720вф2

Сообщение Nick »

Milk писал(а):Пользуюсь вот такой http://www.linuxcnc.org/index.php/engli ... 95&limit=6 штукой.
Понятно, т.е. самим LinuxCNC.
Milk писал(а):робовал запустить halscope в emc, но подловить момент вылета не так-то просто...
А там случаем нет варианта начала записи по какому-то значению? Там кстати можно писать непрерывно, и как только вылетает ошибка сразу останавливай. И можно попробовать частоту записи поменять, чтобы больше значений оставалось в буфере.
Milk писал(а):А emc случаем лог ошибок не ведет? Очень полезно было бы знать конкретную причину follow error.
Конкретной причины не будет, да и откуда она возьмется. Но можно узнать значение этого Ferror, вроде есть для этого отдельный пин, или в крайнем случае можно воспользоваться компонентом: minmax http://www.linuxcnc.org/docview/devel/h ... max.9.html.

А какие у тебя стоят значения following error?
Milk
Мастер
Сообщения: 206
Зарегистрирован: 05 июл 2011, 15:09
Репутация: 2
Контактная информация:

Re: Модернизация 6720вф2

Сообщение Milk »

Насчет minmax можно поподробнее.
То есть заводим его в realtime и привязываем на вход ferror, а на выход что?
ferror стоит 1, min_ferror 0.02. Если я правильно понял, ошибка следования будет меняться в этом диапазоне (0,02-1) пропорционально скорости подачи (0,01-25 мм/сек)
Milk
Мастер
Сообщения: 206
Зарегистрирован: 05 июл 2011, 15:09
Репутация: 2
Контактная информация:

Re: Модернизация 6720вф2

Сообщение Milk »

Вот настраиваю ось Х.
pidX.png (4788 просмотров) <a class='original' href='./download/file.php?id=5245&sid=857b3ebda3c582302194a0582b5af7bc&mode=view' target=_blank>Загрузить оригинал (139.36 КБ)</a>
Все вроде бы неплохо. На скорости 27-28 (фиолет) pid error (белый) в пределах 0,003-0,004.
Но EMC при этих настройках даже хомится через раз...
Мож чего не то делаю?
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4261
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 703
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Модернизация 6720вф2

Сообщение PKM »

слишком много шума на пид, это значит - большая нестабильность. что-то надо менять.
PosFF надо обнулить
Р слишком большой, это может быть причиной нестабильности
и потом, синусоидальный сигнал не характерен, хоуминг происходит явно не синусоидально, отсюда ошибки следования.
лучше настраивать по ступенчатому или треугольному.
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Модернизация 6720вф2

Сообщение Nick »

И какое у тебя разрешение энкодера? Может он постоянно прыгает вверх вниз? Попробуй deadband увеличить, тем более у тебя он похоже вообще = 0.0.
Milk
Мастер
Сообщения: 206
Зарегистрирован: 05 июл 2011, 15:09
Репутация: 2
Контактная информация:

Re: Модернизация 6720вф2

Сообщение Milk »

Срыв был из-за того что я выставил на серве максимально 350 об/мин на 10В и в emc выставил такую же величину в ед. станка (29,166666 мм/сек). Серва скорее всего вмешивалась и росла ошибка. Когда поменял в emc на 25 всё стало ровно (предварительно конечно пришлось запариться с PID)
Все-же интересно, я думал что значение I должно быть маленьким, а оно на два порядка больше P...
Когда настраивал I вообще брал множитель 100(!!!)
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Модернизация 6720вф2

Сообщение Nick »

Покажи графики на новых значениях?
Milk
Мастер
Сообщения: 206
Зарегистрирован: 05 июл 2011, 15:09
Репутация: 2
Контактная информация:

Re: Модернизация 6720вф2

Сообщение Milk »

Вот
X.png (4772 просмотра) <a class='original' href='./download/file.php?id=5247&sid=857b3ebda3c582302194a0582b5af7bc&mode=view' target=_blank>Загрузить оригинал (141.11 КБ)</a>
Y.png (4772 просмотра) <a class='original' href='./download/file.php?id=5248&sid=857b3ebda3c582302194a0582b5af7bc&mode=view' target=_blank>Загрузить оригинал (142.44 КБ)</a>
Z.png (4772 просмотра) <a class='original' href='./download/file.php?id=5249&sid=857b3ebda3c582302194a0582b5af7bc&mode=view' target=_blank>Загрузить оригинал (142.45 КБ)</a>
Не знаю на сколько они правильные, но сейчас ferror - 0.2 min_ferror - 0.02 чему я уже рад.
Z сильно трепыхается, наверное из-за редукции, там коничка стоит прямозубая. Удивило то, что ошибка симметричная получилась, хотя вверх тяжелее винт крутится.
Максимальную скорость подач планирую 1500 мм/мин. Пока мне хватит...
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Модернизация 6720вф2

Сообщение Nick »

Интересно, откуда все таки берутся такие скачки? Попробуй сделать deadband еще больше, а P еще меньше. И почему у тебя D=0?

А на станке ощущаются вибрации или нет?
Ответить

Вернуться в «Фрезерные станки по металлам»