Об учёте кривизны плоскости заготовки в работе с ЧПУ

Остальные вопросы по работе с операционной системой Windows
TurtleFly
Новичок
Сообщения: 3
Зарегистрирован: 28 окт 2019, 20:02
Репутация: 1
Настоящее имя: Александр
Контактная информация:

Об учёте кривизны плоскости заготовки в работе с ЧПУ

Сообщение TurtleFly »

Делюсь позитивным опытом измерения кривизны плоскости заготовки и учёта измерений в подготовке G кода.

Дано:
1. Относительно плоская заготовка
2. Обыкновенный портальный ЧПУ под управлением NCStudio 8.299
3. Цифровой микрометрический индикатор "часового типа"
4. Подготовленная программа, G код, для работы инструмента по этой заготовке.
Программа, как обычно, считает, что заготовка идеальна,
т.к. ей ничего не известно о реальном положении вещей.
Данных о кривизне - нет.

Хочется:
Обработать заготовку гравёром на заданную глубину в любом месте,
не подходить к станку от начала и до конца работы инструмента,
не поломать при этом ни одного гравёра.
Получить высоко качество обработки. Сберечь время и нервы.

Для этого нужно:
Произвести точечные замеры отклонения высоты плоскости заготовки от нуля.
Внести коррекцию в G код с учётом полученных данных.

Результат:
Латунный лист, толщиной 5 мм. Размер заготовки 600х400 мм.
Произведён замер кривизны плоскости заготовки по 72 точкам.
Измеренный интервал отклонения от -0,06 до +3,3 мм.
Выполнение измерений заняло около 9 минут, в полуавтоматическом режиме.
Исходный G код пересчитан с учётом данных измерений.
Заготовка успешно обработана, без танцев с бубном.

Ну а процедура, в моём случае, полностью такова:
Подготовка станка
1. Установить и закрепить заготовку.
2. Установить микрометрическую головку на ось Z.
3. Подвести кончик микрометра как можно ближе к фрезе или гравёру
(хотя, на данном этапе режущий инструмент не нужен, пожалуй, он может и помешать ненароком).
Но так чтобы наклон микрометра был не слишком сильным,
дабы не пересчитывать данные ещё и с учётом наклона микрометра.
4. Совместить кончик микрометра с нулями по осям X и Y (с углом заготовки)
и т.к. у меня на заготовке уже снята фаска по периметру, то нужно отступить от нуля +10 мм
и положить кончик микрометра на плоскость заготовки.
Подать микрометр ниже на пару миллиметров, дабы иметь возможность измерять и провалы. Микрометр пока выключен.
5. Обнулить ось Z.
Станок готов к работе по измерению. Теперь надо подготовить программу G-код для произведения измерений.

