Выставить ноль после смены инструмента.
Не пойму, что Вы все про Z спрашиваете… Я ж говорил - парсим dxf, т.е. строим 3d модель в памяти, соотв. все координаты известны, не только Z. Или я неправильно понял Ваш вопрос?
Про железо уточню - сейчас контроллер собран на PIC18f4550, но скорее всего переделаю на связку PIC18F4550+PIC18F4431 (а может и нет - пока сомневаюсь). Микрошаг не использую, хотя, наверное, нужно. Двигатели включны униполярно, по две фазы одновременно (шоб момент поболе стал). Никаких дополнительных драйверов ШД не испольую, силовая часть - мосфеты напрямую управляемые от пика.
По поводу ускорений - заданы жестко (точнее, экспериментально на глаз подбираю и записываю в епром, шоб не перешивать прошивку), но скорее всего придется делать воможность автокалибровки (хотя, если так подумать - смысл это делать есть только если предполагается смена шпинделя, а это, наверное, вопрос не скорого времени).
DFX то векторный 2d формат, я вас понял вы строите из 3D модели на двух плоскостях DFX срез.
Станок не интересен, его здесь полно как грязи, интересен самопальный софт и драйвер. А почему бы не использовать Атмегу 128?
Не пойму, что Вы все про Z спрашиваете… Я ж говорил - парсим dxf, т.е. строим 3d модель в памяти, соотв. все координаты известны, не только Z. Или я неправильно понял Ваш вопрос?
dxf это 2d формат, а откуда берете 3-ю координату? Реальный рельеф, как на картинке можно обработать на вашей программе?
Куб, прямоугольник, выборки или всякие пазы можно обработать с помощью dxf, но это не 3d, это 2 или 2.5d
Если я правильно понял, речь идет режиме разгон - торможение. Скорость движения по траектории не постоянна.
…
Кроме того, скорость ( максимальная ) обязательно задается в УП. Это один из важнейших параметров резки и он индивидуален для каждого сочетания инструмент - материал - шаг резки - глубина. втоматом можно задавать скорость, скажем, замеряя постоянно нагрузку на фрезе и корректируя скорость под заданную рабочую… но гимора в такой системе будет - немеряно!Обороты шпинделя тоже надо задавать из УП и с возможностью ручной коррекции. При этом диапазон подстройки стоит сделать от 50% до 200% от заданного в УП.
P.S.
Вообще то тема как то вышла за рамки установки нуля. Может стоит перенести обсуждение в другую?
Вы знаете, после прочтения Вашего поста у меня слегка изменилось понимание того, что НУЖНО было сделать. Я себе так решил, что будет достаточно просто один раз (ну, иногда подправить) отладить ускорения при старте/останове прохода, и все.
Сейчас у меня сделано следующим образом: есть закон изменения задержки межу шагами от фазы движения. Он линейный, но не проблема изменить, например, на первый полупериод синуса, но это не важно. Он описан двумя величинами: вектором пар фаза:задержка (f:p) и скоростью (s), заданной УП (в зависимости от материала). Соответственно, чем больше (s) - тем больше инкремент (f), т.о. огибающая скорости [почти] всегда имеет одинаковый вид.
Насколько я понял из Вашего поста - таблицу (f:s) мне нужно пересчитывать исходя из массы каретки - хотя делал, повторюсь, на глаз.
Кстати сказать, по поводу измерения нагрузки на фрезе. У меня все крутится мысль сделать простой “авторегулятор” - навесить датчики холла на питание двигателей, и задавать не постоянную скорость а постоянную нагрузку. Т.е. если ток растет больше указанного значения - увеличиваем задержки между шагами. Т.о. отпадет необходимость контроля ускорений при старте, и пересчета скорости для разных материалов. Или это велосипед?
Регулятор оборотов шпинделя - в планах, но сначала хочу хоть уже до кучи собрать станок (ждем три хомута для ходовых гаек), что бы не на стенде гонять а в живую.
Атмегу не юзал по друм причинам - а) атмеги у меня нету, б) пиков у меня есть.
Про P.S. - можно и перенести, хотя мне кажется что все кому интересно - уже здесь и читают.
Вы знаете, после прочтения Вашего поста у меня слегка изменилось понимание того, что НУЖНО было сделать. Я себе так решил, что будет достаточно просто один раз (ну, иногда подправить) отладить ускорения при старте/останове прохода, и все.
Кстати сказать, по поводу измерения нагрузки на фрезе. У меня все крутится мысль сделать простой “авторегулятор” - навесить датчики холла на питание двигателей, и задавать не постоянную скорость а постоянную нагрузку.
В принципе старт - останов ставится один раз. Нужен он для компенсации момента масс механизьма. Со скоростью резки это не связано. Тут есть другая величина для рассчетов - подача на зуб. Для каждого материала она своя. Фактически это толщина стружки снимаемой зубом фрезы. Power Mill умеет считать скорость по этому параметру. Остальные ограничиваются ручным вводом скорости подачи, оставляя выбор оператору.
Мне кажется не имеет смысла завязывать двление фрезы и обороты. Во первых - система получится очень грубой. Учитывая мощности шпинделей и диаметров фрез, которые применяют для мелочевки… в общем датчик просто не заметит этих изменений. Больше подошли бы тензо датчики. Но и с ними беда. Слишком много возмущений от движения
кареток. Кроме того, при шаговых двигателях движение дискретно. Это для нас шаг в микрон исчезающе мал. А датчику это приличный всплеск нагрузки.
Так, что я думаю не стоит с этим заморачиваться. Овчинка не стоит выделки.
Если я правильно понял, речь идет режиме разгон - торможение. Скорость движения по траектории не постоянна.
Что бы избежать рывков на дугах, например, или при смене направления, прога делит отрезки на три части. Разгон - максимум - торможение. Часто участка не хватает для полного цикла и тогда средняя скорость падает, за счет того, что разгон в какой то момент переходит сразу в торможение. Для некоторых аппаратов это свойство жизненно важно.
500 = 600 кило портала в жестком режиме - кошмарный сон!
То же самое, только наглядно…
На правах идеи…
А не пробовали использовать для калибровки сенсор оптической мыши?
Может быть интересно?
То же самое, только наглядно…
Ого… У них очень крутые фронты по сравнению с моими - у меня наростание скорости более пологое…
На правах идеи…
А не пробовали использовать для калибровки сенсор оптической мыши?
Может быть интересно?
А чего бы не попробовать… Только сначала пришла в голову идея со сканером.
С мышкой действительно может интереснее - там картинка 2д, в отличие от сканера. Правда, насколько я помню - обычно в мышах сенсор 100х100 пикселей, и про его размеры я ничего на знаю. Плюс там есть оптика (зачем - я не в курсе), и не факт что он на просвет не будет на больших расстояниях большую погрешность давать - хотя, с другой стороны, им можно на отражение обнюхать инструмент по периметру.
Ого… У них очень крутые фронты по сравнению с моими - у меня наростание скорости более пологое…
А чего бы не попробовать… Только сначала пришла в голову идея со сканером.
С мышкой действительно может интереснее - там картинка 2д, в отличие от сканера. Правда, насколько я помню - обычно в мышах сенсор 100х100 пикселей, и про его размеры я ничего на знаю. Плюс там есть оптика (зачем - я не в курсе), и не факт что он на просвет не будет на больших расстояниях большую погрешность давать - хотя, с другой стороны, им можно на отражение обнюхать инструмент по периметру.
А зачем его по периметру обнюхивать? Ведь определяющим параметром явлется его длина, а с этим уже проще…
Ну и если хочется нюхать периметр- можно написать макрос, который нюхает только одну линию и смещать инструмент в поле…
Но это хорошо, но…
Есть еще одна тема больная, а имено выключатель нулевого положения…
Тут система на датчике мыши может быть интересной… Или?
Ого… У них очень крутые фронты по сравнению с моими - у меня наростание скорости более пологое…
Да Вы не смотрите на фронты, это чисто для того, чтоб понять принцип работы.
Есть еще одна тема больная, а имено выключатель нулевого положения…
Тут система на датчике мыши может быть интересной… Или?
А что такое выключатель нулевого положения?
Да Вы не смотрите на фронты, это чисто для того, чтоб понять принцип работы.
Ясно. Там, видать, масштаб чисто условный.
А что такое выключатель нулевого положения?
Ясно. Там, видать, масштаб чисто условный.
Это выключатели положения home для каждой оси…
то есть машина после соответствующей команды едет по каждорй оси (X и Y, редко -Z) в заданную сторону до тех пор, пока не столкнется с выключателем.
Как столкнется- останавливается. Как остановятся - говорим, что то место, где остановился инструмент считаем машинным нулем.
Решается контактными выключателями, но точность сего - всема низкая.
Может оптика тут поможет? На каретке может стоять шторка, как доедет до определенного пиксела в матрице- идет сигнал “стоп-машина!”
Может оптика тут поможет? На каретке может стоять шторка, как доедет до определенного пиксела в матрице- идет сигнал “стоп-машина!”
www.industrialhobbies.com -> CNC Product Instructions -> Installing Optical Limits
Тут вот дядька подобное делал… ☕
Это выключатели положения home для каждой оси…
то есть машина после соответствующей команды едет по каждорй оси (X и Y, редко -Z) в заданную сторону до тех пор, пока не столкнется с выключателем.
Как столкнется- останавливается. Как остановятся - говорим, что то место, где остановился инструмент считаем машинным нулем.
Решается контактными выключателями, но точность сего - всема низкая.
Может оптика тут поможет? На каретке может стоять шторка, как доедет до определенного пиксела в матрице- идет сигнал “стоп-машина!”
Понял, Вы имеете в виду нулевые положения для осей?
Вал каждого двигателя промаркирован, этого для меня достаточно для определения нуля.
Если Бог даст, вцеплю энкодеры от шариковой мышки - тогда точность слегка увеличится.
Плюс, зона калибровки инструмента может использоваться для дополнительного контроля по Z и по Y.
dxf это 2d формат, а откуда берете 3-ю координату? Реальный рельеф, как на картинке можно обработать на вашей программе?
Куб, прямоугольник, выборки или всякие пазы можно обработать с помощью dxf, но это не 3d, это 2 или 2.5d
Я теряюсь в догадках - или Вы с меня издеваетесь, или одно из двух 😕. В прицепе модель дивана. Сделана не знаю в чем, но файл - dxf. Этот файл прекрасно грузит наша программа.
Свои тестовые модели (простенькие) делали в Blender. За яшшерицу не скажу, но здаётся мине шо тоже проблем не должно быть.
Новости с полей - уже умеем парсить obj формат (Wavefrontовский).
Понял, Вы имеете в виду нулевые положения для осей?
Перехлеснулись две темы.
😃
https://rcopen.com/
Что бы не повторятся.
Об оптике: есть такой метод измерения - теневой. Используется как раз геометрическое расходдение тени. Точечный источнок ( не лазер! У него когерентный пучек. Он не расходится. ). Свет идет на объект, за объектом стоит мишень.
Дальше не сложно взяв расстояния от источника до объекта и от объекта до мишени посчитать масштаб полученного на
мишени изображения. Точнее, его контура. Сответственно с увеличением мсштаба растет точность замера.
😃
Для примера скрин окна настройки двигателей из Mach3. Тут есть все, что надо для полного счастья.
Это выключатели положения home для каждой оси…
то есть машина после соответствующей команды едет по каждорй оси (X и Y, редко -Z) в заданную сторону до тех пор, пока не столкнется с выключателем.
Как столкнется- останавливается. Как остановятся - говорим, что то место, где остановился инструмент считаем машинным нулем.
Решается контактными выключателями, но точность сего - всема низкая.
Может оптика тут поможет? На каретке может стоять шторка, как доедет до определенного пиксела в матрице- идет сигнал “стоп-машина!”
Для позиционирования в ноль достаточно простой оптопары и шторки на каретке. При прекрытии шторкой оптического канала скорость перемещения привода снижается до минимальной, а при открытии оптического канала , после прохождения шторки, выдается сигнал СТОП. Процедупра проводится для двух осей X и Y. Точность получается достаточной с избытком (применяется для нахождения нулевой дорожки в 3" дисководах, можно из них и выдирать оптопары).
Для позиционирования в ноль достаточно простой оптопары и шторки на каретке. При прекрытии шторкой оптического канала скорость перемещения привода снижается до минимальной, а при открытии оптического канала , после прохождения шторки, выдается сигнал СТОП. Процедупра проводится для двух осей X и Y. Точность получается достаточной с избытком (применяется для нахождения нулевой дорожки в 3" дисководах, можно из них и выдирать оптопары).
Ну, это то с чего я собственно отталкивался. Но для выставления нуля струмента оказалось малополезным.
А, с другой стороны, мне более интересно позицию инструмента найти, а не каретки.
Для позиционирования в ноль достаточно простой оптопары и шторки на каретке.
Хочу немного уточнить, с Вашего …
Важна даже не сама позция а ее повторяемость. Обычные концевики, с пружинным перебросом, вполне обеспечивают нужную точность. При условии жескости самой конструкции крепленя.
А, с другой стороны, мне более интересно позицию инструмента найти, а не каретки.
Прочтите то, что по ссылке выше писал, что бы не повторяться.
😃
а) Перехлеснулись две темы.
б) Об оптике: есть такой метод измерения - теневой. Используется как раз геометрическое расходдение тени. Точечный источнок ( не лазер! У него когерентный пучек. Он не расходится. ). Свет идет на объект, за объектом стоит мишень.
Дальше не сложно взяв расстояния от источника до объекта и от объекта до мишени посчитать масштаб полученного на
мишени изображения. Точнее, его контура. Сответственно с увеличением мсштаба растет точность замера.в) Для примера скрин окна настройки двигателей из Mach3. Тут есть все, что надо для полного счастья.
а) да, я читал ту ветку. Вообще форум очень хороший, много полезной инфы, даже такой которая в данный момент не нужна - зато потом сразу вспоминаешь, где видел.
б) знаем, плавали. Тут есть один тонкий нюанс, на той неделе на него нарвался. Дело в том, что разница показаний ПЗС на некоторых теневых участках сильно искажается помехами (разной природы, в т.ч. тепловой нагрев сенсора, помехи по питанию и по шинам и т.д.). Я ведь освещенность компаратором отлавливаю, а у него хоть и есть гистерезис, но все-равно не со всеми проблемами справляется (провода-то довольно длинные). Может, когда будет натхнэння, сделаю отдельный контроллер только для сенсора, чтобы от него уже не аналоговый шнурок тянуть а уже цифирь гнать. А мудрить супер защищенную схему только для того, чтобы еще больше увеличить точность - зачэм, если я каралэва Грузии 😃. Если серьезно - то это уже выходит как за рамки того, чего нам нужно, так и за понятие “пара свободных вечеров”. Будет необходимость - задумаюсь. Я не зарекаюсь, конечно, вдруг после полной сборки окажется что там просчитались, тут не додумали и т.д. - всяко ведь бывает.
в) Клёво. надо себе такой-же сделать 😃
Хочу немного уточнить, с Вашего …
Спасибо, большое, за комментарии, и за науку 😃
Очень приятно, знаете ли, а то бывает - зайдешь на форум, спросишь - а тебе вместо внятного ответа если не дураком обзовут то поиздеваются.
А, с другой стороны, мне более интересно позицию инструмента найти, а не каретки.
Если знаете позицию каретки по X и Y, то значит и знаете позицию инструмента.
Будет необходимость - задумаюсь. Я не зарекаюсь, конечно, вдруг после полной сборки окажется что там просчитались, тут не додумали и т.д. - всяко ведь бывает.
Я думаю у Вас будет еще не один повод задуматься и переделать. Именно по этому я спрашивал про технолога.
😁
Так, что не отчаивайтесь! До окончания работы еще много времени!!! Будет об чем почесать репу!
😁 😁
А мудрить супер защищенную схему только для того, чтобы еще больше увеличить точность - зачэм, если я каралэва Грузии 😃. Если серьезно - то это уже выходит как за рамки того, чего нам нужно, так и за понятие "пара свободных вечеров".
Еще в 80 годы разрабатывалась система слежения за инструментом. При поломке его или чрезмерном затуплении аппарат ехал в магазин ( Свой, конечно, станочный! ) и менял его.
( Так вот… исподволь затравочка… 😁 😁 😁 )