Aller au contenu

GO Print

delta : auto-level piezo mks-sbase


cmatec

Messages recommandés

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 :

1486386960_positionnementpiezo.thumb.png.24cf7d4cc660aaaafe56645e633c4d66.png

... 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.

 

Pin-out de la mks sbase :

883806946_mkssbasepinout.jpg.884211afb5c46bdb6b65f3e2dca643cf.jpg

Smoothie fait la distinction entre les endstop et les « probe » : on peut utiliser au choix X-,Y- Z- pour connecter la carte piezo à condition que le pin correspondant ne soit pas défini dans la section endstop ...

 

Configuration de la carte MKS SBASE :

J'ai connecté la carte piezo sur Z- (pin 1.28)

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                                                                   1.28!^ # 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 1.28!^ en zprobe.probe_pin 1.28^

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 faire évoluer.

support piezo.zip

  • J'aime 2
  • Merci ! 1
Lien vers le commentaire
Partager sur d’autres sites

Bonjour @cmatec ,

Merci pour ce tuto, ça semble très complet,  j'ai tout de même quelques questions techniques supplémentaires (désolé il y a peut être des questions basiques, mais quand on débute, il vaut mieux assurer les bases que de se persuader qu'on a tout compris)

1)  Calibration du delta : est ce qu'il n'est pas superflu de relancer la procédure à chaque impression ? normalement, une fois le delta calibré, il n'est pas censé se dérégler à chaque impression ( je suppose qu'une calibration acquise reste en mémoire dans la carte tant qu'on ne demande pas son effacement) Oui / Non ?

2) Cartographie de la table : même question avec option subsidiaire : Une fois la table cartographiée, qui fait quoi au niveau logiciel ? est ce que c'est la carte (smoothie) qui s'arrange pour "déformer" le fichier d'impression afin qu'il colle aux défauts de la table, ou est ce le trancheur (dans ce cas PC et carte doivent pouvoir communiquer) qui adapte le Gcode aux défauts de la table ?

2bis) Cartographie : j'ai vu des vidéos avec palpage de points multiples sur différents rayons, jusqu'au centre de la table, sais tu quel est le mode d'intégration de cette série de points, calcul d'un plan moyen ou compensation surfacique complexe ?

3) L’intérêt du piezo : Si j'ai bien compris, il y a 3 capteurs piezo à 120° sous la table ( sur un rayon 85 mm en ce qui te concerne ?) , ces 3 capteurs sont reliés à une carte d'acquisition qui délivre un signal unique que l'on vient remonter sur l'entrée "probe Z-" , donc c'est la buse d'impression qui vient toucher directement la table jusqu'à déclenchement d'un seuil de voltage en provenance d'un ou des capteurs. (Oui /Non ?) qu'est ce qu'il se passe si un fil ou une boulette de plastique est collée sous la buse ? c'est tout mauvais non ?

4) Le module "support piezo" avec un trou dans le piezo, j'avais déjà vu ce montage, mais qu'est ce qui oblige à percer le piezo ? il n'y a pas moyen de fabriquer un capteur opérationnel sans percer le piezo ?

C'est tout pour aujourd'hui ... en attendant, je vais tacher de chercher sur le net s'il y a un "pourquoi" du trou dans le piezo 

Merci, @+
J-Luc

Lien vers le commentaire
Partager sur d’autres sites

@JL3D46 :

Citation

1)  Calibration du delta : est ce qu'il n'est pas superflu de relancer la procédure à chaque impression ? normalement, une fois le delta calibré, il n'est pas censé se dérégler à chaque impression ( je suppose qu'une calibration acquise reste en mémoire dans la carte tant qu'on ne demande pas son effacement) Oui / Non ?

Tu n'as pas besoin de lancer une calibration complète à chaque print (la grille et le delta radius sont stockés dans le config override et le delta grid) : à faire lors de la première impression, lorsque tu changes le noyau ou le plateau (vitre ou miroir). Le delta radius est le paramètre qui fait que le noyau se déplace de manière parallèle au plateau (cf décollement des pièces aux extrémités).

D'où les 2 start g-code :

Pour une calibration de la hauteur de buse initiale seule :

G28

G30 Z0

M306 Z0

M500 

 

2 - c'est le processeur de la carte qui calcule tout cela : la hauteur de buse est définie par interpolation des 4 points les plus proches sur la grille.

leveling-strategy.delta-grid.size                                       7

ici, grille de 49 points (7X7). Plus tu augmentes la valeur (nombres impaires obligatoires) et plus ta grille est précise

