Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
ВОПРОСреализован ли средствами CANDLE поиск центра отверстия
Тогда вопрос вообще не понял. Сорри - вечер после работы, день был тяжелый, туплю.
Если модель - изолятор, то оцифровать с помощью 3018 можно только с помощью цифрового датчика (микрометр, датчик касания). Микрометром проще, т.к. нет надобности мееедленно красться, чтобы получть точку касания (как в z щупе).
Если обработка происходит в несколько этапов и со сменой инструмента или несколькими переустановами - надо (если нужна точность) находить реперные точки и базовую поверхность обязательно.
Я, впрочем, со своей колокольни. У мну 16к20 и только недавно 675й продал. Буду 6р12 брать. Поэтому мне морально сложновато без микрометров и спиртометров на станках работать. Извиняйте, коллеги, ежели чего не так.
tync, да нет всё нормально просто вы в своих (вопрос - ответ) периодически кидаетесь из крайности в крайность, да микрометр ето очень гут, но не для 3018.... а так модно фиксационную модель вырезать на станке и ваши кругляши туда помещать, засверленное отверстие ето вам нули по XY, а заготовка ето ноль при помощи щупа по Z, так просто проще, вы потом могёте её просто убрать, или перенести в другое место, а по засверлу выставить держатель заготовки точно под фрезой
Это как раз понятно. По сути - Вы предлагаете оправку. Но меня смущает несколько вещей.
во первых - погрешности станка. Очень, очень большие. Т.е. Делаете оправку для посадочного диаметра например 20мм = +.1 мм погрешность, потом надеваете на нее деталь с вырезанным отверстием = еще+.1мм. Я думаю - в итоге погрешность до ,5мм в итоге будет. А это очень дохрена даже для игрушки. (хотя для сверленых отверстий - точность будет приемлемая. например позиционирование печатных плат по отверстиям)
Ну, и на всякий чих не наздравствуешься. (в смысле - каждой детальке оправку делать) При той скорости, что есть у 3018 изготовление сначала оправки, потом детали - надо иметь железные яйца.
В принципе - я нисколько не настаиваю. Мне удобнее применить кромкоискатель - Вам оправки и
и щупы.
Технологий изготовления не так уж и много. Выбор - за исполнителем.
Получится у меня кромкоискатель через grbl - покажу как им пользоваться, не получится - будем искать с перломутровыми пуговицами.
tync, ну тут я поспорю, я делал поддержку для процессоров (реболинг) там погрешность чтоб микруха помещалась в оправу 0.1 максимум, иначе не совместится с трафаретом в котором отверстия 0.31мм 800 штук
tync, ну тут я поспорю, я делал поддержку для процессоров (реболинг) там погрешность чтоб микруха помещалась в оправу 0.1 максимум, иначе не совместится с трафаретом в котором отверстия 0.31мм 800 штук
При изготовлении оправки не требуется искать виртуальный центр модели.
В моем случае внешний размер разный, внутренний тоже, приемлемую точность получаю в два этапа, вставляя внутрь кусок тонкой плоской пружины от старинных часов толшиной 0.1 мм. и собственно поиск центра используя мультиметр в режиме прозвонки и калькулятор.
и второй этап, это холостой проход кольца по траектории нарисованной в аспирине меньше нужного на 0.1. Это на всякий случай, для проверки..
В GRBL Есть команда выполнения подпрограммы - 38.2. Для Z щупа используется 38.2z. Если 38.2x или 38.2y рабочая - значит всё ОК и центроискатель/кромкоискатель получится "на пальцах". Ежели нет - придется подождать, пока я разберусь, где в grbl кусок кода, отвечающий за команду 38.2.
И придется перепрошивать дятла новой версией grbl.
Проверил. Grbl 1.1 отрабатывает команды 38.2x и 38.2y - т.е. пойск касания по осям x/y. Т.е - вполне свободно можно либо через свечку (Candle) вручную G код ввести, либо забулькать программульку для нахождения центров. bCNC удобнее, но для простых пользователей Windows установка сложновата.
Мне 3018 нужен для "потренироваться на кошках". И как всегда - функционала мало. Нужен центроискатель, кромкоискатель, оцифровщик поверхности и многое еще. Мне проще забулькать..
Спасибо автору Candle, подсмотрел код его кнопок.
Написал код и вставил в кнопку. У меня два штырька (болты ) закреплены на столе. Я ставлю в шпиндель длинный алмазный гравер режущей частью в цангу(так как ровный, круглый и угол большой. близко к идеальному цилиндру и цанга у меня 3.175), подключаю датчик "probe" один зажим к валу шпинделя, другой к столу(чтобы был электрический контакт с штырьками). Подвожу щуп (гравер) к левому штырьку и жму кнопку. Программа подводит щуп к штырьку, отводит и запоминает положение Х.
Поднимает щуп, проводит над штырьком опускает щуп
Подводит щуп справа штырька, отводит, в момент разрыва контакта запоминает положение Х, предыдущее значение Х суммирует с полученным, делит пополам, получает центр левого штырька по Х. Поднимает зонд, встает на середину штырька по Х. Аналогино ищет центр штырька по Y и повторяет поиск по Х так как в первом случае не исключено смещение из-за неровности резьбы болта. Вычислят середину между штырьками по X и Y и перемещает щуп туда. Код для отверстия будет короче, без подьемов и опусканий по Z
( f- скорость подхода к штырьку
(f1-скорость отхода от штырька
( ff-скорость перемещения к другому штырьку
( r- расстояние, на которое нужно переместится с запасом, чтобы
( перепрыгнуть через штырек
(d- расстояние возникновения ошибки.Расстояние, на которое отойдет (шпиндель и возникнет ошибка, в случае если датчик probe не перейдет в (состояние "открыто"
( L - расстояние, на которое нужно переместиться, чтобы встать справа от (правого штырька
G21G91;
{var f = 100; var ff = 500; var f1=10; var r = 15; var d = 2; var L=215};
G38.2X{-r}F{f};
G38.4X{d}F{f1};
{var q = vars.PRBx};
g0Z{r}F100;
g0X{-r};
g0Z{-r};
G38.2X{r};
G38.4X{-d}F{f1};
{var qx1 = (q + vars.PRBx) / 2};
g0Z{r}F{f};
G90;
G1X{qx1};
G91;
G0Y{r};
G0Z{-r};
G38.2Y{-r}F{f};
G38.4Y{d}F{f1};
{var q = vars.PRBy};
g0Z{r}F100;
g0Y{-r};
g0Z{-r};
G38.2Y{r};
G38.4Y{-d}F{f1};
{var qy1 = (q + vars.PRBy) / 2};
g0Z{r}F{f};
G90;
G1Y{qy1};
G91;
G0X{r};
G0Z{-r};
G38.2X{-r}F{f};
G38.4X{d}F{f1};
{var q = vars.PRBx};
g0Z{r}F100;
g0X{-r};
g0Z{-r};
G38.2X{r};
G38.4X{-d}F{f1};
{var qx1 = (q + vars.PRBx) / 2};
g0Z{r}F{f};
G90;
G1X{qx1};
G91G0X{L};
G0Z{-r};
G38.2X{-r}F{f};
G38.4X{d}F{f1};
{var q = vars.PRBx};
G0Z{r}F100;
G0X{-r};
g0Z{-r};
G38.2X{r};
G38.4X{-d}F{f1};
{var qx2 = (q + vars.PRBx) / 2};
g0Z{r}F{f};
G90G1X{qx2};
G91G0Y{r};
G0Z{-r};
G38.2Y{-r}F{f};
G38.4Y{d}F{f1};
{var q = vars.PRBy};
g0Z{r}F100;
g0Y{-r};
g0Z{-r};
G38.2Y{r};
G38.4Y{-d}F{f1};
{var qy2 = (q + vars.PRBy) / 2};
g0Z{r}F{f};
G90G1Y{qy2};
G91G0X{r};
G0Z{-r};
G38.2X{-r}F{f};
G38.4X{d}F{f1};
{var q = vars.PRBx};
g0Z{r}F100;
g0X{-r};
g0Z{-r};
G38.2X{r};
G38.4X{-d}F{f1};
{var qx2 = (q + vars.PRBx) / 2};
g0Z{r}F{f};
G90G0X{qx2}Y{qy2};
G90G0X{qx1}Y{qy1};
{var qx=(qx1+qx2)/2};
{var qy=(qy1+qy2)/2};
G0X{qx}Y{qy};
G92X0Y0;
В версии Candle 1.2.12, точки с запятой в конце строки нужно убрать
Ваши сообщения автоматически объединены:
Да, еще r- так же расстояние на которое нужно поднять зонд, чтобы проехать над штырьком. По хорошему надо бы их разделить.
Спасибо автору Candle, подсмотрел код его кнопок.
Написал код и вставил в кнопку. У меня два штырька (болты ) закреплены на столе. Я ставлю в шпиндель длинный алмазный гравер режущей частью в цангу(так как ровный, круглый и угол большой. близко к идеальному цилиндру и цанга у меня 3.175), подключаю датчик "probe" один зажим к валу шпинделя, другой к столу(чтобы был электрический контакт с штырьками). Подвожу щуп (гравер) к левому штырьку и жму кнопку. Программа подводит щуп к штырьку, отводит и запоминает положение Х.
Поднимает щуп, проводит над штырьком опускает щуп
Подводит щуп справа штырька, отводит, в момент разрыва контакта запоминает положение Х, предыдущее значение Х суммирует с полученным, делит пополам, получает центр левого штырька по Х. Поднимает зонд, встает на середину штырька по Х. Аналогино ищет центр штырька по Y и повторяет поиск по Х так как в первом случае не исключено смещение из-за неровности резьбы болта. Вычислят середину между штырьками по X и Y и перемещает щуп туда. Код для отверстия будет короче, без подьемов и опусканий по Z
( f- скорость подхода к штырьку
(f1-скорость отхода от штырька
( ff-скорость перемещения к другому штырьку
( r- расстояние, на которое нужно переместится с запасом, чтобы
( перепрыгнуть через штырек
(d- расстояние возникновения ошибки.Расстояние, на которое отойдет (шпиндель и возникнет ошибка, в случае если датчик probe не перейдет в (состояние "открыто"
( L - расстояние, на которое нужно переместиться, чтобы встать справа от (правого штырька
G21G91;
{var f = 100; var ff = 500; var f1=10; var r = 15; var d = 2; var L=215};
G38.2X{-r}F{f};
G38.4X{d}F{f1};
{var q = vars.PRBx};
g0Z{r}F100;
g0X{-r};
g0Z{-r};
G38.2X{r};
G38.4X{-d}F{f1};
{var qx1 = (q + vars.PRBx) / 2};
g0Z{r}F{f};
G90;
G1X{qx1};
G91;
G0Y{r};
G0Z{-r};
G38.2Y{-r}F{f};
G38.4Y{d}F{f1};
{var q = vars.PRBy};
g0Z{r}F100;
g0Y{-r};
g0Z{-r};
G38.2Y{r};
G38.4Y{-d}F{f1};
{var qy1 = (q + vars.PRBy) / 2};
g0Z{r}F{f};
G90;
G1Y{qy1};
G91;
G0X{r};
G0Z{-r};
G38.2X{-r}F{f};
G38.4X{d}F{f1};
{var q = vars.PRBx};
g0Z{r}F100;
g0X{-r};
g0Z{-r};
G38.2X{r};
G38.4X{-d}F{f1};
{var qx1 = (q + vars.PRBx) / 2};
g0Z{r}F{f};
G90;
G1X{qx1};
G91G0X{L};
G0Z{-r};
G38.2X{-r}F{f};
G38.4X{d}F{f1};
{var q = vars.PRBx};
G0Z{r}F100;
G0X{-r};
g0Z{-r};
G38.2X{r};
G38.4X{-d}F{f1};
{var qx2 = (q + vars.PRBx) / 2};
g0Z{r}F{f};
G90G1X{qx2};
G91G0Y{r};
G0Z{-r};
G38.2Y{-r}F{f};
G38.4Y{d}F{f1};
{var q = vars.PRBy};
g0Z{r}F100;
g0Y{-r};
g0Z{-r};
G38.2Y{r};
G38.4Y{-d}F{f1};
{var qy2 = (q + vars.PRBy) / 2};
g0Z{r}F{f};
G90G1Y{qy2};
G91G0X{r};
G0Z{-r};
G38.2X{-r}F{f};
G38.4X{d}F{f1};
{var q = vars.PRBx};
g0Z{r}F100;
g0X{-r};
g0Z{-r};
G38.2X{r};
G38.4X{-d}F{f1};
{var qx2 = (q + vars.PRBx) / 2};
g0Z{r}F{f};
G90G0X{qx2}Y{qy2};
G90G0X{qx1}Y{qy1};
{var qx=(qx1+qx2)/2};
{var qy=(qy1+qy2)/2};
G0X{qx}Y{qy};
G92X0Y0;
В версии Candle 1.2.12, точки с запятой в конце строки нужно убрать
Ваши сообщения автоматически объединены:
Да, еще r- так же расстояние на которое нужно поднять зонд, чтобы проехать над штырьком. По хорошему надо бы их разделить.
Для дерева мне подходит следующий метод поиска "стенки": берешь полоску бумаги, помещаешь ее между фрезой и "стенкой" и на маленькой скорости подводишь фрезу к детали. При этом полоску бумаги постоянно шевелишь. Как только бумагу зажало, смотришь координаты. Если отверстие достаточно большое, можно найти координаты двух противоположных стенок, найти среднее арифметическое, что и будет центром.
Если деталь нужно обрабатывать с двух сторон, то тут я ставлю два не высоких болтика, нахожу центр между болтиками и устанавливаю центр системы координат, запоминаю координаты центра. Заготовку помещаю рядом, примерно ставлю центр относительно заготовки, в заготовке сверлю углубления соответствующие болтикам. Переворачиваю заготовку и устанавливаю углубления на болтики, закрепляю, устанавливаю центр системы координат - запомненный относительно болтиков. Сверлю углубления (Обратить внимание чтобы фреза не опустилась до болтиков). Потом можно обрабатывать заготовку с двух сторон.
Подвожу щуп (гравер) к левому штырьку и жму кнопку. Программа подводит щуп к штырьку, отводит и запоминает положение Х.
Поднимает щуп, проводит над штырьком опускает щуп
Подводит щуп справа штырька, отводит, в момент разрыва контакта запоминает положение Х, предыдущее значение Х суммирует с полученным, делит пополам, получает центр левого штырька по Х. Поднимает зонд, встает на середину штырька по Х. Аналогино ищет центр штырька по Y и повторяет поиск по Х так как в первом случае не исключено смещение из-за неровности резьбы болта. Вычислят середину между штырьками по X и Y и перемещает щуп туда. Код для отверстия будет короче, без подьемов и опусканий по Z
Зачем делать лишние вычисления, если в конце присваивать X и Y нули? При левом подводе обнулять X, при правом, делить результат, присваивать значение и ехать к нулю X, аналогично и для Y.
Я и вручную так делаю.
Вот как программно взять данные касания и поделить пополам, без макроса, это уже проблема, т. к. сижу пока в 1.1.7., че-то 1.2.12 не вкатила...
Конечно, Ваше программное обеспечение для блокировки рекламы отлично справляется с блокировкой рекламы на нашем сайте, но оно также блокирует полезные функции. Мы стараемся для Вас и не обязываем Вас донатить и скидывать денег на наши кошельки, чтобы пользоваться форумом, но реклама это единственное, что позволяет поддерживать проект и развивать его.