====== Précisions sur le GCODE et utilisation pour l'extrusion de colle ======
===== Documentation générique =====
[[guides:gcode|Liste des GCODE principaux et couramment utilisés]]
[[guides:fichier_gcode|Comment est structuré un fichier GCODE ?]]
[[guides:scripts_repetier|Créer ses propres scripts GCODE sous Repetier Host]]
===== Gestion des pas / mm du système pousse seringue =====
Voir documentation générique : [[guides:gcode#m92definir_les_pas_mm_des_axes|M92 Définir les pas / mm des axes]]
**Dans la documentation générale ci dessus, il est précisé qu'il faut faire un M500 pour enregistrer les valeurs. Dans le cas du projet CESI, il est justement important de ne pas sauvegarder cette valeur, donc ne pas faire un M500.**
De base, les CR-20 sont livrées pour imprimer du filament plastique. Le moteur d'extrusion classique est réglé à 93 pas / mm.
Le nouveau système pour seringues développé par Tobeca utilise 4000 pas / mm.
De fait, il est important, en début d'impression de colle, d'avoir un script GCODE adapté afin de prendre en compte ce paramètre. Le mieux est d'avoir un paramètre qui ne soit pas figé dans l'imprimante ; c'est à dire un paramètre qui va changer temporairement la valeur des pas / mm pour l'extrusion jusqu'au prochain redémarrage de l'imprimante.
Ainsi, après un redémarrage, il sera possible de recommencer à imprimer avec un filament classique sur la tête standard de l'imprimante, sans avoir besoin de remodifier une configuration quelconque.
La commande GCODE **M92** permet donc de modifier la valeur des pas / mm pour l'adapter au besoin.
Ainsi, pour les extrudeurs de colle Tobeca ayant des pas / mm de 4000, la commande à intégrer au fichier d'impression sera la suivante :
M92 E4000 ;permet de passer les pas / mm à 4000
===== Extrusion directe en GCODE et quantité de matière extrudée =====
Les seringues de 10mL fournies avec les imprimantes par Tobeca ont un diamètre intérieur de 14.5mm.
Soit pour chaque mm de piston déplacé, un volume de : V = pi * R² * 1 avec R le rayon de la seringue en mm
Soit V = pi * 7.25² * 1 = 165.13 mm3
Dans les GCODE de déplacement d'axes, on travaille avec des unités en mm.
Le code suivant permet d'extruder 10mm de matière :
T0 ; on sélectionne la tête d'impression E0 en tant qu'outil
G92 E0 ; on initialise l'axe d'extrusion à 0
G1 E10 F200 ; on déplace le piston de 10mm à une vitesse de 200 mm/min, soit un volume de 1651.3 mm3 de matière
L'initialisation par **G92 E0** est importante car autrement, on ne sait pas directement à quelle valeur actuelle d'extrusion on peut être.
===== Rétraction =====
Sur des déplacements hors extrusion (pour aller à un autre endroit de la pièce mais sans sortir de matière), la matière va avoir tendance à couler par gravité + la pression résiduelle dans la seringue.
Pour éviter cela, il convient d'effectuer en fin de mouvement d'extrusion, et donc avant un mouvement de déplacement de la tête, un retour arrière du piston :
T0 ; on sélectionne la tête d'impression E0 en tant qu'outil
G92 E0 ; on initialise l'axe d'extrusion à 0
G1 E10 F200 ; on déplace le piston de 10mm à une vitesse de 200 mm/min, soit un volume de 1651.3 mm3 de matière
G1 E7 F600 ; on rétracte le piston de 3 mm (10 - 7) à une vitesse de 600 mm/min, en prévision du déplacement XY qui suit
G1 X150 Y200 F3000 ; on déplace la tête en position X=150 et Y=200 à une vitesse de 3000 mm/min
G1 E10 F600 ; on remet le piston à sa position juste avant la rétraction, et donc on est prêt à extruder de nouveau
G1 E15 F200 ; on déplace le piston de 5mm par rapport à sa position d'avant (15 - 10) à une vitesse de 200 mm/min, soit un volume de 825.65 mm3 de matière
===== Notion sur la remise à 0 d'un ou plusieurs axes par rapport à une nouvelle position dans l'espace =====
Il peut être important dans certains cas de réinitialiser une position au niveau de la tête d'impression, ou alors de la forcer pour reprendre une nouvelle position d'origine.
Pour cela, nous allons utiliser les GCODE suivants :
* [[guides:gcode#g28initialisation_des_axes|G28]]
* [[guides:gcode#m114avoir_la_position_actuelle_de_la_tete_d_impression|M114]]
* [[guides:gcode#g92initialiser_un_axe|G92]]
Exemple :
Après une mise aux origines de la machine (sur ses capteurs de fin de course), on souhaite se déplacer de 45mm en X et 45mm en Y pour être au dessus du capot à encoller, coordonnées qu'on pourra considérer comme position d'origine du capot (à distinguer donc de la position d'origine machine).
Une fois à cette position, on veut forcer la machine à se remettre à 0 sur cette position, ainsi on travaillera facilement avec des côtes relatives au capot pour la dépose de colle.
GCODE :
G28 X0 Y0 ; on initialise la machine sur ses positions d'origine mécanique (capteurs de fin de course), en X et en Y
G1 X45 Y45 F3000 ; la tête se déplace en position X=45mm et Y=45mm
A cet instant, en guise de contrôle, via l'interface de contrôle de Repetier Host, on peut interroger l'imprimante, pour savoir quelles sont ses positions grâce à la commande M114.
G92 X0 Y0 ; on force la nouvelle position des axes X et Y pour que ce soit 0
Maintenant, si on fait de nouveau un M114, alors on verra bien que la tête est positionnée en X=0 et Y=0, alors que physiquement elle est en position X=45 et Y=45 !
G1 X50 Y50 F3000 ; la tête se déplace en position X=50mm et Y=50mm par rapport à sa nouvelle origine, soit X=95 et Y=95 par rapport à son origine mécanique
Pratique !
===== GCODE réalisé lors des essais du 13/06/2019 avec le CESI chez Tobeca =====
M92 E4000 ; réglage des pas / mm du pousse seringue
G28 ; mise en origine générale de l'imprimante (sur les capteurs de fin de course)
G1 Z9.9 F300 ; on relève le Z à 9.9mm pour passer sur la planchette
G1 X90 Y200 F3000 ; placement de la buse d'extrusion au dessus de la planchette
T0 ; on sélectionne la tête d'impression E0 en tant qu'outil
G92 X0 E0 ; on initialise l'axe d'extrusion à 0
G1 E0.1217 ; amorce de matière
G92 E0 ; réinitialisation à 0 des coordonnées d'extrusion
G1 X50 E0.6088 F200 ; on extrude un cordon de 50mm de long avec le débit correspondant
G1 E0.48707 F3000 ; détente de la seringue
G1 Z12 F3000 ; on relève à Z12 (soit 2.1 par rapport au Z précédent)
G1 Y50 F6000 ; on va en Y=50mm