[PЕШЕНО]Неравномерная подача и команда COMP_FILE

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Oleg_Pvk
Кандидат
Сообщения: 93
Зарегистрирован: 06 июл 2014, 16:24
Репутация: 1
Откуда: Sverdlovskay obl. Pervouralsk
Контактная информация:

[PЕШЕНО]Неравномерная подача и команда COMP_FILE

Сообщение Oleg_Pvk »

Всем доброго времени суток.
Ситуация такая в общем купил ШВП у китайцев класса С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
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Помогите с неравномерной подачей и командой COMP_FILE

Сообщение Serg »

Всё правильно, так и должно работать.
Чтоб работало как вы хотите надо написать
250 249.2 249.2
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Oleg_Pvk
Кандидат
Сообщения: 93
Зарегистрирован: 06 июл 2014, 16:24
Репутация: 1
Откуда: Sverdlovskay obl. Pervouralsk
Контактная информация:

Re: Помогите с неравномерной подачей и командой COMP_FILE

Сообщение Oleg_Pvk »

Если так написать 250 249.2 249.2 тоже не работает.
Меняю значения в xcorect.comp сохраняю перезагружаю емс и если ось Х стояла на ноле и ей дать команду ехать до 250 то она доедет. А вот обратно в ноль уже не вернется не доехав как раз эти 0.8 Мм. Нажимаю хоминг ось Х выставляеться в ноль и когда снова отправляеш на 250 он доезжает только до 249.2 И не учитывает компенсацию.
Второй вариант так поменя значения сохранили перезагрузили но ось у меня стояла не на ноле выполняем хоминг говорим едь на 250 по х и он приезжает в 249.2 Будто компенсации и нету.
Если ставить большие значения 250 240 260 то он начинает работать как компенсация люфта гайки тоесть не зависимо от положения на оси при смене направления компенсирует его. А мне это совсем не нужно.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Помогите с неравномерной подачей и командой COMP_FILE

Сообщение Serg »

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

Re: Помогите с неравномерной подачей и командой COMP_FILE

Сообщение Nick »

comp файл вроде как и нужен для коррекции неравномерного износа винта. Он должен корректировать люфт.

Чтобы скорректировать неравномерных шаг винта, надо править кинематику.
Берем 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;
}
Нам надо вместо pos->tran.x = joints[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;
}
И потом в int kinematicsInverse добавляем обратную функцию.
Oleg_Pvk
Кандидат
Сообщения: 93
Зарегистрирован: 06 июл 2014, 16:24
Репутация: 1
Откуда: Sverdlovskay obl. Pervouralsk
Контактная информация:

Re: Помогите с неравномерной подачей и командой COMP_FILE

Сообщение Oleg_Pvk »

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 триплетов на ось" ?

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

Re: Помогите с неравномерной подачей и командой COMP_FILE

Сообщение Nick »

Oleg_Pvk писал(а):Тогда пожалуйста объясните что значит - "256 триплетов на ось" ?
Я это понял как возможность указать 256 мест неравномерности шага винта. Я не правильно понял?
Видать, когда я это переводил - не внимательно читал :).
Проверил - работает:
файл comp

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

0 0 0
250 200 200
500 500 500
Говорим ехать в 0 = motorpos-cmd 0,968... (начальный отступ) (кстати лучше говрить g53 g0 x0, чтобы ехал в станочный 0)
Говорим ехать в 500 = motorpos-cmd 500,968 - т.е. едет нормально
Говорим ехать в 250 = motorpos-cmd 300,... - т.е. компенсация работает.

Возможно ты не задал остальные пределы, которые в 0 и 500. Тогда действительно будет работать только как компенсация, причем равномерная по всей длине или около того :). Чтобы правильно вычислить пропорцию нужно минимум две точки, а в твоем случае три.
Вложения
Снимок-48.png (3146 просмотров) <a class='original' href='./download/file.php?id=30574&sid=f3ebebced097bccafd1022a775721c64&mode=view' target=_blank>Загрузить оригинал (189.3 КБ)</a>
Снимок-47.png (3146 просмотров) <a class='original' href='./download/file.php?id=30575&sid=f3ebebced097bccafd1022a775721c64&mode=view' target=_blank>Загрузить оригинал (188.66 КБ)</a>
Снимок-46.png (3146 просмотров) <a class='original' href='./download/file.php?id=30576&sid=f3ebebced097bccafd1022a775721c64&mode=view' target=_blank>Загрузить оригинал (188.87 КБ)</a>
Oleg_Pvk
Кандидат
Сообщения: 93
Зарегистрирован: 06 июл 2014, 16:24
Репутация: 1
Откуда: Sverdlovskay obl. Pervouralsk
Контактная информация:

