Le Gcode

Le Gcode un langage utilisé à la base pour les machines industrielles à commande numérique.

Pour notre imprimante 3D, il s'agit des mots de commande envoyés par votre PC --------(via USB)--------> à la carte électronique.

Le gcode c'est lent...

Pour les informaticiens / électroniciens, ce langage n'est pas optimisé en terme de bande passante puisqu'il utilise la liaison série (port série du microcontrôleur) avec le protocole ASCII. Le composant "clé" opérant la conversion rs232 / Usb est ce que l'on appelle communément un FTDI (de la marque Future Technology Devices International). Il est important de savoir que chaque "caractère de commande" échangé est codé sur 8 bits en ASCII. Il en est de même pour les données numériques.

Comprenez donc qu'envoyer (par exemple) la commande :

G1 X250.11 ;

 

Revient à envoyer G -->1-->  -->X-->2-->5-->0-->.-->1-->Ce qui correspond à 8 bits --> 8 bits --> .... .... = 80 bits (ou 10 octets).

Pour info, certains firmwares et logiciels réduisent cette quantité de données en n'utilisant pas de protocole ASCII pour envoyer les données numériques.

250.11 peut être envoyé en format binaire directement (float ou fixed point long en C = 4 octets = 32 bits) au lieu d'être convertis comme 6 caractères.

Ce qui fait un total de 32 bits (pour G1 X) + 32 bits pour 250.11 = 64 bits

On y gagne donc à envoyer les données numériques au format "brut". Le client Repetier peut gérer ce type de protocole.

Mais c'est pas grave.

Vu la performance des pc et cartes électroniques, ce manque d'optimisation n'est pas problématique. Par contre, il est plutôt conseillé de paramétrer au niveau du firmware la vitesse de communication la plus élevée possible. Sans quoi votre imprimante marquera des "pauses" dans son travail, nécessaires au transfert des données ! Un baudrate de 115200 à 250000 sera amplement suffisant.

Je veux parler à mon imprimante

Il va donc falloir apprendre le Gcode. Un langage utilisant des mots et des chiffres.

Les instructions Gcode font fréquemment appel à des coordonnées X, Y et Z, qui représentent les points de l'espace vers lesquels la tête d'impression va se déplacer. Il existe un autre paramètre qui définit la vitesse de ce déplacement. C'est le paramètre F (ou feedrate)

Exemple 1

L'exemple simple suivant :

G1 X10.0 Y10.0 Z0.0 F1000 

 

Peut se décomposer simplement comme suit :

G1 : mot de commande qui indique un mouvement contrôlé en ligne droite.

X : est suivit de la coordonnée X du point à rejoindre (en mm)

Y : est suivit de la coordonnée Y du point à rejoindre

Z : est suivit de la coordonnée Z du point à rejoindre

F : indique la vitesse du déplacement (en mm/min) 

Exemple 2

 G28 ; home all axes

G1 Z5 F2500 ; lift nozzle

M109; Wait for temperature to be reached

G1 X70.290 Y70.290 F7800.000

 G1 E2.00000 F3600.000

 

 Le texte après les ";" sont considérés comme des commentaires.

Ici, par exemple, G28 indique à l'imprimante de procéder à la prise d'origine machine des axes.

G1 Z5 F2500 : indique un mouvement contrôlé de l'axe Z de 5mm à une vitesse de 2500 mm/min

M109 : est un mot de commande spécifique qui indique d'attendre jusqu'à ce que la température de la buse soit atteinte.

G1 X70.290 Y70.290 F7800.000 : indique un mouvement contrôlé vers le point (70.290 ; 70.290 ; 0) à la vitesse de 7800 mm/min

G1 E2.00000 F3600.000 : E indique une Extrusion de 2mm à une vitesse de 3600 mm/min.

Le Gcode se lit donc comme un livre (un peu ennuyeux).

Il existe de nombreuses commandes spécifiques supportées par les firmwares. Elles sont listées sur le wikireprap.



Ajouter un commentaire

Vous utilisez un logiciel de type AdBlock, qui bloque le service de captchas publicitaires utilisé sur ce site. Pour pouvoir envoyer votre message, désactivez Adblock.

Date de dernière mise à jour : 20/04/2014

Créer un site gratuit avec e-monsite - Signaler un contenu illicite sur ce site