Mesa 5i20 & 7i37 & 7i48 & 6 портов Step/Dir
-
- Новичок
- Сообщения: 20
- Зарегистрирован: 11 янв 2012, 17:41
- Репутация: 1
- Откуда: Вологда
- Контактная информация:
Mesa 5i20 & 7i37 & 7i48 & 6 портов Step/Dir
Вот тут http://www.mesanet.com/software/parallel/5i20.zip имеется нужная прошивка для драйвера HostMot2, а именно svst6_6_7i48.
Но для корректной работы Pncconf из EMC2 версии 2.7.1 необходим соответствующий этой прошивке XML-файл, которого нигде не нашел.
Пришлось сваять самому. Если кому интересно - во вложении.
Но для корректной работы Pncconf из EMC2 версии 2.7.1 необходим соответствующий этой прошивке XML-файл, которого нигде не нашел.
Пришлось сваять самому. Если кому интересно - во вложении.
- Вложения
-
- svst6_6_7i48.rar
- (2.22 КБ) 367 скачиваний
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Mesa 5i20 & 7i37 & 7i48 & 6 портов Step/Dir
+1!
На linuxcnc.org писал, чтобы они добавили твои файлы?
На linuxcnc.org писал, чтобы они добавили твои файлы?
-
- Новичок
- Сообщения: 20
- Зарегистрирован: 11 янв 2012, 17:41
- Репутация: 1
- Откуда: Вологда
- Контактная информация:
Re: Mesa 5i20 & 7i37 & 7i48 & 6 портов Step/Dir
Нет, не зарегистрирован там. Но если кто закинет им - возражать не буду.
-
- Новичок
- Сообщения: 20
- Зарегистрирован: 11 янв 2012, 17:41
- Репутация: 1
- Откуда: Вологда
- Контактная информация:
Re: Mesa 5i20 & 7i37 & 7i48 & 6 портов Step/Dir
FERROR = 5.0000
MIN_FERROR = 1.0000
P=50
FF1=1
4096 отсчетов энкодера на оборот. Управляю MR-J3-A по напряжению.
Перемещаю ось X на 5 мм. axis.0.f-error плавно растет с 0 до 4.5мм и по достижении координаты довольно быстро опускается до 0.
До 4.5 мм, Карл!!!
Мозг сломан.
Мысли следующие:
Насколько я понимаю, f-error это ошибка по положению. Если f-error растет, причем halscope показывает линейное возрастание ошибки, то это означает постоянную (константу) ошибку по скорости. Ведь мы управляем по скорости? Почему PID не отрабатывает? Если пытаться в это время руками придержать шпиндель - то он сопротивляется, но это скорее всего PI сервы отрабатывает.
MIN_FERROR = 1.0000
P=50
FF1=1
4096 отсчетов энкодера на оборот. Управляю MR-J3-A по напряжению.
Перемещаю ось X на 5 мм. axis.0.f-error плавно растет с 0 до 4.5мм и по достижении координаты довольно быстро опускается до 0.
До 4.5 мм, Карл!!!
Мозг сломан.
Мысли следующие:
Насколько я понимаю, f-error это ошибка по положению. Если f-error растет, причем halscope показывает линейное возрастание ошибки, то это означает постоянную (константу) ошибку по скорости. Ведь мы управляем по скорости? Почему PID не отрабатывает? Если пытаться в это время руками придержать шпиндель - то он сопротивляется, но это скорее всего PI сервы отрабатывает.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Mesa 5i20 & 7i37 & 7i48 & 6 портов Step/Dir
Суть может быть вот чем:
Мы стартуем. Приходит задание +1мм, пид начинает работать - двигатель +1мм, но пока двигатель думает задание меняется на +2мм (мы ускоряемся), пид говорит +2мм, пока двигатель думает задание меняется на +3мм... в итоге двигатель отстает все больше и больше, а именно на s1 = a*t^2/2 и s2 = a*(t-1)^2/2.
Все это можно поробовать решить настройками ПИД.
попробуй добавить P и I.
Мы стартуем. Приходит задание +1мм, пид начинает работать - двигатель +1мм, но пока двигатель думает задание меняется на +2мм (мы ускоряемся), пид говорит +2мм, пока двигатель думает задание меняется на +3мм... в итоге двигатель отстает все больше и больше, а именно на s1 = a*t^2/2 и s2 = a*(t-1)^2/2.
Все это можно поробовать решить настройками ПИД.
попробуй добавить P и I.
-
- Новичок
- Сообщения: 20
- Зарегистрирован: 11 янв 2012, 17:41
- Репутация: 1
- Откуда: Вологда
- Контактная информация:
Re: Mesa 5i20 & 7i37 & 7i48 & 6 портов Step/Dir
нашел причину неработоспособности (но не способ устранения). почему-то pid.x.output = -0.025 при движении оси, при том, что pid.x.error активно растет.
OUTPUT_SCALE = 50
MAX_OUTPUT = 0
Из коэффициентов PID выставлен только пропорциональный = 50.
pid.x.output должен расти по мере увеличения ошибки, а этого не происходит. Вот уперся он в значение 0.025 и хоть тресни.
т.е. включаешь станок - ось поехала в плюс сама собой, и через MIN_FERROR миллиметров станок выключается с ошибкой joit following error.
Начинаю подозревать баг в pid.c, что почти невероятно.
Есть какие мысли?
OUTPUT_SCALE = 50
MAX_OUTPUT = 0
Из коэффициентов PID выставлен только пропорциональный = 50.
pid.x.output должен расти по мере увеличения ошибки, а этого не происходит. Вот уперся он в значение 0.025 и хоть тресни.
т.е. включаешь станок - ось поехала в плюс сама собой, и через MIN_FERROR миллиметров станок выключается с ошибкой joit following error.
Начинаю подозревать баг в pid.c, что почти невероятно.
Есть какие мысли?
- Вложения
-
- milling.ini
- (3.21 КБ) 1041 скачивание
-
- milling.hal
- (11.64 КБ) 1055 скачиваний
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Mesa 5i20 & 7i37 & 7i48 & 6 портов Step/Dir
а что в это время на входе PID ?(в тот момент , когда "pid.x.output = -0.025")Hunter писал(а):т.е. включаешь станок - ось поехала в плюс сама собой,
axis.0.motor-pos-cmd ??
-
- Новичок
- Сообщения: 20
- Зарегистрирован: 11 янв 2012, 17:41
- Репутация: 1
- Откуда: Вологда
- Контактная информация:
Re: Mesa 5i20 & 7i37 & 7i48 & 6 портов Step/Dir
при включении станка
axis.0.motor-pos-cmd=0
pid.x.command=0
т.е. текущее положение
терпелка кончилась, щас буду gdb на него натравливать.
axis.0.motor-pos-cmd=0
pid.x.command=0
т.е. текущее положение
терпелка кончилась, щас буду gdb на него натравливать.
- PKM
- Почётный участник
- Сообщения: 4263
- Зарегистрирован: 31 мар 2011, 18:11
- Репутация: 705
- Настоящее имя: Андрей
- Откуда: Украина
- Контактная информация:
Re: Mesa 5i20 & 7i37 & 7i48 & 6 портов Step/Dir
pid.x.maxerror закомментируй
- PKM
- Почётный участник
- Сообщения: 4263
- Зарегистрирован: 31 мар 2011, 18:11
- Репутация: 705
- Настоящее имя: Андрей
- Откуда: Украина
- Контактная информация:
Re: Mesa 5i20 & 7i37 & 7i48 & 6 портов Step/Dir
0,0005 х 50 = 0.025Hunter писал(а):почему-то pid.x.output = -0.025 при движении оси, при том, что pid.x.error активно растет.
Из коэффициентов PID выставлен только пропорциональный = 50
Hunter писал(а):Начинаю подозревать баг в pid.c, что почти невероятно.
-
- Новичок
- Сообщения: 20
- Зарегистрирован: 11 янв 2012, 17:41
- Репутация: 1
- Откуда: Вологда
- Контактная информация:
Re: Mesa 5i20 & 7i37 & 7i48 & 6 портов Step/Dir
Спасибо, друг! Слона-то я и не заметил...
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Mesa 5i20 & 7i37 & 7i48 & 6 портов Step/Dir
почему 0?Hunter писал(а):MAX_OUTPUT = 0
-
- Новичок
- Сообщения: 20
- Зарегистрирован: 11 янв 2012, 17:41
- Репутация: 1
- Откуда: Вологда
- Контактная информация:
Re: Mesa 5i20 & 7i37 & 7i48 & 6 портов Step/Dir
На тот момент руки не доходили. Сейчас 50 и скейл тоже 50.
Кстати, это pncconfig выставляет pid.x.maxerror, хотя его никто не просил (по крайней мере я не нашел где этот параметр выставляется). Вынужден был обнулить его в custom.hal.
И еще. Нет ли какого способа указать pncconfig, что надо добавить/изменить некоторые строчки в определенные разделы ini?
Кстати, это pncconfig выставляет pid.x.maxerror, хотя его никто не просил (по крайней мере я не нашел где этот параметр выставляется). Вынужден был обнулить его в custom.hal.
И еще. Нет ли какого способа указать pncconfig, что надо добавить/изменить некоторые строчки в определенные разделы ini?