2 bis -

Citation

mode d'intégration de cette série de points, calcul d'un plan moyen ou compensation surfacique complexe ?

 Désolé, je n'ai pas les connaissances scientifiques nécessaires pour répondre précisément à cette question.

 

3 - la carte piezo agit comme un microswitch (on/off). La grille est parfaitement calée par rapport à la buse.

Citation

c'est la buse d'impression qui vient toucher directement la table jusqu'à déclenchement d'un seuil de voltage en provenance d'un ou des capteurs

c'est ça

Citation

qu'est ce qu'il se passe si un fil ou une boulette de plastique est collée sous la buse ?

La calibration se fait buse à température de print : on aura pris soin de nettoyer la buse et rétracter le filament afin d'éviter les écoulements.

Je n'en suis qu'au début de la mise en place  mais je vais faire évoluer le start g-code de la manière suivante :

- préchauffage sans filament

- calibration

- position de parcage et pause

- insertion automatique du filament

- purge de buse

- reprise

- début d'impression

4 - le piezo percé au centre est destiné à un montage direct sur la hotend, pour le passage du ptfe. Pour le montage sous le plateau, j'utilise des piezo  de 20mm non percés (undrilled)

Voilà, j'espère avoir répondu à tes questions. Si tu en as d'autres n'hésite pas ...

Modifié (le) par cmatec
  • Merci ! 1
Lien vers le commentaire
Partager sur d’autres sites

OK ! c'est encore mieux avec les détails !

Et pour le 2bis) tu as pratiquement répondu à la question (juste au dessus), puisqu'il travaille pour ainsi dire dans le "plan moyen" des 4 points les plus proches, mais qu'il évolue de proche en proche au fur et à mesure du déplacement, on peut l’apparenter à un suivi  surfacique assez évolué, je ne sais pas ou sont détaillées ces fonctions dans la doc smoothie, mais ça m'épate de constater à quel point ces systèmes sont évolués.

Et pour le piezo percé ... OK c'est plus logique maintenant, pas besoin de ça dans les capteurs sous table.

Tiens nous au courant de tes expériences, je travaille sur une machine d'assez grand format et le mappage de surface sera peut être bien pratique pour régler la première couche, surtout qu'avec l'ABS, mieux vaut être bien calé ... 

Encore merci!

@+
J-Luc

Lien vers le commentaire
Partager sur d’autres sites

@JL3D46 :

Citation

je ne sais pas ou sont détaillées ces fonctions dans la doc smoothie

Tu pourras trouver toutes les infos ici (dans la langue de shakespeare 😉) : http://smoothieware.org/zprobe

Citation

When enabled every move will calculate the Z offset based on interpolating the height offset within the grids nearest 4 points.

Les stratégies à définir sont :

- pour une delta leveling-strategy.delta-grid.enable    true

- pour une cartésienne : leveling-strategy.rectangular-grid.enable true

Si tu souhaites partir sur un plateau XXL, il serait peut être avantageux d'utiliser le système  piezo directement sur la hotend.

Lien vers le commentaire
Partager sur d’autres sites

@cmatec C'est sacrément bien documenté !

Il y a juste un truc qui me chiffonne ... si la table est de travers, le soft va t'il compenser de la même façon de la première à la dernière couche ? parce qu'on peut avoir divers résultats au final

57129647_Configimpression.JPG.9e227c70afc4895c24a978aee2fa5163.JPG

(1) Dans le premier cas, les premières couches s'adaptent aux imperfections de la table (pour assurer l'adhérence au plateau) ensuite la pièce s'imprime "au théorique"
La pièce est conforme mais sa base est légèrement fausse

(2) La machine compense de la même façon tout au long de l'impression : la pièce est déformée dans toute sa hauteur (pas forcément très bon)

(3) La machine intègre le défaut de table à la stratégie d'impression, et construit ainsi une pièce la "meilleure possible" en tenant compte du défaut angulaire de la table.

Je ne sais pas s'il y a des infos sur ces points ( j'ai lu la doc. en diagonale ...)

Une chose est sure, un plateau bien réglé c'est quand même le meilleur moyen d'imprimer des pièces conformes ...  

@+
J-Luc

Lien vers le commentaire
Partager sur d’autres sites

@JL3D46 :

Citation

Une chose est sure, un plateau bien réglé c'est quand même le meilleur moyen d'imprimer des pièces conformes ...

+1

Citation

