Кошик

Зараз у компанії неробочий час. Замовлення та повідомлення будуть оброблені з 09:00 найближчого робочого дня (11.11).

+380 (98) 946-94-43
Telegram, Viber

Короткий посібник з G-Code. Кругова інтерполяція G02 та G03.

Короткий посібник з G-Code. Кругова інтерполяція G02 та G03.

Короткий посібник з G-Code. Кругова інтерполяція G02 та G03.

 

Кругова інтерполяція G02 та G03 – це рух по круговій дузі

Закінчивши обговорення лінійної інтерполяції або руху по прямій лінії, ми переходимо до кругової інтерполяції G02 і G03, яка є рухом по дузі кола. За винятком досить екзотичної здатності слідувати «NURBS-шляху», більшість контролерів G-коду підтримують лише два види руху: лінійне та кругове. Кругова інтерполяція на вашому верстаті трохи складніша, тому що дві осі повинні бути точно узгоджені. Малювання повного кола включає як скоординований рух, а й зміна напрями у кожної з чотирьох точок квадранта. Це будуть точки, що відповідають 0, 90, 180 та 270 градусам. Якщо верстат взагалі має люфт, він буде очевидний при цих розворотах, тому що там буде збій у розрізі.

Круговий рух — це режим, який ініціюється через G02 та G03

Як і лінійний рух (ініційований G00 та G01), круговий рух – це режим, ініційований через G02 та G03. G02 встановлює режим для дуг кола за годинниковою стрілкою. G03 встановлює режим для дуг кола проти годинникової стрілки.

G02 и G03

G02 та G03

Визначення дуги для контролера ЧПУ

Після того, як встановлений режим G02 або G03, дуги визначаються в коді G шляхом ідентифікації двох кінцевих точок і центру, який повинен бути рівновіддаленим від кожної кінцевої точки, в іншому випадку виникне аварійний сигнал.

Визначення центру через відносні усунення IJK

Центр найчастіше ідентифікується за допомогою I, J або K для визначення відносного зміщення від початкової точки дуги до центру. Ось типова дуга за годинниковою стрілкою:

G02 и G03  Определение центра дуги с помощью IJK

Визначення центру дуги за допомогою IJK

Літери I та J вказують відносні координати від початкової точки до центру. Іншими словами, якщо ми додамо значення I до X початкової точки та значення J до Y початкової точки, ми отримаємо X та Y для центру.

Визначення центру через радіус за допомогою R

Ми можемо також визначити центр, просто вказавши радіус кола. Допустимо радіус нашого кола дорівнює 2, тому g-код може бути простим:

G02

X2Y0 R2

Багато хто з вас прямо тут і зараз вирішать, що оскільки R простіше для розуміння і коротше для написання, ви просто збираєтеся використовувати R і забути про IJK. Але фахівці ЧПУ обробки радять використовувати команди IJK. Їх аргумент у тому, що, використовуючи IJK, ви двічі перевіряєте правильність дуги.

Чому?

Тому що контролер може визначити фактичний набір координат для центру через IJK. Отримавши координати центру, може перевірити, що він однаково віддалений від обох кінцевих точок. Перевірка кожної з цих двох відстаней – це подвійна перевірка. У разі формату "R" контролер не має такої подвійної перевірки. Він повинен вибрати центр, який гарантує однакову відстань.

Особисто я не знаю, чи я згоден з інструкторами ЧПУ в тому, що це забезпечує додаткову перевірку чи ні. Я кажу, що використовуйте той підхід, який має сенс у вашій конкретній ситуації, але ви напевно повинні бути знайомі з обома. У будь-якому випадку вам потрібно буде звикнути до відносних координат, оскільки вони страшенно зручні.

Варіанти синтаксису Arc для різних діалектів та режимів G-коду

Це ще одне з тих місць, де відбувається багато незрозумілих речей, наприклад, що робитиме ваш контролер. Зазвичай передбачається, що якщо у вас є IJK, і R в одному блоці, R має пріоритет, а IJK ігнорується. Але є контролери, які працюють не так, тому переконайтеся, що ви знаєте, що відбувається.

Існує кілька параметрів, які визначають, як працюють дуги.

