Заранее большое спасибо!
Коррекция кривизны станка в программе EMC2 [Решено]
-
- Новичок
- Сообщения: 35
- Зарегистрирован: 23 июн 2012, 14:02
- Репутация: 2
- Контактная информация:
Коррекция кривизны станка в программе EMC2 [Решено]
Уважаемые пользователи 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
Какая именно кривизна? Не перпендикулярность, не равномерная подача осей, не ровные направляющие?
Варианты есть разные...
Варианты есть разные...
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Коррекция кривизны станка в программе EMC2
Nick, кстати интересный вопрос, если знаешь по каждому методу, ткни пальцем куда копать
зы косяков еще нет, но вдруг после сварки появятся
зы косяков еще нет, но вдруг после сварки появятся
нікому нічого не нав'язую.
-
- Новичок
- Сообщения: 35
- Зарегистрирован: 23 июн 2012, 14:02
- Репутация: 2
- Контактная информация:
Re: Коррекция кривизны станка в программе EMC2
Неперпендикулярность осей, провисание валов (направляющих). Здорово было бы, если есть возможность задать формулы для каждой оси.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Коррекция кривизны станка в программе EMC2
Неперпендикулярность осей решается кинематикой, там как раз надо будет задать формулы для прямого и обратного преобразования.
Провианте в принципе там же, но будет хитрее, надо будет массив с провисаиями и какую-нибудь интерполяцию. Хотя, а какое там провисание? Если оно тупо по "дуге" то может решится как и в прошлом случае.
Неравномерно есть подачи и кривые направляющие - тоже лучше через кинематику сделать, но в зависимости от применений можно и другими компонентами. Мы делали компенсацию кривизны печатной платы для фрезеровки дорожек на питоне.
+По люфтам есть два типа компенсаций - статическая компенсация и файл с вплоть до 256 разных значений для компенсации неравномерной выработки люфтов.
Я думаю должна быть готовая кинематика для не перпендикулярных осей. Беглый просмотр результатов не дал, завтра посмотрю подробнее.
ЗЫ писал с телефона - наверное очепяток просто тьма
Провианте в принципе там же, но будет хитрее, надо будет массив с провисаиями и какую-нибудь интерполяцию. Хотя, а какое там провисание? Если оно тупо по "дуге" то может решится как и в прошлом случае.
Неравномерно есть подачи и кривые направляющие - тоже лучше через кинематику сделать, но в зависимости от применений можно и другими компонентами. Мы делали компенсацию кривизны печатной платы для фрезеровки дорожек на питоне.
+По люфтам есть два типа компенсаций - статическая компенсация и файл с вплоть до 256 разных значений для компенсации неравномерной выработки люфтов.
Я думаю должна быть готовая кинематика для не перпендикулярных осей. Беглый просмотр результатов не дал, завтра посмотрю подробнее.
ЗЫ писал с телефона - наверное очепяток просто тьма
-
- Новичок
- Сообщения: 35
- Зарегистрирован: 23 июн 2012, 14:02
- Репутация: 2
- Контактная информация:
Re: Коррекция кривизны станка в программе EMC2
Уважаемый Nick, спасибо за информацию!
Могли бы Вы уточнить про какую кинематику Вы говорите? Это где-то в программе?
Могли бы Вы уточнить про какую кинематику Вы говорите? Это где-то в программе?
Re: Коррекция кривизны станка в программе EMC2
Поймать на #linuxcnc человека с ником mk0 и пнуть его чтоб наконец описал как пользоваться модулем кинематики с коррекцией неперпендикулярных осей
Или взять у меня отсюда http://psha.org.ru/cgit/psha/emc2.git/l ... vkins-comp и мучатся самому
Или взять у меня отсюда 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
На сколько я понял из беглого просмотра, genserkins это общая кинематика, в которой преобразование координат происходит с применением матрицы (точнее якобиана).
Возможно ее можно использовать...
Завтра попробую глянуть эти кинематики по подробнее. Если забуду напомните мне часа в 2
Возможно ее можно использовать...
Завтра попробую глянуть эти кинематики по подробнее. Если забуду напомните мне часа в 2
-
- Новичок
- Сообщения: 35
- Зарегистрирован: 23 июн 2012, 14:02
- Репутация: 2
- Контактная информация:
Re: Коррекция кривизны станка в программе EMC2
Ок, спасибо большое!
Матрица значений это самое то, что нужно, ну или задание разницы кривой поверхности относительно плоскости формулами.
Матрица значений это самое то, что нужно, ну или задание разницы кривой поверхности относительно плоскости формулами.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Коррекция кривизны станка в программе EMC2
А чего там описывать, и так все понятно, кинематика позволяет управлять станком у которого ось Y не перпендикулярна оси X.psha писал(а): пнуть его чтоб наконец описал как пользоваться модулем кинематики с коррекцией неперпендикулярных осей
Работать с ней так:
качаем файлы, потом 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
А насколько у тебя кривые направляющие? Просто плавно гуляют по всей длинне? Или прогиб? И кстати гуляют они в одном направлении, или может быть так, что скажем Y гуляет сразу и по Z и по X?pyaterok писал(а):Матрица значений это самое то, что нужно, ну или задание разницы кривой поверхности относительно плоскости формулами.
ЗЫ не перпендикулярность у тебя только X-Y или Z тоже криво стоит?
-
- Новичок
- Сообщения: 35
- Зарегистрирован: 23 июн 2012, 14:02
- Репутация: 2
- Контактная информация:
Re: Коррекция кривизны станка в программе EMC2
Спасибо большое за решение по устранению неперпендикулярности! Пока что его не опробовал, но как будут результаты, отпишусь.
Ось Z - не знаю как определить неперпендикулярность, да даже если и определю, то устранить ее, как предполагаю, можно только механически, не программно.
Более всего меня провисания валов беспокоят.. На осях X и Y в качестве направляющих установлено по паре валов d20 длиной 1000 и 800 мм соответственно. Не думал, когда покупал этот диаметр, что нагрузка на валы будет такой, что они прогнутся. Прогиб миллиметра 3, при нагружении на середину. Плюс ко всему стол кривой . Короче выход из ситуации вижу в программной компенсации.
Нашел на Вашем форуме тему "EMC2 и неровная поверхность гравировки" - подскажите, пожалуйста, probekins - это то, что мне нужно?
Ось Z - не знаю как определить неперпендикулярность, да даже если и определю, то устранить ее, как предполагаю, можно только механически, не программно.
Более всего меня провисания валов беспокоят.. На осях X и Y в качестве направляющих установлено по паре валов d20 длиной 1000 и 800 мм соответственно. Не думал, когда покупал этот диаметр, что нагрузка на валы будет такой, что они прогнутся. Прогиб миллиметра 3, при нагружении на середину. Плюс ко всему стол кривой . Короче выход из ситуации вижу в программной компенсации.
Нашел на Вашем форуме тему "EMC2 и неровная поверхность гравировки" - подскажите, пожалуйста, probekins - это то, что мне нужно?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Коррекция кривизны станка в программе EMC2
В принципе в этот trivkins-comp можно забить и кривую Z. Вообще можно все перемещения разложить на любой базис (т.е. по любым трем векторам), лишь бы вектора некомпланарные были. Самое хорошее, что в такой системе положение определятся однозначно, и не надо ничего придумывать. Можно просчитать матрицу перехода к новому базису, взять от нее обратную и переход из одной системы в другую будет выпоняться простым матричным умножением.pyaterok писал(а):да даже если и определю, то устранить ее, как предполагаю, можно только механически, не программно.
Да ... Это на фрезере?pyaterok писал(а):d20 длиной 1000 и 800 мм
не мудрено при таких направляющих. Тебе надо либо как-то стол вывести и привязаться пробой к нему или как-то выправить направляющие, промерить кривизну стола и потом привязываться к нему.pyaterok писал(а):Прогиб миллиметра 3, при нагружении на середину. Плюс ко всему стол кривой.
в принципе - да, это оно. К нему на выход еще присобачить неперпедникулярность осей...pyaterok писал(а):probekins - это то, что мне нужно?
-
- Новичок
- Сообщения: 35
- Зарегистрирован: 23 июн 2012, 14:02
- Репутация: 2
- Контактная информация:
Re: Коррекция кривизны станка в программе EMC2
Ок, спасибо!
Да это фрезерный станок.
Проба нету, замерю поле XY вручную. А зачем выводить стол или выправлять направляющие? Пусть они так и будут кривыми, если внести корректировку высот в probekins, то он при изменении координат XY и неизменной Z, будет при перемещении поднимать/опускать шпиндель, а прога будет думать, что Z постоянна? Проблема только в том, что детали с разной площадью базы лягут на стол по разному, т.е. точками опоры будут наивысшие неровности стола на участке, который покрывает заготовка.. Т.е. лучше сканировать не стол, а заготовку и уже по ней вносить корректировки на ось Z. А есть ли недорогие контактные датчики, пригодные для измерения высоты неметаллических стола/заготовки в моем случае?
Да это фрезерный станок.
Проба нету, замерю поле XY вручную. А зачем выводить стол или выправлять направляющие? Пусть они так и будут кривыми, если внести корректировку высот в probekins, то он при изменении координат XY и неизменной Z, будет при перемещении поднимать/опускать шпиндель, а прога будет думать, что Z постоянна? Проблема только в том, что детали с разной площадью базы лягут на стол по разному, т.е. точками опоры будут наивысшие неровности стола на участке, который покрывает заготовка.. Т.е. лучше сканировать не стол, а заготовку и уже по ней вносить корректировки на ось Z. А есть ли недорогие контактные датчики, пригодные для измерения высоты неметаллических стола/заготовки в моем случае?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Коррекция кривизны станка в программе EMC2
Вот поэтому я и предлагал вывести стол в 0. Или положить на него лист фанеры и пройтись по нему толстой фрезой.pyaterok писал(а):Проблема только в том, что детали с разной площадью базы лягут на стол по разному, т.е. точками опоры будут наивысшие неровности стола на участке, который покрывает заготовка..
Сначала замерить прогиб направляющих. можно попробовать что-нибудь оптическое придумать или струну натянуть.
Самое простое - кнопку в шпиндель зажимаешь и все .pyaterok писал(а): А есть ли недорогие контактные датчики, пригодные для измерения высоты неметаллических стола/заготовки в моем случае?
ЗЫ
http://www.chipmaker.ru/topic/61794/
-
- Новичок
- Сообщения: 35
- Зарегистрирован: 23 июн 2012, 14:02
- Репутация: 2
- Контактная информация:
Re: Коррекция кривизны станка в программе EMC2
Ок, так и поступлю. Спасибо большое, Nick!
-
- Новичок
- Сообщения: 35
- Зарегистрирован: 23 июн 2012, 14:02
- Репутация: 2
- Контактная информация:
Re: Коррекция кривизны станка в программе EMC2
Уважаемый Nick, подскажите, пожалуйста, какая структура у файла карты высот (filename.txt) получается при выполнении кода по этой инструкции: Re: EMC2 и неровная поверхность гравировки?
Проб пока не сделал, хочу вручную создать карту.
И еще: у меня из входных сигналов 15 пин остался свободным, - чтобы отправить сигнал от проба на LPT, нужно просто замкнуть 15 пин на землю LPT? Никаких резисторов не надо? Т.е. к металлической пластинке припаять, допустим, GND от LPT, а на стержень - 15 пин LPT?
Проб пока не сделал, хочу вручную создать карту.
И еще: у меня из входных сигналов 15 пин остался свободным, - чтобы отправить сигнал от проба на LPT, нужно просто замкнуть 15 пин на землю LPT? Никаких резисторов не надо? Т.е. к металлической пластинке припаять, допустим, GND от LPT, а на стержень - 15 пин LPT?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Коррекция кривизны станка в программе EMC2
Там вроде в каждой строчке через пробел 9 координат осей = XYZABCUVW.
А какие у тебя по осям стоят передачи? Какие максимальные скорости? Честно говоря наш способ не самый true. У нас User-space компонент, который может лагать на больших скоростях, или, если ЦП перегрузится...
В крайнем случае можно клавишу в PyVCP сделать, чтобы она motion.probe-in замыкала.pyaterok писал(а):Проб пока не сделал, хочу вручную создать карту.
Ага. Ну еще настроить чтобы это пин был подключен к probe-inpyaterok писал(а):чтобы отправить сигнал от проба на LPT, нужно просто замкнуть 15 пин на землю LPT?
Вроде как не надо, но я честно говоря в электронике мало чего понимаю.pyaterok писал(а):Никаких резисторов не надо? Т.е. к металлической пластинке припаять, допустим, GND от LPT, а на стержень - 15 пин LPT?
А какие у тебя по осям стоят передачи? Какие максимальные скорости? Честно говоря наш способ не самый true. У нас User-space компонент, который может лагать на больших скоростях, или, если ЦП перегрузится...
-
- Новичок
- Сообщения: 35
- Зарегистрирован: 23 июн 2012, 14:02
- Репутация: 2
- Контактная информация:
Re: Коррекция кривизны станка в программе EMC2
Передачи шарико-винтовые. Скорости небольшие, максимум пару метров в минуту. А какой вариант будет более правильным? Как насчет Probekins, о котором упоминалось в начале темы "EMC2 и неровная поверхность гравировки"? Почему Вы предпочли этому модулю вариант со скриптом?
Я пробовал сделать компенсацию через скрипт, карта высот создается, но при нажатии на кнопку Reset и установке галочки Enable ничего не изменяется (все три красных индикатора так и остаются красными), заметил, что файл custom_postgui затирается, может быть в этом проблема? Т.е. я заливаю файл custom_postgui из архива в папку с конфигурацией, запускаю emc, делаю карту высот, открываю файл custom_postgui и вижу там две строчки комментариев и не более того. Оно так и должно быть? Спасибо!
Я пробовал сделать компенсацию через скрипт, карта высот создается, но при нажатии на кнопку Reset и установке галочки Enable ничего не изменяется (все три красных индикатора так и остаются красными), заметил, что файл custom_postgui затирается, может быть в этом проблема? Т.е. я заливаю файл custom_postgui из архива в папку с конфигурацией, запускаю emc, делаю карту высот, открываю файл custom_postgui и вижу там две строчки комментариев и не более того. Оно так и должно быть? Спасибо!
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Коррекция кривизны станка в программе EMC2
Во первых, потому, что с ним не разобрались, во-вторых, хотелось попробовать сделать что-то на питоне, и в третьих потому, что надо было очень часто сканировать плату и это проще было выполнить через скрипт на питоне... Хотя наверное и с probekins получилось бы ...pyaterok писал(а):Как насчет Probekins, о котором упоминалось в начале темы "EMC2 и неровная поверхность гравировки"? Почему Вы предпочли этому модулю вариант со скриптом?
По идее для твоей задачи, лучше выбрать probekins - она более реалтаймовская и насколько я понимаю у тебя геометрия станка не меняется при переходе от детали к детали.
Не, так не должно быть... затираться максимум должен файл с высотами... А в какой именно момент исчезает содежимое?pyaterok писал(а):Т.е. я заливаю файл custom_postgui из архива в папку с конфигурацией, запускаю emc, делаю карту высот, открываю файл custom_postgui и вижу там две строчки комментариев и не более того. Оно так и должно быть?
.... вообще странно, должно исчезнуть или все, или ничего... а что там за коментарии остаются?
Может ты просто выбрал какую-то конфигурацию, а LinuxCNC спросил, не хотите ли вы ее скопировать в домашнюю папку, ты сказал хочу и старая конфигурация стерлась...
-
- Новичок
- Сообщения: 35
- Зарегистрирован: 23 июн 2012, 14:02
- Репутация: 2
- Контактная информация:
Re: Коррекция кривизны станка в программе EMC2
Да, скорее всего чего-то с конфигурацией намудрил, перезагрузил компьютер, запустил emc, панелька загрузилась тоже. Сделал карту высот через скрипт, нажал на кнопку reset, поставил галочку enable, два верхних индикатора зеленые, нижний "error" красный. Так и должно быть? Попробовал перемещать каретку по XY-координатам, но Z координата почему-то не корректируется..
Начал ставить probekins. Поставил dev-версию linuxcnc, скомпилилировал probekins.ko, поставил на загрузку его вместо trivkins. Поставил easy_install, пробую "sudo easy_install matplotlib", но в ответ:
Насколько понимаю, он уже установлен. Но когда пробую сделать stl: "probe2stl <filename.txt", то в ответ приходит "probe2stl: команда не найдена", то же самое с командой "stlcorr".
Уважаемый Nick, не подскажете, что нужно установить, чтобы работали эти probe2stl и stlcorr?
Начал ставить 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
Уважаемый Nick, не подскажете, что нужно установить, чтобы работали эти probe2stl и stlcorr?
Последний раз редактировалось pyaterok 13 июл 2012, 08:14, всего редактировалось 1 раз.