Работа с датчиком инструмента в Mach3

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

     Присоединение датчика инструмента     
    Провод присоединённый  к самому датчику подключается к клемме входов  контроллера IN1…IN5) контроллера в алюминиевом  корпусе. Второй провод с «крокодилом» подключаем  к клемме  GND клеммника INPUT.
Существует два варианта контроллеров в алюминиевом корпусе. Первый вариант был в производстве и  до начала 3-го квартала 2016 года. Новая ревизия контроллера поставляется с 3-го квартала 2016 г.
 Для ранней  версии контроллера подключение концевых выключателей возможно с использованием схемы  актуальной ревизии контроллера. Настройки Mach3, так же одинаковы.  

Рисунок 1 подключение датчика инструмента к 3-х осевому контроллеру в алюминиевом корпусе.

  

  Рисунок 1

Рисунок 2 подключение датчика инструмента к 4-х осевому контроллеру в алюминиевом корпусе.
 

 Рисунок 2.

Зажим закрепляем или на станине станка или на самом инструменте.
Штангенциркулем или микрометром измеряем высоту(толщину) датчика инструмента. Полученный результат сохраняем.
    Производим установку конфигурации входного сигнала «Probe»
    Для этого заходим в меню Config/Port&Pins/Input Signals  и устанавливаем конфигурацию входа «Probe”  согласно рисунку 3.
 

Рисунок 3

Нажимаем кнопки «Применить» и  «ОК».
Производим проверку работоспособности подключенного датчика инструмента. Для этого подаём питание на контроллер управления шаговыми двигателями.   Открываем  вкладку Mach3 - “Diagnostics”.  Касаемся разъёмом «крокодил» пластины датчика. Если всё настроено правильно, то в открытой вкладке  на панели «Port 1 current State» должен погаснуть выделенный индикатор, а на панели «Input signal current State”  должен изменить цвет на зелёный  индикатор «Digitize”, рисунок 4.

Рисунок 4.

При работе с USB адаптером  срабатывает только индикатор Digitize индикаторы  Pins current State не используются , рисунок 5.

Рисунок 5.

Далее подключаем скрипт приведённый в файле скрипт_zero_tool. Txt. При работе с LPT- портом или скрипт zero_tool_usb.txt при работе с USB адаптером.
 Открываем главный экран (вкладка Program Run). После  этого открываем выпадающее меню “Operator” и выбираем пункт  «Edit Button Script”. После этого на главном экране начинают мигать несколько кнопок. Выбираем кнопку «Auto Tool Zero” панели «Tool Information” рисунок 6.

 

Рисунок 6.

После нажатия кнопки открывается окно скрипта рисунок 7.

 

Рисунок 7.

Окно как правило пустое, если в нём присутствует какой-либо текст -удаляем.
Открываем в «блокноте» файл  скрипт_zero_tool.txt  или zero_tool_usb.txt , копируем его содержимое  и вставляем скопированное в в ранее открытое окно скрипта рисунок 8.


Рисунок 8   

В строке «ZOffset =15.00  'Plate Hight - толщина пластины датчика инструмента» при работе с LPT-портом  заменяем, если необходимо, значение 15.00 на ранее измеренную высоту датчика инструмента.
    В строке PlateOffset = 13.3    'Толщина датчика инструмента при работе с USB-адаптером заменяем, если необходимо, значение 15.00 на ранее измеренную высоту датчика инструмента.
    Величина подъёма инструмента от точки касания пластины датчика инструмента 2мм.
