Коррекция кривизны станка в программе EMC2 [Решено]

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
pyaterok
Новичок
Сообщения: 35
Зарегистрирован: 23 июн 2012, 14:02
Репутация: 2
Контактная информация:

Коррекция кривизны станка в программе EMC2 [Решено]

Сообщение pyaterok »

Уважаемые пользователи EMC2, подскажите, пожалуйста, как в этой программе можно скорректировать кривизну станка? В Mach3 это можно сделать в диалоговом окне Function Cfg's->Formulas, но как быть в EMC2?
Заранее большое спасибо!
Решение - установка и настройка probe kins в этом сообщении: Коррекция кривизны станка в программе EMC2 #24
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Коррекция кривизны станка в программе EMC2

Сообщение Nick »

Какая именно кривизна? Не перпендикулярность, не равномерная подача осей, не ровные направляющие?
Варианты есть разные...
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

Re: Коррекция кривизны станка в программе EMC2

Сообщение aegis »

Nick, кстати интересный вопрос, если знаешь по каждому методу, ткни пальцем куда копать
зы косяков еще нет, но вдруг после сварки появятся
нікому нічого не нав'язую.
pyaterok
Новичок
Сообщения: 35
Зарегистрирован: 23 июн 2012, 14:02
Репутация: 2
Контактная информация:

Re: Коррекция кривизны станка в программе EMC2

Сообщение pyaterok »

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

Re: Коррекция кривизны станка в программе EMC2

Сообщение Nick »

Неперпендикулярность осей решается кинематикой, там как раз надо будет задать формулы для прямого и обратного преобразования.
Провианте в принципе там же, но будет хитрее, надо будет массив с провисаиями и какую-нибудь интерполяцию. Хотя, а какое там провисание? Если оно тупо по "дуге" то может решится как и в прошлом случае.
Неравномерно есть подачи и кривые направляющие - тоже лучше через кинематику сделать, но в зависимости от применений можно и другими компонентами. Мы делали компенсацию кривизны печатной платы для фрезеровки дорожек на питоне.

+По люфтам есть два типа компенсаций - статическая компенсация и файл с вплоть до 256 разных значений для компенсации неравномерной выработки люфтов.

Я думаю должна быть готовая кинематика для не перпендикулярных осей. Беглый просмотр результатов не дал, завтра посмотрю подробнее.

ЗЫ писал с телефона - наверное очепяток просто тьма :)
pyaterok
Новичок
Сообщения: 35
Зарегистрирован: 23 июн 2012, 14:02
Репутация: 2
Контактная информация:

Re: Коррекция кривизны станка в программе EMC2

Сообщение pyaterok »

Уважаемый Nick, спасибо за информацию!
Могли бы Вы уточнить про какую кинематику Вы говорите? Это где-то в программе?
psha
Опытный
Сообщения: 147
Зарегистрирован: 28 фев 2011, 11:11
Репутация: 1
Контактная информация:

Re: Коррекция кривизны станка в программе EMC2

Сообщение psha »

Поймать на #linuxcnc человека с ником mk0 и пнуть его чтоб наконец описал как пользоваться модулем кинематики с коррекцией неперпендикулярных осей :)
Или взять у меня отсюда http://psha.org.ru/cgit/psha/emc2.git/l ... vkins-comp и мучатся самому :)
root, доделай конвертацию! :)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Коррекция кривизны станка в программе EMC2

Сообщение Nick »

На сколько я понял из беглого просмотра, genserkins это общая кинематика, в которой преобразование координат происходит с применением матрицы (точнее якобиана).
Возможно ее можно использовать...

Завтра попробую глянуть эти кинематики по подробнее. Если забуду напомните мне часа в 2 :)
pyaterok
Новичок
Сообщения: 35
Зарегистрирован: 23 июн 2012, 14:02
Репутация: 2
Контактная информация:

Re: Коррекция кривизны станка в программе EMC2

Сообщение pyaterok »

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

Re: Коррекция кривизны станка в программе EMC2

Сообщение Nick »

psha писал(а): пнуть его чтоб наконец описал как пользоваться модулем кинематики с коррекцией неперпендикулярных осей
А чего там описывать, и так все понятно, кинематика позволяет управлять станком у которого ось Y не перпендикулярна оси X.

Работать с ней так:
качаем файлы, потом sudo comp install trivkins-comp.c
Потом в hal
loadrt trivkins-comp
setp trivkins-comp.A 1.111
setp trivkins-comp.B 1.222

преобразование у нее такое:
X = x + a*y
Y = b*y
pyaterok писал(а):Матрица значений это самое то, что нужно, ну или задание разницы кривой поверхности относительно плоскости формулами.
А насколько у тебя кривые направляющие? Просто плавно гуляют по всей длинне? Или прогиб? И кстати гуляют они в одном направлении, или может быть так, что скажем Y гуляет сразу и по Z и по X?

ЗЫ не перпендикулярность у тебя только X-Y или Z тоже криво стоит?
pyaterok
Новичок
Сообщения: 35
Зарегистрирован: 23 июн 2012, 14:02
Репутация: 2
Контактная информация:

Re: Коррекция кривизны станка в программе EMC2

Сообщение pyaterok »

Спасибо большое за решение по устранению неперпендикулярности! Пока что его не опробовал, но как будут результаты, отпишусь.
Ось Z - не знаю как определить неперпендикулярность, да даже если и определю, то устранить ее, как предполагаю, можно только механически, не программно.
Более всего меня провисания валов беспокоят.. На осях X и Y в качестве направляющих установлено по паре валов d20 длиной 1000 и 800 мм соответственно. Не думал, когда покупал этот диаметр, что нагрузка на валы будет такой, что они прогнутся. Прогиб миллиметра 3, при нагружении на середину. Плюс ко всему стол кривой :freak: . Короче выход из ситуации вижу в программной компенсации.
Нашел на Вашем форуме тему "EMC2 и неровная поверхность гравировки" - подскажите, пожалуйста, probekins - это то, что мне нужно?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Коррекция кривизны станка в программе EMC2

Сообщение Nick »

pyaterok писал(а):да даже если и определю, то устранить ее, как предполагаю, можно только механически, не программно.
В принципе в этот trivkins-comp можно забить и кривую Z. Вообще можно все перемещения разложить на любой базис (т.е. по любым трем векторам), лишь бы вектора некомпланарные были. Самое хорошее, что в такой системе положение определятся однозначно, и не надо ничего придумывать. Можно просчитать матрицу перехода к новому базису, взять от нее обратную и переход из одной системы в другую будет выпоняться простым матричным умножением.
pyaterok писал(а):d20 длиной 1000 и 800 мм
Да :)... Это на фрезере?
pyaterok писал(а):Прогиб миллиметра 3, при нагружении на середину. Плюс ко всему стол кривой.
не мудрено при таких направляющих. Тебе надо либо как-то стол вывести и привязаться пробой к нему или как-то выправить направляющие, промерить кривизну стола и потом привязываться к нему.
pyaterok писал(а):probekins - это то, что мне нужно?
в принципе - да, это оно. К нему на выход еще присобачить неперпедникулярность осей...
pyaterok
Новичок
Сообщения: 35
Зарегистрирован: 23 июн 2012, 14:02
Репутация: 2
Контактная информация:

Re: Коррекция кривизны станка в программе EMC2

Сообщение pyaterok »

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

Re: Коррекция кривизны станка в программе EMC2

Сообщение Nick »

pyaterok писал(а):Проблема только в том, что детали с разной площадью базы лягут на стол по разному, т.е. точками опоры будут наивысшие неровности стола на участке, который покрывает заготовка..
Вот поэтому я и предлагал вывести стол в 0. Или положить на него лист фанеры и пройтись по нему толстой фрезой.
Сначала замерить прогиб направляющих. можно попробовать что-нибудь оптическое придумать или струну натянуть.
pyaterok писал(а): А есть ли недорогие контактные датчики, пригодные для измерения высоты неметаллических стола/заготовки в моем случае?
Самое простое - кнопку в шпиндель зажимаешь и все :).
ЗЫ
http://www.chipmaker.ru/topic/61794/
pyaterok
Новичок
Сообщения: 35
Зарегистрирован: 23 июн 2012, 14:02
Репутация: 2
Контактная информация:

Re: Коррекция кривизны станка в программе EMC2

Сообщение pyaterok »

Ок, так и поступлю. Спасибо большое, Nick!
pyaterok
Новичок
Сообщения: 35
Зарегистрирован: 23 июн 2012, 14:02
Репутация: 2
Контактная информация:

Re: Коррекция кривизны станка в программе EMC2

Сообщение pyaterok »

Уважаемый Nick, подскажите, пожалуйста, какая структура у файла карты высот (filename.txt) получается при выполнении кода по этой инструкции: Re: EMC2 и неровная поверхность гравировки?
Проб пока не сделал, хочу вручную создать карту.
И еще: у меня из входных сигналов 15 пин остался свободным, - чтобы отправить сигнал от проба на LPT, нужно просто замкнуть 15 пин на землю LPT? Никаких резисторов не надо? Т.е. к металлической пластинке припаять, допустим, GND от LPT, а на стержень - 15 пин LPT?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Коррекция кривизны станка в программе EMC2

Сообщение Nick »

