cmatec Posté(e) Aout 6, 2018 Posté(e) Aout 6, 2018 (modifié) Hello tous ! Avant de commencer, je tiens à remercier emotion-tech de m'avoir réconcilier avec l'impression 3D (micro delta rework au top !!!) suite aux déboires rencontrés avec la Neva de DAGOMA ; @Marlequeen pour son soutien et ses travaux qui ont permis de grandes avancées (chimera ou cyclop ... + auto level piezo il y a 6 mois déjà) ; @pascal_lb : pour son soutien et sa grande disponibilité. Je poste ce nouveau sujet car je viens de mettre en place un auto level à base de piezo sur une imprimante delta tournant sous smoothie. Les résultats sont plutôt prometteurs ... Intérêt : La mise en place d'un auto level sur une delta a 3 fonctions principales : - la calibration automatique de la géométrie delta : cela permet d'avoir le noyau toujours parallèle à la surface d'impression (le bed) - la palpation de la surface d'impression pour en faire une cartographie : c'est ce que l'on appelle la grille de calibration - le réglage automatique de la hauteur de première couche Tout cela peut se faire automatiquement en ajoutant quelques commandes G-code dans le trancheur (repetier, cura, …), sans avoir le moindre réglage à faire sur la machine (fini les capteurs à mettre, à enlever, les réglages d'offset …). La qualité du print s'en trouve améliorée, le positionnement de la buse est toujours optimal. Si l'aventure vous tente … Prérequis : - disposer d'une imprimante delta pilotée par une carte smoothie telle que la MKS Sbase : ====> ICI - disposer d'un kit auto level piezo : ====> ICI - être capable d'utiliser un multimètre - être capable d'utiliser un fer à souder Mise en place des capteurs piezo : Les capteurs piezo doivent être positionnés de la manière suivante : ... avec par exemple ces supports imprimés si possible en ABS : voir pièce jointe en fin de post Le « palpeur » sera isolé du plateau chauffant avec du kapton et fixé sur celui-ci avec de la visserie inox (ou titane) de préférence afin de limiter le transfert de chaleur. Quelques soudures sont à réaliser pour les connecteurs des piezo. Configuration de la carte smoothie : Ouvrez votre fichier de configuration. Tout se passe dans la section Z-probe et doit ressembler à cela (ne pas faire de copier coller car cela ne correspond pas forcément à votre carte!!!) ## Z-probe zprobe.enable true # set to true to enable a zprobe zprobe.probe_pin 0.26!^ # pin probe is attached to if NC remove the ! zprobe.slow_feedrate 20 # mm/sec probe feed rate zprobe.debounce_count 1 # set if noisy zprobe.fast_feedrate 50 # move feedrate mm/sec zprobe.probe_height 15 # how much above bed to start probe # associated with zprobe the leveling strategy to use leveling-strategy.delta-calibration.enable true # basic delta calibration leveling-strategy.delta-calibration.radius 85 # the probe radius leveling-strategy.delta-calibration.tolerance 0.04 leveling-strategy.delta-calibration.initial_height 15 # height above bed to stop initial move #grid leveling-strategy.delta-grid.enable true leveling-strategy.delta-grid.radius 85 leveling-strategy.delta-grid.size 7 leveling-strategy.delta-grid.do_home true leveling-strategy.delta-grid.probe_offsets 0,0,0 # probe offsets x,y,z (Z should always be 0) leveling-strategy.delta-grid.save true leveling-strategy.delta-grid.initial_height 15 Les valeurs à ajuster à votre imprimante sont en gras. Connexion et réglage de la sensibilité : La carte precision piezo doit être alimentée par une tension comprise entre 3.3V et 5V maximum. Je vous conseille de vérifier la tension de sortie sur le connecteur endstop utilisé pour l’autolevel (sur votre smoothie board). Une fois la carte connectée, ajuster VR2 de manière à trouver le point où la led triggered s’éteint. Cela fait, il faut vérifier la polarité des piezo : connecter les piezo l’un après l’autre (imprimante hors tension!). Lorsque l’on appuie sur le palpeur, la led triggered doit s’allumer (on peut maintenir la pression 2-3 secondes). Si celle-ci s’allume lors du relâchement, il faut inverser la polarité. Répéter l’opération pour les 2 autres piezo. Vous pouvez fixer les 3 palpeurs au plateau et le mettre en place dans les supports de piezo. La sensibilité de l’auto level doit être ajustée à l’aide de VR1. VR2 est un réglage plus fin. Lors des déplacements du noyau, il ne doit pas y avoir de faux triggered Pour plus d’information sur les réglages, toutes les infos sont ===> ICI Passons maintenant à la vérification du bon fonctionnement de l’autolevel. Pour cela nous allons utiliser repetier (ou équivalent) : Tapez M119 pour connaître l’état des endstop. Zprobe doit être à 0 sans contact sur le plateau. Appuyer sur le plateau et renvoyez un M119, Zprobe doit passer à 1 Si les valeurs sont inversées, modifiez : zprobe.probe_pin 0.26!^ en zprobe.probe_pin 0.26^ La partie mécanique et électronique est terminée. Mise en place de l’autolevel dans le trancheur : Ouvrez votre logiciel de tranchage favori, il va falloir éditer le start G-code : Pour une calibration complète de la machine, au début du start G-code insérer ces commandes : G32 (calibration delta endstop et delta radius) M500 (enregistrement dans le config override) G31 (palpation de la grille et son activation) M374 (enregistrement de la grille sur la carte sd) G28 (homing) G30 Z0 (définition du gamma_max = déplacement total en Z) M306 Z0 (définition du Z0 machine) M500 (enregistrement dans le config override) On peut rajouter un G0 Xnnn Ynnn Znnn pour définir une position de parcage avant le début du print (attente fin préchauffage par exemple) Une interrogation subsiste : ajouter un M374.1 avant le G32 pour effacer le fichier delta.grid ? Pour une calibration de la hauteur de buse initiale seule : G28 G30 Z0 M306 Z0 M500 On peut rajouter un G0 Xnnn Ynnn Znnn pour définir une position de parcage avant le début du print (attente fin préchauffage par exemple). Utilisation : J’ai créé 2 profils dans mon logiciel de tranchage : - Full autolevel cyclop utilisé à l’allumage de l’imprimante pour le premier print. - Basic autolevel cyclop utilisé pour les prints suivants. La calibration de la machine est « tout automatique », ce qui facilite grandement les choses ! Ceci est une liste non exhaustive des procédures à mettre en place, à vous de jouer pour la corriger ou la faire évoluer. Bons prints à tous ! support piezo.zip Modifié (le) Aout 10, 2018 par pascal_lb
cmatec Posté(e) Aout 10, 2018 Auteur Posté(e) Aout 10, 2018 (modifié) La carte smoothie utilisée pour ce projet est une emotronic (emotion-tech). Le pin-out est directement adaptable sur la MDR. Les supports de piezo se montent en lieu et place des entretoises fixant le plateau chauffant. mise en garde sur l'emotronic : la carte ne dispose pas de régulateur sur les connecteurs endstop !!! La tension de sortie (pour alimenter des endstop optiques ou une carte piezo) est donc de 24V. Il faut impérativement utiliser une carte qui régule cette tension à 5V. . Modifié (le) Aout 10, 2018 par cmatec
cmatec Posté(e) Aout 21, 2018 Auteur Posté(e) Aout 21, 2018 edit du post précédent : Citation mise en garde sur l'emotronic : la carte ne dispose pas de régulateur sur les connecteurs endstop !!! La tension de sortie (pour alimenter des endstop optiques ou une carte piezo) est donc de 24V. Il faut impérativement utiliser une carte qui régule cette tension à 5V. Citation 5. Les entrées de fin de course Les entrées de fin de course vous permettront d’appliquer une référence absolue à vos mouvements. Les 4 entrées de fin de course peuvent être associées à un axe dans le fichier de configuration. Note: une soudure sélectionnera la tension attribuée aux connecteurs (3.3V et 5V) Toutes les infos sur l'emotronic sont ici : https://www.reprap-france.com/article/lemotronic-quesaco La connexion de la carte piezo doit donc être sur le connecteur endstop libre (pin 1.25) et non sur la sortie octocouplée (pin 0.26). Merci au SAV d'emotion-tech pour leur disponibilité.
Math51 Posté(e) Septembre 16, 2018 Posté(e) Septembre 16, 2018 Salut, Merci pour le sujet, c'est très intéressant ! Je suis assez tenté par la modif. Par contre, le lien que tu donnes vers le fournisseur renvois vers la page pour acheter uniquement la carte piezo. Je suppose qu'en réalité il faut le kit complet avec les capteurs : https://www.precisionpiezo.co.uk/product-page/copy-of-precision-piezo-universal-z-probe-kit ? Quelle version de capteurs as-tu utilisé pour la MDR ? Diamètre 20 ou 27, percés ou non ? Du coup pour l'emotronic, pas besoin de régulateur de tension il faut juste utiliser le pin 1.25 (et modifier par rapport au code que tu as fourni : remplacer le pin 0.26 par 1.25) ? Par rapport au code que tu as donnés, c'est cette ligne " M306 Z0 (définition du Z0 machine)" qui permet de définir la hauteur initiale par rapport au plateau (remplacement de l'ancienne étape avec la feuille de papier pour réglage de la hauteur). Merci d'avance pour ton retour. Math
cmatec Posté(e) Septembre 17, 2018 Auteur Posté(e) Septembre 17, 2018 @Math51 : dsl pour la réponse tardive. En effet, il ne faut pas oublier de prendre les piezo. Pour un auto level sous le bed, il te faut 3 piezo de 20mm. Les percés servent pour un montage sur la hotend. Dans le fichier de conf : zprobe.probe_pin 1.25!^ # pin probe is attached to if NC remove the ! Pense à vérifier l'état du capteur avec un M119 sous repetier ou équivalent J'ai fait un peu évoluer le start G-code car à l'usage, la première couche était trop écrasée (flexion des piezo) : Pour un "full auto level" : M374.1 G32 M500 G31 M374 G28 G30 Z0 G1 Z0.05 # relève la tête de 0.05mm M306 Z0 # définition du Z0 machine M500 Pour le "basic auto level" G28 G30 Z0 G1 Z0.05 M306 Z0 M500
Math51 Posté(e) Septembre 19, 2018 Posté(e) Septembre 19, 2018 Salut, Ok merci pour les retours. Ce qui reste pas très clair pour moi : à quel moment tu défini la hauteur de la 1ère couche (manip qui remplace le réglage de la hauteur avec la feuille de papier) ? Merci Math
cmatec Posté(e) Septembre 19, 2018 Auteur Posté(e) Septembre 19, 2018 @Math51 : Sur une delta, l'origine de la machine (home) est en haut au niveau des 3 endstop. Le gamma max est le déplacement de l'origine jusqu'au plateau. Pour régler la hauteur de première couche, on demande un retour origine (G28) puis une descente pour aller chercher le plateau (G30Z0). Lorsque la buse touche celui-ci, le déplacement s'arrête (la carte piezo agit comme un endstop min). La buse est au Z0 machine (manip qui remplace le réglage avec la feuille de papier mais tout automatique). On l'indique à la carte smoothie avec un M306Z0 (définition du 0 machine). On sauvegarde dans le fichier config override avec un M500. La hauteur de première couche est gérée par le trancheur, par rapport au Z0 machine et en fonction de l'épaisseur de couche d'impression (0.1, 0.2, 0.3mm ...). Les piezo, lors du contact, fléchissent légèrement et la première couche était trop écrasée. Pour pallier cela, il m'a fallu relever le Z0 machine de 0.05mm : G1 Z0.05 Le start gcode : G28 G30 Z0 G1 Z0.05 M306 Z0 M500
Math51 Posté(e) Septembre 25, 2018 Posté(e) Septembre 25, 2018 Salut Ok @cmatec, merci pour ton retour ! Je suis en contact avec le SAV eMotion Tech pour régler 2 soucis sur ma machine, mais dès que c'est fait, je regarde pour installer ces capteurs piezo ! Math
FlyingPig Posté(e) Novembre 1, 2018 Posté(e) Novembre 1, 2018 Le 19/09/2018 at 22:34, cmatec a dit : @Math51 :Le start gcode : G28 G30 Z0 G1 Z0.05 M306 Z0 M500 Je suis moi aussi en plein ajout de piezo sur la machine, techniquement les piezo fonctionnent impeccablement, Le G31 et G32 se passent bien mais je suis incapable de lui faire prendre en compte ce Z0 machine.. pour me passer de la feuille de papier. Quand je demande un G0 Z0, ma buse s'arrête à a chaque fois à 5mm du plateau. Même après avoir effectué: G30 Z0 M306 Z0 M500 (M206 renvoie bien X0.00 Y0.00 Z0.00 mais à la prochaine demande de G0 Z0 après un home. Paf de nouveau 5mm du plateau....) Le seul moyen d'avoir un Z0 correcte est de faire G0 Z0 puis de descendre la tete avec un déplacement en Z 5mm jusqu'a toucher le plateau et là effectuer M306 Z0 M500 A ce moment M206 me renvoie X0.00 Y0.00 Z5.00 Puis si je fais G28 G30 Z0 G1 Z0.05 M306 Z0 M500 Alors M206 donne X0.00 Y0.00 Z4.95 et ainsi de suite Z4.90 ... si je répète l'opération. Honnêtement je comprend pas pourquoi le déplacement en Z est pas pris en compte avec G30 Z0... mais uniquement avec un déplacement "a la main". Ps: Modification effectuée dans config.txt "gamma_max 206.500" Soit la valeur récupérée par un G30 D'origine la MDR est configurée avec un "gamma_max 180" ce qui fait que la buse ne s'arrêtait pas à 5mm du plateau mais à 25... Une idée ??
cmatec Posté(e) Novembre 2, 2018 Auteur Posté(e) Novembre 2, 2018 @FlyingPig : essaie de diminuer la sensibilité de ton auto level piezo. Sinon, il faut ajuster les vitesses de déplacement dans le config.txt (module z probe)
FlyingPig Posté(e) Novembre 3, 2018 Posté(e) Novembre 3, 2018 (modifié) @cmatec J'ai essayé a tout hasard mais cela ne change rien. Le problème me parait plutôt être quelque part dans ma configuration ou dans le fonctionnement de la commande M306. Le zero machine est visiblement positionné à 5mm du plateau (je ne sais pas comment). Typiquement quand je demande un G0 Z0, c'est là que la buse va. Quand je fais un G30 Z0, la buse part bien sonder le plateau et se stop dès qu'elle le touche et me renvoie bien la bonne hauteur du volume d'impression. (les piezo fonctionnent, pas d'interferences avec les moteurs) Le problème est qu'à ce moment-là après avoir touché le plateau. Lors d'un M306 Z0, celui ci renvoie des coordonnées 0;0;0 Ces coordonnées sont stockée dans le fichier config-override en faisant un M500 ( dans la ligne M206 "Home Offset") SAUF QUE... (c'est là que ca devient drôle) il stock des coordonnées 0;0;0... soit le zéro du début à 5mm du plateau.... pas un zéro modifié. La seule astuce que j'ai trouvée pour le moment est de forcer la chose en prenant un zero plateau à la main : -Demander un G0 Z0,( soit le point à 5mm) descendre la buse au contact, sauvegarder avec un M306 Z0 (cette fois il voit bien que je suis à 0;0;5) Et là lors des prochains appels après palpation G30 Z0, avec un M306 Z0 suivi d'un M500 il sauvegarde bien ce point (0;0;5) comme le zéro dans config-override... Là ou ça pose problème c'est que cette valeur, je ne peux pas l'enregistrer avec un M500 à chaque impression surtout si je lui demande entre temps de relever la buse avec un G1 Z0,05. Dans ce cas : ça fausse le fichier config-override en sauvegardant en 0;0;4.95. donc ça décale le zero de 0,05 à la prochaine impression. idem d'impression en impression. Y'a un truc que j'ai probablement pas bien compris quelque part dans le fonctionnement... Je me demande si ça vient pas de la version de Smoothie utilisé de base dans la MDR... (tu utilises quelle version ?) Typiquement ici: https://github.com/Smoothieware/Smoothieware/blob/edge/upgrade-notes.md Je vois dans "Other changes" : " Fix M306 so it does not reset axis position and acts more like M206 which needs a home cycle to take effect." Changed G30 Z0 to use G92 to set the global offset. Mais honnêtement pour le coup, ça me dépasse un peu pour le moment... Modifié (le) Novembre 3, 2018 par FlyingPig
cmatec Posté(e) Novembre 3, 2018 Auteur Posté(e) Novembre 3, 2018 @FlyingPig : j'utilise la version Emotion-tech. Tu fais bien un G28 avant le G30 Z0 ? Pourrais tu stp poster ton config.txt ?
FlyingPig Posté(e) Novembre 4, 2018 Posté(e) Novembre 4, 2018 Voilà le fichier config ! Dans cette version je suis revenu a 180 en gamma_max. (comme d'origine). Comme tu peux le voir, dans ce config-override, je dois descendre (à la main, comme détaillé avant) la buse de 20mm... Au final je me demande si ce qu'il se passe n'est pas le comportement normal de M306... On donne une fois la hauteur du plateau à la main. puis M306 fait la correspondance. Puis ensuite, il prends le points palpé avec G30 Z0 comme la hauteur définie dans le fichier Override. Offset M206... (en soit, ça, ça fonctionne, après avoir réglé une fois à la main...) Ce que je ne comprends pas c'est comment tu arrives à relever la buse en sauvegardant avec M500 sans modifier le fichier conf à chaque impression... chez moi c'est impossible ! config.txt config-override
FlyingPig Posté(e) Novembre 4, 2018 Posté(e) Novembre 4, 2018 (modifié) Bon... je ne m'explique toujours pas ce comportement mais... Au final, après avoir défini à la main une fois pour toute la position du plateau, cela fonctionne bien ! voici mon Start-Gcode complet : M190 S{material_bed_temperature} G32 M500 G31 M374 M375 G28 G30 Z0 G1 Z0.1 M306 Z0 G28 M109 S{material_print_temperature} G0 X70 Y40 Z1 G92 E0 G1 F200 E3 G92 E0 La seule limite est de ne pas pouvoir sauvegarder la position de la buse avec M500 faute de modifier le fichier Config-Override... Mais finalement... le M306 Z0 seul suffit à garder en mémoire le point d'origine pour l'impression. Donc ce n'est pas grave. Il faut simplement reset l'imprimante entre deux impressions. Où alors, il faudrait que je trouve un moyen d'effacer ce point dans le End-Gcode automatiquement. Dans tous les cas, c'est une excellente modification. La precision de la première couche n'a jamais été aussi bonne chez moi, les piezos sont redoutables d'efficacités !! Et quel bonheur de ne plus avoir à calibrer et installer le capteur ! Ps: C'est un autre sujet mais actuellement pour test, j'imprime le support de tête cyclope/chimera de notre amie @Marlequeen... je prépare la prochaine grosse modification (cyclope!)... chuuuuuut... Modifié (le) Novembre 4, 2018 par FlyingPig 1
cmatec Posté(e) Novembre 4, 2018 Auteur Posté(e) Novembre 4, 2018 @FlyingPig : Une piste pour tes piezos : perso, j'utilise la sortie octo-couplée (pin 0.23) pour connecter la carte piezo (avec un régulateur 5V). Il pourrait être intéressant de prendre le 5V et le GND sur un connecteur endstop et le signal sur le pin 0.23. A tester ...
FlyingPig Posté(e) Novembre 4, 2018 Posté(e) Novembre 4, 2018 (modifié) @cmatec Oh ! Bonne idée !! Le problème est peut-être là. Je suis pour ma part sur le pin 1.25 je vais certainement essayer ton idée ! En tout cas, sans sauvegarder dans le Start-Gcode, en redémarrant l'imprimante entre chaque impression, cela fonctionne impeccablement sans aucun calibrage maintenant. Elle sait une fois pour toute où est le plateau et fait la correspondance au moment du G30 Z0. La procédure la plus simple est de faire une fois depuis le LCD le réglage de la feuille de papier. Après c'est tout automatique depuis le Gcode. Modifié (le) Novembre 4, 2018 par FlyingPig
FlyingPig Posté(e) Novembre 4, 2018 Posté(e) Novembre 4, 2018 (modifié) @cmatecJe ne comprends pas, je viens d'essayer, j'ai exactement le même comportement qu'avant sur le pin 0.23 ! En tous cas, ça confirme la faisabilité de ce branchement. Mais je ne comprends pas pourquoi toi et moi, nous n'avons pas le même comportement de la machine.. A savoir : peu importe la hauteur Z, chez moi, impossible d'actualiser le fichier config-Override avec la bonne valeure. M306 fait une correspondance entre la position de la buse et le réglage d'offset du fichier Override résultat, si je relève la buse avec G1 Z0,05 et sauvegarde, je modifie le fichier Override et décale l'impression à chaque fois. Ps : la valeur de Z en G30 Z0 est au pif, j'ai tapoté le plateau pour vérifier. Modifié (le) Novembre 4, 2018 par FlyingPig Ajout d'images
cmatec Posté(e) Avril 14, 2020 Auteur Posté(e) Avril 14, 2020 Quelques modifications afin de palper la grille avant chaque impression : 1-dans le config passer la ligne leveling-strategy.delta-grid.save false 2- pour le start g-code : G31 M374 M500 G28 G30 Z0 M306 Z0 M500 ... 1
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant