Модернизация фрезерного 6Р13Ф3-01

Тяжелые фрезерные станки по металлу.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Модернизация фрезерного 6Р13Ф3-01

Сообщение Lexxa »

Не работает ограниечени Uзадания((((

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

#********************
# Axis X
#********************
[AXIS_0]
TYPE = LINEAR

FERROR = 1000000000
MIN_FERROR = 100000000
MAX_VELOCITY = 2000
MAX_ACCELERATION = 2.0
P = 1.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 0.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.005
OUTPUT_SCALE = 2
OUTPUT_OFFSET = 0.0
MAX_OUTPUT = 5
INPUT_SCALE = 800.0
MIN_LIMIT = -790.0
MAX_LIMIT = 790.0
HOME_OFFSET = 750.000000
HOME = 0.0
HOME_SEARCH_VEL = -250.000000
HOME_LATCH_VEL = -3.000000
HOME_FINAL_VEL = 250.000000
HOME_USE_INDEX = YES
HOME_SEQUENCE = 1
:bender:
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Модернизация фрезерного 6Р13Ф3-01

Сообщение Lexxa »

Причем косячит либо 5i20, либо 7i33TA, поскольку если открыть окошко установки HAL, и быбрать нужный пин (hm2_5i20.0.pwmgen.01.value) , то больше 5 вольт там он не поднимается.
Может быть так, потому что без нагрузки работает 7i33TA?
:bender:
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Модернизация фрезерного 6Р13Ф3-01

Сообщение Lexxa »

10 кОм не спасли ситуацию
:bender:
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Модернизация фрезерного 6Р13Ф3-01

Сообщение Lexxa »

Короче это 100% софтовый глюк.
Обновился до 2,5 релиза.
в pncconf есть тест месы. В этом тесте есть замечательные ползунки, устанавливающие напряжение на выходе шим. Этими ползунками преспокойненько устанавливается любое напряжение от -10В до +10В.
Следовательно связка 5и20+7и33 работает верно.
Т.е. не работает масштабирование!!!
Откатился на 2.4.7, поскольку 2.5 стартовать с моими настройками не хочет почему-то.
OUTPUT_SCALE = -2 знак минус меняет Uзадания, но что поразительно - не ограничивает
:bender:
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Модернизация фрезерного 6Р13Ф3-01

Сообщение Lexxa »

пин pid.x.output ограничивается MAX_OUTPUTом
соответственно hm2_5i20.0.pwmgen.01.value тоже ограничивается.
сигнал xoutput тоже.
так почему же на выходе 7i33TA сигнал 10В вместо установленного в MAX_OUTPUT и сгенерированного в xoutput ????????
:bender:
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Модернизация фрезерного 6Р13Ф3-01

Сообщение Lexxa »

Нашелся косяк.
Uзадания = MAX_OUTPUT умножить на OUTPUT_SCALE умножить на xoutput

Т.е. для ограничения Uзадания до 2В и его инверсии надо

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

OUTPUT_SCALE = -1
OUTPUT_OFFSET = 0.0
MAX_OUTPUT = 0.2
Т.е. 10В*(-1)*0,2 = 2В
Бред какой-то!
MAX_OUTPUT = 10 ( HAL ) The maximum value for the output of the PID compensation that is
written to the motor amplifier, in volts. The computed output value is clamped to this limit.
The limit is applied before scaling to raw output units. The value is applied symmetrically to
both the plus and the minus side.
не в вольтах оно, а в разах, причем прямой прапорциональности!!!!!!!!!!!!!!
:bender:
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Модернизация фрезерного 6Р13Ф3-01

Сообщение Lexxa »

Итак, запуск одной оси можно сказать успешно прошел

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

#********************
# Axis X
#********************
[AXIS_0]
TYPE = LINEAR

FERROR = 0.1
MIN_FERROR = 1
MAX_VELOCITY = 200000
MAX_ACCELERATION = 600
P = 1.0
I = 0
D = 0
FF0 = 0.0
FF1 = 0.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.005
OUTPUT_SCALE = -1
OUTPUT_OFFSET = 0.0
MAX_OUTPUT = 1
INPUT_SCALE = 800.0
MIN_LIMIT = -790.0
MAX_LIMIT = 790.0
HOME_OFFSET = 750.000000
HOME = 0.0
HOME_SEARCH_VEL = 250.000000
HOME_LATCH_VEL = -3.000000
HOME_FINAL_VEL = 250.000000
HOME_USE_INDEX = YES
HOME_SEQUENCE = 1
:bender:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Модернизация фрезерного 6Р13Ф3-01

Сообщение Nick »

Lexxa писал(а):The limit is applied before scaling to raw output units.
По идее это говорит, что он должен обрезать значение до MAX_OUTPUT, а потом спокойно масштабировать на выход :thinking: ... а, ну да, так оно и получается... может этому есть какое-то разумное объяснение...
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Модернизация фрезерного 6Р13Ф3-01

Сообщение Lexxa »

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

# Загружаем модуль "производная"
loadrt ddt count=6

# Скорость и ошибка скорости Х
addf ddt.0                     servo-thread
addf ddt.1                     servo-thread
net xpos-cmd => ddt.0.in
net xvel ddt.0.out => => pid.x.command
net xpos-fb => ddt.1.in
net xvel-fb ddt.1.out =>  pid.x.feedback
Это, кстати, не заработало. Постоянно Uзадания = 0В и двигатель соответственно стоит на месте.
:bender:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Модернизация фрезерного 6Р13Ф3-01

Сообщение Nick »

А можешь снять скрин HAL Scope, с графиками xpos-cmd и ddt.0.out, ну и на всякий случай xpos-fb и xvel-fb и pid.out.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Модернизация фрезерного 6Р13Ф3-01

Сообщение Lexxa »

Ник, давай еще раз пройдем по халу, который для регулирования скорости
Подозреваю ошибку

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

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 xpos-cmd => ddt.0.in
net xvel ddt.0.out => pid.x.command
net xpos-fb               <=  hm2_5i20.0.encoder.01.position
#net xpos-fb               =>  pid.x.feedback
net xpos-fb => ddt.1.in
net xvel-fb ddt.1.out =>  pid.x.feedback
Сейчад думаю, что правильно было бы так:

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

net xenable     => pid.x.enable
# Регулируемая величина - скорость
net xoutput     pid.x.output           => hm2_5i20.0.pwmgen.01.value
net xpos-cmd    axis.0.motor-pos-cmd   => ddt.0.in
net xvel ddt.0.out => pid.x.command
#Обратная связь по скорости
net xpos-fb               <=  hm2_5i20.0.encoder.01.position
net xpos-fb => ddt.1.in
net xvel-fb ddt.1.out =>  pid.x.feedback
:bender:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Модернизация фрезерного 6Р13Ф3-01

Сообщение Nick »

Да, вот этого не хватало:
axis.0.motor-pos-cmd

Теперь работает?
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Модернизация фрезерного 6Р13Ф3-01

Сообщение Lexxa »

Да, только вот на станке смогу опробовать только в выходные, по крайней мере Uзадания теперь меняется как надо.
:bender:
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Модернизация фрезерного 6Р13Ф3-01

Сообщение Lexxa »

Вот всё забываю спросить. Зачем загонять FERROR в малые значения?? Ведь FERROR это величина ошибки при быстром перемещении, точнее при большем, чем указанно в параметре [TRAJ]MAX_VELOCITY
Вряд ли на быстром ходу кому-то важно отношение расчетной скорости к истинной.
А вот MIN_FERROR - другое дело тут напротив очень важно отклонение от расчетной скорости.
поправьте меня, если я неправ
:bender:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Модернизация фрезерного 6Р13Ф3-01

Сообщение Nick »

вроде как FERROR это для скорости равной MAX_VELOCITY, a min_ferror для скорости близкой к 0. Для других скоростей берется линейная интерполяция этих значений.

Весь вопрос в том, на какой скорости будет вестись обработка.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Модернизация фрезерного 6Р13Ф3-01

Сообщение Lexxa »

Я чёт в мануалах про интерполяцию не встречал...
:bender:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Модернизация фрезерного 6Р13Ф3-01

Сообщение Nick »

MIN_FERROR = 0.010 - This is the value in machine units by which the axis is permitted to deviate from commanded position
at very low speeds. If MIN_FERROR is smaller than FERROR, the two produce a ramp of error trip points. You could think
of this as a graph where one dimension is speed and the other is permitted following error. As speed increases the amount of
following error also increases toward the FERROR value.


• FERROR = 1.0 - FERROR is the maximum allowable following error, in machine units. If the difference between commanded
and sensed position exceeds this amount, the controller disables servo calculations, sets all the outputs to 0.0, and disables the
amplifiers. If MIN_FERROR is present in the .ini file, velocity-proportional following errors are used. Here, the maximum allowable
following error is proportional to the speed
, with FERROR applying to the rapid rate set by [TRAJ]MAX_VELOCITY,
and proportionally smaller following errors for slower speeds. The maximum allowable following error will always be greater
than MIN_FERROR. This prevents small following errors for stationary axes from inadvertently aborting motion. Small following
errors will always be present due to vibration, etc. The following polarity values determine how inputs are interpreted
and how outputs are applied. They can usually be set via trial-and-error since there are only two possibilities. The EMC2 Servo
Axis Calibration utility program (in the AXIS interface menu Machine/Calibration and in TkEMC it is under Setting/Calibration)
can be used to set these and more interactively and verify their results so that the proper values can be put in the INI file
with a minimum of trouble.

как-то так...
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Модернизация фрезерного 6Р13Ф3-01

Сообщение Lexxa »

Разбирался сегодня с pid и решил проверить на "похожесть" скорость, считанную с энкодера, с производной перемещения.

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

loadrt ddt count=3
addf ddt.0                     servo-thread
addf ddt.1                     servo-thread
#Тест обратной связи по скорости Y
net y-axis-feedback <= hm2_5i20.0.encoder.01.position
net y-axis-feedback			=> ddt.1.in
net yvel-fb 				<= ddt.1.out
Крутил руками датчик и смотрел НАЛ-осцилоскопом.
Обнаружел неприятный эффект. На больших скоростях графики похожи, но на скорости от производной очень заметна дискретизация по уровню. На мальеньких же скоростях совсем ужас.
Т.е. имеет место сильный цифровой шум, точнее даже не шум, а квантованность Как увеличить количество уровней квантования?
Фото осцилоскопа с большии и маленькими скоростями в прицепе.
Вложения
Усиление 50m/div (2257 просмотров) <a class='original' href='./download/file.php?id=5661&mode=view' target=_blank>Загрузить оригинал (58.75 КБ)</a>
Усиление 50m/div
20/div (2257 просмотров) <a class='original' href='./download/file.php?id=5662&mode=view' target=_blank>Загрузить оригинал (61.09 КБ)</a>
20/div
:bender:
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Модернизация фрезерного 6Р13Ф3-01

Сообщение PKM »

Lexxa писал(а):на скорости от производной очень заметна дискретизация по уровню. На мальеньких же скоростях совсем ужас
Кстати, а зачем тебе эта скорость по производной? Она разве используется где-то?
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Модернизация фрезерного 6Р13Ф3-01

Сообщение Lexxa »

Чтобы в ПИД регулировать скорость.
:bender:
Ответить

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