ВОПРОС ДЛЯ ВАНГИ макрос поиска центра цилиндра

АлександрЯ

МЕСТНЫЙ
Регистрация
28.01.2021
Сообщения
0
Реакции
0
Баллы
20
Попался на просторах макрос поиска центра цилиндра ,все бы хорошо но не делит пополам диаметр пробника,встает в результате в над первой точкой касания.мозг кипит.может может кто подсказать в чем проблемма?Заранее благодарен.
 

Вложения

  • скрипт поиска центра заготовки.txt
    1.4 KB · Просмотры: 15
  • Последнее редактирование:
Последнее редактирование:
К Candle этот макрос может и подойдет, а вот к GRBL, вряд ли.
Запись координат по результату деления содержимого ячейки (неизвестно о чем речь) вряд ли возможна. И, да, команда G64 не поддерживается. В системе MACH3 это может и возможно, но не в курсе.
 
станок 3018 грбл 1.1f .cncjs-программа.сей макрос работал так(видео)VID_20230603_172009.mp4
другой макрос работает ,но только внутри приспособы-центр оси находит но незначительное смещение из за нее присутствует при двусторонней обработке.попытка заставить его работать снаружи по оси пока не получилось.Вообщем заело меня.(будем повышать грамотность)
 

Вложения

  • 1.jpg
    1.jpg
    63.5 KB · Просмотры: 14
  • ЦЕНТР ВНУТРИ РАБ.txt
    1 004 байт · Просмотры: 6
(будем повышать грамотность)
Похвальное стремление, только почему в скобках?
В помощь повышения грамотности
И общий поиск
 
Попался на просторах макрос поиска центра цилиндра ,все бы хорошо но не делит пополам диаметр пробника,встает в результате в над первой точкой касания.мозг кипит.может может кто подсказать в чем проблемма?Заранее благодарен.
Правильный алгоритм поиска центра не зависит от диаметра пробника.
 
станок 3018 грбл 1.1f .cncjs-программа.сей макрос работал так(видео)VID_20230603_172009.mp4
Что то я не заметил, что он отработал правильно, он встал на точку первого обнуления, но никак не по центру детали, значит делить содержимое ячейки памяти ему не удалось.
Эттот вопрос уже решался в Candle 1.2.13.
 
Вот для 3018...

G21G91;
{var f = 100; var r = 10; var d = 1}G38.2X{r}F{f};
{var q = vars.PRBx}G0X{-d};
G38.2X{-r};
G0X{(q - vars.PRBx) / 2};
G38.2Y{r};
{var q = vars.PRBy}G0Y{-d};
G38.2Y{-r};
G0Y{(q - vars.PRBy) / 2}

На сколько я понял, изучая этот код, то получается следующее:
var f = 100 - подача поиска
var r = 10 - должно быть больше половины диаметра отверстия.
var d = 1 - диаметр зонда (Всё тот же вывод "Зонд Z"

Выставляем приблизительно в центр и запускаем код, всё... Через минуту центр найден.

G21G90;
{var f = 100; var r = 10; var d = 1; var h = 10}G0X{r};
G0Z{-h};
G38.2X0F{f};
G91G0X{d};
{var q = vars.PRBx}G90G0Z0;
G0X{-r};
G0Z{-h};
G38.2X0;
G91G0X-1;
G90G0Z0;
G91G0X{(q - vars.PRBx) / 2 + d};
G90G0Y{r};
G0Z{-h};
G38.2Y0F{f};
G91G0Y{d};
{var q = vars.PRBy}G90G0Z0;
G0Y{-r};
G0Z{-h};
G38.2Y0;
G91G0Y-1;
G90G0Z0;
G91G0Y{(q - vars.PRBy) / 2 + d}

Здесь, как я понял:
var f = 100 - подача при поиске
var r = 10 - на какое расстояние отъезжать от центра для зондирования (радиус + 5...10 мм)
var d = 1 - диаметр зонда
var h = 10 - глубина опускания зонда от поверхности детали (ноль по верху детали)

Так же приблизительно ставим в центр шпиндель (инструмент) и запускаем. Через минуту центр найден.
 
Вот для 3018...

G21G91;
{var f = 100; var r = 10; var d = 1}G38.2X{r}F{f};
{var q = vars.PRBx}G0X{-d};
G38.2X{-r};
G0X{(q - vars.PRBx) / 2};
G38.2Y{r};
{var q = vars.PRBy}G0Y{-d};
G38.2Y{-r};
G0Y{(q - vars.PRBy) / 2}

На сколько я понял, изучая этот код, то получается следующее:
var f = 100 - подача поиска
var r = 10 - должно быть больше половины диаметра отверстия.
var d = 1 - диаметр зонда (Всё тот же вывод "Зонд Z"

Выставляем приблизительно в центр и запускаем код, всё... Через минуту центр найден.

G21G90;
{var f = 100; var r = 10; var d = 1; var h = 10}G0X{r};
G0Z{-h};
G38.2X0F{f};
G91G0X{d};
{var q = vars.PRBx}G90G0Z0;
G0X{-r};
G0Z{-h};
G38.2X0;
G91G0X-1;
G90G0Z0;
G91G0X{(q - vars.PRBx) / 2 + d};
G90G0Y{r};
G0Z{-h};
G38.2Y0F{f};
G91G0Y{d};
{var q = vars.PRBy}G90G0Z0;
G0Y{-r};
G0Z{-h};
G38.2Y0;
G91G0Y-1;
G90G0Z0;
G91G0Y{(q - vars.PRBy) / 2 + d}

Здесь, как я понял:
var f = 100 - подача при поиске
var r = 10 - на какое расстояние отъезжать от центра для зондирования (радиус + 5...10 мм)
var d = 1 - диаметр зонда
var h = 10 - глубина опускания зонда от поверхности детали (ноль по верху детали)

Так же приблизительно ставим в центр шпиндель (инструмент) и запускаем. Через минуту центр найден.
А d зачем?
Xc=(X1+X2)/2
 

Описание гласит, что это диаметр применяемого зонда...

оффтоп
 

Описание гласит, что это диаметр применяемого зонда...

оффтоп
Посмотрел внимательнее код. Точность измерения диаметра зонда на результат поиска центра не влияет. А используется этот диаметр для начальных установок и ограничений по поиску точки контакта.
 
На мач 3 это работает?
или на грбл и мач3 также?
 
  • Последнее редактирование:
Последнее редактирование:
Вот что вышло.3018 ,грбл 1.1h 4 оси, прога CNCJS. центр оси.mp4 пробники 4 мм.Для СANDLE менять направление.
кстати вот кандл на 4 оси https://github.com/Schildkroet/Candle2/release .Cкрипт с которого началось похоже предназначен для LINUXCNC
 

Вложения

  • ЦЕНТР ОСИ.txt
    721 байт · Просмотры: 7
Сверху Снизу
Обнаружен блокировщик рекламы AdBlock

МЫ ДОГАДЫВАЕМСЯ, ЧТО РЕКЛАМА ВАС РАЗДРАЖАЕТ!

Конечно, Ваше программное обеспечение для блокировки рекламы отлично справляется с блокировкой рекламы на нашем сайте, но оно также блокирует полезные функции. Мы стараемся для Вас и не обязываем Вас донатить и скидывать денег на наши кошельки, чтобы пользоваться форумом, но реклама это единственное, что позволяет поддерживать проект и развивать его.

Спасибо за Ваше понимание!

Я отключил свой AdBlock    Нет, я не буду ничего отключать