gcode G28 X non reconnu par UGS ou bcnc ou candle

  • Auteur de la discussion MICHEL747474
  • Date de début
M

MICHEL747474

Nouveau
Bonjour à tous,
Vous avez peut-être (sans doute) une idée sur mon pb :
J'ai une machine basée sur la UNO + shield + GRBL (1.1 actuellement, mais même pb avec 1.09).
J'ai téléchargé le grbl dans la carte UNO avec la version 1.8.5 d'Arduino.
J'utilise inkscape avec l'addons pour makerbot pour générer du gcode à partir d'une image vectorisée.
Dans le gcode produit, j'ai des instructions du type G28 X Y...qui sont parfaitement légales (sauf erreur).
Mais les interpréteurs de gcode (Universal gcode sender, candle, bcnc) bloquent et me disent qu'ils attendent un nombre derrière X (par exemple G28 X0).
Effectivement si j'envoie, en direct, la commande G28 X ça bloque alors que G28 ou G28 X0 passent.
J'ajoute que le même gcode (issu de inkscape) avec son G28 X passe sans problème sur mon imprimante 3D (marlin + mega2560).
Enfin selon le wiki G28 X est valide pour GRBL......
Une idée ?
 
M

MICHEL747474

Nouveau
J'ai oublié de vous dire que cette machine fera office de plotter et de gravure laser...merci pour vos contributions!!
 
J

jpbbricole

Compagnon
Bonjour MICHEL747474
Mais les interpréteurs de gcode (Universal gcode sender, candle, bcnc)
C'est plutôt GRBL qui renvoie un code d'erreur.
Dans le gcode produit, j'ai des instructions du type G28 X Y...qui sont parfaitement légales (sauf erreur)
Oui, certainement. Je n'ai vu nulle part, dans la doc GRBL que la commande G28 X (sans paramètre) soit valide. Mon raisonnement tient dans le fait que l'interpréteur GRBL n'est pas complet, comme une grosse machine, question mémoire, et n'a pas de place pour traiter les exceptions comme celle-ci d'où la standardisation du traitement d'un axe avec toujours un paramètre.

Cordialement
jpbbricole
 
M

MICHEL747474

Nouveau
re-bonjour et merci jpbbricole,
pour cette réponse rapide.
Effectivement, c'est peut-être une question de mémoire, car lors du téléversement du grbl dans la uno, le compilateur m'a envoyé un avertissement "mémoire faible, peut-être des instabilités" ...de mémoire(si j'ose dire!). Ce qui pourrait expliquer que je n'aie pas ce pb avec la méga 2560 qui a sûrement plus de mémoire. J'en déduis que le pb n'a pas de solution...à part reprendre le code dans un éditeur et rajouter des 0 après chaque commande G28 X....ton avis?
bonne soirée.
 
J

jpbbricole

Compagnon
Ce qui pourrait expliquer que je n'aie pas ce pb avec la méga 2560 qui a sûrement plus de mémoire
Ce n'est pas comparable, Marlin est un tout autre développement prévu pour les "vastes espaces" d'un Mega.
à part reprendre le code dans un éditeur et rajouter des 0 après chaque commande G28 X
C'est, pour autant que je puisse en juger, pas aussi simple que cela, il faut toucher la structure du programme! Il existe une version GRBL pour Mega, presque sûre qu'il y a le même problème.

Cordialement
jpbbricole
 
M

MICHEL747474

Nouveau
Je suis curieux de voir ce qui se passe avec grbl sur une mega : j'essaie demain (si j'ai le temps) et je te tiens au courant...en tous cas merci pour les eclairages du pb.
Bonne semaine !
 
J

jpbbricole

Compagnon
Bonjour MICHEL747474

J'ai fait l'essai avec la version GRBL pour Mega, l'erreur esz la même:sad:

Bonne journée
jpbbricole
 
M

MICHEL747474

Nouveau
Bonjour Jpbbricole,
sympa d'avoir fait le test : depuis j'ai retravaillé le fichier python (context.py) de l'addon de Inskape et j'ai résolu mon problème en lui faisant modifier le gcode qu'il fournit. Maintenant, j'ai bien l'instruction G28 X0 Y0 et ça passe dans universal gcode sender. au passage j'ai supprimé des instructions inutiles (pour moi) et qui bloquaient le traitement comme : "M300 s1000 p100 ; Beep pour avertir d’appuyer sur le bouton",
je pense que le grbl a un gcode un peu particulier par rapport à Marlin. Mais je me trompe peut-être dans ma vision du gcode..où sont stockées les instructions (pour moi dans le GRBL) quelle est l'incidence de la carte utilisée (UNO ou MEGA) sur l'interprétation de ce gcode par UGS.
En tous cas, un grand merci pour ton aide et je te souhaite une excellente semaine.
Bien cordialement, Jean MICHEL
 
J

jpbbricole

Compagnon
je pense que le grbl a un gcode un peu particulier par rapport à Marlin.
Oui, il est plus succinct du fait de la petitesse des machines sur lequel il est installé.
sur l'interprétation de ce gcode par UGS.
UGS n'interprète rien du G-code, il ne fait que transmettre les instructions de la ligne de commande ou du fichier, vers le processeur GRBL. Il interprète les messages d'erreur pour un affichage plus clair.
quelle est l'incidence de la carte utilisée (UNO ou MEGA)
Éventuellement la vitesse de traitement du fait de la puissance supérieur du Mega. Mais pour ce qui est du programme, le différence se fait essentiellement au niveau de l'attribution des pin E/S et ce dans le fichier cpu_map.h
j'ai retravaillé le fichier python (context.py)
Super de maîtriser Python, j'ai jamais taté de la chose :sad:

Bonne semaine à toi aussi.
Cordialement
jpbbricole
 
M

MICHEL747474

Nouveau
En fait, je ne maîtrise absolument pas Python, mais je suis curieux et en rentrant dans le programme (avec un éditeur de texte), j'ai repéré les lignes stratégiques à modifier. Je connais plutôt java ...en amateur. Dans une autre vie, j'ai commis un manuel de Maths interactif à usage des professeurs (mon métier pendant 34 ans) : à cette occasion, j'ai fait quelques dizaines d'applets java.
J'ai vu que nous étions presque voisins : je suis en Hte Savoie à Annecy.
@++
 
M

MICHEL747474

Nouveau
C'est beau l'intelligence !!! Mais ça devient rare !
 

Sujets similaires

Gaamma
Réponses
43
Affichages
6 073
jpbbricole
J
Haut