(Страница ещё редактируется..)

Мы разработали приложение Probe Screen  для удобной работы с центроискателем и датчиком инструмента в linuxcnc v2.8. Все часто используемые макросы датчиков размещены на одном стильном экране в интуитивно понятном виде и требуют минимального количества действий для настройки. В статье представлены описание и исходники для версии Probe Screen V2.8  Описание предыдущей версии V2 находится здесь.

 

Приложение Probe Screen не является обязательным для работы с нашими датчиками и не поставляется в комплекте с датчиками, Вы можете использовать с нашими датчиками как это приложение, так и любое доступное и подходящее программное обеспечение сторонних разработчиков. С другой стороны, Probe Screen также можно использовать с датчиками сторонних производителей. Приложение ProbeScreen является свободным программным обеспечением; Вы можете распространять его и / или изменять в соответствии с условиями Стандартной Общественной Лицензии (General Public License) GNU, опубликованной Free Software Foundation; либо версия 2 Лицензии, либо (на ваше усмотрение) любая более поздняя версия. Эта программа распространяется как есть в надежде, что она будет полезна, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. Смотрите GNU General Public License для более подробной информации.

 

 

Измерительные операции очень нетерпимы к неправильным настройкам. Настоятельно рекомендуется делать предварительное тестирование на "рыхлом" объекте, который не повредит центроискатель при неожиданных движениях. Рекомендуется тщательно проверить каждую настройку перед измерением рабочей детали.

 

Установка.

...подробнее
1. Добавьте в конфигурационные файлы .ini ...-postgui.hal все настройки из my-mill.ini, my-mill-postgui.hal, примените свои собственные константы.

2. Следующие папки из архива перенесите в папку с конфигурацией станка:
/python
/macros
/probe_icons

3. Файл .axisrc разместите в папке home ~/. Если у Вас уже есть .axisrc, то добавьте в него (в конце) содержимое прилагаемого .axisrc (используйте CTRL + H в проводнике, чтобы увидеть скрытые системные файлы)

4. Удалите (или закомментируйте) из всех .hal файлов строки вида:
#loadusr -W hal_manualtoolchange
#net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
#net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
#net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number