Re: Помогите с неравномерной подачей и командой COMP_FILE

Сообщение Oleg_Pvk »

Спасибо в ближайшее время попробую. Добавить ещё пару точек в файл-таблицу.
Oleg_Pvk
Кандидат
Сообщения: 93
Зарегистрирован: 06 июл 2014, 16:24
Репутация: 1
Откуда: Sverdlovskay obl. Pervouralsk
Контактная информация:

Re: Помогите с неравномерной подачей и командой COMP_FILE

Сообщение Oleg_Pvk »

Спасибо Nick действительно нужно было добавить еще точки чтобы все нормально заработало. Теперь все точно ) Проблема решена. Подскажите как добавить слово "РЕШЕНО" в название темы :-)
Спасибо всем кто откликнулись и помогли решить проблему.
P.s.Станок я сам собрал по этому даже не знал у кого можно проконсультироваться. Этот форум просто кладезь знаний!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Помогите с неравномерной подачей и командой COMP_FILE

Сообщение Nick »

Исправить тему в первом сообщении ;).

Кстати, а как ты замерял неравномерность?
Oleg_Pvk
Кандидат
Сообщения: 93
Зарегистрирован: 06 июл 2014, 16:24
Репутация: 1
Откуда: Sverdlovskay obl. Pervouralsk
Контактная информация:

Re: Помогите с неравномерной подачей и командой COMP_FILE

Сообщение Oleg_Pvk »

Nick писал(а):Исправить тему в первом сообщении ;).

Кстати, а как ты замерял неравномерность?
У меня есть штангель циркуль электронный. Одну его часть прижимал к столу а вторую которая подвижная оставалась упирал в гравер с плоской стороны и говорил станку ехать на 100 мм потом снимал данный со штангельциркуля и коректировал файл компенсации, отгонял станок в ноль, все сохранял, перезапускал ЕМС и по новой замерял.

В итоге на швп получилась погрешность в 2.5 мм а на втором всего 0.5 мм рабочий ход у каждого 930 мм
a321
Мастер
Сообщения: 563
Зарегистрирован: 03 дек 2016, 00:30
Репутация: 65
Контактная информация:

Re: [PЕШЕНО]Неравномерная подача и команда COMP_FILE

Сообщение a321 »

Oleg_Pvk писал(а): Nick писал(а):
BACKLASH = 0.000 Люфт в единицах измерения станка. Значение компенсации люфта может быть использовано для компенсации небольших недостатков механики используемой для управления осями. Если компенсация люфт оси добавлена и
Коллеги, а нет ли аналогичной возможности прописать коррекции Х-У? набор коррекций У (столбиков) на разных Х?
Kulibin74
Почётный участник
Почётный участник
Сообщения: 660
Зарегистрирован: 08 апр 2013, 15:33
Репутация: 65
Настоящее имя: Сергей Александрович
Откуда: Москва
Контактная информация:

Re: [PЕШЕНО]Неравномерная подача и команда COMP_FILE

Сообщение Kulibin74 »

Oleg_Pvk писал(а): 06 июл 2014, 16:47 вот когда говоришь станку приехать на 250 мм он приезжает на 249.2....
не просто компенсировать люфт.
Вы смотрели люфт опорах ШВП? Он как раз там и бывает в 0.8 мм, подшипники в корпусе гуляют, решается прокладкой кольца медного из магазина автозапчастей зА 20 рублей.
А если ему сказать с 249.2 проехать ещё 250? Он приедет в 499.2?
гражданинъ
Мастер
Сообщения: 1234
Зарегистрирован: 07 фев 2020, 21:00
Репутация: 160
Настоящее имя: Дмитрий
Контактная информация:

Re: [PЕШЕНО]Неравномерная подача и команда COMP_FILE

Сообщение гражданинъ »

Потребуется 2 шайбы , с 14го года люфт наверняка увеличился :hehehe:
Гражданином Непала может быть любой гражданин,зачатый НЕпалкой и НЕпальцем.
Ответить

Вернуться в «LinuxCNC»