Grbl 0.9 sur une carte de pilotage laser Mana de EleksMaker et différents logiciels
Cette carte MANA n'est pas compatible GRBL 0.8 et donc Benbox....quel dommage : voir mon article précédent qui explique comment réaliser la modification électrique pour palier à ce problème.
Mon laser actuel est un laser 2 fils (pas de gestion de la puissance par PWM possible) : je vais néanmoins essayer cette carte MANA avec mon laser branché sur la prise rouge (2 pins : marquée "Motor") et la rom GRBL 0.9j.
Il existe plusieurs logiciels dédiés à la découpe ou gravure laser (hors BENBOX pas adapté) dont je n'ai pas tester toutes les fonctions (ou qui sont payants ou en chinois...)
- je vais commencer cet article par LaserEngraver (plugin dans le programme de dessin vectoriel Inkscape : freeware) :
INKSCAPE (Freeware issu de l'univers LINUX) V0.92
Et Le plugin upgradé de laserengraver : https://jtechphotonics.com/?page_id=2012
les extensions pour inkscape sont a copier dans : Program Files\Inkscape\share\extensions
- MiniLaser : peu évolué et zone de travail très limitée (les commentaires disent que çà fonctionne avec cette carte.
- Le logiciel EleksMaker : vraiment très buggé apparemment ou je ne connais pas les astuces !
- RobotLaser : payant 30€, mais il est utilisable 15 jours à l'essai, et la version beta 0.6 est gratuite : fonctionne mais il permet d'allez que jusqu'à S255 (soit 25.5% de puissance !) et pas d'outil de mise en page, texte...
- Luban DIY : uniquement en chinois et très buggé ou alors nécessite Windows chinois
- autres à suivre
Le connecteur 2 fils passe par le transistor, le connecteur 3 fils a 12v permanent et le PWM faible niveau
Fichier ROM GRBL0.9j fourni avec le programme ELEKSMAKER
Cette carte est prévue pour fonctionner avec Grbl0.9 mais certaines personnes ont un problème avec gcode sender en utilisant l'arduino en GRBL0.9 (0.9j par exemple : c'est la version fournie d'origine pour le programme EleksMaker).
Je vais donc faire des essais :
Mais avant de bricoler, mieux vaut garder les paramètres d'origine sur l'arduino Nano de la carte MANA, je les recopie :
Grbl 0.9j ['$' for help] >>> $$ $0=10 (step pulse, usec) $1=25 (step idle delay, msec) $2=0 (step port invert mask:00000000) $3=0 (dir port invert mask:00000000) $4=0 (step enable invert, bool) $5=0 (limit pins invert, bool) $6=0 (probe pin invert, bool) $10=3 (status report mask:00000011) $11=0.010 (junction deviation, mm) $12=0.002 (arc tolerance, mm) $13=0 (report inches, bool) $20=0 (soft limits, bool) $21=0 (hard limits, bool) $22=0 (homing cycle, bool) $23=0 (homing dir invert mask:00000000) $24=25.000 (homing feed, mm/min) $25=500.000 (homing seek, mm/min) $26=250 (homing debounce, msec) $27=1.000 (homing pull-off, mm) $100=80.000 (x, step/mm) $101=80.000 (y, step/mm) $102=80.000 (z, step/mm) $110=5000.000 (x max rate, mm/min) $111=5000.000 (y max rate, mm/min) $112=0.000 (z max rate, mm/min) $120=500.000 (x accel, mm/sec^2) $121=500.000 (y accel, mm/sec^2) $122=500.000 (z accel, mm/sec^2) $130=500.000 (x max travel, mm) $131=500.000 (y max travel, mm) $132=500.000 (z max travel, mm)
Avec un laser 3 fil (PWM) : çà fonctionne.
Avec un laser 2 fils (12v branché sur la prise "Motor") : çà ne fonctionne pas.
Les moteurs fonctionnent mais il n'y a pas d'information correcte qui arrive au laser.
Ma première conclusion est que l'outil que j'utilise avec succès avec GRBL 0.8 (Inkscape/plugin LaserEngraver et Universal Gcode Sender) n'envoie pas un signal (tension) continu même en mode contour avec GRBL 0.9 : je pense que le plugin n'est pas prévu pour autre chose que GRBL0.8. : GRBL0.9 est fait pour un laser 3 fils
J'ai monté une petite manip pour voir ce qui se passe :
- un petit oscilloscope
- une rampe LED 12v à la place du laser pour que ce soit plus visible et moins dangereux.
- un fichier Gcode créé pour l'occasion (à partir des infos d'ici)
S1 : demande de modution à 1/1000 de la puissance max
M3 : activation de la commande
G4 P5 : on attends qq secondes
S5 : on passe à 5/1000 de puissance
G4 P5 : on attends qq secondes
S20 : on passe à 20/1000 de puissance
.....
S1000 : pleine puissance
M5 : on arrète
Fichier Gcode qui augmente progressivement la puissance en sortie (environ 2 minutes)
Cette démo permet de voir que Universal Gcode Sender est compatible...
Il doit bien y avoir un paramètre à ajuster dans GRBL0.9 pour cette gestion du PWM ?
Je suis tombé sur un site qui parle de désactiver le PWM dans GRBL0.9 : qui réagit alors comme GRBL0.8 mais avec plus d'options.
Par contre la sortie redevient D12 apparement : donc pas compatible avec cette carte non modifiée : effectivement, j'ai testé, j'ai le prompt GRBL0.9j et j'ai bien la sortie du laser sur D12.
Voilà donc une solution pour utiliser GRBL0.9 et un laser 2 fils (mais sortie D12)
Le code du fichier GRBL modifié est disponible sur la page du site dont j'ai donné le lien, mais le voilà prêt à l'emploi :
GRBL 0.9j modifié pour revenir sans wpm sur D12
Il a des fonctions de détection de contour éfficaces, j'ai pas testé beaucoup de fonctions ni le mode niveaux de gris.
Par contre :
- Niveau de PWM jusqu'à 255 (alors qu'il va jusqu'à 1000 sur GRBL !)
- pas d'édité avec courbes, textes, ...apparemment il ne permet que de graver des fichiers image importés