Там вроде в каждой строчке через пробел 9 координат осей = XYZABCUVW.
pyaterok писал(а):Проб пока не сделал, хочу вручную создать карту.
В крайнем случае можно клавишу в PyVCP сделать, чтобы она motion.probe-in замыкала.
pyaterok писал(а):чтобы отправить сигнал от проба на LPT, нужно просто замкнуть 15 пин на землю LPT?
Ага. Ну еще настроить чтобы это пин был подключен к probe-in
pyaterok писал(а):Никаких резисторов не надо? Т.е. к металлической пластинке припаять, допустим, GND от LPT, а на стержень - 15 пин LPT?
Вроде как не надо, но я честно говоря в электронике мало чего понимаю.

А какие у тебя по осям стоят передачи? Какие максимальные скорости? Честно говоря наш способ не самый true. У нас User-space компонент, который может лагать на больших скоростях, или, если ЦП перегрузится...
pyaterok
Новичок
Сообщения: 35
Зарегистрирован: 23 июн 2012, 14:02
Репутация: 2
Контактная информация:

Re: Коррекция кривизны станка в программе EMC2

Сообщение pyaterok »

Передачи шарико-винтовые. Скорости небольшие, максимум пару метров в минуту. А какой вариант будет более правильным? Как насчет Probekins, о котором упоминалось в начале темы "EMC2 и неровная поверхность гравировки"? Почему Вы предпочли этому модулю вариант со скриптом?
Я пробовал сделать компенсацию через скрипт, карта высот создается, но при нажатии на кнопку Reset и установке галочки Enable ничего не изменяется (все три красных индикатора так и остаются красными), заметил, что файл custom_postgui затирается, может быть в этом проблема? Т.е. я заливаю файл custom_postgui из архива в папку с конфигурацией, запускаю emc, делаю карту высот, открываю файл custom_postgui и вижу там две строчки комментариев и не более того. Оно так и должно быть? Спасибо!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Коррекция кривизны станка в программе EMC2

Сообщение Nick »

pyaterok писал(а):Как насчет Probekins, о котором упоминалось в начале темы "EMC2 и неровная поверхность гравировки"? Почему Вы предпочли этому модулю вариант со скриптом?
Во первых, потому, что с ним не разобрались, во-вторых, хотелось попробовать сделать что-то на питоне, и в третьих потому, что надо было очень часто сканировать плату и это проще было выполнить через скрипт на питоне... Хотя наверное и с probekins получилось бы ...
По идее для твоей задачи, лучше выбрать probekins - она более реалтаймовская и насколько я понимаю у тебя геометрия станка не меняется при переходе от детали к детали.
pyaterok писал(а):Т.е. я заливаю файл custom_postgui из архива в папку с конфигурацией, запускаю emc, делаю карту высот, открываю файл custom_postgui и вижу там две строчки комментариев и не более того. Оно так и должно быть?
Не, так не должно быть... затираться максимум должен файл с высотами... А в какой именно момент исчезает содежимое?
.... вообще странно, должно исчезнуть или все, или ничего... а что там за коментарии остаются?

Может ты просто выбрал какую-то конфигурацию, а LinuxCNC спросил, не хотите ли вы ее скопировать в домашнюю папку, ты сказал хочу и старая конфигурация стерлась...
pyaterok
Новичок
Сообщения: 35
Зарегистрирован: 23 июн 2012, 14:02
Репутация: 2
Контактная информация:

Re: Коррекция кривизны станка в программе EMC2

Сообщение pyaterok »

Да, скорее всего чего-то с конфигурацией намудрил, перезагрузил компьютер, запустил emc, панелька загрузилась тоже. Сделал карту высот через скрипт, нажал на кнопку reset, поставил галочку enable, два верхних индикатора зеленые, нижний "error" красный. Так и должно быть? Попробовал перемещать каретку по XY-координатам, но Z координата почему-то не корректируется..

Начал ставить probekins. Поставил dev-версию linuxcnc, скомпилилировал probekins.ko, поставил на загрузку его вместо trivkins. Поставил easy_install, пробую "sudo easy_install matplotlib", но в ответ:

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

cnc@cnc-desktop:~$ sudo easy_install matplotlib
Searching for matplotlib
Best match: matplotlib 1.1.0
Processing matplotlib-1.1.0-py2.6-linux-i686.egg
matplotlib 1.1.0 is already the active version in easy-install.pth

Using /usr/local/lib/python2.6/dist-packages/matplotlib-1.1.0-py2.6-linux-i686.egg
Processing dependencies for matplotlib
Finished processing dependencies for matplotlib
Насколько понимаю, он уже установлен. Но когда пробую сделать stl: "probe2stl <filename.txt", то в ответ приходит "probe2stl: команда не найдена", то же самое с командой "stlcorr".
Уважаемый Nick, не подскажете, что нужно установить, чтобы работали эти probe2stl и stlcorr?
Последний раз редактировалось pyaterok 13 июл 2012, 08:14, всего редактировалось 1 раз.
Ответить

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