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