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

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

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

Огляд

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

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

ПрошивкаВерсіяСтатусДрайверПримітки
GRBL1.1+Повністю підтримуєтьсяGRBL SerialРекомендується
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 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


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 підключається через мережу і підтримує джогінг, звітність позиції, керування повітряним ассистом, вибір шару, автопідключення та опитування статусу.

Функції:

  • Мережеве підключення (Ethernet/WiFi)
  • Звітність позиції
  • Керування джогінгом
  • Повітряний ассист і вибір шару
  • Підтримка референтних точок

Обмеження:

  • Експериментально — ще не повністю стабільно
  • Без генерації 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 з документацією

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