[PЕШЕНО]Неравномерная подача и команда COMP_FILE
-
- Кандидат
- Сообщения: 93
- Зарегистрирован: 06 июл 2014, 16:24
- Репутация: 1
- Откуда: Sverdlovskay obl. Pervouralsk
- Контактная информация:
[PЕШЕНО]Неравномерная подача и команда COMP_FILE
Всем доброго времени суток.
Ситуация такая в общем купил ШВП у китайцев класса С7 не качественная просто ппц...(
заключается это в следующем витки накатаны не равномерно, 500 мм совпадает с 500 мм эталона а вот когда говоришь станку приехать на 250 мм он приезжает на 249.2
Решил исправить эту ситуацию с помощью COMP_FILE.
Добавил в ini строчку
COMP_FILE = xcorect.comp
COMP_FILE_TYPE = 0
Потом создал файлик рядом с ini с именем xcorect.comp содержание файла:
250 249.2 249.21
После всего этого станок за место того чтобы доехать до нужно места 250мм решает что я ему задал люфт в гайке в 0.01!!!
Попробовал изменить на 250 240 260 чтобы прямо ярко видно было что он делает и в очередной раз убедился что он думает что в люфт в гайке задан числами 240 260 и состовляет 20 мм.
Как его заставить работать правильно? То есть компенсировать неравномерный участок винта а не просто компенсировать люфт.
Всем откликнувшимся заранее спасибо.
Ситуация такая в общем купил ШВП у китайцев класса С7 не качественная просто ппц...(
заключается это в следующем витки накатаны не равномерно, 500 мм совпадает с 500 мм эталона а вот когда говоришь станку приехать на 250 мм он приезжает на 249.2
Решил исправить эту ситуацию с помощью COMP_FILE.
Добавил в ini строчку
COMP_FILE = xcorect.comp
COMP_FILE_TYPE = 0
Потом создал файлик рядом с ini с именем xcorect.comp содержание файла:
250 249.2 249.21
После всего этого станок за место того чтобы доехать до нужно места 250мм решает что я ему задал люфт в гайке в 0.01!!!
Попробовал изменить на 250 240 260 чтобы прямо ярко видно было что он делает и в очередной раз убедился что он думает что в люфт в гайке задан числами 240 260 и состовляет 20 мм.
Как его заставить работать правильно? То есть компенсировать неравномерный участок винта а не просто компенсировать люфт.
Всем откликнувшимся заранее спасибо.
Последний раз редактировалось Oleg_Pvk 10 июл 2014, 20:35, всего редактировалось 1 раз.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5182
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Помогите с неравномерной подачей и командой COMP_FILE
Всё правильно, так и должно работать.
Чтоб работало как вы хотите надо написать
250 249.2 249.2
Чтоб работало как вы хотите надо написать
250 249.2 249.2
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
- Кандидат
- Сообщения: 93
- Зарегистрирован: 06 июл 2014, 16:24
- Репутация: 1
- Откуда: Sverdlovskay obl. Pervouralsk
- Контактная информация:
Re: Помогите с неравномерной подачей и командой COMP_FILE
Если так написать 250 249.2 249.2 тоже не работает.
Меняю значения в xcorect.comp сохраняю перезагружаю емс и если ось Х стояла на ноле и ей дать команду ехать до 250 то она доедет. А вот обратно в ноль уже не вернется не доехав как раз эти 0.8 Мм. Нажимаю хоминг ось Х выставляеться в ноль и когда снова отправляеш на 250 он доезжает только до 249.2 И не учитывает компенсацию.
Второй вариант так поменя значения сохранили перезагрузили но ось у меня стояла не на ноле выполняем хоминг говорим едь на 250 по х и он приезжает в 249.2 Будто компенсации и нету.
Если ставить большие значения 250 240 260 то он начинает работать как компенсация люфта гайки тоесть не зависимо от положения на оси при смене направления компенсирует его. А мне это совсем не нужно.
Меняю значения в xcorect.comp сохраняю перезагружаю емс и если ось Х стояла на ноле и ей дать команду ехать до 250 то она доедет. А вот обратно в ноль уже не вернется не доехав как раз эти 0.8 Мм. Нажимаю хоминг ось Х выставляеться в ноль и когда снова отправляеш на 250 он доезжает только до 249.2 И не учитывает компенсацию.
Второй вариант так поменя значения сохранили перезагрузили но ось у меня стояла не на ноле выполняем хоминг говорим едь на 250 по х и он приезжает в 249.2 Будто компенсации и нету.
Если ставить большие значения 250 240 260 то он начинает работать как компенсация люфта гайки тоесть не зависимо от положения на оси при смене направления компенсирует его. А мне это совсем не нужно.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5182
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Помогите с неравномерной подачей и командой COMP_FILE
на днях попрошу посмотреть конфиг станка, где это работает...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Помогите с неравномерной подачей и командой COMP_FILE
comp файл вроде как и нужен для коррекции неравномерного износа винта. Он должен корректировать люфт.
Чтобы скорректировать неравномерных шаг винта, надо править кинематику.
Берем trivkins, и правим его под себя. (http://www.linuxcnc.org/docs/2.4/html/m ... atics.html)
Сейчас там:
Нам надо вместо pos->tran.x = joints[0]; придумать обратимую функцию:
Например,
И потом в int kinematicsInverse добавляем обратную функцию.
Чтобы скорректировать неравномерных шаг винта, надо править кинематику.
Берем trivkins, и правим его под себя. (http://www.linuxcnc.org/docs/2.4/html/m ... atics.html)
Сейчас там:
Код: Выделить всё
int kinematicsForward(const double *joints,
EmcPose * pos,
const KINEMATICS_FORWARD_FLAGS * fflags,
KINEMATICS_INVERSE_FLAGS * iflags)
{
pos->tran.x = joints[0];
pos->tran.y = joints[1];
pos->tran.z = joints[2];
pos->a = joints[3];
pos->b = joints[4];
pos->c = joints[5];
pos->u = joints[6];
pos->v = joints[7];
pos->w = joints[8];
return 0;
}
Например,
Код: Выделить всё
if (joints[0]<250)
{
pos->tran.x = joints[0]/250*249.2;
}
else
{
pos->tran.x = (joints[0]-250)/250*(500-249.2)-249.2;
}
-
- Кандидат
- Сообщения: 93
- Зарегистрирован: 06 июл 2014, 16:24
- Репутация: 1
- Откуда: Sverdlovskay obl. Pervouralsk
- Контактная информация:
Re: Помогите с неравномерной подачей и командой COMP_FILE
Тогда пожалуйста объясните что значит - "256 триплетов на ось" ?Nick писал(а):BACKLASH = 0.000 Люфт в единицах измерения станка. Значение компенсации люфта может быть использовано для компенсации небольших недостатков механики используемой для управления осями. Если компенсация люфт оси добавлена и вы используете шаговые двигатели, значение STEPGEN_MAXACCEL должно быть увеличено до 1.5-2 значений MAX_ACCELERATION для оси.
COMP_FILE = file.extension Файл содержащий структуру компенсаций для оси. Этот файл может быть поименован xscrew.comp, например для оси Х. Имена файдок чувствительны к регистру букв и могут содержать буквы или цифры. Значения это триплеты разделенные пробелами, по одному на строку. Первое значение это номинал (место в котором должна находится ось). Второе и третье значения зависят от установки COMP_FILE_TYPE. На данный момент внутренний предел EMC2 256 триплетов на ось. Если задан COMP_FILE, то BACKLASH (люфт) игнорируется. Значения в файле компенсаций в единицах измерения станка.
COMP_FILE_TYPE=0 второе и третье значения задают прямое положение (где ось окажется во время перемещения вперед) и обратное положение (где ось окажется во время перемещения в обратную сторону) которые соответствуют номинальному значению.
COMP_FILE_TYPE=1 второе и третье значения задают прямой дифферент (как далеко окажется ось от номинала двигаясь вперед) и обратный дифферент (как далеко окажется ось от номинала двигаясь в обратном направлении)
Я это понял как возможность указать 256 мест неравномерности шага винта. Я не правильно понял?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Помогите с неравномерной подачей и командой COMP_FILE
Видать, когда я это переводил - не внимательно читал .Oleg_Pvk писал(а):Тогда пожалуйста объясните что значит - "256 триплетов на ось" ?
Я это понял как возможность указать 256 мест неравномерности шага винта. Я не правильно понял?
Проверил - работает:
файл comp
Код: Выделить всё
0 0 0
250 200 200
500 500 500
Говорим ехать в 500 = motorpos-cmd 500,968 - т.е. едет нормально
Говорим ехать в 250 = motorpos-cmd 300,... - т.е. компенсация работает.
Возможно ты не задал остальные пределы, которые в 0 и 500. Тогда действительно будет работать только как компенсация, причем равномерная по всей длине или около того . Чтобы правильно вычислить пропорцию нужно минимум две точки, а в твоем случае три.
-
- Кандидат
- Сообщения: 93
- Зарегистрирован: 06 июл 2014, 16:24
- Репутация: 1
- Откуда: Sverdlovskay obl. Pervouralsk
- Контактная информация:
Re: Помогите с неравномерной подачей и командой COMP_FILE
Спасибо в ближайшее время попробую. Добавить ещё пару точек в файл-таблицу.
-
- Кандидат
- Сообщения: 93
- Зарегистрирован: 06 июл 2014, 16:24
- Репутация: 1
- Откуда: Sverdlovskay obl. Pervouralsk
- Контактная информация:
Re: Помогите с неравномерной подачей и командой COMP_FILE
Спасибо Nick действительно нужно было добавить еще точки чтобы все нормально заработало. Теперь все точно ) Проблема решена. Подскажите как добавить слово "РЕШЕНО" в название темы
Спасибо всем кто откликнулись и помогли решить проблему.
P.s.Станок я сам собрал по этому даже не знал у кого можно проконсультироваться. Этот форум просто кладезь знаний!
Спасибо всем кто откликнулись и помогли решить проблему.
P.s.Станок я сам собрал по этому даже не знал у кого можно проконсультироваться. Этот форум просто кладезь знаний!
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Помогите с неравномерной подачей и командой COMP_FILE
Исправить тему в первом сообщении .
Кстати, а как ты замерял неравномерность?
Кстати, а как ты замерял неравномерность?
-
- Кандидат
- Сообщения: 93
- Зарегистрирован: 06 июл 2014, 16:24
- Репутация: 1
- Откуда: Sverdlovskay obl. Pervouralsk
- Контактная информация:
Re: Помогите с неравномерной подачей и командой COMP_FILE
У меня есть штангель циркуль электронный. Одну его часть прижимал к столу а вторую которая подвижная оставалась упирал в гравер с плоской стороны и говорил станку ехать на 100 мм потом снимал данный со штангельциркуля и коректировал файл компенсации, отгонял станок в ноль, все сохранял, перезапускал ЕМС и по новой замерял.Nick писал(а):Исправить тему в первом сообщении .
Кстати, а как ты замерял неравномерность?
В итоге на швп получилась погрешность в 2.5 мм а на втором всего 0.5 мм рабочий ход у каждого 930 мм
Re: [PЕШЕНО]Неравномерная подача и команда COMP_FILE
Коллеги, а нет ли аналогичной возможности прописать коррекции Х-У? набор коррекций У (столбиков) на разных Х?
-
- Почётный участник
- Сообщения: 665
- Зарегистрирован: 08 апр 2013, 15:33
- Репутация: 65
- Настоящее имя: Сергей Александрович
- Откуда: Москва
- Контактная информация:
Re: [PЕШЕНО]Неравномерная подача и команда COMP_FILE
Вы смотрели люфт опорах ШВП? Он как раз там и бывает в 0.8 мм, подшипники в корпусе гуляют, решается прокладкой кольца медного из магазина автозапчастей зА 20 рублей.
А если ему сказать с 249.2 проехать ещё 250? Он приедет в 499.2?
-
- Мастер
- Сообщения: 1264
- Зарегистрирован: 07 фев 2020, 21:00
- Репутация: 163
- Настоящее имя: Дмитрий
- Контактная информация:
Re: [PЕШЕНО]Неравномерная подача и команда COMP_FILE
Потребуется 2 шайбы , с 14го года люфт наверняка увеличился
Гражданином Непала может быть любой гражданин,зачатый НЕпалкой и НЕпальцем.