Подготовка программы, G-кода для измерений
1. В ArtCAM (или в чём-то, таком чем Вы пользуетесь) нарисовать периметр заготовки,
в моём случае это прямоугольник по размеру заготовки 600х400 мм.
Назначить обработку по этому профилю любым инструментом с любыми параметрами.
Параметры инструмента не важны на данном этапе,
т.к. вообще нужна "пустышка" для загрузки размера заготовки в программу G-code ripper.
Сохранить траекторию обработки периметра в файл с названием, например, 00_perimetr.nc
Подготовка траектории по периметру заготовки (7477 просмотров) <a class='original' href='./download/file.php?id=171116&sid=caac403b3e1fd6af099a6fc296bfed5b&mode=view' target=_blank>Загрузить оригинал (381.7 КБ)</a>
Подготовка траектории по периметру заготовки
2. Запустить программу G-code ripper (сегодня актуальная версия 0.17)
Открыть файл 00_perimetr.nc Выполнить сопоставление настроек начала координат. GCode operation установить в AutoProbe.
Изменить параметры Autoprobe: количество точек замера по осям X и Y (точки замеров появятся поверх заготовки в виде перекрестий).
Установил офсеты для X и Y по 10 мм т.к. заготовка с фасками, которые измерять не нужно.
Безопасная Z установил в 1.
Probe Depth -0.5 так и оставил, но для более кривой заготовки значение можно увеличивать (в сторону минуса),
вплоть до вдавливания измерительного щупа микрометра на весь его рабочий ход, ну например до -20 мм.
Главное проследить за тем, чтобы шпиндель не коснулся заготовки раньше =)))
Скорость погружения установил 100 мм/мин. Слишком медленно не нужно, т.к. у нас измерительный инструмент имеет широкий диапазон и низкое сопротивление хода щупа.
Controller как был Linux CNC, так и оставил.
Нажать кнопку Save G-code File - Probe only и сохранить файл под именем 01_probeonly.nc
Настройка g-code ripper (7477 просмотров) <a class='original' href='./download/file.php?id=171117&sid=caac403b3e1fd6af099a6fc296bfed5b&mode=view' target=_blank>Загрузить оригинал (420.85 КБ)</a>
Настройка g-code ripper
3. И так имеем файл для работы с пробником, НО NcStudio не понимает код G38.2 и предупреждает об этом ошибкой при симуляции.
Но нам G38.2 и не нужен. Заменю его на G01 и еще кое что поправлю для удобства.
Для модификации файла 01_probeonly.nc можно открыть его, например, в редакторе NotePad++
и произвести несколько замен.

О том, что сгенерировал G-code ripper в файл для выполнения измерений 01_probeonly.nc
Проход на высоте безопасности Z до точки измерения, и погружение на заданную глубину до касания датчиком, по достижении установленной глубины если касания не было или при срабатывании датчика касания произойдёт мгновенный отскок на исходную Z.
И так по всем точкам. Этот G-код можно было-бы дополнительно не редактировать, если бы у меня был нормальный контактный датчик и, самое главное, NcStudio понимала бы код G38 и записывала координаты по сигналу от датчика.
Но всего этого нет и надо изменить этот G-код под свои нужды и возможности.
Алгоритм измерений будет такой:
1. Быстро едем в точку на безопасной высоте
2. Быстро опускаемся с безопасной высоты до половины пути
3. Помедленней опускаемся до глубины установленной нами в Probe Depth -0.5
4. Делаем паузу в этом положении на 4 секунды для записи показаний с экранчика микрометра в блокнот.
5. Едем дальше и повторяем эти действия на всех точках.

Что было и что стало смотрите следующих картинках.
Редактирование G кода (7477 просмотров) <a class='original' href='./download/file.php?id=171119&sid=caac403b3e1fd6af099a6fc296bfed5b&mode=view' target=_blank>Загрузить оригинал (792.35 КБ)</a>
Редактирование G кода
Симуляция программы измерения плоскости листа (7477 просмотров) <a class='original' href='./download/file.php?id=171118&sid=caac403b3e1fd6af099a6fc296bfed5b&mode=view' target=_blank>Загрузить оригинал (539.66 КБ)</a>
Симуляция программы измерения плоскости листа
3D сканирование поверхности заготовки
Берём в руки блокнотик в клеточку и карандаш. Стартуем программу в NcStudio. Станок подходит к первой точке, опускается и останавливается на 4 секунды, в это время можно нажать на паузу выполнения программы (если для первой точки на стадии редактуры кода поставить не 4, а 10-15 секунд, то можно обойтись без ручной паузы выполнения программы измерений). Эта ручная пауза нужна только при измерении первой точки. В этот момент надо аккуратно включить микрометр. И именно в этом положении будет ноль микрометра и от него он будет отсчитывать и демонстрировать показания для всех остальных точек.

Т.е. первая точка это всегда ноль. И на этот ноль я всегда буду подводить инструмент для установки нуля по оси Z при смене инструмента.

А теперь продолжим выполнение программы измерения без вмешательства в её ход. И спокойно запишем все данные микрометра в моменты 4х-секундных пауз.

