Перейти до основного вмісту

Сумісність прошивки

Ця сторінка документує сумісність прошивки для лазерних контролерів, що використовуються з Rayforge.

Огляд​

Rayforge розроблений переважно для контролерів на базі GRBL, але також підтримує Marlin, Smoothieware та інші типи прошивок.

Матриця сумісності​

ПрошивкаВерсіяСтатусДрайверПримітки
GRBL1.1+Повністю підтримуєтьсяGRBL Serial / GRBL Serial SimpleРекомендується
grblHAL2023+СуміснийGRBL Serial / GRBL TelnetСучасний форк GRBL
GRBL0.9ОбмеженийGRBL SerialСтаріший, можуть бути проблеми
SmoothiewareВсіСуміснийSmoothieDriver (Telnet)На базі мережі
Marlin2.0+СуміснийMarlin SerialПотрібен режим лазера
ESP3DВсіСуміснийGRBL TelnetНа базі мережі
OctoPrintВсіЕкспериментальнийOctoPrintДив. примітки нижче
Інші-Не підтримується-Запросіть підтримку

Прошивка GRBL​

Статус: Повністю підтримується Версії: 1.1+ Драйвери: GRBL Serial, GRBL Serial Simple

GRBL 1.1 (Рекомендовано)​

Що таке GRBL 1.1?

GRBL 1.1 - це найпоширеніша прошивка для хобі CNC та лазерних машин. Випущена у 2017 році, вона стабільна, добре документована та широко підтримується.

Функції, що підтримуються Rayforge:

  • Послідовний зв'язок (USB)
  • Звітність статусу в реальному часі
  • Режим лазера (M4 постійна потужність)
  • Читання/запис налаштувань ($$, $X=value)
  • Цикли homing ($H)
  • Робочі системи координат (G54)
  • Команди переміщення ($J=)
  • Перевизначення швидкості подачі
  • Програмні обмеження
  • Апаратні обмеження (ендстопи)

Відомі обмеження:

  • Діапазон потужності: 0-1000 (параметр S)
  • Немає мережевого підключення (тільки USB)
  • Обмежена бортова пам'ять (малий буфер G-code)

Перевірка версії GRBL​

Запит версії:

Підключіться до вашого контролера та надішліть:

$I

Приклади відповіді:

[VER:1.1h.20190825:]
[OPT:V,15,128]
  • 1.1h = версія GRBL 1.1h
  • Дата вказує збірку

GRBL 0.9 (Старіший)​

Статус: Обмежена підтримка

GRBL 0.9 - це старіша версія з деякими проблемами сумісності:

Відмінності:

  • Інший формат звіту про статус
  • Немає режиму лазера (M4) - використовує тільки M3
  • Менше налаштувань
  • Інший синтаксис переміщення

Якщо у вас GRBL 0.9:

  1. Оновіть до GRBL 1.1 якщо можливо (рекомендується)
  2. Використовуйте M3 замість M4 (менш передбачувана потужність)
  3. Ретельно тестуйте - деякі функції можуть не працювати

Інструкції з оновлення: Див. GRBL Wiki

Драйвер GRBL Serial Simple​

Rayforge включає другий послідовний драйвер GRBL для пристроїв, де стандартний драйвер з підрахунком буфера викликає помилкові спрацьовування або помилки зв'язку.

Як це працює:

  • Використовує протокол ping-pong: надіслати один рядок, дочекатися "ok", надіслати наступний
  • Без керування буфером шляхом підрахунку символів
  • Без виявлення взаємоблокування або відновлення після зупинки
  • Простіший та більш передбачуваний на деяких пристроях

Коли використовувати:

  • Ваш пристрій отримує помилкові спрацьовування блокування буфера зі стандартним драйвером
  • Помилки зв'язку виникають час від часу зі стандартним драйвером
  • У вас пристрій з незвичною поведінкою буфера

Коли НЕ використовувати:

  • Стандартний драйвер GRBL Serial надійно працює на більшості пристроїв
  • Простий драйвер не має відновлення після взаємоблокування, тому завдання можуть зупинятися при втраченій відповіді "ok" без автоматичного відновлення

grblHAL​

Статус: Сумісний Версії: 2023+ Драйвер: GRBL Serial

Що таке grblHAL?​

grblHAL - це сучасний форк GRBL з розширеними функціями:

  • Підтримка різного обладнання контролерів (STM32, ESP32 тощо.)
  • Ethernet/WiFi мережа
  • Підтримка SD-карт
  • Більше I/O пінів
  • Розширена підтримка лазера

