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

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" дисководах, можно из них и выдирать оптопары).

JohnSilver_Esq
SKorch:

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

Ну, это то с чего я собственно отталкивался. Но для выставления нуля струмента оказалось малополезным.

А, с другой стороны, мне более интересно позицию инструмента найти, а не каретки.

Soling
SKorch:

Для позиционирования в ноль достаточно простой оптопары и шторки на каретке.

Хочу немного уточнить, с Вашего …
Важна даже не сама позция а ее повторяемость. Обычные концевики, с пружинным перебросом, вполне обеспечивают нужную точность. При условии жескости самой конструкции крепленя.

JohnSilver_Esq:

А, с другой стороны, мне более интересно позицию инструмента найти, а не каретки.

Прочтите то, что по ссылке выше писал, что бы не повторяться.
😃

JohnSilver_Esq
Soling:

а) Перехлеснулись две темы.

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

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

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

б) знаем, плавали. Тут есть один тонкий нюанс, на той неделе на него нарвался. Дело в том, что разница показаний ПЗС на некоторых теневых участках сильно искажается помехами (разной природы, в т.ч. тепловой нагрев сенсора, помехи по питанию и по шинам и т.д.). Я ведь освещенность компаратором отлавливаю, а у него хоть и есть гистерезис, но все-равно не со всеми проблемами справляется (провода-то довольно длинные). Может, когда будет натхнэння, сделаю отдельный контроллер только для сенсора, чтобы от него уже не аналоговый шнурок тянуть а уже цифирь гнать. А мудрить супер защищенную схему только для того, чтобы еще больше увеличить точность - зачэм, если я каралэва Грузии 😃. Если серьезно - то это уже выходит как за рамки того, чего нам нужно, так и за понятие “пара свободных вечеров”. Будет необходимость - задумаюсь. Я не зарекаюсь, конечно, вдруг после полной сборки окажется что там просчитались, тут не додумали и т.д. - всяко ведь бывает.

в) Клёво. надо себе такой-же сделать 😃

Soling:

Хочу немного уточнить, с Вашего …

Спасибо, большое, за комментарии, и за науку 😃

Очень приятно, знаете ли, а то бывает - зайдешь на форум, спросишь - а тебе вместо внятного ответа если не дураком обзовут то поиздеваются.

Zarko
JohnSilver_Esq:

А, с другой стороны, мне более интересно позицию инструмента найти, а не каретки.

Если знаете позицию каретки по X и Y, то значит и знаете позицию инструмента.

Soling
JohnSilver_Esq:

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

Я думаю у Вас будет еще не один повод задуматься и переделать. Именно по этому я спрашивал про технолога.
😁
Так, что не отчаивайтесь! До окончания работы еще много времени!!! Будет об чем почесать репу!
😁 😁

JohnSilver_Esq:

А мудрить супер защищенную схему только для того, чтобы еще больше увеличить точность - зачэм, если я каралэва Грузии 😃. Если серьезно - то это уже выходит как за рамки того, чего нам нужно, так и за понятие "пара свободных вечеров".

Еще в 80 годы разрабатывалась система слежения за инструментом. При поломке его или чрезмерном затуплении аппарат ехал в магазин ( Свой, конечно, станочный! ) и менял его.
( Так вот… исподволь затравочка… 😁 😁 😁 )

Baha
JohnSilver_Esq:

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

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

Obj уже 3D формат. Скинь диван в dxf формате.

AlexSpb

Эх,Джон Сильвер (JohnSilver, Esq.)был фантазер и обманщик.

Galant1
Baha:

Obj уже 3D формат. Скинь диван в dxf формате.

Баха, есть трехмерный dxf в природе, но это такое говно, что только уж очень просвещенные о нем знают 😃

Soling
Galant1:

Баха, есть трехмерный dxf в природе, но это такое говно, что только уж очень просвещенные о нем знают 😃

Не сильно просвещенный, но… в общем Rhino как раз в такое чудо и конвертирует при необходимости. В общем есть, конечно кое что… но не то. Я бы не стал им пользоваться.
😦

maxvovk
AlexSpb:

Эх,Джон Сильвер (JohnSilver, Esq.)был фантазер и обманщик.

Угу. Читать - одно удовольствие, даже я так врать придумывать не умею 😃. Читать - имеется ввиду как Валентину Леонтьеву слушать, на ночь 😃.

Baha
Soling:

Не сильно просвещенный, но… в общем Rhino как раз в такое чудо и конвертирует при необходимости. В общем есть, конечно кое что… но не то. Я бы не стал им пользоваться.
😦

