- Регистрация
- 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 - по возможностям станка
Выделил на поверхности датчика площадку диаметром 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
{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