Сумісність з Rayforge:

  • Повністю сумісний - grblHAL підтримує протокол GRBL 1.1
  • Всі функції GRBL працюють
  • Додаткові функції (мережа, SD) ще не підтримуються Rayforge
  • Звітність статусу ідентична GRBL

Використання grblHAL:

  1. Виберіть драйвер "GRBL Serial" в Rayforge
  2. Підключіться через USB послідовний порт (як GRBL)
  3. Всі функції працюють як документовано для GRBL

Майбутнє: Rayforge може додати підтримку специфічних функцій grblHAL (мережа тощо.)


Драйвер GRBL Telnet​

Статус: Підтримується Прошивка: grblHAL, ESP3D та інші мережеві GRBL контролери Драйвер: GRBL Telnet

Про драйвер GRBL Telnet​

Драйвер GRBL Telnet підключається до GRBL-контролерів через мережу через інтерфейс Telnet. Це ідеально для плат із вбудованим WiFi або Ethernet — USB-кабель не потрібен.

Функції:

  • Мережеве підключення (Ethernet/WiFi)
  • Сумісний з платами на базі grblHAL та ESP3D
  • Той самий протокол GRBL, що й у послідовного драйвера

Використання драйвера GRBL Telnet:

  1. Налаштуйте мережу на вашому контролері (WiFi або Ethernet)
  2. Виберіть "GRBL Telnet" у налаштуваннях машини
  3. Введіть IP-адресу та порт вашого контролера
  4. Підключіться — драйвер спілкується через Telnet

Вимоги:

  • Мережевий GRBL-сумісний контролер (grblHAL, ESP3D тощо)
  • Контролер і комп'ютер в одній мережі
  • Інтерфейс Telnet увімкнено на контролері

Smoothieware​

Драйвер: GRBL Serial (режим сумісності)

Примітки до сумісності​

Smoothieware використовує інший синтаксис G-code:

Ключові відмінності:

ФункціяGRBLSmoothieware
Лазер увімкM4 S<значення>M3 S<значення>
Діапазон потужності0-10000.0-1.0 (float)
Статус<...> форматІнший формат

Використання Smoothieware з Rayforge:

  1. Виберіть діалект Smoothieware в налаштуваннях машини > G-code > Діалект
  2. Тестуйте з низькою потужністю спочатку
  3. Перевірте діапазон потужності відповідає вашій конфігурації
  4. Немає статусу в реальному часі - обмежений зворотний зв'язок

Обмеження:

  • Звітність статусу не повністю сумісна
  • Масштабування потужності може відрізнятися
  • Налаштування ($$ команди) не підтримуються
  • Не тестувалося на реальному обладнанні

Рекомендація: Якщо можливо, використовуйте сумісну з GRBL прошивку натомість.


Marlin​

Версії: 2.0+ з підтримкою лазера Драйвер: Marlin Serial

Драйвер Marlin Serial​

Rayforge включає виділений MarlinSerialDriver, який підключається до прошивки Marlin через послідовний порт (USB). Marlin 2.0+ може керувати лазерами при належному налаштуванні.

Можливості:

  • Послідовне з'єднання (USB)
  • Протокол рукостискання Marlin (очікує повідомлення "start")
  • Потокове передавання G-code рядок за рядком з підтвердженням ok
  • Опитування позиції M114
  • Виконання завдань з детальним звітуванням про прогрес
  • Домівка (G28), джогінг, переміщення, зміна інструменту (T)
  • Встановлення зміщення WCS (G10 L2 P)
  • Керування потужністю лазера через діалект Marlin
  • Скасування через M410 (Quick Stop)
  • Автоконфігурація (запити M115, M211, M503)

Вимоги:

  1. Прошивка Marlin 2.0 або пізніша
  2. Функції лазера увімкнено:
    #define LASER_FEATURE
    #define LASER_POWER_INLINE
  3. Правильний діапазон потужності налаштовано:
    #define SPEED_POWER_MAX 1000

Використання Marlin з Rayforge:

  1. Виберіть драйвер "Marlin (Serial)" в налаштуваннях машини
  2. Встановіть послідовний порт і швидкість передачі (зазвичай 115200)
  3. Виберіть діалект Marlin в налаштуваннях машини > G-code > Діалект
  4. Налаштуйте Marlin для використання лазера
  5. Перевірте діапазон потужності (0-1000 або 0-255)

Обмеження:

  • Експериментальний — відгуки вітаються
  • Читання/запис налаштувань (як $$ у GRBL) не підтримується
  • Немає мережевого підключення (тільки USB)

Посібник з оновлення прошивки​

Оновлення до GRBL 1.1​

Чому оновлювати?

  • Режим лазера (M4) для постійної потужності
  • Краща звітність статусу
  • Більш надійний
  • Краща підтримка Rayforge

