Firmware-Kompatibilität
Diese Seite dokumentiert die Firmware-Kompatibilität für Laser-Controller, die mit Rayforge verwendet werden.
Übersicht
Rayforge ist primär für GRBL-basierte Controller konzipiert, bietet aber auch Unterstützung für Marlin, Smoothieware und andere Firmware-Typen.
Kompatibilitätsmatrix
| Firmware | Version | Status | Treiber | Hinweise |
|---|---|---|---|---|
| GRBL | 1.1+ | Vollständig unterstützt | GRBL Serial | Empfohlen |
| grblHAL | 2023+ | Kompatibel | GRBL Serial / GRBL Telnet | Moderner GRBL-Fork |
| GRBL | 0.9 | Eingeschränkt | GRBL Serial | Älter, kann Probleme haben |
| Smoothieware | Alle | Kompatibel | SmoothieDriver (Telnet) | Netzwerkbasiert |
| Marlin | 2.0+ | Kompatibel | Marlin Serial | Laser-Modus erforderlich |
| ESP3D | Alle | Kompatibel | GRBL Telnet | Netzwerkbasiert |
| OctoPrint | Alle | Experimentell | OctoPrint | Siehe Hinweise unten |
| Andere | - | Nicht unterstützt | - | Support anfordern |
GRBL-Firmware
Status: Vollständig unterstützt Versionen: 1.1+ Treiber: GRBL Serial
GRBL 1.1 (Empfohlen)
Was ist GRBL 1.1?
GRBL 1.1 ist die häufigste Firmware für Hobby-CNC- und Lasermaschinen. Veröffentlicht 2017, ist sie stabil, gut dokumentiert und weit verbreitet.
Von Rayforge unterstützte Funktionen:
- Serielle Kommunikation (USB)
- Echtzeit-Statusberichte
- Laser-Modus (M4 konstante Leistung)
- Einstellungen lesen/schreiben ($$, $X=Wert)
- Referenzfahrten ($H)
- Werkstückkoordinatensysteme (G54)
- Jogging-Befehle ($J=)
- Vorschub-Override
- Software-Endschalter
- Hardware-Endschalter (Endschalter)
Bekannte Einschränkungen:
- Leistungsbereich: 0-1000 (S-Parameter)
- Keine Netzwerkverbindung (nur USB)
- Begrenzter Onboard-Speicher (kleiner G-Code-Puffer)
GRBL-Version überprüfen
Version abfragen:
Verbinde sich mit deinem Controller und sende:
$I
Beispielantworten:
[VER:1.1h.20190825:]
[OPT:V,15,128]
1.1h= GRBL-Version 1.1h- Datum zeigt den Build an
GRBL 0.9 (Älter)
Status: Eingeschränkte Unterstützung
GRBL 0.9 ist eine ältere Version mit einigen Kompatibilitätsproblemen:
Unterschiede:
- Anderes Statusbericht-Format
- Kein Laser-Modus (M4) – verwendet nur M3
- Weniger Einstellungen
- Andere Jogging-Syntax
Wenn du GRBL 0.9 haben:
- Upgrade auf GRBL 1.1 wenn möglich (empfohlen)
- M3 statt M4 verwenden (weniger vorhersagbare Leistung)
- Gründlich testen – einige Funktionen funktionieren möglicherweise nicht
Upgrade-Anleitung: Siehe GRBL Wiki
grblHAL
Status: Kompatibel Versionen: 2023+ Treiber: GRBL Serial
Was ist grblHAL?
grblHAL ist ein moderner Fork von GRBL mit erweiterten Funktionen:
- Unterstützung für mehrere Controller-Hardware (STM32, ESP32 usw.)
- Ethernet/WiFi-Netzwerk
- SD-Karten-Unterstützung
- Mehr I/O-Pins
- Erweiterter Laser-Support
Kompatibilität mit Rayforge:
- Vollständig kompatibel – grblHAL behält das GRBL 1.1-Protokoll bei
- Alle GRBL-Funktionen funktionieren
- Zusätzliche Funktionen (Netzwerk, SD) noch nicht von Rayforge unterstützt
- Statusberichte identisch zu GRBL
Verwendung von grblHAL:
- Wähle "GRBL Serial"-Treiber in Rayforge
- Verbinde über USB-Seriell (genau wie GRBL)
- Alle Funktionen funktionieren wie für GRBL dokumentiert
Zukunft: Rayforge könnte Unterstützung für grblHAL-spezifische Funktionen hinzufügen (Netzwerk usw.)
GRBL-Telnet-Treiber
Status: Unterstützt Firmware: grblHAL, ESP3D und andere GRBL-Netzwerk-Controller Treiber: GRBL Telnet
Über den GRBL-Telnet-Treiber
Der GRBL-Telnet-Treiber verbindet sich über eine Telnet-Schnittstelle über das Netzwerk mit GRBL-basierten Controllern. Ideal für Platinen mit integriertem WiFi oder Ethernet — kein USB-Kabel erforderlich.
Funktionen:
- Netzwerkverbindung (Ethernet/WiFi)
- Kompatibel mit grblHAL- und ESP3D-basierten Platinen
- Gleiches GRBL-Protokoll wie der serielle Treiber
Verwendung des GRBL-Telnet-Treibers:
- Netzwerk konfigurieren auf deinem Controller (WiFi oder Ethernet)
- "GRBL Telnet"-Treiber auswählen in den Maschineneinstellungen
- IP-Adresse und Port deines Controllers eingeben
- Verbinden — der Treiber kommuniziert über Telnet
Voraussetzungen:
- Netzwerkfähiger GRBL-kompatibler Controller (grblHAL, ESP3D usw.)
- Controller und Computer im selben Netzwerk
- Telnet-Schnittstelle auf dem Controller aktiviert
Smoothieware
Treiber: GRBL Serial (Kompatibilitätsmodus)
Kompatibilitätshinweise
Smoothieware verwendet eine andere G-Code-Syntax:
Wichtige Unterschiede:
| Funktion | GRBL | Smoothieware |
|---|---|---|
| Laser ein | M4 S<Wert> | M3 S<Wert> |
| Leistungsbereich | 0-1000 | 0.0-1.0 (Float) |
| Status | <...>-Format | Anderes Format |
Smoothieware mit Rayforge verwenden:
- Smoothieware-Dialekt auswählen in Maschineneinstellungen > G-Code > Dialekt
- Mit geringer Leistung testen zuerst
- Leistungsbereich überprüfen entspricht deiner Konfiguration
- Kein Echtzeit-Status – eingeschränktes Feedback
Einschränkungen:
- Statusberichte nicht vollständig kompatibel Leistungsskalierung kann abweichen
- Einstellungen ($$-Befehle) nicht unterstützt
- Ungetestet auf echter Hardware
Empfehlung: Verwende wenn möglich GRBL-kompatible Firmware.
Marlin
Versionen: 2.0+ mit Laser-Unterstützung Treiber: Marlin Serial
Marlin Serial Treiber
Rayforge enthält einen dedizierten MarlinSerialDriver, der über serielle (USB) Verbindung mit Marlin-Firmware kommuniziert. Marlin 2.0+ kann Laser steuern, wenn richtig konfiguriert.
Funktionen:
- Serielle Kommunikation (USB)
- Marlin-Handshake-Protokoll (wartet auf "start"-Nachricht)
- G-code Streaming Zeile für Zeile mit
ok-Bestätigung - M114 Positionsabfrage
- Job-Ausführung mit granularer Fortschrittsberichterstattung
- Referenzieren (G28), Joggen, Bewegen, Werkzeugwechsel (T)
- WCS-Offset-Einstellung (G10 L2 P)
- Laserleistungssteuerung über den Marlin G-code-Dialekt
- Abbruch via M410 (Quick Stop)
- Auto-Konfiguration (Abfragen von M115, M211, M503)
Anforderungen:
- Marlin 2.0 oder später Firmware
- Laser-Funktionen aktiviert:
#define LASER_FEATURE#define LASER_POWER_INLINE
- Korrekter Leistungsbereich konfiguriert:
#define SPEED_POWER_MAX 1000
Marlin mit Rayforge verwenden:
- "Marlin (Serial)"-Treiber in den Maschineneinstellungen auswählen
- Serielle Schnittstelle und Baudrate einstellen (typischerweise 115200)
- Marlin-Dialekt in Maschineneinstellungen > G-Code > Dialekt auswählen
- Marlin für den Laserbetrieb konfigurieren
- Leistungsbereich testen (0-1000 oder 0-255)
Einschränkungen:
- Experimentell — Rückmeldungen willkommen
- Lesen/Schreiben von Einstellungen (wie GRBLs
$$) nicht unterstützt - Keine Netzwerkverbindung (nur USB)
Firmware-Upgrade-Leitfaden
Upgrade auf GRBL 1.1
Warum upgraden?
- Laser-Modus (M4) für konstante Leistung
- Bessere Statusberichte
- Zuverlässiger
- Bessere Rayforge-Unterstützung
Wie man upgradet:
-
Identifiziere dein Controller-Board:
- Arduino Nano/Uno (ATmega328P)
- Arduino Mega (ATmega2560)
- Custom-Board
-
GRBL 1.1 herunterladen:
- GRBL Releases
- Neueste 1.1-Version (1.1h empfohlen)
-
Firmware flashen:
Mit Arduino IDE:
1. Arduino IDE installieren2. GRBL-Sketch öffnen (grbl.ino)3. Korrektes Board und Port auswählen4. HochladenMit avrdude:
avrdude -c arduino -p m328p -P /dev/ttyUSB0 \-U flash:w:grbl.hex:i -
GRBL konfigurieren:
- Über Seriell verbinden
$$senden um Einstellungen anzuzeigen- Für deine Maschine konfigurieren
Backup vor Upgrade
Einstellungen speichern:
- Mit Controller verbinden
$$-Befehl senden- Gesamte Einstellungsausgabe kopieren
- In Datei speichern
Nach dem Upgrade:
- Einstellungen einzeln wiederherstellen:
$0=10,$1=25usw. - Oder Standards verwenden und neu konfigurieren
Controller-Hardware
Gängige Controller
| Board | Typische Firmware | Rayforge-Support |
|---|---|---|
| Arduino CNC Shield | GRBL 1.1 | Ausgezeichnet |
| MKS DLC32 | grblHAL | Ausgezeichnet |
| Ruida | Proprietär | Experimentell |
| OctoPrint (Pi) | Diverse | Experimentell |
Empfohlene Controller
Für beste Rayforge-Kompatibilität:
-
Arduino Nano + CNC Shield (GRBL 1.1)
- Günstig (~$10-20)
- Einfach zu flashen
- Gut dokumentiert
-
MKS DLC32 (grblHAL)
- Modern (ESP32-basiert)
- WiFi-fähig
- Aktive Entwicklung
-
Custom GRBL-Boards
- Viele auf Marktplätzen verfügbar
- Auf GRBL 1.1+-Support prüfen
Firmware-Konfiguration
GRBL-Einstellungen für Laser
Wesentliche Einstellungen:
$30=1000 ; Max. Spindel/Laser-Leistung (1000 = 100%)
$31=0 ; Min. Spindel/Laser-Leistung
$32=1 ; Laser-Modus aktiviert (1 = ein)
Maschineneinstellungen:
$100=80 ; X Schritte/mm (für deine Maschine kalibrieren)
$101=80 ; Y Schritte/mm
$110=3000 ; X max. Rate (mm/min)
$111=3000 ; Y max. Rate
$120=100 ; X Beschleunigung (mm/sek)
$121=100 ; Y Beschleunigung
$130=300 ; X max. Verfahrweg (mm)
$131=200 ; Y max. Verfahrweg (mm)
Sicherheitseinstellungen:
$20=1 ; Software-Endschalter aktiviert
$21=1 ; Hardware-Endschalter aktiviert (wenn du Endschalter haben)
$22=1 ; Referenzfahrt aktiviert
Firmware testen
Grundlegende Testsequenz:
-
Verbindungstest:
Senden: ?Erwartet: <Idle|...> -
Versionsprüfung:
Senden: $IErwartet: [VER:1.1...] -
Einstellungsprüfung:
Senden: $$Erwartet: $0=..., $1=..., usw. -
Bewegungstest:
Senden: G91 G0 X10Erwartet: Maschine bewegt sich 10mm in X -
Lasertest (sehr geringe Leistung):
Senden: M4 S10Erwartet: Laser schaltet ein (dim)Senden: M5Erwartet: Laser schaltet aus
Fehlerbehebung bei Firmware-Problemen
Firmware antwortet nicht
Symptome:
- Keine Antwort auf Befehle
- Verbindung fehlgeschlagen
- Status wird nicht gemeldet
Diagnose:
-
Baudrate prüfen:
- GRBL 1.1 Standard: 115200
- GRBL 0.9: 9600
- Beide versuchen
-
USB-Kabel prüfen:
- Datenkabel, nicht nur Ladekabel
- Mit bekannt funktionierendem Kabel ersetzen
-
Port prüfen:
- Linux:
/dev/ttyUSB0oder/dev/ttyACM0 - Windows: COM3, COM4 usw.
- Korrekter Port in Rayforge ausgewählt
- Linux:
-
Mit Terminal testen:
- screen, minicom oder PuTTY verwenden
?senden und schauen, ob Sie eine Antwort erhalten
Firmware-Abstürze
Symptome:
- Controller friert während des Auftrags ein
- Zufällige Verbindungsabbrüche
- Inkonsistentes Verhalten
Mögliche Ursachen:
- Pufferüberlauf – G-Code-Datei zu komplex
- Elektrische Störungen – Schlechte Erdung oder EMI
- Firmware-Bug – Auf neueste Version upgraden
- Hardware-Problem – Defekter Controller
Lösungen:
- Firmware auf neueste stabile Version upgraden
- G-Code vereinfachen (Präzision reduzieren, weniger Segmente)
- Ferritkerne am USB-Kabel anbringen
- Erdung und Kabelverlegung verbessern
Falsche Firmware
Symptome:
- Befehle abgelehnt
- Unerwartetes Verhalten
- Fehlermeldungen
Lösung:
- Firmware-Version abfragen:
$I - Mit Rayforge-Erwartungen vergleichen
- Upgrade durchführen oder korrekten Dialekt auswählen
Zukünftige Firmware-Unterstützung
Ruida-Controller
Rayforge bietet experimentelle Unterstützung für Ruida-basierte Controller (z.B. RDC6442, RDC6445, Ruida R5). Der Ruida-Treiber verbindet sich über das Netzwerk und unterstützt Jogging, Positionsreporting, Luftdrucksteuerung, Ebenenauswahl, Auto-Connect und Status-Polling.
Funktionen:
- Netzwerkverbindung (Ethernet/WiFi)
- Positionsreporting
- Jogging-Steuerung
- Luftdruck und Ebenenauswahl
- Referenzpunkt-Unterstützung
Einschränkungen:
- Experimentell — noch nicht vollständig stabil
- Keine G-Code-Generierung; Ruida verwendet ein eigenes proprietäres Protokoll
- Auftragsversand wird noch nicht unterstützt
OctoPrint
Rayforge enthält einen experimentellen OctoPrint-Treiber, der G-Code direkt an einen OctoPrint-Server über das Netzwerk sendet. Dies ist nützlich, wenn dein Laser mit einem Raspberry Pi oder einem anderen Rechner mit OctoPrint verbunden ist.
Funktionen:
- WebSocket-Verbindung für Echtzeit-Statusaktualisierungen
- REST-Polling als Fallback, wenn WebSocket nicht verfügbar ist
- Automatische Wiederverbindung bei Verbindungsabbruch
- Job-Übermittlung mit automatischem Druckstart
- Jogging, Referenzfahrt und Pause/Fortsetzen-Steuerung
- „Zugang anfragen"-Flow für OctoPrint-Anwendungsschlüssel
Verwendung des OctoPrint-Treibers:
- Wähle den Treiber „OctoPrint" in den Maschineneinstellungen
- Gib den Hostnamen oder die IP-Adresse deines OctoPrint-Servers ein
- Setze den Port (Standard: 80)
- Klicke auf „Zugang anfragen", um einen API-Schlüssel über das Anwendungsschlüssel-System von OctoPrint zu erhalten
- Verbinde — Rayforge stellt eine WebSocket-Verbindung her
Einschränkungen:
- Experimentell und auf echter Hardware ungetestet — Feedback willkommen
- Firmware-Einstellungen können nicht über OctoPrint gelesen oder geschrieben werden
- Messergebnisse werden von OctoPrint nicht gemeldet
- WCS-Versatz-Lesezugriff wird nicht unterstützt
Weitere angeforderte Funktionen
Benutzer haben Unterstützung angefordert für:
- Trocen/AWC – Kommerzielle Laser-Controller
- ESP32 WiFi – Netzwerkverbindung für grblHAL
- Laser-API – Direkte Maschinen-API (kein G-Code)
Status: Derzeit nicht unterstützt. Funktionsanfragen auf GitHub willkommen.
Mitwirken
Um Firmware-Support hinzuzufügen:
- Treiber implementieren in
rayforge/machine/driver/ - G-Code-Dialekt definieren in
rayforge/machine/models/dialect.py - Gründlich auf echter Hardware testen
- Pull-Request mit Dokumentation einreichen
Verwandte Seiten
- G-Code-Dialekte - Dialekt-Details
- Geräteeinstellungen - GRBL-Konfiguration
- Verbindungsprobleme - Verbindungs-Fehlerbehebung
- Allgemeine Einstellungen - Maschineneinrichtung