Выставить ноль после смены инструмента.

JohnSilver_Esq
Soling:

Я имею в виду сканирование инструмента, и т д.

Тю… Для меня бОльшую проблему составляет отличить жесткость конструкции от упругости вала… Но это уже, видать, кто на что учился 😃

Спасибо за поддержку.

Baha
JohnSilver_Esq:

Тю… Для меня бОльшую проблему составляет отличить жесткость конструкции от упругости вала… Но это уже, видать, кто на что учился 😃

Спасибо за поддержку.

А как ваша программа из dfx формата передает Z на драйвер или контроллер? На чем собран ваш драйвер или контроллер? Значение ускорения как задается?
Или вы в драйвере жестко забили какое то значение ускорения?

maza

Насколько я понимаю программа пока расчитанна на резку 2д…
Даешь опен сорс =)

JohnSilver_Esq
Baha:

А как ваша программа из dfx формата передает Z на драйвер или контроллер? На чем собран ваш драйвер или контроллер? Значение ускорения как задается?
Или вы в драйвере жестко забили какое то значение ускорения?

Не пойму, что Вы все про Z спрашиваете… Я ж говорил - парсим dxf, т.е. строим 3d модель в памяти, соотв. все координаты известны, не только Z. Или я неправильно понял Ваш вопрос?

Про железо уточню - сейчас контроллер собран на PIC18f4550, но скорее всего переделаю на связку PIC18F4550+PIC18F4431 (а может и нет - пока сомневаюсь). Микрошаг не использую, хотя, наверное, нужно. Двигатели включны униполярно, по две фазы одновременно (шоб момент поболе стал). Никаких дополнительных драйверов ШД не испольую, силовая часть - мосфеты напрямую управляемые от пика.
По поводу ускорений - заданы жестко (точнее, экспериментально на глаз подбираю и записываю в епром, шоб не перешивать прошивку), но скорее всего придется делать воможность автокалибровки (хотя, если так подумать - смысл это делать есть только если предполагается смена шпинделя, а это, наверное, вопрос не скорого времени).

На всякий случай уточню - станок еще не готов посему, скажем, фотки не выложу, пока до ума не доведем. Ну, отдельных узлов, разве что. Испытания проводим или на временной платформе, или на тестовом стенде.

Пока, если подумать, действительно мечты - но вполне реальные.

maza:

Насколько я понимаю программа пока расчитанна на резку 2д…
Даешь опен сорс =)

Почему 2D? все три…
А опенсорс обязательно выложим - чего ж не поделиться…

Soling
JohnSilver_Esq:

По поводу ускорений - заданы жестко (точнее, экспериментально на глаз подбираю и записываю в епром, шоб не перешивать прошивку), но скорее всего придется делать воможность автокалибровки (хотя, если так подумать - смысл это делать есть только если предполагается смена шпинделя, а это, наверное, вопрос не скорого времени).

Если я правильно понял, речь идет режиме разгон - торможение. Скорость движения по траектории не постоянна.
Что бы избежать рывков на дугах, например, или при смене направления, прога делит отрезки на три части. Разгон - максимум - торможение. Часто участка не хватает для полного цикла и тогда средняя скорость падает, за счет того, что разгон в какой то момент переходит сразу в торможение. Для некоторых аппаратов это свойство жизненно важно.
500 = 600 кило портала в жестком режиме - кошмарный сон!
Кроме того, скорость ( максимальная ) обязательно задается в УП. Это один из важнейших параметров резки и он индивидуален для каждого сочетания инструмент - материал - шаг резки - глубина. втоматом можно задавать скорость, скажем, замеряя постоянно нагрузку на фрезе и корректируя скорость под заданную рабочую… но гимора в такой системе будет - немеряно!
Обороты шпинделя тоже надо задавать из УП и с возможностью ручной коррекции. При этом диапазон подстройки стоит сделать от 50% до 200% от заданного в УП.

P.S.
Вообще то тема как то вышла за рамки установки нуля. Может стоит перенести обсуждение в другую?

Baha
JohnSilver_Esq:

Не пойму, что Вы все про Z спрашиваете… Я ж говорил - парсим dxf, т.е. строим 3d модель в памяти, соотв. все координаты известны, не только Z. Или я неправильно понял Ваш вопрос?

Про железо уточню - сейчас контроллер собран на PIC18f4550, но скорее всего переделаю на связку PIC18F4550+PIC18F4431 (а может и нет - пока сомневаюсь). Микрошаг не использую, хотя, наверное, нужно. Двигатели включны униполярно, по две фазы одновременно (шоб момент поболе стал). Никаких дополнительных драйверов ШД не испольую, силовая часть - мосфеты напрямую управляемые от пика.
По поводу ускорений - заданы жестко (точнее, экспериментально на глаз подбираю и записываю в епром, шоб не перешивать прошивку), но скорее всего придется делать воможность автокалибровки (хотя, если так подумать - смысл это делать есть только если предполагается смена шпинделя, а это, наверное, вопрос не скорого времени).

DFX то векторный 2d формат, я вас понял вы строите из 3D модели на двух плоскостях DFX срез.

Станок не интересен, его здесь полно как грязи, интересен самопальный софт и драйвер. А почему бы не использовать Атмегу 128?

Baha
JohnSilver_Esq:

Не пойму, что Вы все про Z спрашиваете… Я ж говорил - парсим dxf, т.е. строим 3d модель в памяти, соотв. все координаты известны, не только Z. Или я неправильно понял Ваш вопрос?

dxf это 2d формат, а откуда берете 3-ю координату? Реальный рельеф, как на картинке можно обработать на вашей программе?
Куб, прямоугольник, выборки или всякие пазы можно обработать с помощью dxf, но это не 3d, это 2 или 2.5d

JohnSilver_Esq
Soling:

Если я правильно понял, речь идет режиме разгон - торможение. Скорость движения по траектории не постоянна.

Кроме того, скорость ( максимальная ) обязательно задается в УП. Это один из важнейших параметров резки и он индивидуален для каждого сочетания инструмент - материал - шаг резки - глубина. втоматом можно задавать скорость, скажем, замеряя постоянно нагрузку на фрезе и корректируя скорость под заданную рабочую… но гимора в такой системе будет - немеряно!

Обороты шпинделя тоже надо задавать из УП и с возможностью ручной коррекции. При этом диапазон подстройки стоит сделать от 50% до 200% от заданного в УП.
P.S.
Вообще то тема как то вышла за рамки установки нуля. Может стоит перенести обсуждение в другую?

Вы знаете, после прочтения Вашего поста у меня слегка изменилось понимание того, что НУЖНО было сделать. Я себе так решил, что будет достаточно просто один раз (ну, иногда подправить) отладить ускорения при старте/останове прохода, и все.

Сейчас у меня сделано следующим образом: есть закон изменения задержки межу шагами от фазы движения. Он линейный, но не проблема изменить, например, на первый полупериод синуса, но это не важно. Он описан двумя величинами: вектором пар фаза:задержка (f:p) и скоростью (s), заданной УП (в зависимости от материала). Соответственно, чем больше (s) - тем больше инкремент (f), т.о. огибающая скорости [почти] всегда имеет одинаковый вид.

Насколько я понял из Вашего поста - таблицу (f:s) мне нужно пересчитывать исходя из массы каретки - хотя делал, повторюсь, на глаз.

Кстати сказать, по поводу измерения нагрузки на фрезе. У меня все крутится мысль сделать простой “авторегулятор” - навесить датчики холла на питание двигателей, и задавать не постоянную скорость а постоянную нагрузку. Т.е. если ток растет больше указанного значения - увеличиваем задержки между шагами. Т.о. отпадет необходимость контроля ускорений при старте, и пересчета скорости для разных материалов. Или это велосипед?

Регулятор оборотов шпинделя - в планах, но сначала хочу хоть уже до кучи собрать станок (ждем три хомута для ходовых гаек), что бы не на стенде гонять а в живую.

Атмегу не юзал по друм причинам - а) атмеги у меня нету, б) пиков у меня есть.

Про P.S. - можно и перенести, хотя мне кажется что все кому интересно - уже здесь и читают.

Soling
JohnSilver_Esq:

Вы знаете, после прочтения Вашего поста у меня слегка изменилось понимание того, что НУЖНО было сделать. Я себе так решил, что будет достаточно просто один раз (ну, иногда подправить) отладить ускорения при старте/останове прохода, и все.

Кстати сказать, по поводу измерения нагрузки на фрезе. У меня все крутится мысль сделать простой “авторегулятор” - навесить датчики холла на питание двигателей, и задавать не постоянную скорость а постоянную нагрузку.

В принципе старт - останов ставится один раз. Нужен он для компенсации момента масс механизьма. Со скоростью резки это не связано. Тут есть другая величина для рассчетов - подача на зуб. Для каждого материала она своя. Фактически это толщина стружки снимаемой зубом фрезы. Power Mill умеет считать скорость по этому параметру. Остальные ограничиваются ручным вводом скорости подачи, оставляя выбор оператору.
Мне кажется не имеет смысла завязывать двление фрезы и обороты. Во первых - система получится очень грубой. Учитывая мощности шпинделей и диаметров фрез, которые применяют для мелочевки… в общем датчик просто не заметит этих изменений. Больше подошли бы тензо датчики. Но и с ними беда. Слишком много возмущений от движения
кареток. Кроме того, при шаговых двигателях движение дискретно. Это для нас шаг в микрон исчезающе мал. А датчику это приличный всплеск нагрузки.
Так, что я думаю не стоит с этим заморачиваться. Овчинка не стоит выделки.

Zarko
Soling:

Если я правильно понял, речь идет режиме разгон - торможение. Скорость движения по траектории не постоянна.
Что бы избежать рывков на дугах, например, или при смене направления, прога делит отрезки на три части. Разгон - максимум - торможение. Часто участка не хватает для полного цикла и тогда средняя скорость падает, за счет того, что разгон в какой то момент переходит сразу в торможение. Для некоторых аппаратов это свойство жизненно важно.
500 = 600 кило портала в жестком режиме - кошмарный сон!

То же самое, только наглядно…

www.instankoservis.ru/index.php?option=com_content…

Galant1

На правах идеи…
А не пробовали использовать для калибровки сенсор оптической мыши?
Может быть интересно?

JohnSilver_Esq
Zarko:

То же самое, только наглядно…

www.instankoservis.ru/index.php?option=com_content…

Ого… У них очень крутые фронты по сравнению с моими - у меня наростание скорости более пологое…

Galant1:

На правах идеи…
А не пробовали использовать для калибровки сенсор оптической мыши?
Может быть интересно?

А чего бы не попробовать… Только сначала пришла в голову идея со сканером.
С мышкой действительно может интереснее - там картинка 2д, в отличие от сканера. Правда, насколько я помню - обычно в мышах сенсор 100х100 пикселей, и про его размеры я ничего на знаю. Плюс там есть оптика (зачем - я не в курсе), и не факт что он на просвет не будет на больших расстояниях большую погрешность давать - хотя, с другой стороны, им можно на отражение обнюхать инструмент по периметру.

Galant1
JohnSilver_Esq:

Ого… У них очень крутые фронты по сравнению с моими - у меня наростание скорости более пологое…
А чего бы не попробовать… Только сначала пришла в голову идея со сканером.
С мышкой действительно может интереснее - там картинка 2д, в отличие от сканера. Правда, насколько я помню - обычно в мышах сенсор 100х100 пикселей, и про его размеры я ничего на знаю. Плюс там есть оптика (зачем - я не в курсе), и не факт что он на просвет не будет на больших расстояниях большую погрешность давать - хотя, с другой стороны, им можно на отражение обнюхать инструмент по периметру.

А зачем его по периметру обнюхивать? Ведь определяющим параметром явлется его длина, а с этим уже проще…
Ну и если хочется нюхать периметр- можно написать макрос, который нюхает только одну линию и смещать инструмент в поле…
Но это хорошо, но…
Есть еще одна тема больная, а имено выключатель нулевого положения…
Тут система на датчике мыши может быть интересной… Или?

Zarko
JohnSilver_Esq:

Ого… У них очень крутые фронты по сравнению с моими - у меня наростание скорости более пологое…

Да Вы не смотрите на фронты, это чисто для того, чтоб понять принцип работы.

JohnSilver_Esq
Galant1:

Есть еще одна тема больная, а имено выключатель нулевого положения…
Тут система на датчике мыши может быть интересной… Или?

А что такое выключатель нулевого положения?

Zarko:

Да Вы не смотрите на фронты, это чисто для того, чтоб понять принцип работы.

Ясно. Там, видать, масштаб чисто условный.