Ну да увидел, после сохранения 3D объекта в формате dxf, файл dxf снова можно открыть в Rhino, но он уже не 3D объект. Как будто скелет от 3D объекта. На таком формате вряд ли можно нормально построить рельеф. Все вопрос закрыт.

JohnSilver_Esq
Baha:

Obj уже 3D формат. Скинь диван в dxf формате.

В прицепе, только это не диван а полукресло (размер поменьше будет). А если очень диван хотите - есть целая библиотека мягкой мебели в разных форматах, больше гига (неупакованная). Если интересуетесь - могу и ссылочку подкинуть. Только, наверное на чпу нет смысла поролон строгать.

AlexSpb:

Эх,Джон Сильвер (JohnSilver, Esq.)был фантазер и обманщик.

Помнится, он был не фантазер, хотя и обманщик.

maxvovk:

Угу. Читать - одно удовольствие, даже я так врать придумывать не умею 😃. Читать - имеется ввиду как Валентину Леонтьеву слушать, на ночь 😃.

Обращайтесь, я могу и в мп3 выложить, чтобы на ночь глаза не напрягать 😃

Baha:

Ну да увидел, после сохранения 3D объекта в формате dxf, файл dxf снова можно открыть в Rhino, но он уже не 3D объект. Как будто скелет от 3D объекта. На таком формате вряд ли можно нормально построить рельеф. Все вопрос закрыт.

Риной не пользовался, а в Cinema4d все и экспортируется, и потом открывается в dxf безпроблемно.
Хотелось бы и в автокаде увидеть, но у меня его нету.

DCLD.ZIP

Zarko

Честно говоря немного перестал понимать суть темы! Начинали с нуля инструмента… Вопрос JohnSilver: что Вы создаете? Насколько я сначала понял программу для управления станком с ЧПУ. Так? Так зачем же Вам париться с dxf, 3D и т.д. Это забота САМ программ (ArtCAM, VisualMill, Powermill и подобным)!!! А Ваша прога должна хорошо переваривать G-коды и подавать импульсы на моторы. И поверьте, это будет не так просто зделать. Вы не те приоритеты выставили! Не гонитесь за всем сразу! Думаю про двох зайцев слышали…

JohnSilver_Esq
Zarko:

Честно говоря немного перестал понимать суть темы! Начинали с нуля инструмента… Вопрос JohnSilver: что Вы создаете? Насколько я сначала понял программу для управления станком с ЧПУ. Так? Так зачем же Вам париться с dxf, 3D и т.д. Это забота САМ программ (ArtCAM, VisualMill, Powermill и подобным)!!! А Ваша прога должна хорошо переваривать G-коды и подавать импульсы на моторы. И поверьте, это будет не так просто зделать. Вы не те приоритеты выставили! Не гонитесь за всем сразу! Думаю про двох зайцев слышали…

Суть темы изменилась после вопросов со стороны 😃
По поводу что создаем, по пунктам:

  1. Станок.
  2. Контроллер станка.
  3. Управляющую программу.

Всех чудесных CAM-программ у меня нету, и по ряду причин не будет.

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

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

Повторюсь - фишка команд (с нашей точки зрения) в разгрузке ПК.
Cравните - одна команда для линейного перемещения по вектору занимает 15 байт, даже для RS232 передача (на скорости 33 кбит) занимает меньше милисекунды. После передачи команды я жду раппорта от контроллера о завершении её выполнения. Секунду она будет выполняться, или три минуты - меня мало интересует, все это время ПК занимается чем угодно. Даже если после выполнения команды ПК будет занят - ничего страшного, контроллер вежливо подождет.
В варианте с мачем - та же песня, только все время перемещения ПК со всей дури шимит лпт-портом (в простейшем варианте). Т.е. процессор ЗАНЯТ. Т.е. любая задача, которая сдуру попросит процессорного времени может свести на нет потуги с контролем ускорений.

Возможно мы таки заставим контроллер переваривать G-коды, но это пока в отдаленных планах и, честно говоря, особой необходимости в этом не вижу.
Хотя уже сейчас есть возможность для контроллера обходиться без ПК - т.е. УП генерирует набор команд, заливаем всё это дело на SD или MMC карту, и втыкаем карту в контроллер. Все, после этого он выполняет последовательно все команды до тех пор пока не возникнет аварийная ситуация или пока все команды не выполнятся.

