Aller au contenu

GO Print

L'auto-leveling ne semble pas pris en compte


Messages recommandés

Bonjour,

J'ai une imprimante 3D custom de type CoreXY (plateau qui descend). Elle fonctionne à merveilles pour de petites impressions qui n'ont pas trop de surface au sol. Mais j'aimerai ranger l'électronique dans une boite et profiter du plateau de 40x40cm. Je test avec le couvercle de la boite (180x175x3mm) et je me rend compte que j'ai besoin d'un leveling au poil. Sauf qu'après un leveling manuel en 3 points pour régler mécaniquement le plateau, suivit d'un auto-leveling UBL, j'ai l'impression que l'auto-level n'a rien changer. En plus, l'extrudeur n'arrête pas de claque, ce qui n'arrivait pas sur les petites impressions :

1638712149_Sanstitre.thumb.jpg.43b61809315dcccba6a9603d951b9771.jpg

A gauche c'est toujours trop haut et à droite, trop bas. (la vitesse d'impression était un peu élevée, d'où les sortes de "vagues" vers les cercles). J'ai vérifié que cela ne vienne pas des écrous T8 mais avec le poids du plateau, il n'y a aucun jeu possible dans les vis (même si celle de gauche est légèrement voilée).

----------------------------------------------------------

Pour la config :

carte MKS SGen V1.0 (32 bits) sous Marlin 2.0.X (platformio), écran TFT3.2 et BLTouch, plateau 3 points (à vis manuels) et 2 tiges motorisées. J'ai choisi l'auto-level UBL et un mesh de 10x10 avec 3 mesures par point.

-----------------------------------------------------------

Voici la procédure que j'ai utilisé :

1 - Activer l'auto-level dans Marlin : #define AUTO_BED_LEVELING_UBL | #define MULTIPLE_PROBING 3 | #define RESTORE_LEVELING_AFTER_G28 (je suis toujours pas sur si je dois activer ou non ce dernier pour pouvoir commencer une impression directement avec les données de l'auto-level.

2 - Régler le Z-offset du BLtouch (distance entre la détection et la buse) au centre du plateau. Jusqu'à pouvoir faire gratter une feuille de papier entre le plateau et la buse à Z=0 après un homing.

3 - Positionner la buse aux 3 coins du plateau pour pouvoir régler la planéité manuellement avec les vis (sans qu'elle se contrarient). De façon à faire gratter une feuille de papier sous la buse à chaque point. Jusque là c'est OK. J'arrive même à retourner sur un point et faire directement gratter la feuille sans toucher à la vis.

4 - Lancer un auto-leveling depuis l'écran MKS TFT3.2 en utilisant une macro GCode : M502; M500; M501; G28; G29 P1, G29 S1; G29 F10.0; G29 A; M500; (Respectivement : Effacement de l'EEPROM, Sauvegarde des données dans l'EEPROM, Lecture de l'EEPROM, Homing, Mesure de l'auto_level, Stockage dans l'emplacement 1, Estompage de la correction après 10mm, Activation de la correction, sauvegarde des données dans l'EEPROM).

5 - Scripter le Gcode l'impression avec au début : G21; M501; G29 A; G28; (Respectivement : Utilisation de valeurs métriques, Lire l'EEPROM, activer la correction d'auto-level, homing)

----------------------------------------------------------

Le rapport de mesure (G29 T)

121801285_Sanstitre.thumb.jpg.3446b66a4674eb60f1f8c13e3d8ae18e.jpg

Effectivement, il y a une petite gymnastique pour replacer les axes comme sur la photo. Ici : Xmax = 370; Ymax = 390 (sécurité de 5mm autour du plateau).

Si je replace dans le repère de la photo, en haut à droite : -1.093, en bas à droite : +0.561, en haut à gauche : -1.527 et en bas à gauche : -0.189.

Donc là ou le mesh est très négatif, je suis trop près du plateau et là où le mesh est positif, je suis trop loin. Est-ce que l'auto-leveling ne serait pas inversé ?

----------------------------------------------------------

Conclusion :

Il y a un problème quelque part mais je ne sais pas où. Je ne pense pas que cela soit mécanique. les perturbations seraient trop infimes par rapport au manual leveling sur la 1ère couche. Je pense que cela doit être logiciel mais je perd espoir de trouver. Je cherche depuis déjà plusieurs jours. Mes pistes :

#define RESTORE_LEVELING_AFTER_G28 à désactiver ? Pourtant activé ou pas, le script devrait activer le Gcode enregistré sur l'EEPROM dans tous les cas ?

Le mesh est inversé sur les axes ou les axes de l'imprimante sont inversés tout court ?

Je ne sais plus quoi penser. J'espère que mes explications sont assez claires et détaillées. J'ai joint le Configuration.h au cas où.

 

Merci de votre aide/avis et pour le temps passé à lire mes déboires.

Configuration.h

Lien vers le commentaire
Partager sur d’autres sites

Merci d'avoir pris le temps de lire mon problème et d'apporter un début de réponse. Les 2 moteurs Z ont des coupleurs spirales et sont reliés ensemble sur le même driver DRV8825 réglé au max de son ampérage (avec une petite sécurité, soit 2 amp). Les moteurs sont des sl42sth40-1684a conçuts pour monter jusqu'à 1.7A. Pour la synchro, les 2 moteur sont reliés en parallèles avec ça :

image.png.dae805c702d71bc9cce686319c268060.png

Je n'utilise pas de driver Z supplémentaire car sur les 5 emplacements drivers, je veux utiliser E1 pour la 2eme buse (qui je n'utilise pas encore).

