САМОДЕЛКА Датчик нуля XYZ

MadWanderer

НЕ ТОЛЬКО ЧИТАЕТ
ПРОВЕРЕННЫЙ
Регистрация
14.12.2021
Сообщения
61
Реакции
65
Баллы
38
Возраст
63
Город
Санкт-Петербург
Имя
Виктор
Отчество
Васильевич
Станок
CNC 3018 PLUS
Плата
Inectra MSC-3U
Прошивка
4.0.3
Последнее редактирование:
Идею датчика взял тут: Видео
Выделил на поверхности датчика площадку диаметром 10 мм. В районе площадки толщина датчика должна быть калибрована.
Между центром площадки и центром большого отверстия по оси Х расстояние 35 мм
Между центром площадки и центром малого отверстия по оси Y расстояние 35 мм
В остальном конструкция датчика не отличается от предложенной на видео.
Написал макрос для Inectra CNC Visualizer ver. 4.3.55

Как работать:
- установить датчик на угол заготовки (где предполагается рабочий ноль)
- установить фрезу над калибровочной площадкой
- запустить макрос
- после выполнения фреза остановится над точкой "0" по X и Y на безопасной высоте.
- координаты XYZ будут обнулены

В макросе необходимо скорректировать переменные:
probe_height - высота (толщина) калибровочной поверхности датчика
z_safe - безопасная высота по Z

Переменные z_fast_rate, search_rate, slow_rate - по возможностям станка

G21G91

{var search_dist = 50}
{var probe_height = 19.35}
{var z_fast_rate = 150}
{var search_rate = 500}
{var slow_rate = 10}
{var offset = 0.7}
{var pause = 0.1}

G38.2Z{-search_dist}F{search_rate}
G0Z{offset}
G38.2Z{-offset*2}F{slow_rate}
{var edge_zmpos = $.prb.z}

G0G90G53Z{edge_zmpos}

{while ($.status != 1) { $.wait() }}
G4P0.1
G10L20P0Z{probe_height}

G91G0Z35
G91G0X38
G90G0Z5

G21G91

{var fast_f = 500}
{var slow_f = 10}

G38.2X{search_dist}F{fast_f}
G0X{-offset}
G38.2X{search_dist}F{slow_f}
{var q = $.prb.x}
G0X{-offset}

G38.2X{-search_dist}F{fast_f}
G0X{offset}
G38.2X{-search_dist}F{slow_f}
{if ($.mc.x != $.prb.x) "G0G90G53X" + $.prb.x}
G91
G0X{(q - $.prb.x) / 2}

G38.2Y{search_dist}F{fast_f}
G0Y{-offset}
G38.2Y{search_dist}F{slow_f}
{var q = $.prb.y}
G0Y{-offset}

G38.2Y{-search_dist}F{fast_f}
G0Y{offset}
G38.2Y{-search_dist}F{slow_f}
{if ($.mc.y != $.prb.y) "G0G90G53Y" + $.prb.y}
G91
G0Y{(q - $.prb.y) / 2}

G0Z35
G0X-35Y-35
G4P0.1
G10L20P0X0Y0
 

Вложения

  • Площадка.jpg
    Площадка.jpg
    22.9 KB · Просмотры: 4
Сверху Снизу