Давайте розглянемо ці варіанти:

— Інкрементальний проти абсолютного IJK: ми обговорювали IJK як подання координат щодо початкової точки для центру. Додайте I до X, J до Y та K до Z початкової точки, і ви отримаєте центр. Багато елементів управління також можуть використовувати IJK як абсолютні координати центру.

-  Модальні центри IJK: коли IJK є абсолютними координатами центру, деякі контролери запам'ятовують останній певний центр, тому в цьому випадку IJK є модальним. При використанні такого налаштування керування можна просто продовжувати вводити команди XYZ для дуг без необхідності кожного разу визначати новий центр. Однак не ясно, що ви заощадите багато — як часто ви хочете робити кілька дуг з одним центром?

—  Модальні центри R : Ще один різновид ідеї модального центру полягає в тому, щоб дозволити радіусу, визначеному буквою «R», бути модальним. Яким би не був останній використаний R, контролер запам'ятовує і використовує це значення, якщо R не задано. Це здається кориснішим, ніж модальний IJK. Наприклад, у кишені можуть бути дуги для кутів однакового радіусу.

— Пріоритет R: як уже згадувалося, більшість контролерів використовуватимуть «R», якщо «R» та «IJK» вказані в одному блоці. Н

- Helical Interp. : Ця опція визначає, чи дозволяє ваш контролер спіральну інтерполяцію

Найбільш поширена проблема при настроюванні постпроцесора CAM або симулятора ЧПУ: абсолютний та відносний IJK

У всіх нас був досвід, коли ми дивилися на симуляцію проходів (або, що ще гірше, бачили його в реальному русі інструменту, що досить лякає), і бачили гігантські майже повні кола без будь-яких ознак знайомих рухів деталей, які ми очікували побачити . Ось типовий приклад:

Неверные настройки постпроцессора для дуг

Неправильні налаштування постпроцесора для дуг

Якщо ви бачите такі речі, перше, що потрібно перевірити, це абсолютний IJK в порівнянні з відносним IJK для дуг. Налаштування повинно відповідати тим, що видає CAM, і тим, що отримує контролер або симулятор.

Дроби кола, квадранти та регулятори

Перше, що потрібно знати про дугу, це те, що неможливо вказати дугу понад 360 градусів. У деяких контролерах для спіральної інтерполяції є деякі винятки (див. нижче) просто тому, що це може бути корисним для спіралей. Якщо потрібно повне коло, встановіть початкову та кінцеву точки рівними один одному:

G01 X3.25 Y2.0

G02 X3.25 Y2.0 I-1.25 J0

Цікаво, що ви не можете вказати повне коло за допомогою "R". Це пов'язано з тим, що існує нескінченна кількість кіл, які починаються і закінчуються в одній точці певного радіусу, тому контролер не знає, яке коло може бути правильним.

Є ще більш кумедний нюанс з «R» і більшими дугами. Наприклад, дуга все ще може мати певний радіус за годинниковою стрілкою (або проти годинникової стрілки), але центр буде різним, якщо ви переміщуєтеся більш ніж на 90 градусів. Наприклад:

Если R отрицательно, путь будет длиннее (желтым) Позитив получает более короткий путь

Якщо R негативно, шлях буде довшим (жовтим).

Враховуючи два показані варіанти, контролер вибирає шлях на основі знака радіусу. Негативне отримує довшу дугу, позитивне - коротше. Негативний знак змушує контролер шукати дугу понад 180 градусів.

Деякі контролери ще більш чутливі і не програмуватимуть дугу, що перетинає лінію квадранта. Отже, найбільший кут, яким може слідувати дуга, становить 90 градусів, і цей кут не повинен перетинати 0, 90, 180 або 270 градусів. Кути 90 градусів, що перетинають лінію квадранта, повинні бути розбиті на дві частини, причому з'єднання між частинами має бути прямо на лінії квадранта.

Повні кола без XYZ

Повні кола з'являються, коли початкова та кінцева точки ідентичні, а центр вказаний через IJK (пам'ятайте, що R веде до нескінченної кількості кіл). Враховуючи, що ви хочете, щоб початкова та кінцева точки були однаковими, можливо, вам не доведеться турбуватися навіть про вказівку кінцевої точки за допомогою XYZ. Деяким контролерам це може знадобитися, але більшості ні. Ось проста програма з g-кодом, яка таким чином створює 3 кола:

N45 G0 X-2. Y.75

N46 G1 Z-5 F10.

N47 Y5 F30. S2000

N48 G2 J-1.1

N49 G1 Y.75

N50 Z.2

N51 G0 X.75 Y-3.4

N52 G1 Z-5 F10.

N53 X.5 F30.

N54 G2 I-1.1

N55 X.75

N56 Z.2

N57 G0 X-4.75 Y-3.4

N58 G1 Z-5 F10.

N59 X-4.5F30.

N60 G2 I1.1

N61 G1 X-4.75

N62 Z.2

А ось як виглядає візуалізація:

визуализация кода полных дуг без xyz

Візуалізація коду повних дуг без xyz

Порада зі спрощення програмування дуги: почніть із сегментів

Коли я прокладаю траєкторію інструменту, я волію залишати дуги насамкінець. Замість кожної дуги я просто розміщую відрізок лінії, кінцеві точки якого відповідають кінцевим точкам дуги. Це дозволяє швидко зібрати грубий малюнок траєкторії інструменту, і часто здається, що легше повернутися і перетворити лінії на дуги, коли базова структура вже встановлена.

Спіральна інтерполяція

Спіраль - це дуга, яка безперервно рухається в третьому вимірі, як гвинтове різьблення. При гвинтовій інтерполяції ми вказуємо таку дугу за допомогою G02/G03 щоб різець переміщався по спіралі. Це може бути зроблено для фрезерування різьблення, інтерполяції отвору або для багатьох інших цілей. Ось діаграма з програми різьблення 1/4 ″ NPT:

Спираль для нарезания резьбы

Спіраль для нарізування різьблення

Ось приклад коду програми фрезерування різьблення:

G01 G91 Z-0.6533 F100.

G01 G42 D08 X0.0235 Y-0.0939 F10.

G03 X0.0939 Y0.0939 Z0.0179 R0.0939

G03 X-0.1179 Y0.1179 Z0.0179 R0.1179

G03 X-0.1185 Y-0.1185 Z0.0179 R0.1185

G03 X0.1191 Y-0.1191 Z0.0179 R0.1191 F16.

G03 X0.1196 Y0.1196 Z0.0179 R0.1196

G03 X-0.1202 Y0.1202 Z0.0179 R0.1202 F26.

G03 X-0.1207 Y-0.1207 Z0.0179 R0.1207

G03 X0.1213 Y-0.1213 Z0.0179 R0.1213

G03 X0.1218 Y0.1218 Z0.0179 R0.1218

G03 X-0.0975 Y0.0975 Z0.0179 R0 0,0975

Це формат "R" (радіус) для дуг, і зверніть увагу, що є координата Z, щоб вказати зміну глибини кінцевої точки кожної дуги. У цьому коді використовується відносний рух (G91), тому кожен Z0.0179 переміщує фрезу на 0,0179 дюйма глибше.

Ми повернемось до різьбофрезування більш докладно в наступному розділі, повністю присвяченому цій темі. А поки що ми просто хотіли, щоб ви познайомилися з ідеєю створення спіралей, а також плоских двовимірних дуг.

Створення траєкторій руху інструмента сподобається вашій машині

Щоразу, коли різак змінює напрямок, він додає певну напругу. Різак врізатиметься в матеріал більше або менше, ніж був, залежно від того, чи змінюється напрямок на заготівлю (або нерозрізаний матеріал) або від неї. Ваша машина буде набагато щасливішою, якщо ви запрограмуєте дугу, а не різку зміну напряму по прямій. Навіть дуга з дуже маленьким радіусом дозволить контролеру уникнути миттєвої зміни напряму, що може залишити слід на поверхні у кращому випадку та викликати вібрацію чи інші проблеми у гіршому випадку. Для невеликих змін напрямку це може не мати сенсу. Але чим різкіша зміна, тим більша ймовірність, що вам слід використовувати дугу для полегшення повороту.

 

Наскільки вам зручно на сайті?

Розповісти Feedback form banner