Après Il y a un câble plus long que l'autre, donc est-ce que cela peux jouer ? Est-ce qu'il serait plus sur de rajouter un module externe pour un 6e driver ? Il me semble que le gain de puissance n'en valait pas la peine.

Jusqu'à maintenant, je n'ai pas penser que cela puisse venir de la synchro car même utilisé à 60% de leurs capacité, les moteurs semblent être largement assez puissant pour mettre le plateau en mouvement. Et le fait qu'il soit branché en parallèle me semble une méthode assez sûre pour les synchroniser (malgré une perte de puissance).

Je n'ai pas remarqué ce désalignement pendant le réglage manuel du plateau. J'ai tendance à le revérifier 3 fois. Avec tous ces déplacement, la différence aurait dû s'amplifier à force d'utiliser l'axe Z ? Est-ce qu'il y aurait une erreur remarquable dans la conception de l'axe Z ? Est-ce que le léger voilage de la vis coté gauche (où il y a le plus de matière) joue tant que cela ?

Plus j'y pense, plus je me dis que c'est le repère XYZ de l'imprimante dans marlin qui est foireux ?

Lien vers le commentaire
Partager sur d’autres sites

  • 3 months later...

Salut !

J'ai été pas mal emm.....dé avec cette histoire de leveling... perso j'utilise un BL touch sur une Ender 3 avec la carte mère V4.2, mais en fait tout ça n'a pas vraiment d'importance parce qu'il semblerait qu'après pas mal de recherche j'ai trouvé la solution et j'espère que cela solutionnera ton problème.

Donc... pour l'auto-nivellement tu doit donc faire ton home, régler ton Z-Offset avec la feuille de papier à l'ancienne PUIS et c'est là que c'est cocasse... 

soit tu active le nivellement depuis ton écran (si si, il sera désactivé)

soit tu le fais à distance depuis ton pc avec un M420 S1 et seulement après ça tu fais un G29 ou un nivellement depuis ton interface.

 

Je m'explique : le G28 désactive l'auto-nivellement 🤪 --_--"

en fait si tu as moyen d'avoir un terminal avec ton imprimante tu fait un M420 S1 puis G28 puis un M503 et là tu observera un M420 S0... et ça ça veut dire qu'il n'y aura pas de rattrapage sur le niveau de ton plateau !

 

Alors pour ton Gcode de démarrage il te faudra dans cet ordre :

G28; AutoHome

M420 S1; Activation du mesh de leveling (tu peux aussi le mettre après le G29 ça ne devrait pas influencer ton nivellement et sa prise en compte)

G29; leveling

M500; sauvegarde du nouveau mesh (au cas où)

 

En espérant ne pas arriver après la guerre