За двух зайцев слышали, конечно. Потому и разделили полномочия - товарищ больше занят УП, а я - контроллером, электроникой и железом. А если вдуматься - то за зайцами гонятся, а мы никуда не спешим.
По поводу dxf - ну так получилось, что два чайника от него оттолкнулись, ну и что? Проблемы нам это никакой не составило, посему и обсуждать нечего.
Да, где-то возможно мы наивны, спорить не буду - но ведь на опыте учатся.

2Zarko: а Вы чего в два часа ночи по форумам шастаете?😃

Практик
JohnSilver_Esq:

По поводу что создаем, по пунктам:

  1. Станок.
  2. Контроллер станка.
  3. Управляющую программу.

Всех чудесных CAM-программ у меня нету, и по ряду причин не будет.

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

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

Повторюсь - фишка команд (с нашей точки зрения) в разгрузке ПК.
Cравните - одна команда для линейного перемещения по вектору занимает 15 байт, даже для RS232 передача (на скорости 33 кбит) занимает меньше милисекунды. После передачи команды я жду раппорта от контроллера о завершении её выполнения. Секунду она будет выполняться, или три минуты - меня мало интересует, все это время ПК занимается чем угодно. Даже если после выполнения команды ПК будет занят - ничего страшного, контроллер вежливо подождет.
В варианте с мачем - та же песня, только все время перемещения ПК со всей дури шимит лпт-портом (в простейшем варианте). Т.е. процессор ЗАНЯТ. Т.е. любая задача, которая сдуру попросит процессорного времени может свести на нет потуги с контролем ускорений.

Возможно мы таки заставим контроллер переваривать G-коды, но это пока в отдаленных планах и, честно говоря, особой необходимости в этом не вижу.
Хотя уже сейчас есть возможность для контроллера обходиться без ПК - т.е. УП генерирует набор команд, заливаем всё это дело на SD или MMC карту, и втыкаем карту в контроллер. Все, после этого он выполняет последовательно все команды до тех пор пока не возникнет аварийная ситуация или пока все команды не выполнятся.

За двух зайцев слышали, конечно. Потому и разделили полномочия - товарищ больше занят УП, а я - контроллером, электроникой и железом. А если вдуматься - то за зайцами гонятся, а мы никуда не спешим.
Да, где-то возможно мы наивны, спорить не буду - но ведь на опыте учатся.

2Zarko: а Вы чего в два часа ночи по форумам шастаете?😃

Да. Планы как у всех грандиозные.Боюсь,что все ими и кончится…

К сожалению народ не понимает величия идеи заставить один компьютер
расчитывать путь и одновременно гнать пургу в контроллер.
Есть CAD(проектирование) как правило это в офисе, и есть CAM(изготовление) как правило это в цеху.

Для изготовления просто покупается за 30$ простенький второй и его уже догнохивают у станка.Быстродействия хватает даже у 386-го.И програм никто не пишет,а используют халявные TurboCNC,KCam и др.Которые чудно разбираются с концевиками,скоростями,глубинами,подачами и проходами.
Контроллер конечно можно городить самому.Но вряд-ли ВЫ удивите мир.Скорее всего угрохаете год и явите миру очередной клон 297-298.
Предвидя Ваши возражения,что нет ни офиса ни цеха,а есть только кухня юзают вариант
всеми обожаемого Mach 2-который 2 в одном флаконе.Правда он халявен до 1000 строк.
Основная засада будет с железяками и моторами.Выяснится,что их надо расчитывать, искать и покупать.
Нигде они уже бесплатно не валяются.
Когда через год-1,5 Вы явите миру чудо,выяснится,что производством в стране никто и не собирался заниматься,а в ВПК и своих горе-инженеров валом…
Вот такая выставка нулей…

Soling
Практик:

Да. Планы как у всех грандиозные.Боюсь,что все ими и кончится…

К сожалению народ не понимает величия идеи

Отвлекусь в сторону мемуаров… Все одно про установку нулей, кажется. выяснили…
😁
Некогда собираясь в курилке развлекались фантазиями на тему " а надо сделать… " Ну, скажем утюг с программным управлением, рогатку с самонаведением по звуку, блок управления магнитофоном с заложенными 30 рецептами варки кофе и, соответственно прибамбасами для этого. И что интересно - из кучи идей необузданной фантазии некоторые решения прошли в железо. По скольку фантазировали не только о том, что сделать, но и как сделать. Не все конечно, и не целиком, но достаточно много для того ято бы сказть - фантазии вещь полезная.
😁