Результаты измерений. Что с ними делать дальше.
А дальше надо соорудить текстовый файл, в котором с новой строки
будут записаны координаты точек и показания микрометра.
Строка должна иметь следующий формат:
X,Y,M
X - координата точки по оси X,
Y - координата точки по оси Y,
M - число которое показал микрометр на этой точке, число может быть как положительным, так и отрицательным.

Пример записи из нескольких точек:
10.000,10.000,0.01
110.000,10.000,0.12
210.000,10.000,0.09
310.000,10.000,-0.02

Все координаты точек есть в файле программы измерений, надо только удалить всё лишнее (NotePad++ и Ctrl+F в помощь) и останется дописать в конец каждой строчки соответствующие данные с микрометра.

Сохраняем созданный нами текстовый файл под именем, например 03_probedata.txt
И загружаем его в g-code ripper при помощи кнопочки Read Probe Data File. Программа сразу начнёт пересчёт, о чём нам скажет сообщение в нижней части окна. Воооот.... Теперь можно загружать в G-code ripper любую программу обработки, но помимо основной задачи для инструмента обязательно вместе с прямоугольником, периметром заготовки. После загрузки траектории, загружаете 03_probedata.txt, происходит пересчёт траектории, сохраняете пересчитанную траекторию. Загружаете в NcStudio, симулируете, работаете.

Да, это не волшебная кнопка. Но на моих работах это существенно экономит время, инструмент, материал, нервы.

Мечты..
Тут я вижу несколько путей для совершенствования процесса в сторону автоматизации некоторых действий:
1. Микрометр имеет цифровой интерфейс, это позволяет подключить его напрямую к компьютеру. В сети есть информация по поводу этого.
2. Рисование периметра заготовки и подготовка программы "пустышки" для первоначальной стадии, загрузка в G-code ripper, генерация файла Probe_only, его редактура - всё это можно провернуть скриптом в CorelDraw. Что и стоит в моих планах на ... новогодние каникулы.

Продолжение следует..
MaksSavchuk
Опытный
Сообщения: 156
Зарегистрирован: 17 май 2019, 09:56
Репутация: 13
Настоящее имя: Максим Савчук
Контактная информация:

Re: Об учёте кривизны плоскости заготовки в работе с ЧПУ

Сообщение MaksSavchuk »

сразу видно человека с устойчивой психикой ;) 72 точки вручную это мощно!
calabr
Мастер
Сообщения: 937
Зарегистрирован: 04 янв 2019, 15:19
Репутация: 146
Настоящее имя: Calabr
Откуда: Киев
Контактная информация:

Re: Об учёте кривизны плоскости заготовки в работе с ЧПУ

Сообщение calabr »

А почему не использовать для этого сканирование по Z при помощи проба?
Как это белают рои гравировке печатных плат. Потом сендер сам наложит результат сканирования на программу.
MaksSavchuk
Опытный
Сообщения: 156
Зарегистрирован: 17 май 2019, 09:56
Репутация: 13
Настоящее имя: Максим Савчук
Контактная информация:

Re: Об учёте кривизны плоскости заготовки в работе с ЧПУ

Сообщение MaksSavchuk »

calabr писал(а):А почему не использовать для этого сканирование по Z при помощи проба?
Осталось выяснить умеет ли в принципе ncstudio писать данные от датчика в файл. А так даже примотать первый попавшийся микрик изолентой к шпинделю однако быстрее будет, чем руками 72 точки обмерять и забивать в файл
lkbyysq
Мастер
Сообщения: 2015
Зарегистрирован: 14 май 2016, 09:40
Репутация: 316
Настоящее имя: Станислав Ерофеев
Откуда: Санкт-Петербург

Re: Об учёте кривизны плоскости заготовки в работе с ЧПУ

Сообщение lkbyysq »

1. Восьмая NC умеет выводить в строку сообщений значение координаты. В PROGRAMMING MANUAL и Public.dat можно найти.
M801 MSG"|M|{#CURMACHPOS.Z}"
Можно не пользоваться индикатором. Можно просто кнопку использовать или по касанию к металлическому листу (см. "мобильный калибратор" в Public.dat).

