Compatibilité des firmwares
Cette page documente la compatibilité des firmwares pour les contrôleurs laser utilisés avec Rayforge.
Aperçu
Rayforge est conçu principalement pour les contrôleurs basés sur GRBL mais prend également en charge Marlin, Smoothieware et d'autres types de firmware.
Matrice de compatibilité
| Firmware | Version | Statut | Pilote | Notes |
|---|---|---|---|---|
| GRBL | 1.1+ | Entièrement pris en charge | GRBL Serial | Recommandé |
| grblHAL | 2023+ | Compatible | GRBL Serial / GRBL Telnet | Fork GRBL moderne |
| GRBL | 0.9 | Limité | GRBL Serial | Ancien, peut avoir des problèmes |
| Smoothieware | Tous | Compatible | SmoothieDriver (Telnet) | Basé sur le réseau |
| Marlin | 2.0+ | Compatible | Marlin Serial | Mode laser requis |
| ESP3D | Tous | Compatible | GRBL Telnet | Basé sur le réseau |
| OctoPrint | Tous | Expérimental | OctoPrint | Voir notes ci-dessous |
| Autre | - | Non pris en charge | - | Demander le support |
Firmware GRBL
Statut : ✓ Entièrement pris en charge Versions : 1.1+ Pilote : GRBL Serial
GRBL 1.1 (Recommandé)
Qu'est-ce que GRBL 1.1 ?
GRBL 1.1 est le firmware le plus courant pour les machines CNC et laser de loisir. Publié en 2017, il est stable, bien documenté et largement pris en charge.
Fonctionnalités prises en charge par Rayforge :
- Communication série (USB)
- Rapport d'état en temps réel
- Mode laser (M4 puissance constante)
- Lecture/écriture des paramètres ($$, $X=valeur)
- Cycles de mise à l'origine ($H)
- Systèmes de coordonnées de travail (G54)
- Commandes de déplacement ($J=)
- Remplacement de vitesse d'avance
- Limites logicielles
- Limites matérielles (butoirs)
Limitations connues :
- Plage de puissance : 0-1000 (paramètre S)
- Pas de connectivité réseau (USB uniquement)
- Mémoire embarquée limitée (petit tampon G-code)
Vérifier la version GRBL
Interroger la version :
Connectez-vous à votre contrôleur et envoyez :
$I
Exemples de réponse :
[VER:1.1h.20190825:]
[OPT:V,15,128]
1.1h= version GRBL 1.1h- La date indique la compilation
GRBL 0.9 (Ancien)
Statut : Support limité
GRBL 0.9 est une ancienne version avec quelques problèmes de compatibilité :
Différences :
- Format de rapport d'état différent
- Pas de mode laser (M4) - utilise M3 uniquement
- Moins de paramètres
- Syntaxe de déplacement différente
Si vous avez GRBL 0.9 :
- Mettez à niveau vers GRBL 1.1 si possible (recommandé)
- Utilisez M3 au lieu de M4 (puissance moins prévisible)
- Testez minutieusement - certaines fonctionnalités peuvent ne pas fonctionner
Instructions de mise à niveau : Voir GRBL Wiki
grblHAL
Statut : Compatible Versions : 2023+ Pilote : GRBL Serial
Qu'est-ce que grblHAL ?
grblHAL est un fork moderne de GRBL avec des fonctionnalités améliorées :
- Support de multiple matériel de contrôleur (STM32, ESP32, etc.)
- Réseau Ethernet/WiFi
- Support carte SD
- Plus de broches E/S
- Support laser amélioré
Compatibilité avec Rayforge :
- Entièrement compatible - grblHAL maintient le protocole GRBL 1.1
- Toutes les fonctionnalités GRBL fonctionnent
- Les fonctionnalités supplémentaires (réseau, SD) ne sont pas encore prises en charge par Rayforge
- Rapport d'état identique à GRBL
Utiliser grblHAL :
- Sélectionnez le pilote "GRBL Serial" dans Rayforge
- Connectez-vous via série USB (comme GRBL)
- Toutes les fonctionnalités fonctionnent comme documenté pour GRBL
Futur : Rayforge pourrait ajouter le support des fonctionnalités spécifiques à grblHAL (réseau, etc.)
Pilote GRBL Telnet
Statut : Pris en charge Firmware : grblHAL, ESP3D et autres contrôleurs GRBL réseau Pilote : GRBL Telnet
À propos du pilote GRBL Telnet
Le pilote GRBL Telnet se connecte aux contrôleurs basés sur GRBL via le réseau par une interface Telnet. Idéal pour les cartes avec WiFi ou Ethernet intégré — pas de câble USB nécessaire.
Fonctionnalités :
- Connectivité réseau (Ethernet/WiFi)
- Compatible avec les cartes basées sur grblHAL et ESP3D
- Même protocole GRBL que le pilote série
Utilisation du pilote GRBL Telnet :
- Configurez le réseau sur votre contrôleur (WiFi ou Ethernet)
- Sélectionnez « GRBL Telnet » dans les paramètres machine
- Entrez l'adresse IP et le port de votre contrôleur
- Connectez — le pilote communique via Telnet
Exigences :
- Contrôleur GRBL compatible réseau (grblHAL, ESP3D, etc.)
- Contrôleur et ordinateur sur le même réseau
- Interface Telnet activée sur le contrôleur
Smoothieware
Pilote : GRBL Serial (mode compatibilité)
Notes de compatibilité
Smoothieware utilise une syntaxe G-code différente :
Différences clés :
| Fonctionnalité | GRBL | Smoothieware |
|---|---|---|
| Laser allumé | M4 S<valeur> | M3 S<valeur> |
| Plage puissance | 0-1000 | 0.0-1.0 (flottant) |
| État | format <...> | Format différent |
Utiliser Smoothieware avec Rayforge :
- Sélectionnez le dialecte Smoothieware dans paramètres machine > G-code > Dialecte
- Testez avec faible puissance d'abord
- Vérifiez que la plage de puissance correspond à votre configuration
- Pas d'état en temps réel - retour limité
Limitations :
- Rapport d'état pas entièrement compatible
- La mise à l'échelle de puissance peut différer
- Paramètres (commandes $$) non pris en charge
- Non testé sur matériel réel
Recommandation : Si possible, utilisez un firmware compatible GRBL à la place.
Marlin
Versions : 2.0+ avec support laser Pilote : Marlin Serial
Pilote Marlin Serial
Rayforge inclut un MarlinSerialDriver dédié qui se connecte au firmware Marlin via le port série (USB). Marlin 2.0+ peut contrôler des lasers lorsqu'il est correctement configuré.
Fonctionnalités :
- Communication série (USB)
- Protocole de handshake Marlin (attend le message "start")
- Streaming G-code ligne par ligne avec accusé de réception
ok - Interrogation de position M114
- Exécution de travaux avec rapport de progression granulaire
- Prise d'origine (G28), jogging, déplacement, changement d'outil (T)
- Réglage des offsets WCS (G10 L2 P)
- Contrôle de la puissance laser via le dialecte Marlin
- Annulation via M410 (Quick Stop)
- Auto-configuration (interrogation M115, M211, M503)
Exigences :
- Firmware Marlin 2.0 ou ultérieur
- Fonctionnalités laser activées :
#define LASER_FEATURE#define LASER_POWER_INLINE
- Plage de puissance correcte configurée :
#define SPEED_POWER_MAX 1000
Utiliser Marlin avec Rayforge :
- Sélectionnez le pilote "Marlin (Serial)" dans les paramètres machine
- Définissez le port série et le débit en bauds (généralement 115200)
- Sélectionnez le dialecte Marlin dans paramètres machine > G-code > Dialecte
- Configurez Marlin pour l'utilisation laser
- Testez la plage de puissance (0-1000 ou 0-255)
Limitations :
- Expérimental — les retours sont bienvenus
- Lecture/écriture des paramètres (comme
$$de GRBL) non prise en charge - Pas de connectivité réseau (USB uniquement)
Guide de mise à niveau du firmware
Mettre à niveau vers GRBL 1.1
Pourquoi mettre à niveau ?
- Mode laser (M4) pour puissance constante
- Meilleur rapport d'état
- Plus fiable
- Meilleur support Rayforge
Comment mettre à niveau :
-
Identifiez votre carte contrôleur :
- Arduino Nano/Uno (ATmega328P)
- Arduino Mega (ATmega2560)
- Carte personnalisée
-
Téléchargez GRBL 1.1 :
- Versions GRBL
- Obtenez la dernière version 1.1 (1.1h recommandée)
-
Flashez le firmware :
En utilisant Arduino IDE :
1. Installez Arduino IDE2. Ouvrez le croquis GRBL (grbl.ino)3. Sélectionnez la bonne carte et le bon port4. TéléversezEn utilisant avrdude :
avrdude -c arduino -p m328p -P /dev/ttyUSB0 \-U flash:w:grbl.hex:i -
Configurez GRBL :
- Connectez-vous via série
- Envoyez
$$pour voir les paramètres - Configurez pour votre machine
Sauvegarde avant mise à niveau
Sauvegardez vos paramètres :
- Connectez-vous au contrôleur
- Envoyez la commande
$$ - Copiez toute la sortie des paramètres
- Sauvegardez dans un fichier
Après la mise à niveau :
- Restaurez les paramètres un par un :
$0=10,$1=25, etc. - Ou utilisez les valeurs par défaut et reconfigurez
Matériel de contrôleur
Contrôleurs courants
| Carte | Firmware typique | Support Rayforge |
|---|---|---|
| Arduino CNC Shield | GRBL 1.1 | Excellent |
| MKS DLC32 | grblHAL | Excellent |
| Ruida | Propriétaire | Expérimental |
| OctoPrint (Pi) | Divers | Expérimental |
Contrôleurs recommandés
Pour la meilleure compatibilité Rayforge :
-
Arduino Nano + CNC Shield (GRBL 1.1)
- Peu coûteux (~10-20€)
- Facile à flasher
- Bien documenté
-
MKS DLC32 (grblHAL)
- Moderne (basé ESP32)
- Capacité WiFi
- Développement actif
-
Cartes GRBL personnalisées
- Beaucoup disponibles sur les marketplaces
- Vérifiez le support GRBL 1.1+
Configuration du firmware
Paramètres GRBL pour laser
Paramètres essentiels :
$30=1000 ; Puissance max broche/laser (1000 = 100%)
$31=0 ; Puissance min broche/laser
$32=1 ; Mode laser activé (1 = on)
Paramètres machine :
$100=80 ; X pas/mm (calibrez pour votre machine)
$101=80 ; Y pas/mm
$110=3000 ; X vitesse max (mm/min)
$111=3000 ; Y vitesse max
$120=100 ; X accélération (mm/sec)
$121=100 ; Y accélération
$130=300 ; X course max (mm)
$131=200 ; Y course max (mm)
Paramètres de sécurité :
$20=1 ; Limites logicielles activées
$21=1 ; Limites matérielles activées (si vous avez des butoirs)
$22=1 ; Mise à l'origine activée
Tester le firmware
Séquence de test de base :
-
Test de connexion :
Envoyer : ?Attendre : <Idle|...> -
Vérification de version :
Envoyer : $IAttendre : [VER:1.1...] -
Vérification des paramètres :
Envoyer : $$Attendre : $0=..., $1=..., etc. -
Test de mouvement :
Envoyer : G91 G0 X10Attendre : La machine bouge de 10mm en X -
Test laser (très faible puissance) :
Envoyer : M4 S10Attendre : Le laser s'allume (faible)Envoyer : M5Attendre : Le laser s'éteint
Résolution des problèmes de firmware
Le firmware ne répond pas
Symptômes :
- Pas de réponse aux commandes
- Échec de connexion
- État non rapporté
Diagnostic :
-
Vérifiez le débit en bauds :
- GRBL 1.1 par défaut : 115200
- GRBL 0.9 : 9600
- Essayez les deux
-
Vérifiez le câble USB :
- Câble de données, pas charge uniquement
- Remplacez par un câble connu bon
-
Vérifiez le port :
- Linux :
/dev/ttyUSB0ou/dev/ttyACM0 - Windows : COM3, COM4, etc.
- Le bon port est sélectionné dans Rayforge
- Linux :
-
Testez avec un terminal :
- Utilisez screen, minicom, ou PuTTY
- Envoyez
?et voyez si vous obtenez une réponse
Plantages du firmware
Symptômes :
- Le contrôleur se bloque pendant un travail
- Déconnexions aléatoires
- Comportement incohérent
Causes possibles :
- Dépassement de tampon - Fichier G-code trop complexe
- Bruit électrique - Mauvaise mise à la terre ou EMI
- Bug du firmware - Mettez à niveau vers la dernière version
- Problème matériel - Contrôleur défectueux
Solutions :
- Mettez à niveau le firmware vers la dernière version stable
- Simplifiez le G-code (réduisez la précision, moins de segments)
- Ajoutez des perles de ferrite au câble USB
- Améliorez la mise à la terre et le routage des câbles
Mauvais firmware
Symptômes :
- Commandes rejetées
- Comportement inattendu
- Messages d'erreur
Solution :
- Interrogez la version du firmware :
$I - Comparez avec les attentes de Rayforge
- Mettez à niveau ou sélectionnez le bon dialecte
Support futur des firmwares
Contrôleurs Ruida
Rayforge inclut un support expérimental pour les contrôleurs basés sur Ruida (p.ex. RDC6442, RDC6445, Ruida R5). Le pilote Ruida se connecte via le réseau et prend en charge le jogging, le rapport de position, le contrôle de l'air assisté, la sélection de couche, la connexion automatique et l'interrogation de statut.
Fonctionnalités :
- Connectivité réseau (Ethernet/WiFi)
- Rapport de position
- Commandes de jogging
- Air assisté et sélection de couche
- Prise en charge des points de référence
Limitations :
- Expérimental — pas encore totalement stable
- Pas de génération de G-code ; Ruida utilise son propre protocole propriétaire
- L'envoi de travaux n'est pas encore pris en charge
OctoPrint
Rayforge inclut un pilote OctoPrint expérimental qui soumet le G-code directement à un serveur OctoPrint via le réseau. Ceci est utile si ton laser est connecté à un Raspberry Pi ou une autre machine exécutant OctoPrint.
Fonctionnalités :
- Connexion WebSocket pour les mises à jour d'état en temps réel
- Repli sur l'interrogation REST lorsque WebSocket n'est pas disponible
- Reconnexion automatique en cas de perte de connexion
- Soumission de travaux avec démarrage automatique de l'impression
- Jogging, mise à l'origine et contrôles pause/reprise
- Flux « Demander l'accès » pour les clés d'application OctoPrint
Utilisation du pilote OctoPrint :
- Sélectionne le pilote « OctoPrint » dans les paramètres machine
- Entre le nom d'hôte ou l'adresse IP de ton serveur OctoPrint
- Définis le port (par défaut : 80)
- Clique sur « Demander l'accès » pour obtenir une clé API via le système de clés d'application d'OctoPrint
- Connecte — Rayforge établira une connexion WebSocket
Limitations :
- Expérimental et non testé sur du matériel réel — retours bienvenus
- Impossible de lire ou écrire les paramètres du firmware via OctoPrint
- Les résultats de palpage ne sont pas rapportés par OctoPrint
- La lecture des décalages WCS n'est pas prise en charge
Autres fonctionnalités demandées
Les utilisateurs ont demandé le support pour :
- Trocen/AWC - Contrôleurs laser commerciaux
- ESP32 WiFi - Connectivité réseau pour grblHAL
- API Laser - API machine directe (pas de G-code)
Statut : Actuellement non pris en charge. Les demandes de fonctionnalités sont les bienvenues sur GitHub.
Contribuer
Pour ajouter le support d'un firmware :
- Implémentez le pilote dans
rayforge/machine/driver/ - Définissez le dialecte G-code dans
rayforge/machine/models/dialect.py - Testez minutieusement sur du matériel réel
- Soumettez une pull request avec documentation
Pages connexes
- Dialectes G-code - Détails des dialectes
- Paramètres de l'appareil - Configuration GRBL
- Problèmes de connexion - Dépannage de connexion
- Paramètres généraux - Configuration machine