Lien vers le commentaire
Partager sur d’autres sites

Intéressé par la réponse de Francis...

Ok, le G28 désactive la prise en compte du nivellement auto.

Donc toute activation doit se faire après le G28, on est d'accord.

Là ou je suis dubitatif c'est sur le M420 S1 puis G29 ou inversement. Soit on rappelle les mesures sauvegardées (M420) soit on lance une nouvelle campagne de mesures (G29) mais les deux ne me semblent pas utiles quelque soit l'ordre...mais je peux me tromper.

Modifié (le) par Yellow T-pot
  • +1 1
Lien vers le commentaire
Partager sur d’autres sites

Salut, 

Le 16/10/2020 at 12:30, Flob a dit :

#define RESTORE_LEVELING_AFTER_G28 (je suis toujours pas sur si je dois activer ou non ce dernier pour pouvoir commencer une impression directement avec les données de l'auto-level.

https://marlinfw.org/docs/gcode/G028.html

G28 disables bed leveling. Follow with M420 S to turn leveling on, or use RESTORE_LEVELING_AFTER_G28 to automatically keep leveling on after G28.

Il n'est pas nécessaire d'utiliser 'M420 S1'. si on utilise #define RESTORE_LEVELING_AFTER_G28.
 

Le 16/10/2020 at 12:30, Flob a dit :

- Scripter le Gcode l'impression avec au début : G21; M501; G29 A; G28;

Le G28 doit toujours se faire avant le G29

Il faut parfois faire un 'initialiser eeprom' via l'écran et redémarrer pour les modifications soient bien prises en compte. 

Modifié (le) par Invité
Lien vers le commentaire
Partager sur d’autres sites

Le 29/01/2021 at 11:25, leleuf a dit :

Il n'est pas nécessaire d'utiliser 'M420 S1'. si on utilise #define RESTORE_LEVELING_AFTER_G28.

Oui MAIS à la seule condition qu'un premier G29 ait été réalisé et que la topographie obtenue ait été enregistrée en EEPROM (M500 ou Store settings via l'écran).

D'autre part comme le dit @Yellow T-pot, sauf à vouloir utiliser ceinture et bretelles (why not 😉 ), c'est soit un G29 (mais ça prend du temps à réaliser, temps toutefois relatif par rapport à la durée d'une impression 😄 ) soit un simple M420 S (le 1 n'est pas obligatoire pour l'activation 😉 , par contre pour désactiver la prise en compte de la topographie du plateau (mesh / maiilage) il faut utiliser S0. On peut adjoindre un autre paramètre Zx pour arrêter à partir de la hauteur x).

Dans tous les cas, NE JAMAIS refaire un G28 après un G29 sauf si après le G29 il y a eu un M500 et que le Marlin a bien été compilé avec l'option RESTORE… ci-dessus.

🙂

  • Merci ! 1
Lien vers le commentaire
Partager sur d’autres sites

Re !

Citation

Il n'est pas nécessaire d'utiliser 'M420 S1'. si on utilise #define RESTORE_LEVELING_AFTER_G28.

Alors tout à fait d'accord mais dans mes <trop> nombreux essais, j'ai oublié d'activer cette fonction dans marlin... d'où le fait que je rebalance un M420 S, ça et le fait que j'ai eu tellement de peine à faire prendre en compte ce leveling par l'imprimante que finalement si il y avait une troisième commande je la mettrais probablement 🤪.

 

Sur une idée un peu différente, avec le recul aujourd'hui j'ai fait quelques modifications dans mon Marlin... Je fais une belle topographie sur 49 points 1 fois, manuellement, que j'enregistre via le M500 et dans mon Gcode de départ j'ai quelque chose qui ressemble à G28, M501, M420 S.

J'ai supprimé le leveling à chaque impression (partant du principe que mon imprimante ne bouge pas... ) à voir si ça le fait ou non.

 

ps : non je n'ai toujours pas pensé à programmer le #define RESTORE_LEVELING_AFTER_G28....

Lien vers le commentaire
Partager sur d’autres sites

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
  • Sur cette page :   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
  • YouTube / Les Imprimantes 3D .fr

×
×
  • Créer...