2. Любая NC умеет писать в файл логов значение координаты.
M801 "func//:_OnLogPos?arg1=XYZ".
Можно все координаты разом, можно любую.
Отсюда. Можно не писать ручками. Надо только из логов достать.

3. При использовании указанных команд нельзя не выполнять внутреннюю синхронизацию энцехи.
G04 P200
G906
Примеры использования в Public.dat.
Последний раз редактировалось lkbyysq 29 окт 2019, 07:22, всего редактировалось 2 раза.
lkbyysq
Мастер
Сообщения: 2015
Зарегистрирован: 14 май 2016, 09:40
Репутация: 316
Настоящее имя: Станислав Ерофеев
Откуда: Санкт-Петербург

Re: Об учёте кривизны плоскости заготовки в работе с ЧПУ

Сообщение lkbyysq »

TurtleFly писал(а):2. Рисование периметра заготовки и подготовка программы "пустышки" для первоначальной стадии, загрузка в G-code ripper, генерация файла Probe_only, его редактура - всё это можно провернуть скриптом в CorelDraw. Что и стоит в моих планах на ... новогодние каникулы.
Каникулы могут оказаться слишком короткими.)))
Я все делаю из корела. И подготавливаю УП сканирования, и анализирую, и делаю УП с учетом полученной кривизны. Считываю координаты несколько иначе (про "_OnLogPos" просто не знал тогда), но это уже из области хакинга.
Дерзайте, мож у Вас Продукт получится.
У меня Свободно Распространяемый Продукт не получился. По нескольким причинам.)
TurtleFly
Новичок
Сообщения: 3
Зарегистрирован: 28 окт 2019, 20:02
Репутация: 1
Настоящее имя: Александр
Контактная информация:

Re: Об учёте кривизны плоскости заготовки в работе с ЧПУ

Сообщение TurtleFly »

calabr писал(а):А почему не использовать для этого сканирование по Z при помощи проба?
Как это белают рои гравировке печатных плат. Потом сендер сам наложит результат сканирования на программу.
Возможно, я смогу ответить на Ваш вопрос. Но, только если Вы расшифруете упомянутые "проба" и "сендер" или дадите ссылку на упомянутую технологию.
calabr
Мастер
Сообщения: 937
Зарегистрирован: 04 янв 2019, 15:19
Репутация: 146
Настоящее имя: Calabr
Откуда: Киев
Контактная информация:

Re: Об учёте кривизны плоскости заготовки в работе с ЧПУ

Сообщение calabr »

TurtleFly писал(а): если расшифруете упомянутые "проба" и "сендер" или дадите ссылку на упомянутую технологию.
Z-probe - датчик касания. Используется для коррекции длинны инструменра. В простейшем случае пара контактов на замыкание, например щуп в шпинделе и поверхность заготовки
Сендер - программа, отправляющая G-код на исполнение контроллеру станка.

Например тут. Re: Гравировка печатных плат в подробностях #5
Ближе к концу поста
TurtleFly
Новичок
Сообщения: 3
Зарегистрирован: 28 окт 2019, 20:02
Репутация: 1
Настоящее имя: Александр
Контактная информация:

Re: Об учёте кривизны плоскости заготовки в работе с ЧПУ

Сообщение TurtleFly »

calabr писал(а): Z-probe - датчик касания. Используется для коррекции длинны инструменра. В простейшем случае пара контактов на замыкание, например щуп в шпинделе и поверхность заготовки
Сендер - программа, отправляющая G-код на исполнение контроллеру станка.

Например тут. Re: Гравировка печатных плат в подробностях #5
Ближе к концу поста
Аха, почитал, вроде понял. Спасибо за наводку. Есть теперь о чём подумать, о переменных в G-коде например. =)
Ответить

Вернуться в «Прочие вопросы Windows»