Rendez votre imprimante 3D autonome avec l'auto-éjection, les files d'attente d'impression et les boucles infinies !
Allons-y sans plus attendre ! Si vous utilisez une imprimante Klipper, tout cela est super simple, car ces fonctionnalités sont directement intégrées au firmware Klipper. Pourtant, elles sont souvent ignorées.
Dans ce guide, nous utilisons Orca Slicer, mais cela fonctionne tout aussi bien avec n'importe quel autre slicer de votre choix.
‼️ AVERTISSEMENT ‼️ AVERTISSEMENT ‼️ AVERTISSEMENT ‼️ AVERTISSEMENT ‼️ AVERTISSEMENT ‼️
Le guide ci-dessous implique de modifier du G-Code et le firmware de votre imprimante. Une erreur pourrait endommager votre machine. À partir de maintenant, vous agissez à vos risques et périls !
‼️ AVERTISSEMENT ‼️ AVERTISSEMENT ‼️ AVERTISSEMENT ‼️ AVERTISSEMENT ‼️ AVERTISSEMENT ‼️
Configurer une file d’attente d’impression
Ouvrez Orca Slicer et accédez aux paramètres de l’appareil. Ensuite, dans la barre latérale gauche, allez dans les options de la machine (pour Mainsail) ou dans la configuration (pour Fluidd). Ouvrez le fichier moonraker.conf et ajoutez ce qui suit :
[job_queue]
load_on_startup: True
automatic_transition: True
job_transition_delay: 10
job_transition_gcode: CLEAR_BED
Assurez-vous également que ce bloc est présent :
[file_manager]
queue_gcode_uploads: True
enable_object_processing: False
Enregistrez le fichier et redémarrez votre système.
Voilà, la file d’attente est configurée : un travail d’impression s’enchaîne automatiquement avec le suivant. Les deux premières lignes permettent précisément cela. Le délai de transition insère une pause de 10 secondes entre deux impressions : vous pouvez bien sûr ajuster cette valeur selon vos préférences. Le G-Code de transition est celui qui sera exécuté entre deux impressions. Vous devez donc définir ici que l’imprimante doit éjecter automatiquement le modèle terminé avant de lancer le suivant.
Revenez maintenant à machine et ouvrez le fichier gcode_macro.cfg. Ajoutez-y ce qui suit :
[gcode_macro CLEAR_BED]
G-Code :
M190 S30 #wait for bed temp to be 30
G91 #relative positioning
G1 Z10 #Raise Z10
G90 #absolute positioning
G1 X110 Y218 F3000 #Move printhead to middle and back
G1 Z1 #Move printhead down
G90 #absolute positioning
G1 X110 Y1 Z1 F2400 #Push Print off
Cette macro permet de libérer le plateau entre deux impressions. La première commande attend que le plateau atteigne 30 °C. Cette température fonctionne bien avec notre plaque PEI structuré de 3DJake : si vous utilisez une autre plaque ou un autre filament, vous devrez peut-être faire quelques essais. Pour nos tests, nous avons uniquement utilisé notre 3DJake ecoPLA.
G91 active le positionnement relatif : cela signifie que tous les mouvements suivants se basent sur la position actuelle de la tête d'impression. G1 élève ensuite la tête et l’éloigne du modèle imprimé. G90 rétablit ensuite le positionnement absolu : la tête se déplace vers des coordonnées fixes, quel que soit son point de départ. La commande suivante envoie la tête au milieu de l’axe X et tout au fond du plateau, à une vitesse de 3000 mm/min. Elle descend ensuite à 1 mm au-dessus du plateau, puis pousse le modèle vers l’avant avec la dernière commande.
Et voilà, le tour est joué ! Préparez simplement un fichier, lancez l’impression, et envoyez directement le suivant. Vous verrez sur la page de votre imprimante qu’une file d’attente a été créée. Une fois le premier travail terminé, la macro CLEAR_BED s’exécute automatiquement. L’imprimante attend que le plateau atteigne 30 °C, puis éjecte le modèle. Sans aucune intervention de votre part !
Répéter une impression en boucle
Très bien, la file d’attente est prête. Mais que faire si vous souhaitez imprimer encore et encore le même fichier ? C’est là qu’intervient la commande SD_LOOP.
Il vous suffit d’ouvrir votre fichier printer.cfg et d’ajouter une section [sdcard_loop], l’emplacement exact n’a pas d’importance. Cela active la possibilité d’imprimer en boucle. Ensuite, ajoutez une commande G-Code appropriée pour lancer la boucle. Le plus simple est de le faire directement dans votre slicer : nous vous recommandons de créer un profil d’impression spécifique pour cela. Ainsi, vous pourrez facilement passer d’un mode d’impression « normal » à un mode « boucle ».
Dans le profil de votre imprimante, accédez aux G-Codes machine et ajoutez dans le G-Code de démarrage : SDCARD_LOOP_BEGIN COUNT=5. Dans cet exemple, l’impression se répétera 5 fois. Vous pouvez bien sûr modifier ce nombre, pour une répétition infinie, il suffit d’indiquer COUNT=0.
Nous n’utilisons pas de file d’attente dans ce cas, mais vous pouvez tout de même utiliser le même macro G-Code pour éjecter le modèle. Deux options s’offrent à vous : copier le contenu de la macro directement dans le G-Code de fin de votre slicer, ou simplement y écrire CLEAR_BED, à condition d’avoir déjà défini cette macro dans votre fichier macro.cfg.
Important : n’oubliez pas d’ajouter SDCARD_LOOP_END à la fin de votre G-Code de fin. Cela indique à l’imprimante que la boucle est terminée. Tout ce qui se trouve entre SDCARD_LOOP_BEGIN COUNT=5 et SDCARD_LOOP_END sera répété autant de fois que défini.
Enregistrez ensuite, et lancez simplement l’impression. Et voilà, la boucle s’exécute automatiquement !
Une fois l’impression terminée, la barre de progression reste à 99 % jusqu’à ce que la température du plateau descende à 30 °C. Ce n’est qu’à ce moment que le modèle est éjecté, puis un nouveau cycle commence.
Si vous souhaitez arrêter la boucle après l’impression en cours, entrez simplement SDCARD_LOOP_DESIST dans la console. Le cycle suivant ne démarrera pas.
Imprimantes Marlin
Et si vous n’avez pas d’imprimante Klipper ? Pas de souci, vous pouvez appliquer un principe très similaire à celui présenté ci-dessus. Il suffit d’ajuster le G-Code de fin de manière à ce que l’imprimante éjecte automatiquement le modèle terminé. L’idée générale reste la même, mais les valeurs peuvent varier selon votre modèle d’imprimante.
Voyons cela de plus près :
M190 S30 #wait for bed temp to be 30
G91 #relative positioning
G1 Z10 #Raise Z10
G90 #absolute positioning
G1 X110 Y218 F3000 #Move printhead to middle and back
G1 Z1 #Move printhead down
G90 #absolute positioning
G1 X110 Y1 Z1 F2400 #Push Print off
Ces commandes peuvent être utilisées avec n’importe quelle imprimante, mais attention : les valeurs X et Y (lignes 5 et 8) sont adaptées aux imprimantes K1 ou aux machines CoreXY avec une zone d’impression similaire.
Vous devez connaître les dimensions de votre plateau. Si votre imprimante a, par exemple, un plateau de 250 mm de large, la ligne 5 devrait ressembler à ceci :
1 X125 Y248 F3000 #Move printhead to middle and back
La tête se positionne ainsi au centre de l’axe X (soit à 125 mm du bord) et tout au fond sur l’axe Y, à seulement 2 mm de la limite arrière.
La ligne 8 pourrait alors être :
G1 X125 Y1 Z1 F2400 #Push Print off
La tête reste au centre de l’axe X et se déplace tout à l’avant, à 1 mm du bord, pour pousser le modèle hors du plateau.
Gardez à l’esprit : cette méthode est conçue pour éjecter l’objet avec la tête d’impression. Mais ce n’est pas la seule possibilité : dans bien des cas, il peut être plus efficace d’utiliser le portique complet pour effectuer ce mouvement.
Sur la K1 cependant, cela pose problème car les courroies gênent le mouvement. Il est donc préférable de minimiser la force exercée sur le portique : c’est pourquoi nous recommandons, pour ce modèle, d’effectuer le mouvement d’éjection avec la tête d’impression.
Si vous préférez utiliser le portique, vous devrez simplement modifier la position de la tête sur l’axe X, en la déplaçant sur le côté. Pour un plateau de 250 mm, les lignes 5 et 8 pourraient ressembler à ceci :
Ligne 5 : G1 X1 Y248 F3000 #Move printhead to middle and back
Ligne 8 : G1 X1 Y1 Z1 F2400 #Push Print off
Et pour le looping avec Marlin ? Si vous utilisez une imprimante Marlin, vous pouvez appliquer le même principe qu’avec Klipper : en utilisant simplement la commande M808. Le fonctionnement reste le même : vous définissez le cycle via les G-Codes de début et de fin dans votre slicer. Vous trouverez d’ailleurs plus d’infos et des exemples détaillés sur le site officiel Marlin, cela vaut le détour si vous souhaitez approfondir le sujet.
Looping pour les imprimantes sans Klipper
Si vous n’utilisez pas d’imprimante avec Klipper, vous pouvez tout de même configurer un lopping : il suffit pour cela de chaîner plusieurs fichiers G-code et de les imprimer depuis une carte SD. Vous pouvez aussi exporter le tout sous forme de fichier .3mf, qui n’est en réalité qu’un dossier compressé.
Voici comment procéder avec Orca Slicer :
Découpez votre modèle comme d’habitude, puis exportez-le en tant que « Plate Sliced File ». Ce fichier peut être ouvert avec un outil de décompression comme WinRAR : dans le dossier metadata, vous trouverez le fichier G-code. Ouvrez ce fichier dans un éditeur de texte. Vous pouvez maintenant copier tout le contenu. Si vous souhaitez imprimer plusieurs fois le même fichier, il vous suffit de coller le G-code copié autant de fois que nécessaire à la suite. Pour créer une file d’attente avec plusieurs modèles différents, découpez chaque modèle séparément, exportez les G-code et collez-les les uns après les autres.
Il ne vous reste plus qu’à enregistrer le fichier texte modifié et à le fermer. WINRAR vous demandera si vous souhaitez mettre à jour l’archive avec les modifications : cliquez sur « Oui » pour valider. Ouvrez ensuite le fichier .3mf dans Orca Slicer. Vous verrez dans l’aperçu que les modèles se chevauchent et que le temps d’impression a changé : c’est exactement ce que nous recherchons !
Il ne vous reste plus qu’à envoyer le fichier à votre imprimante, elle imprimera le modèle autant de fois que vous avez inséré le G-code, et les éjectera automatiquement.
► Si vous utilisez une imprimante Bambu Lab (série A, P ou X) la procédure est très similaire. Cependant, nous vous recommandons vivement de regarder les vidéos de Factorian Design. Il y explique tout en détail, avec un travail impressionnant pour adapter parfaitement les modifications de G-code aux imprimantes Bambu. Cela en vaut vraiment la peine si vous souhaitez un résultat propre et fiable !
- Automatisation pour les Bambu Lab P1-/X1 – Vidéo de Factorian Design
- Automatisation pour la Bambu Lab Série A – Vidéo de Factorian Design
Quelques points importants à prendre en compte :
► Modifier le End-G-Code
Il se peut que vous obteniez un message d’erreur indiquant que l’imprimante doit effectuer un « home » sur tous les axes avant d’exécuter la macro CLEAR_BED. Cela vient souvent de la présence d’une commande M84 dans la macro END_PRINT du G-code de fin. Ce problème est courant, car de nombreuses imprimantes utilisent des macros pour le End-G-Code au lieu d’écrire chaque commande séparément.
Que faire ? Vérifiez dans votre fichier macro.cfg la macro concernée (par exemple END_PRINT) et modifiez-la directement. Si tout le G-code est dans le champ du End-G-Code, vous pouvez le modifier à cet endroit.
► Remplacer entièrement le End-G-Code
Sur certaines imprimantes, notamment celles dont vous ne pouvez pas modifier les fichiers de macros, il peut être nécessaire de remplacer complètement le End-G-Code. Un code très simple suffit généralement, par exemple :
M104 S0 ; extruder heater off
M140 S0 ; heated bed heater off (if you have it)
G91 ; relative positioning
G1 E-1 F300 ; retract the filament a bit before lifting the nozzle, to release some of the pressure
G1 Z+0.5 E-5 X-20 Y-20 F9000 ; move Z up a bit and retract filament even more
G28 X0 Y0 ; move X/Y to min endstops, so the head is out of the way
M84 ; steppers off
G90 ; absolute positioning
Si votre imprimante est équipée d’un Nozzle Wiper, vous pouvez y ajouter quelques commandes G1 pour faire passer la buse dessus après l’impression.
► Prévoir de l’espace
Pour que la tête d’impression puisse pousser le modèle en dehors du plateau, elle doit être correctement positionnée : cela signifie qu’elle doit pouvoir se rapprocher suffisamment du bord avant de pousser.
Dans nos tests, nous avons positionné la tête à l’arrière du plateau. Sur une K1 par exemple, cela signifie que les 55 mm arrière ne sont pas utilisables à cause de la taille de la tête. Mesurez donc bien la zone libre autour de votre tête d’impression avant de vous lancer, et vérifiez que votre modèle ne se trouve pas dans cette « zone à risque ».
Autre point important : la taille du modèle. Les modèles très petits ou très plats avec une grande surface d’adhérence collent souvent trop fort : il devient alors difficile de les éjecter. Les très grands modèles posent également problème car ils adhèrent fortement et sont difficiles à pousser. Dans ces cas-là, il est souvent plus efficace d’utiliser tout le cadre de l’axe Z pour pousser, cela permet d’exercer plus de force qu’avec la tête seule.
► Adhérence au plateau
Une adhérence insuffisante comme une adhérence excessive peuvent poser problème : si l’adhérence est trop faible, les impressions successives au même endroit risquent de se décoller ou de glisser. Si elle est trop forte, la tête ne parvient pas à décoller la pièce, ce qui peut même endommager l’imprimante.
La solution ? Une surface d'impression de qualité (comme une plaque PEI haut de gamme) et un réglage précis du Z-offset sont essentiels pour réussir l’éjection automatique.
► Filaments adaptés
Les filaments nécessitant un caisson fermé ne conviennent pas, la porte de l’imprimante doit rester ouverte pour permettre l’éjection. Cela exclut donc l’ABS, le Nylon, l’ASA et d’autres matériaux similaires. Même le PETG peut poser problème, car il adhère souvent très fortement au plateau.
► Purge Lines
Si votre imprimante trace une ligne de purge avant chaque impression, vous devriez la remplacer. Sur notre K1 par exemple, une ligne de purge KAMP était activée. Si elle est répétée à chaque boucle sans être retirée, cela peut poser problème.
Cela dit : l’imprimante DOIT extruder un peu de matière avant chaque impression pour préparer la buse. Notre conseil : remplacez la purge par un petit « brim » (par exemple 2 mm), il sera éjecté avec le modèle.
► Hotend chaud = risque de oozing
Assurez-vous que la tête d’impression s’éteint pendant le refroidissement du plateau : sinon, elle risque de continuer à extruder (oozing), ce qui peut ruiner la première couche de la prochaine impression. Cela peut se produire si vous supprimez entièrement la macro END_PRINT. Dans ce cas, la commande d’extinction du hotend ne s’exécute plus automatiquement.
Ajoutez une commande M104 S0 à la fin de votre G-code. Important : placez-la avant SDCARD_LOOP_END, sinon elle ne sera pas exécutée correctement.
► Utilisez la gravité !
Si votre modèle ne tombe pas complètement du plateau après l’éjection, profitez simplement de la gravité ! Une légère inclinaison de l’imprimante, comme montré dans la vidéo de Factorian Design, améliore grandement la fiabilité de l’éjection automatique.
Mais attention : inclinez votre imprimante de manière stable et sécurisée, et effectuez ensuite une nouvelle calibration Input Shaping pour conserver une qualité d’impression optimale.
► Faire rouler, mais correctement !
En cas d'imprimante à plateau mobile (bedslinger), la pièce éjectée peut se coincer entre le plateau et le châssis. Il suffit de placer une feuille de papier ou un morceau de carton rigide sous le plateau, cela permet au modèle de rouler proprement sans rester bloqué.
► Pusher Plate : pour une éjection encore plus fiable
Pour encore plus d’efficacité, vous pouvez imprimer une petite « Pusher Plate » : une plaque à fixer sur la tête pour pousser les pièces plus facilement. Mais attention : vérifiez bien la course maximale de votre imprimante ! La plaque ne doit en aucun cas heurter une paroi, sinon, gare aux crashs.
Produits correspondants
- 4.5 (908)
3DJAKE ecoPLA Blanc, 1,75 mm / 1000 g
Bestseller- Made in EU
- Très bonne qualité
- Facile à Imprimer
19,99 € (19,99 € / kg)Livraison jusqu'au 03 juin
- 4.5 (990)
3DJAKE ecoPLA Noir, 1,75 mm / 1000 g
Bestseller- Made in EU
- Très bonne qualité
- Facile à Imprimer
19,99 € (19,99 € / kg)Livraison jusqu'au 03 juin
- 19,99 € (19,99 € / kg)
Livraison jusqu'au 03 juin
- 19,99 € (19,99 € / kg)
Livraison jusqu'au 03 juin
À lire sur notre blog:
-
France : Livraison standard gratuite à partir de 54,90 €
-
Retour
gratuit Plus de 10.650 articles
Nous expédions vers
plus de 40 pays