Если что-то пошло не так и требуется отладка, то ниже приложен список переменных, которые применяются в настройках, и котрые используются в файлах macros/*.ngc и python/probe_screen.py

↑ свернуть

 

 

Использование.

 

Центроискатель устанавливаем в шпиндель. Подводим в ручном режиме в точку над поверхностью заготовки приблизительно 2-4 мм по Z, а по XY примерно в позицию, обозначенную цветной точкой на соответствующей кнопке Probe Screen. Заполняем параметры (названия всплывают при подводе мышки). Параметры при изменениии автоматически сохраняются в .pref .

 

При изменении значений параметров с помощью клавиатуры (а не мышкой по стрелкам) обязательно нажать Enter для фиксации новых значений

 

 

Скорость поиска: «быстрая» скорость подачи, при которой щуп ищет целевую деталь в единицах станка в минуту. Как только коснулся, он отступает на расстояние, указанное в четвертом поле, а затем снова ищет на более медленной скорости (указанную во втором поле). Это делается для устранения погрешностей, вызванных инерцией машины, подобно тому, как LinuxCNC обрабатывает home-выключатели. Скорость поиска должна быть достаточно медленной, чтобы дать вам приемлемую начальную точность, но достаточно быстрой, чтобы не тратить времени на ожидание перемещения. Рекомендация: 200-500 мм/мин.

 

Скорость уточнения: "медленная" скорость, которую машина использует для точного измерения. Эта скорость зависит от того, насколько быстро ваша машина останавливается при срабатывании датчика. Значение этого поля должно быть достаточно мало, чтобы станок мгновенно останавливался при движении с такой скоростью. Вы должны поэкспериментировать с ним, чтобы найти самое большое значение, которое не жертвует точностью с вашим центроискателем. Рекомендация: 10-100 мм/мин.

 

Дистанция поиска: это максимальный предел того, как далеко щуп будет искать цель. Если дистанция поиска слишком короткая, вы получите сообщение типа "G38 finished without probe trip". В целях безопасности рекомендуется установить этот параметр не более свободного хода стилуса центроискателя : 2-4мм.

 

Дистанция уточнения: это отступ для выполнения повторного поиска. Это короткое расстояние (короткое, потому что его нужно будет проходить на "медленной" скорости уточнения), но достаточно большое, чтобы щуп перестал касаться детали и привелся в состояние готовности поиска. Если вы сделаете дистанцию уточнения слишком большой, то в конечном итоге потратите много времени, ожидая завершения поиска. Рекомендация: 0.5-1мм

 

Диаметр шарика стилуса: Используется для математических вычислений координат результатов поиска. Теоретически щуп срабатывает как только шарик касается детали, не допуская дальнейшего перемещения оси. Поэтому, если вы используете наконечник стилуса диаметром 2 мм, необходимо зафиксировать координаты машины на 1 мм от места, где датчик сработал, и таким образом учесть диаметр наконечника. Половина значения, которое вы вводите в этом поле, вычитается или добавляется к месту сработки щупа (во время уточняющего поиска) в зависимости от направления движения. Если это число = 0, результирующие координаты окажутся неверно смещены. Стоит использовать микрометр для измерения наконечника стилуса, чтобы внести в данное поле размер, если производитель не сказал вам.

 

XY clearance: это запасной отступ от измеряемой грани (одинаковый для X и Y, см. диаграммы ниже). Нужен, чтобы компенсировать неточное ручное  выставление центроискателя над заготовкой перед началом измерений. Если это значение слишком мало, вы рискуете упереться в деталь. XY clearance должен быть немного больше радиуса шарика стилуса. Если он слишком велик, вы теряете время или упретесь в другую часть детали. Рекомендация: радиус стилуса + 0.5...1.5мм.

 

Edge length: это расстояние, которое используют некоторые кнопки, чтобы определить, как далеко переместиться на быстрой скорости (RAPID_SPEED) в положение перед началом поиска для ускорения работы. Например, чтобы найти центр внутри отверстия, вы вручную устанавливаете зонд в пределах короткого расстояния Z от верха отверстия(можно прямо вглубь отверстия, тогда Z clearance = 0) и приблизительно (на глаз) в центре. Зонд опустится на величину Z clearance, затем переместится X- со скоростью Feed Rate на (Edge length минус XY clearance). Затем он переключается на «скорость поиска», указанную в первом поле, и запускает последовательность поисков. В случае конкретно этой кнопки(поиск центра отверстия) Edge length необходимо установить до начала поиска примерно равной радиусу отверстия. Если отверстие, например, около 8 мм, расположите наконечник зонда примерно по центру над ним и около +1 мм по Z. Edge length установите 4 мм, XY clearance = 2мм. Нажимаем кнопку, зонд опуститься на значение Z clearance (которое в нашем случае пусть = 3, поэтому наконечник зонда входит на 2 мм в отверстие) и перемещается на 2 мм X- (Edge length 4 мм минус XY clearance 2 мм = 2 мм). Поскольку мы начали примерно посередине отверстия по X и Y, действие должно расположить нас в пределах около 2 мм от стенки отверстия. Зонд начинает двигаться со скоростью поиска в напрвлении -X. Сработав, зонд отступит (+ X) на дистанцию уточнения, замедлит скорость, а затем медленный поиск -X. Это определит расположение -X стенки отверстия. После уточнения, зонд установится на противоположную сторону отверстия снова около 2 мм от стенки. Процесс повторяется здесь, а также для Y+ Y-.

Если Edge length слишком велика, зонд упрется в край отверстия, прежде чем он даже начнет поиск. Если это произойдет, поиск остановится и выдаст сообщение об ошибке. Вам придется отрегулировать свои значения, вручную переместить зонд обратно в исходное местоположение и повторить попытку.

Если Edge length слишком мала, зонд может прибыть в нужное исходное положение, но не достигнет при поиске стенки отверстия. Если это произойдет, получите другую ошибку. Исправьте значения, переместите зонд обратно в исходное местоположение и повторите попытку.

Рекомендации:

-для кнопок поиска центра отверстия или цилиндра Edge length ставим примерно равным  предполагаемому радиусу (не путать с диаметром),

-для кнопок поиска угловых точек детали Edge length равен отступу вдоль ребра от угловой точки, 

-для кнопок поиска длины Edge length ставим примерно равным половине длины, которую ищем (примерно равной радиусу вписанной окружности), 

-Edge length  не используется в кнопках простых поисков по одной оси (X+, X-, Y+, Y-, Z-).

 

Z clearance (Глубина поиска): это заглубление на котором будет вестись поиск относительно текущего положения по Z. Z clearance обязательно требуется для измерений Снаружи (левая группа кнопок). Пример. Если вы установили Z clearance на 3 мм и расположите зонд на 3 мм выше заготовки, то поиск не произойдет, т.к. стилус не сможет коснуться стенок.

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

 

 

На картинке ниже будет показано чем xy clearance отличается от edge lenght.

 

Использовать только! ту кнопку, которая соответствует позиции центроискателя над заготовкой. Для другой кнопки - другая позиция над заготовкой.

 

Траектория движения центроискателя на примере обмера внешнего угла X+Y+

 

 

Здесь объединены два отдельных поиска: X+ и Y+.

 

Центральная, самая сложная кнопка, запускает подряд 4 поиска X+ X- Y+ Y-, edge length должен быть примерно равен радиусу измеряемого цилиндра, xy clearance отступ от стенок цилиндра наружу(нужен, чтобы компенсировать погрешность приблизительного начального ручного выставления центра и добавить радиус кончика стилуса)

 

 

Траектория движения центроискателя на примере обмера внутреннего угла X+Y+

 

 

Поиск центра отверстия строится так X- X+ Y- Y+, edge length должен быть также примерно равен радиусу измеряемого отверстия, xy clearance отступ от стенок отверстия к центру(нужен, чтобы компенсировать погрешность приблизительного начального ручного выставления центра и добавить радиус кончика стилуса).

 

 

Любой из поисков завершается переездом по XY в искомую точку (либо край, либо угол, либо центр), Z остается в изначальной позиции. Найденную точку можно автоматически делать нулем или конкретным числом.

 

Настройки для кнопки обмера диаметра инструмента:

Кнопка запускает макрос измерения диаметра фрезы на toolsetter. Перемещает шпиндель в точку обмера на безопасной высоте MAX_LIMIT по Z, делает измерение высоты площадки toolsetter по Z, поднимается на 4 мм, затем включает обратное вращение шпинделя (рекомендуется задать не более 3000 об/мин) и обмеряет диаметр по аналогии с поиском центра цилиндра.

Постоянные параметры для кнопки задаются пользователем индивидуально в .ini файле:

 

[TOOLSENSOR]
# Абсолютные координаты центра площадки toolsetter
X = 10
Y = 10
# Абсолютные координаты старта поиска по Z
Z = 10
# Максимальная дистанция поиска и направление(знак)
MAXPROBE = -60

# Cкорость холостых перемещений во время измерений в Probe Screen
RAPID_SPEED = 600

# Диаметр измерительной площадки датчика инструмента
TS_DIAMETER = 10
# Скорость обратного вращения шпинделя при обмере диаметра фрезы
REV_ROTATION_SPEED = 2000

 

Mакрос задействует также все поля "Настройки" (кроме Edge length и Дистанция поиска, вместо них берутся значения 0.5*TS_DIAMETER и MAXPROBE из .ini соответственно). Примечание: в поле "Диаметр шарика стилуса" вводится приблизительный диаметр измеряемой фрезы.

 

Быстрая ручная смена инструмента (Remap M6):

Probe Screen позволяет автоматически измерять вылет инструмента в ходе выполнения g-code при встрече команды M6. Пользователю останется только снимать старую и устанавливать новую фрезу в условленном месте. В .ini файле настраивается переназначение действия системной команды M6 ( Remap M6 ).

Tребование: наличие двух датчиков - центроискателя и датчика инструмента (toolsetter).

 

Подготовительные действия:

0. Согласно инструкции по установке Probe Screen в .ini файл в раздел [RS274NGC] была добавлена строка инициализации Remap M6:

REMAP=M6   modalgroup=6  prolog=change_prolog   ngc=psng_manual_change  epilog=change_epilog
1.Toolsetter должен быть установлен стационарно на краю рабочего стола.
2.Установить на стол очередную заготовку.
3.Вставить в шпиндель центроискатель.
4.Заполнить все параметры в Settings, кроме двух неиспользуемых в данном процессе xy clearance, edge length, в них могут быть любые величины. Максимальная дистанция поиска для кнопки TS Height отличается от всех остальных кнопок и задается пользователем отдельно в.ini файле (см. рис. ниже)

5.Обмер центроискателем по z поверхности измерительной площадки toolsetter: нажать кнопку "TS Height", центроискатель автоматически выполнит действия и результат появится в поле рядом с кнопкой. Действия следующие: центроискатель переместится на скорости RAPID_SPEED в точку поиска над toolsetter по указанным в [TOOLSENSOR] XY координатам, на высоте[AXIS_Z] MAX_LIMIT, поиск вниз начнет с высоты [TOOLSENSOR] Z, на максимальное расстояние не более MAXPROBE. Скорости поиска-уточнения и дистанция уточнения будут взяты из "Settings".

6.Обмер центроискателем по z поверхности заготовки: центроискатель нужно подвести вручную к месту измерения над заготовкой, нажать кнопку "Workpiece Height", центроискатель выполнит простой поиск вниз из текущей позиции, результат появится в поле рядом с кнопкой. Скорости поиска и уточнения и дистанции поиска и уточнения будут взяты из "Настройки" (четыре верхних параметра).

7.В [CHANGE_POSITION] указываются  координаты XYZ (машинные) произвольной точки, в которой удобно провести смену инструмента.

 

После этой подготовки можно запускать программу g-code. Как только встретиться команда смены инструмента M6 Tn, шпиндель остановиться, переместится в [CHANGE_POSITION], далее останов в ожидании пока пользователь сменит инструмент и нажмет "OK" для продолжения, новый инструмент автоматически обмеряется на toolsetter, и продолжается выполнение g-code.

 

 

Как пользоваться Rotation:
Заводим центроискатель над нужным ребром 2-4 мм (примерное положение по XY показывает цветная точка на изображении кнопки). Заполняем параметры. Жмем только! соответствующую этому положению кнопку.

 

 

Далее произойдет два обмера, как обозначено стрелками на кнопке.
Параметры задаются так
edge length = расстояние между обмеряемыми точками,
xy clearance = отступ от грани
z clearance = заглубление
Auto Rott:
-если Да, то после измерения коорд. система автоматически развернется на измеренный угол,
-если Нет, то просто измеряется и выписывается угол,
угол вычисляется относительно оси X для передней и задней грани, относительно оси Y для правой и левой грани.
После разворота координатной системы все остальные группы измерений начнут работать в новой коорд. системе.
Так же можно повернуть коорд. систему на произвольный угол вручную - набрать угол в поле New angle и кнопкой рядом утвердить.

 

 

 

► Исходники.