Базовая настройка MACH3
Для начала рассмотрим настройку Mach3 для работы с фрезерным/гравировальным станком с двигателями, управляемыми сигналами STEP/DIR. В связи с тем, что не существует официально русифицированной версии Mach3 все упоминаемые здесь названия пунктов меню, специфические для Mach3 термины и т.п. будут указаны на английском.
Содержание
[править] Выбор выходного порта
Вам необходимо указать программе какое оборудование будет формировать сигналы STEP/DIR. Это может быть либо классический LPT порт Вашего ПК, либо внешнее устройство, например PLCM. В первом случае Вам необходимо зайти в меню Config->Ports and Pins и на вкладке Port setup and Axis Selection проверить, что для первого порта установлена галочка Port Enabled и его адрес указан верно (адрес можно узнать в свойствах LPT порта в диспетчере устройств ОС Windows). Здесь же необходимо выбрать частоту работы ядра формирователя импульсов STEP/DIR. Чем она выше, тем большие скорости перемещения Вы сможете получить, но тем более мощный компьютер Вам потребуется.
Если Вы используете устройство серии PLCM, то на этой вкладке можно не настраивать порт и частоту ядра. Эти параметры все равно будут проигнорированы.
[править] Настройка пинов
Теперь Вам необходимо указать какие пины порта для чего у Вас используются. В меню Config->Ports and Pins на вкладке Motor Outputs Вы должны для каждой используемой оси установить галочку Enabled, в столбцах Step Pin# и Dir Pin# указать номера выводов Вашего порта для соответствующих сигналов, а в столбцах Step Port и Dir Port указать номера портов LPT (как правило всегда 1). 
Если же Вы используете PLCM, то номера портов и нумерацию их выводов можно посмотреть в соответствующей инструкции. Если в ходе проверки выяснится, что некоторые оси движутся не в ту сторону, Вам следует изменить значение в столбце Dir LowActive для соответствующей оси на противоположное.
Если будет использоваться управление шпинделем (с помощью ШИМа или через STEP/DIR), то его также необходимо настроить на вкладке Motor Outputs. Для генерации ШИМа будет использован сигнал STEP из строки Spindle
[править] Настройка датчиков.
На вкладке Input Signals меню Config->Ports and Pins следует указать на какие контакты каких портов подключены Ваши датчики. По аналогии с предыдущей настройкой, Enable разрешает программе использовать данный датчик, Port# и Pin Number задают номер порта и его контакт соответственно, а Active Low указывает, будет ли вход срабатывать при появлении на контакте низкого уровня (галочка) или высокого (крестик). Аварийные датчики крайних положений осей прописываются в строки ++ и —. Датчик нуля — Home. Вход Probe используется для датчика определения высоты инструмента и габаритов заготовки, EStop — кнопка аварийной остановки. 
На вкладке Output Signals меню Config->Ports and Pins настраиваются управляющие сигналы. Из них следует отметить группу Enable — разрешение включения драйвера соответствующей оси. Заметим, что если Вы хотите использовать только один выход для включения всех драйверов, например, через плату коммутации, достаточно настроить только выход Enable1.
В некоторых платах коммутации(например PLC330b) вместо сигнала Enable для включения драйверов можно использовать Charge Pump.
[править] Настройка параметров осей
[править] Настройки скорости и ускорения
[править] Направления осей
Зайдите в меню Config->Homing/Limits. Установите галочку в поле Reversed если вам необходимо изменить направление соответствующей оси. Эта настройка является аналогом смены полярности сигнала DIR в настройках Config->Ports and Pins->Motor Outputs.
[править] Поиск нуля на оси
=== Ограничение перемещения по оси Программное ограничение перемещений (‘Soft Limits) настраивается там же, в Homing/Limits. Для этого в полях Soft Max и Soft Min необходимо задать предельно допустимые координаты по осям. С помощью кнопки Soft Limits в главном окне программы можно включать и отключать режим Soft Limits.
[править] Профили
Все настройки Mach3 организует и хранит в специальных файлах профилей.
Mach3 Auto tool Zero
Столкнулся с проблемой.
Скрипт поиска высоты инструмента не выполняется полностью, а если точнее то выполняется только до касания фрезой пластины.
После этого останавливается. На вкладке Diagnostics горит индикатор Digitize. Сильно подозреваю что именно тут кроется причина, но сам не могу докопаться.
Прошу помощи.
Скрипты пробовал разные. Везде одно и тоже. Коснулся пластины и остановился.
выполняется только до касания фрезой пластины.
так вы бы хоть скрипт выложили свой
А скрипт без разницы какой. Любой работает одинаково, до касания.
Предвосхищая вопросы про «по курить форум» и гугл. Курил. ВИдео видел и не одно.
Из того что накопал, это возможные глюки изза комментов на русском в скрипте.
Комментарии убирал совсем, оставлял только тело скрипта. Один фиг, коснулся и замер.
Примеры скриптов которые пользовал.
только «Plate offset» свой надо вбить
Прикрепленные файлы
Чтобы не открывать новую тему, пишу в старую.
Тоже озадачился автопоиском нуля по «Z», накачал скрипты, сделал датчик, подключил и стал пробовать.
Но, вот незадача: VB Script Editor работает некорректно, любую команду обдумывает минут по 10-15.Иногда просто виснет, и приходится перегружать винду. После этого система сообщает, что была восстановлена после ошибки. Чтобы вставить новый скрипт или изменить старый, приходится танцевать с бубном..А чаще всего всё виснет.. Может кто-то подсказать, где порыться? Где лежит этот VB Skript Editor? Может, его надо заменить? Win XP, Mach3 (От Тодосиевича)
Код ошибки: 
PS: Пытался найти Visual Basic на компьютере поиском- он не дал результата. Может, другое имя у файла?
Всем привет. Я тут новенький сильно не пинайте пожалуйста. Новую тему плодить не стал, но и перелистав интернет решение не нашел, уже неделю бьюсь. Имеем самодельный фрезер 3 оси на Nemo 34 китайская плата DB25 драйвера DM860A все это «хозяйство» управляется матчем и. в общем то проблем нет точнее не было до недавнего времени.
и теперь вопрос. откуда берется это плавное торможение Z и как с ним бороться? (кстати при каждом нажатии автотул z стартует с разной скоростью, но в датчик врезается всегда)!
Во вкладке диагностика в матче реакция на касание щупом датчика адекватная, да и второе касание на медленной скорости происходит без наезда
Mach3 настройка авто ноль
Здесь будет рассказано о подключении и настройке в Mach3 датчиков для станка с ЧПУ. Наличие датчиков на станке позволяет:
Направления осей
Расположение осей отличается от общепринятого. Ноль оси Z расположен вверху, рабочие координаты — отрицательные.
Элемены
В качестве концевиков используются микропереключатели MSW-13 или аналогичные:
В качестве кнопки аварийной остановки «E-Stop» используется ANE-22 «Грибок» с фиксацией в корпусе поста КП101 для кнопок управления, 1 место, белый, IEK:
![]() | ![]() |
В качестве датчика нуля по оси Z – «Z Probe» используется закаленный диск из нержавеющей стали диаматром 40 и толщиной 6,85 мм. Второй провод с крокодилом устанавливается на фрезу.
Функциональная схема подключений
Датчики HOME («дом») устанавливаются на все оси. Датчики LIMIT («концевик») устанавливаются на оси X и Y. При принятии баз датчики HOME работают как дома; в рабочем режиме они работают как концевики. Вверху оси Z устанавливается датчик HOME, датчик LIMIT с противоположного конца (внизу) отсутствует.
Электрическую схему можно скачать внизу страницы.
Все датчики, кроме «Z Probe» работают на размыкание. Датчики HOMES и LIMITS объединяются в один логический сигнал по схеме «ИЛИ», т.е. соединяются в последовательную нормальнозамкнутую цепь.
Все соединения датчиков HOMES и LIMITS выполняются витыми парами. Раскладка проводников датчиков HOMES и LIMITS:
Настройка Mach3
1. Настройка Debonce Interval
В Mach3 программное подавление дребезга контактов датчиков настраивается в диалоге «General Logic Configuration», вызываемом из пункта «General Config» меню «Config». Здесь необходимо настроить количество тактов ядра Mach3, в течение которых неизменное состояние датчика принимается за его срабатывание.
Для частоты ядра Mach3 = 25 кГц, период = 40 мкс.
Таким образом, устанавливаем значение «Debonce Interval» не более минимального из вычисленных:
2. Автонастройка входных пинов
Настроить пины входов датчиков можно вручную; автонастройка упрощает это процесс. Рассмотрим на примере пина для датчика «Z Probe». Выбираем пункт «Ports and Pins» меню «Config». В появившемся диалоге «Engine Configuration. Ports & Pins» выбираем вкладку «Input Signals».
Нажимаем кнопку «Auto Setup of Inputs»:
Из выпадающего списка выбираем нужный сигнал, в данном случае «Probe Switch», нажимаем кнопку «AutoSet», и после этого замыкаем датчик «Z Probe» – в сером поле видим сообщение об успешном определении пина датчика и приглашение к определению следующих пинов. Таким образом определяем остальные пины. Для завершения нажимаем кнопку «OK» и возвращаемся в диалог «Engine Configuration. Ports & Pins», где можно наблюдать за произошедшими изменениями в колонках «Enabled», «Port #», «Pin Number» и «Active Low» (вверху показано для «E-Stop» и «Z Probe», ниже для HOMES и LIMITS).
3. Скрипт для «Z Probe»
Рабочий скрипт с комментариями:
4. Настройка скринсета для «Z Probe»
В рабочий скринсет необходимо добавить кнопку и поле для ввода толщины пластины датчика, аналогично как показано ниже:
Скачиваем со страницы дизайнер «Klaus’ MachScreen», устанавливаем, запускаем и открываем рабочий скринсет (например, «1024.set»). Сохраняем скринсет в папку Mach3 под новым именем. В главном окне дизайнера нажимаем кнопку «Toggle multiple / single selection», чтобы выбрать режим одиночного выделения 
Размеры и положение созданной кнопки можно изменить в группе «Position». В строке «Text on ctrl» таблицы «Button» меняем «Text» на, например, «Auto Tool Zero». Щелкаем ЛКМ на строке «Execute Code», в появившемся диалоге выбираем «Basic Script»:
В открывшемся диалоге «MachScreen Editor» вводим или открываем/вставляем ранее созданный текст скрипта:
Далее, выбираем пункт «use data and close» из меню «File» – окно закрывается и таблица «Button» в окне «MachScreen properties» принимает вид:
Теперь аналогичным образом добавляем поле для ввода толщины датчика – в выпадающем списке группы «Control» окна «MachScreen properties» выбираем «DRO», нажимаем кнопку «Add» и щелаем ЛКМ примерно на том месте скринсета, где должно находиться поле. В таблице «DRO» выбираем строку «Standart Code» и меняем значение на любое из диапазона 1000–2254, например 1151. В строке «Format» корректируем формат числа. Результат:
Сохраняем скринсет, закрываем редактор. Запускаем Mach3. Выбираем пункт «Load Screens» из меню «View» и загружаем отредактированный скринсет.
5. Настройка скриптов для кнопок в Mach3
При создании скринсета мы ввели требуемый скрипт для кнопки «Auto Tool Zero». Однако, скрипт может быть изменен без редактора скринсета следующим образом. Выбираем пункт «Edit Button Script» из меню «Operator». После этого, кнопки, скрипты которых возможно корректировать начнут мигать. Указываем кнопку «Auto Tool Zero» – появится редактор скрипта «Hidden Script.m1s». По завершению редактирования, закрываем редактор (сохранять скрипт в отдельный файл не требуется).
6. Настройка скрипта для кнопки «Ref All Home»
Проделаем вышеуказанные действия для кнопки «Ref All Home». Рабочий скрипт:
7. Дополнительные настройки
Выбираем пункт «Homing/Limits» из меню «Config»:
Значение в колонках «Soft Max» и «Soft Min» определяют программные ограничения перемещений осей. Устанавливаем в них значения примерно на 0,5-1 мм уже, чем при срабатывании концевиков. Значения «Slow Zone» определяют расстояние от программных ограничений, не доезжая которых сбрасывается скорость. Значение, указанное в колонке «Home Off» будет присвоено координате оси при операции поиска дома, если включено значение «Auto Zero». Значение «Home Neg» определет направление поиска дома: если при поиске дома ось едет в противоположном направлении – меняем значение «Home Neg». И, наконец, поле «Speed %» определяет скорость, с которой осуществляется подъезд к домам и в «Slow Zone».
Проверка датчиков
Первичная проверка на примере «Z Probe». Переходим на вкладку «Diagnostics», замыкаем/размыкаем датчик «Z Probe» и наблюдаем за сменой сигналов:
Проверка кнопки «E-Stop»:
Проверка датчика «Z Probe»:
Проверка датчиков домов и концевиков:
К статье прилагаются файлы:
Внимание! Запрещается воспроизведение данной статьи или ее части без согласования с автором. Если вы желаете разместить эту статью на своем сайте или издать в печатном виде, свяжитесь с автором.
Автор статьи: Вершинин И.В.
Автоматическая установка ноля по Z по датчику касания
Какие проверенные варианты еcть с кнопкой автонуля по Z и макросом под мач3
CurrentFeed = GetOemDRO(818) ‘Get the current feedrate to return to later
PlateThickness = GetUserDRO(1151) ‘Z-plate thickness DRO
If GetOemLed (825)=0 Then ‘Check to see if the probe is already grounded or faulty
DoOEMButton (1010) ‘zero the Z axis so the probe move will start from here
Code «G4 P2» ‘ two second delay
Code «G31 Z-20 F100» ‘Z goes down a max of 20mm at 100mm/min
While IsMoving() ‘wait while it happens
Wend
ZProbePos = GetVar(2002) ‘get the axact point the probe was hit
Code «G0 Z» &ZProbePos ‘go back to that point, always a very small amount of overrun
While IsMoving ()
Wend
Call SetDro (2, PlateThickness) ‘set the Z axis DRO to whatever is set as plate thickness
Code «G4 P0.25» ‘Pause for Dro to update.
Code «G0 Z6.35» ‘retract Z to 6.35mm
Code «(Z axis is now zeroed)» ‘puts this message in the status bar
Code «F» &CurrentFeed ‘Returns to prior feed rate
Else
Code «(Z-Plate is grounded, check connection and try again)» ‘this goes in the status bar if aplicable
Exit Sub
End If
Еще один скрипт avtozero. Не требует ничего никуда вводить. Один раз настроил и все.
Не помню,где взял,но сам сейчас использую.
Message( «Auto Zeroing. » )
If IsSuchSignal (22) Then
code «G31 Z-15 F60»
While IsMoving()
Wend
Call SetDRO( 2, 3 )
code «G1 Z5»
End If
3-это толщина пластины.
Всем доброго времени суток. Необходима помощь в создании макроса. Суть в следующем:
Укажите пожалуйста куда копать, может уже есть что то подобное? Спасибо
Копать в гугле и яндексе, ибо разжевано всё уже. И половина ссылок в т.ч будет и на этот форум.
Не макрос, а скрипт(Script). Скорее всего в вашем маче какой-то уже есть. Проверьте Operator-Edit Button Script. Замигают кнопки в окне мача. Ткните в кнопку пробы Z. Откроется блокнот со скриптом. Его можно изменять. Варианты скриптов можно поискать здесь на форуме.
Одна голова хорошо, а две лучше. Русская народная чпу поговорка.
Как установить нулевую точку заготовки в системе управления Mach3
Как установить нулевую точку заготовки в системе управления Mach3
Шаги следующие.
Видео выглядит следующим образом.



