Il y a juste un truc qui me chiffonne ... si la table est de travers, le soft va t'il compenser de la même façon de la première à la dernière couche ?

Sur une delta, le G32 corrige ces défauts d'inclinaison :

Citation

Then it will probe the three towers at the specified leveling-strategy.delta-calibration.radius from the center, and will print out the results, it will set the endstop trims and home, this will repeat 3-4 times, each time the difference between the three probes should get smaller, once it has completed 4 probes or the difference is under 0.03mm it will home one last time then probe the three points to confirm the calibration, then probe the center.

Lien vers le commentaire
Partager sur d’autres sites

il y a 24 minutes, cmatec a dit :

Sur une delta, le G32 corrige ces défauts d'inclinaison

Oui, c'est clair, une delta va caler son axe de travail (Z) en fonction du plan moyen de la table, c'est l'option (3) de mon croquis, et la meilleure à mon avis, par contre pour une architecture cartésienne il va y avoir "conflit d’intérêt"  entre le plan X-Y du mouvement de la tête dans l'espace et '"l'autre plan X-Y" (de la table) , d'ou mes questionnements pour les cas (1) et (2).

Lien vers le commentaire
Partager sur d’autres sites

@JL3D46 : apparemment, smoothie crée un nouveau système de coordonnées lors de la calibration : le WCS (delta grid + gamma max) qui est stocké dans le config override.

Pour les machines cartésiennes, il faut activer : leveling-strategy.rectangular-grid.enable      true

Lien vers le commentaire
Partager sur d’autres sites

  • 4 months later...

Bonjour cmatec,

 

et encore merci pour ton aide !!!

ce que je comprend pas c est quand tu mets les capteurs sous le bed....dans leur petit boîte ...comment peuvent ils fléchir 🤔

je pense ne pas avoir compris leur fonctionnement 😅...car pour moi ...je pensais que cela fonctionnait avec une vibration....

car j ai fait un test au boulot ...le capteur déposé sur une table en fer...et je venais à peine appuyer mon tourné vis sur la table ....50cm plus loin et la carte mère réagissait du piezo ....

En  sachant que le nez de la hotend lèche le bed....

a partir de ta réponse ...j aurai d autre question

 

merci 🤗

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

Il y a 7 heures, Buscicchio a dit :

.je pensais que cela fonctionnait avec une vibration

Un système piézoélectrique émet une tension plus ou moins élevée correspondant à l'effort que l'on applique sur celui ci (la déformation est extrêmement faible).

La carte mère réagit à partir d'un seuil de tension aux bornes du piezo, et intègre la position Z au moment ou elle détecte le contact (léger effort).

Il vaut mieux qu'il n'y ai pas de "vibrations" car cela pourrait perturber la qualité du signal.

@cmatec  pourra peut être nous dire s'il a mis plusieurs capteurs sous la table, sont ils montés en série pour additionner la somme des efforts (tensions) et être aussi sensibles quelque soit la position de la buse sur la table ? ou doit on utiliser un circuit supplémentaire ?

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

@Buscicchio : @JL3D46 a tout dit !

Pour le montage

1230311298_montagepiezoimprimante.png.6ead2ca34aeef80630c156ceeca5975f.png

668653853_montagepiezodelta.png.0dace69cf11028c3141e4f1dc72c42d1.png

la zone de palpations doit se trouver à l'intérieur du triangle jaune. Le système proposé ici est très simple mais réduit considérablement la taille de la grille de calibration. Tu pourras trouver d'autres systèmes plus complexes afin de pallier à ce désagrément.

Citation

@cmatec  pourra peut être nous dire s'il a mis plusieurs capteurs sous la table, sont ils montés en série pour additionner la somme des efforts (tensions) et être aussi sensibles quelque soit la position de la buse sur la table ? ou doit on utiliser un circuit supplémentaire ?

@JL3D46 :Montage sommateur sur la carte ? Par contre, on peut monter les piezo en parallèle sur une entrée et la carte en possède 3.

Perso, j'ai été au plus simple : 1 piezo par entrée (donc 3) et j'évite d'imprimer hors zone de la grille de calibration

Lien vers le commentaire
Partager sur d’autres sites

  • 1 year later...

Quelques modifications afin de palper la grille de calibration et de régler la hauteur de première couche en full auto :

1-passer la ligne

leveling-strategy.delta-grid.save                                          false

2-pour le start g-code :

G31
M374
M500
G28
G30 Z0
M306 Z0
M500

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
×
×
  • Créer...