Если необходимо большее расстояние  от пластины датчика до инструмента, заменяем в строке
«ZSal = ZOffset + 2.00         'величина подъема от точки контакта с пластиной» значение 2.00 на необходимое для скрипта LPT- порта и в строке ZNew = PlateOffset + 2.00 'ZNew = толщина датчика + 2 mm, где 2mm величина подъема от точки контакта с пластиной, для скрипта с USB-переходником.
Сохраняем.
    Производим проверку работоспособности скрипта. Для этого рекомендуется заменить инструмент  в шпинделе на обрезок мягкого провода. Подключаем станок. Устанавливаем датчик инструмента на поверхность рабочего стола или заготовки.  Подключаем провод общей точки к станине станка (проводу  вставленному в шпиндель если станина диэлектрическая). Устанавливаем по оси Z расстояние от конца провода до датчика менее чем 20мм. В скрипте  для LPT-порта заданно расстояние поиска точки контакта 20мм если расстояние инструмента от пластины датчика окажется больше, то точка -20мм от начальной будет принята за нулевую.
 Нажимаем кнопку «Auto Tool Zero”, шпиндель с должен опускаться со скоростью 25мм/минуту, для скрипта LPT-порта  и 100мм/минуту для USB- адаптера,  до касания провода с пластиной датчика.  После касания, если не изменялись данные должно произойти обнуление координаты оси Z, присвоение ей значения  «Zoffset» и отвод инструмента на величину указанную  в параметре «величина подъема от точки контакта с пластиной». Если параметры скрипта не изменялись, то после окончания процедуры в окне координат по оси Z должно быть значение 17.00мм (15.3мм).

Примечание.  При использовании   скрипта LPT-порта  совместно с  адаптером «Моделист USB-LPT»
скрипт корректно выполняет свои функции только если:
-единицы измерения в меню “Config→Select Native Units” установлены миллиметры;
- в машинных координатах (“Machine Coord’s” )  значение координаты оси Z в положительном направлении изменения координат  не превышает значение  «ZMove» . Для исключения данного ограничения в работе скрипта необходимо перед началом работы произвести обнуление машинных координат (машинные координаты по оси Z обнуляются в крайнем верхнем положении рабочего органа станка). Или второй вариант – увеличить диапазон по «ZMove» до значения, которое гарантированно не будет превышено координатами по оси Z  в направлении положительного перемещения.  Скрипт предназначенный для работы с USB-адаптером может использоваться так же и с LPT-портом

 

текст скрипта:

Rem    VBScript To probe In the z axis

DoOemButton(1003)

If GetOemLed (825) <> 0 Then         'Проверка нет-ди замыкания между датчиком и фрезой
    Code "(Z-Plate is grounded, check connection and try again)" 'Предупреждение выводимое в строку статуса если есть замыканае между датчиком и фрезой
Else
    'Code "G4 P1"                'Пауза 1 сек, чтобы дать время для установки
    Sleep 100
    PlateOffset = 13.3                '<--- !!!!!!!!!!!!!! Толщина датчика инструмента !!!!!!!!!!!!!!
    CurrentFeed = GetOemDRO(818)     'Запоминаем текущую скорость подачи
    Code "F100"                    'устанавливаем скорость подачи
    Sleep 100

Rem    Probe In the z direction
    ZNew = GetDro(2) - 1000            'движемся  z - 50 mm
    Code "G31Z" &ZNew
    While IsMoving()                'ждём касания
    Wend

    'ZNew = GetVar(2002)             'считываем точку касания
    'Code "G0 Z" &ZNew             'вернуться в начало если небыло касания
    'While IsMoving ()
    'Wend

    If PlateOffset <> 0 Then
        Call SetDro (2, PlateOffset)    'присвоить значение толщины датчика координате Z
        'Code "G4 P1"             'Пауза для обновления.
        Sleep 500
        ZNew = PlateOffset + 2        'ZNew = толщина датчика + 2 mm, где 2mm величина подъема от точки контакта с пластиной
        Sleep 100
        'ZNew = 2                ' координата ZNew должна быть больше толщины датчика
        Code "G0 Z" &ZNew         
        Code "(Z axis is now zeroed)"     ' Сообщение в строке состояния"
    End If

    Sleep 100
    Code "F" &CurrentFeed         'Возврат к прежней подаче
End If                      

   Скачать скрипт

Скачать скрипт USB