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

Остальные вопросы по работе с операционной системой Windows

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

Сообщение TurtleFly » 28 окт 2019, 20:29

Делюсь позитивным опытом измерения кривизны плоскости заготовки и учёта измерений в подготовке 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

Об учёте кривизны плоскости заготовки в работе с ЧПУ 1artcam.jpg
Подготовка траектории по периметру заготовки


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

Об учёте кривизны плоскости заготовки в работе с ЧПУ 2gcoderipper.jpg
Настройка 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. Едем дальше и повторяем эти действия на всех точках.

Что было и что стало смотрите следующих картинках.

Об учёте кривизны плоскости заготовки в работе с ЧПУ 3notepadpp.jpg
Редактирование G кода


Об учёте кривизны плоскости заготовки в работе с ЧПУ 4ncstudio.jpg
Симуляция программы измерения плоскости листа


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. Что и стоит в моих планах на ... новогодние каникулы.

Продолжение следует..
TurtleFly
Новичок
 
Сообщения: 3
Зарегистрирован: 28 окт 2019, 20:02
Репутация: 1
Настоящее имя: Александр

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

Сообщение MaksSavchuk » 28 окт 2019, 23:10

сразу видно человека с устойчивой психикой ;) 72 точки вручную это мощно!
MaksSavchuk
Кандидат
 
Сообщения: 96
Зарегистрирован: 17 май 2019, 09:56
Репутация: 9
Настоящее имя: Максим Савчук

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

Сообщение calabr » 28 окт 2019, 23:13

А почему не использовать для этого сканирование по Z при помощи проба?
Как это белают рои гравировке печатных плат. Потом сендер сам наложит результат сканирования на программу.
Я хоть и злодей конечно, но нужно быть вежливым злодеем!
Аватара пользователя
calabr
Опытный
 
Сообщения: 108
Зарегистрирован: 04 янв 2019, 15:19
Откуда: Киев
Репутация: 19
Настоящее имя: Calabr

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

Сообщение MaksSavchuk » 29 окт 2019, 03:04

calabr писал(а):А почему не использовать для этого сканирование по Z при помощи проба?

Осталось выяснить умеет ли в принципе ncstudio писать данные от датчика в файл. А так даже примотать первый попавшийся микрик изолентой к шпинделю однако быстрее будет, чем руками 72 точки обмерять и забивать в файл
MaksSavchuk
Кандидат
 
Сообщения: 96
Зарегистрирован: 17 май 2019, 09:56
Репутация: 9
Настоящее имя: Максим Савчук

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

Сообщение lkbyysq » 29 окт 2019, 06:59

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
Мастер
 
Сообщения: 939
Зарегистрирован: 14 май 2016, 09:40
Откуда: Санкт-Петербург
Репутация: 199
Настоящее имя: Станислав Ерофеев

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

Сообщение lkbyysq » 29 окт 2019, 07:10

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


Каникулы могут оказаться слишком короткими.)))
Я все делаю из корела. И подготавливаю УП сканирования, и анализирую, и делаю УП с учетом полученной кривизны. Считываю координаты несколько иначе (про "_OnLogPos" просто не знал тогда), но это уже из области хакинга.
Дерзайте, мож у Вас Продукт получится.
У меня Свободно Распространяемый Продукт не получился. По нескольким причинам.)
lkbyysq
Мастер
 
Сообщения: 939
Зарегистрирован: 14 май 2016, 09:40
Откуда: Санкт-Петербург
Репутация: 199
Настоящее имя: Станислав Ерофеев

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

Сообщение TurtleFly » 29 окт 2019, 21:07

calabr писал(а):А почему не использовать для этого сканирование по Z при помощи проба?
Как это белают рои гравировке печатных плат. Потом сендер сам наложит результат сканирования на программу.

Возможно, я смогу ответить на Ваш вопрос. Но, только если Вы расшифруете упомянутые "проба" и "сендер" или дадите ссылку на упомянутую технологию.
TurtleFly
Новичок
 
Сообщения: 3
Зарегистрирован: 28 окт 2019, 20:02
Репутация: 1
Настоящее имя: Александр

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

Сообщение calabr » 29 окт 2019, 23:07

TurtleFly писал(а): если расшифруете упомянутые "проба" и "сендер" или дадите ссылку на упомянутую технологию.


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

Например тут. Re: Гравировка печатных плат в подробностях #5
Ближе к концу поста
Аватара пользователя
calabr
Опытный
 
Сообщения: 108
Зарегистрирован: 04 янв 2019, 15:19
Откуда: Киев
Репутация: 19
Настоящее имя: Calabr

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

Сообщение TurtleFly » 30 окт 2019, 00:01

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

Например тут. Re: Гравировка печатных плат в подробностях #5
Ближе к концу поста

Аха, почитал, вроде понял. Спасибо за наводку. Есть теперь о чём подумать, о переменных в G-коде например. =)
TurtleFly
Новичок
 
Сообщения: 3
Зарегистрирован: 28 окт 2019, 20:02
Репутация: 1
Настоящее имя: Александр


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

Кто сейчас на конференции

Зарегистрированные пользователи: Alex2x, almaz1c, arkhnchul, Bing [Bot], diamond file, drykov, evgeni70, Google [Bot], Hugo, Il'ya, Kamikadze, Kuzma30, manyakNT, meganom, michalych, mikehv, MSN [Bot], shalek, UAVpilot, Yandex [bot]

cron
Reputation System ©'