Galant1
JohnSilver_Esq:

А что такое выключатель нулевого положения?
Ясно. Там, видать, масштаб чисто условный.

Это выключатели положения home для каждой оси…
то есть машина после соответствующей команды едет по каждорй оси (X и Y, редко -Z) в заданную сторону до тех пор, пока не столкнется с выключателем.
Как столкнется- останавливается. Как остановятся - говорим, что то место, где остановился инструмент считаем машинным нулем.
Решается контактными выключателями, но точность сего - всема низкая.
Может оптика тут поможет? На каретке может стоять шторка, как доедет до определенного пиксела в матрице- идет сигнал “стоп-машина!”

Zarko
Galant1:

Может оптика тут поможет? На каретке может стоять шторка, как доедет до определенного пиксела в матрице- идет сигнал “стоп-машина!”

www.industrialhobbies.com -> CNC Product Instructions -> Installing Optical Limits

Тут вот дядька подобное делал…

JohnSilver_Esq
Galant1:

Это выключатели положения home для каждой оси…
то есть машина после соответствующей команды едет по каждорй оси (X и Y, редко -Z) в заданную сторону до тех пор, пока не столкнется с выключателем.
Как столкнется- останавливается. Как остановятся - говорим, что то место, где остановился инструмент считаем машинным нулем.
Решается контактными выключателями, но точность сего - всема низкая.
Может оптика тут поможет? На каретке может стоять шторка, как доедет до определенного пиксела в матрице- идет сигнал “стоп-машина!”

Понял, Вы имеете в виду нулевые положения для осей?
Вал каждого двигателя промаркирован, этого для меня достаточно для определения нуля.
Если Бог даст, вцеплю энкодеры от шариковой мышки - тогда точность слегка увеличится.
Плюс, зона калибровки инструмента может использоваться для дополнительного контроля по Z и по Y.

JohnSilver_Esq
Baha:

dxf это 2d формат, а откуда берете 3-ю координату? Реальный рельеф, как на картинке можно обработать на вашей программе?
Куб, прямоугольник, выборки или всякие пазы можно обработать с помощью dxf, но это не 3d, это 2 или 2.5d

Я теряюсь в догадках - или Вы с меня издеваетесь, или одно из двух 😕. В прицепе модель дивана. Сделана не знаю в чем, но файл - dxf. Этот файл прекрасно грузит наша программа.
Свои тестовые модели (простенькие) делали в Blender. За яшшерицу не скажу, но здаётся мине шо тоже проблем не должно быть.

Новости с полей - уже умеем парсить obj формат (Wavefrontовский).

Soling
JohnSilver_Esq:

Понял, Вы имеете в виду нулевые положения для осей?

Перехлеснулись две темы.
😃
https://rcopen.com/
Что бы не повторятся.

Об оптике: есть такой метод измерения - теневой. Используется как раз геометрическое расходдение тени. Точечный источнок ( не лазер! У него когерентный пучек. Он не расходится. ). Свет идет на объект, за объектом стоит мишень.
Дальше не сложно взяв расстояния от источника до объекта и от объекта до мишени посчитать масштаб полученного на
мишени изображения. Точнее, его контура. Сответственно с увеличением мсштаба растет точность замера.
😃

Для примера скрин окна настройки двигателей из Mach3. Тут есть все, что надо для полного счастья.

SKorch
Galant1:

Это выключатели положения home для каждой оси…
то есть машина после соответствующей команды едет по каждорй оси (X и Y, редко -Z) в заданную сторону до тех пор, пока не столкнется с выключателем.
Как столкнется- останавливается. Как остановятся - говорим, что то место, где остановился инструмент считаем машинным нулем.
Решается контактными выключателями, но точность сего - всема низкая.
Может оптика тут поможет? На каретке может стоять шторка, как доедет до определенного пиксела в матрице- идет сигнал “стоп-машина!”

Для позиционирования в ноль достаточно простой оптопары и шторки на каретке. При прекрытии шторкой оптического канала скорость перемещения привода снижается до минимальной, а при открытии оптического канала , после прохождения шторки, выдается сигнал СТОП. Процедупра проводится для двух осей X и Y. Точность получается достаточной с избытком (применяется для нахождения нулевой дорожки в 3" дисководах, можно из них и выдирать оптопары).