Як оновити:

  1. Ідентифікуйте вашу плату контролера:

    • Arduino Nano/Uno (ATmega328P)
    • Arduino Mega (ATmega2560)
    • Власна плата
  2. Завантажте GRBL 1.1:

    • GRBL Releases
    • Отримайте останню версію 1.1 (1.1h рекомендується)
  3. Прошийте прошивку:

    Використовуючи Arduino IDE:

    1. Встановіть Arduino IDE
    2. Відкрийте скетч GRBL (grbl.ino)
    3. Виберіть правильну плату та порт
    4. Завантажте

    Використовуючи avrdude:

    avrdude -c arduino -p m328p -P /dev/ttyUSB0 \
    -U flash:w:grbl.hex:i
  4. Налаштуйте GRBL:

    • Підключіться через послідовний порт
    • Надішліть $$ щоб переглянути налаштування
    • Налаштуйте для вашої машини

Резервне копіювання перед оновленням​

Збережіть ваші налаштування:

  1. Підключіться до контролера
  2. Надішліть команду $$
  3. Скопіюйте весь вивід налаштувань
  4. Збережіть у файл

Після оновлення:

  • Відновіть налаштування по одному: $0=10, $1=25 тощо.
  • Або використовуйте значення за замовчуванням та переналаштуйте

Апаратне забезпечення контролера​

Поширені контролери​

ПлатаТипова прошивкаПідтримка Rayforge
Arduino CNC ShieldGRBL 1.1Відмінна
MKS DLC32grblHALВідмінна
RuidaВласнаЕкспериментальна
OctoPrint (Pi)РізнаЕкспериментальна

Рекомендовані контролери​

Для найкращої сумісності з Rayforge:

  1. Arduino Nano + CNC Shield (GRBL 1.1)

    • Дешево (~$10-20)
    • Легко прошивати
    • Добре документовано
  2. MKS DLC32 (grblHAL)

    • Сучасний (на базі ESP32)
    • WiFi здатний
    • Активна розробка
  3. Власні плати GRBL

    • Багато доступно на маркетплейсах
    • Перевірте підтримку GRBL 1.1+

Конфігурація прошивки​

Налаштування GRBL для лазера​

Основні налаштування:

$30=1000 ; Макс. потужність шпинделя/лазера (1000 = 100%)
$31=0 ; Мін. потужність шпинделя/лазера
$32=1 ; Режим лазера увімкнено (1 = увімк)

Налаштування машини:

$100=80 ; Кроків/мм X (відкалібруйте для вашої машини)
$101=80 ; Кроків/мм Y
$110=3000 ; Макс. швидкість X (мм/хв)
$111=3000 ; Макс. швидкість Y
$120=100 ; Прискорення X (мм/сек)
$121=100 ; Прискорення Y
$130=300 ; Макс. хід X (мм)
$131=200 ; Макс. хід Y (мм)

Налаштування безпеки:

$20=1 ; Програмні обмеження увімкнено
$21=1 ; Апаратні обмеження увімкнено (якщо є ендстопи)
$22=1 ; Homing увімкнено

Тестування прошивки​

Базова послідовність тестування:

  1. Тест підключення:

    Надіслати: ?
    Очікувати: &lt;Idle|...&gt;
  2. Перевірка версії:

    Надіслати: $I
    Очікувати: [VER:1.1...]
  3. Перевірка налаштувань:

    Надіслати: $$
    Очікувати: $0=..., $1=..., etc.
  4. Тест руху:

    Надіслати: G91 G0 X10
    Очікувати: Машина переміщується на 10мм по X
  5. Тест лазера (дуже низька потужність):

    Надіслати: M4 S10
    Очікувати: Лазер вмикається (тьмяно)
    Надіслати: M5
    Очікувати: Лазер вимикається

Виправлення проблем прошивки​

Прошивка не відповідає​

Симптоми:

  • Немає відповіді на команди
  • Збій підключення
  • Статус не повідомляється

Діагностика:

  1. Перевірте швидкість передачі:

    • GRBL 1.1 за замовчуванням: 115200
    • GRBL 0.9: 9600
    • Спробуйте обидва
  2. Перевірте USB-кабель:

    • Кабель для даних, не тільки для зарядки
    • Замініть на відомий робочий кабель
  3. Перевірте порт:

    • Linux: /dev/ttyUSB0 або /dev/ttyACM0
    • Windows: COM3, COM4 тощо.
    • Правильний порт вибрано в Rayforge
  4. Протестуйте терміналом:

    • Використовуйте screen, minicom або PuTTY
    • Надішліть ? і перевірте, чи отримаєте відповідь

Збої прошивки​

