Overblog Tous les blogs Top blogs Maison, Déco & Bricolage Tous les blogs Maison, Déco & Bricolage
Editer l'article Suivre ce blog Administration + Créer mon blog
MENU

Le blog de nitocris

Le blog de nitocris

Astronomie Informatique et divers bricolages.


Impression 3D et Retractation

Publié par nitocris sur 8 Novembre 2020, 10:06am

Catégories : #impression 3D, #calibration, #Rétractation, #junction Deviation, #jerk, #Marlin

Introduction

J’essaie d'aborder le sujet sous le maximum d'angles.

- vitesse de rétractation

- distance de rétractation

et tous les paramètres qui interfères (accélération, e-jerk, non-linearité,etc)

Revision

2020-11-08 : ajout de Junction Deviation

 Un peu de théorie

Quelques chiffre, basé sur une distance de rétractation ramené à une longueur sur un fil de 1.75mm de diamètre. Les valeurs sont prise sur un systeme E3dv6 mais c'et pareil pour les autres

- volume de la partie extrudé : (0.4/2)²*pi*0.6/(1.75/2)²pi= 0.4²*0.6/1.75²=0.03 mm3

- volume de le buse : [10.5+1.4/3]=10.97*pi =34 mm3 ; ramené au linéaire du file de la bobine 10.97/(1.75/2)²=14.3mm

- volume de la buse dépassant du corps de chauffe : [3+1.4/3]pi=4.5pi mm3 ; ramené en linéaire de fil = [3+1.4/3]/(1.75/2)²=4.6mm

Note: même si le comportement n'est pas continue car on "rétracte" sur un fil qui se comporte comme un mauvais élastique, on parle aussi bien de diminuer la pression sur la tête que de rétracter du fil.

Conclusion : La longueur que l'on rétracte est environ ce qui est dans la partie conique de la tête

En pratique

Le but du jeu est d'avoir le moins long de rétractation possible.

Le mode opératoire est d'imprimer l'un des modèles de test pour le "stringing" en procédant comme suit : 

1) on commence avec 0.5mm à une vitesse moyenne (25mm/s)

2) on monte la vitesse jusqu’à ce qui est acceptable (40mm/s souvent mais on peut monter jusqu’à 70).

3) on allonge la distance de rétractation par pas de 0.5mm. Jusqu'à avoir une impression propre et sans déformation.

S'il y a déformation c'est que la valeur est trop élevé.

Rester en dessous des 2mm est idéal. La valeur commune est de 3mm. En bowden c'est souvent un peu plus ; exemple avec un bowden de 65cm je suis à 3mm et avec un de 45cm à 2.5mm.

Les modèles de test :

 http://www.thingiverse.com/thing:1535485

http://www.thingiverse.com/thing:3332137

Penser à désactiver ua moins dans un premier temps :

- Coasting

 

Rétractation, accélération, Jerk 

 

Le fonctionnement standard de Marlin une vitesse impression/extrusion est : d'appliquer une accélération pour atteindre la vitesse cible. Si le parcours est inferieur au jerk, on applique directement la vitesse.

Ca se comprend bien sur un déplacement long : 20cm de déplacement à 100mm/s on a besoin que d'une faible accélération de 200mm/s² passer 75% du temps à la vitesse max. Et a 500mm/s² on serait à 90% su temps de parcours à 100mm/s

vitesse & accélération sur 20cm

Le jerk n'intervient que si le déplacement est inférieur à la valeur de x/y-jerk autour de 5 à 10 mm en moyenne.

Si vous voulez vous attaquer à ce sujet  : https://www.youmagine.com/designs/multi-angle-test-tower-for-calibrating-jerk

On imprimer une figure en changeant la valeur de X/Y Jerk ou de Junction Deviation 

Et pour la rétractation

Pour un déplacement de rétractation ca se complique : les déplacements sont tous inférieur à 10mm et on essaye de rester autour 2. Et donc le jerk peut rentrer en compte.

Si la distance à extruder est inférieur à la valeur de jerk, le moteur monte directement à la vitesse max sans phase d’accélération. Hors autant sur un déplacement de 20cm sur les X/Y ça sert à quelques chose [mais à remplacer par la Junction Déviation], autant sur des déplacement sur l'extrusion c'est pas évident. 

En effet soit on est sur une extrusion continue (on fais un bord long) et là pas d’accélération. Soit on fait des petit morceaux et on arrête pas de faire des rétractation d'un longueur inférieur au jerk.

En résumé : garder le jerk de l'extrusion (E-jerk) supérieur à la valeur de rétractation. Par exemple 5mm pour une valeur générique

 

Junction Déviation dans Marlin

C'est une fonction qui remplace le Jerk dans Marlin - ca existe déjà dans d'autre firmware et c'est natif dans les CNC. On essaie de garder une accélération constante en courbe (essayez de penser à une voiture qui tourne). La Junction Deviation c'est d ici.

En Marlin 2.0 c'est active quand le "//#define CLASSIC_JERK" est désactivé.

#if DISABLED(CLASSIC_JERK)
  #define JUNCTION_DEVIATION_MM 0.0216 / DEFAULT_ACCELERATION// 0.0216 //0.013 // (mm) Distance from real junction edge
  #define JD_HANDLE_SMALL_SEGMENTS    // Use curvature estimation instead of just the junction angle
                                      // for small segments (< 1mm) with large junction angles (> 135°).
#endif

 

Un valeur haute permet une vitesse rapide dans les angles mais augmente le risque de sauter un pas ou de précision . Inversement, un valeur faible réduit la vitesse à l'angle diminuant le risque de pas manqué et augmentant la précision

Choisir une Valeur

V= La vitesse que l'on veut avoir en courbe

A= c'est l'accélération radial = Acceleration de l'impression (entre 500 et 1000mm/s²)

On peut aussi faire son calcul à partir du jerk :

Piece à imprimer pour calibrer son Junction Déviation dans CURA : https://www.thingiverse.com/thing:3463159

Mon Experience : Pour X&Y ca fonctionne plutôt bien. Pour le Z c'est pas sensible. Par contre je rencontre un problème avec l'extrudeur : quand on a le Junction déviation activé sur les 3 axes, le firmware ne prend plus en compte le jerk de l'extrudeur. Donc jusqu'à comprendre pourquoi, je reste en full jerk

Junction déviation et E-jerk

La valeur de E-jerk est directement calculé à partir de N (Accélération maximal de E) :  

max_ejerk [mm/s] = SQRT((SQRT(0.5) * max_acceleration_mm_per_s2[E_AXIS] * junction_deviation_mm) / (1 - SQRT(0.5)))

Avec une junction deviation = 0.02 et une max acceleration E of 517,9 pour une ejerk of ~5,0
ou ejerk of ~12,0 pour une max acceleration of 3000

Conclusion : il faut tuner la valeur de l'accélération de l'extrudeur, un valeur qu'on place élevé par défaut.

Super plus - Linear Advance (v1.5)

- C'est une option à activer dans le firmware si on veut et On place la valeur K=0.0 pour que ce soit désactivé par defaut.

- Lineare advance est incompatible avec le S-curve

- On l'active via le pré-set du gcode du slicer avec la valeru que l'on aura parametré [M900 K=0.]

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article

Archives

Nous sommes sociaux !

Articles récents