Симптоми:

  • Контролер зависає під час завдання
  • Випадкові відключення
  • Нестабільна поведінка

Можливі причини:

  1. Переповнення буфера - Файл G-code занадто складний
  2. Електричні перешкоди - Погане заземлення або EMI
  3. Баг прошивки - Оновіть до останньої версії
  4. Апаратна проблема - Несправний контролер

Рішення:

  • Оновіть прошивку до останньої стабільної версії
  • Спростіть G-code (зменшіть точність, менше сегментів)
  • Додайте феритові намистини на USB-кабель
  • Покращте заземлення та маршрутизацію кабелів

Неправильна прошивка​

Симптоми:

  • Команди відхиляються
  • Несподівана поведінка
  • Повідомлення про помилки

Рішення:

  1. Запит версії прошивки: $I
  2. Порівняйте з очікуваннями Rayforge
  3. Оновіть або виберіть правильний діалект

Контролери Ruida​

Rayforge з'єднується з контролерами на базі Ruida (напр. RDC6442, RDC6445, Ruida R5) через драйвер Ruida RPA, який спілкується рідним протоколом контролера через USB або UDP, або через TUI RPC за допомогою Ruida Protocol Analyzer. Профілі пристроїв Generic Ruida RPA та Monport MP-570 60W CO2 дають початкові точки для нових машин.

Функції:

  • Підключення USB та UDP; коли налаштовано обидва, Rayforge автоматично перемикається між ними, коли кабелі під'єднуються та від'єднуються
  • Надсилання завдань зі звітністю позиції, джогінгом, хоумінгом та Переходом до позиції
  • Рамкування відстежує контур завдання абсолютними переміщеннями з вимкненим променем, тому працює без вмикання лазера
  • Враховує налаштування Power Mode кожного кроку: Dynamic вмикає масштабування потужності контролера, Constant вимикає його
  • Послідовні порти можна прив'язати з випадаючого списку USB-пристроїв із зіставленням VID:PID, тож автопідключення слідкує за машиною після того, як ОС перенумеровує USB-пристрої

Налаштування потужності:

  • Power scaling — підвищує мінімальну потужність, що видається, коли швидкість різу шару знижується
  • VECTOR power floor — мінімальна потужність для компенсації векторного різу під час прискорення та уповільнення, зменшуючи перегорання на кінцях ліній
  • IMAGE power bias — потужність, що додається до растрових рядків сканування, оскільки CO2-трубки не запалюються за дуже малої потужності

Обмеження:

  • Експериментально — досі перевірено на контролері RDC6442S (Monport MP570 CO2)
  • Без генерації G-code; Ruida використовує власний пропрієтарний протокол
  • Ротаційний режим ще не підтримується

Експериментальні драйвери​

OctoPrint​

Rayforge включає експериментальний драйвер OctoPrint, який надсилає G-code безпосередньо на сервер OctoPrint через мережу. Це корисно, якщо ваш лазер підключений до Raspberry Pi або іншого комп'ютера з OctoPrint.

Функції:

  • Підключення через WebSocket для оновлення статусу в реальному часі
  • Резервне опитування REST коли WebSocket недоступний
  • Автоматичне перепідключення при втраті з'єднання
  • Надсилання завдань з автоматичним запуском друку
  • Джогінг, homing та керування паузою/продовженням
  • Потік "Запит доступу" для ключів додатків OctoPrint

Використання драйвера OctoPrint:

  1. Виберіть драйвер "OctoPrint" у налаштуваннях машини
  2. Введіть ім'я хоста або IP-адресу вашого сервера OctoPrint
  3. Встановіть порт (за замовчуванням: 80)
  4. Натисніть "Запит доступу" щоб отримати API-ключ через систему ключів додатків OctoPrint
  5. Підключіться — Rayforge встановить з'єднання WebSocket

Обмеження:

  • Експериментально і не тестувалося на реальному обладнанні — відгуки вітаються
  • Неможливо читати або записувати налаштування прошивки через OctoPrint
  • Результати зондування не повідомляються OctoPrint
  • Читання зсувів WCS не підтримується

Інші запитані функції​

Користувачі просили підтримку:

  • Trocen/AWC - Комерційні лазерні контролери
  • ESP32 WiFi - Мережеве підключення для grblHAL
  • Laser API - Прямий API машини (без G-code)

Статус: Наразі не підтримується. Запити на функції вітаються на GitHub.

Внесок​

Щоб додати підтримку прошивки:

  1. Реалізуйте драйвер у rayforge/machine/driver/
  2. Визначте діалект G-code у rayforge/machine/models/dialect.py
  3. Ретельно протестуйте на реальному обладнанні
  4. Надішліть pull request з документацією

Пов'язані сторінки​