Aller au contenu

GO Print

Volumic, SKR1.4Turbo et TMC2209


toonsandco

Messages recommandés

Bonjour à tous,

Propriétaire depuis 5 ans d'une Volumic Stream20 Pro, je me suis décidé à changer toute son électronique (contraint et forcé car l'ancienne avait fumé).
A la lecture de ce forum, je suis parti sur le combo SKR1.4 Turbo, TMC2209, BLTouch et écran 3.5''

La migration ne s'est pas faite sans mal mais au bout de quelques jours, j'ai pu lancer mes premiers prints encourageants.
Il me reste cependant 3 problèmes dont un majeur:

  • Mes impressions se déroulent parfaitement jusqu'à un blocage de l'extrusion. Il n'y a aucun claquement du moteur de l'extrudeur, pas de buse bouchée (si je stoppe l'impression et que je demande à extruder quelques mm, le filament sort bien)
    Un exemple au bout de 2h d'impression :
    print.thumb.jpg.964070caa744d00f34ecde8773fdac72.jpg

    Je précise qu'à part ce soucis, le reste de l'impression me parait bon : les dimensions en X, Y et Z sont bien respectées
     
  • Problèmes avec Marlin 2.0.5.3
    - La connection avec le PC n'est pas stable : je peux par exemple prendre la main avec S3D ou Cura mais quand je lance un réglage de PID (par exemple), la connection est perdue avant la fin du réglage 😞
    - Quand je stoppe volontairement une impression via le menu, l'impression se stoppe bien, la tête retourne à son emplacement de repos, mais l'imprimante reste en mode 'imrpession' et je ne peux rien faire d'autre que la redémarrer pour reprendre la main dessus
     
  • Cette imprimante possède 2 moteurs en Z. J'ai paramétré Marlin pour avoir le premier sur Z et le second sur E1 (je n'ai qu'un extrudeur). Tout fonctionne parfaitement, sauf que je ne trouve aucun moyen de régler indépendamment les 2 moteurs. Je précise que le BLTouch n'est pas encore mis en service, je travaille donc avec un endstop par axe
     

Auriez vous une idée de comment remédier à ces problèmes?
Merci d'avoir lu mon roman jusqu'au bout 🙂
 

P.S: Ne sachant pas où mettre ce post mais pensant qu'il touchait plus la partie électronique je l'ai mis là. N'hésitez pas à le déplacer si besoin.

Toonsandco

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

Bonsoir, 

Oui, le z est bien réglé. Sur les 3 premiers mm, les couches sont nickel. 

Je suis resté à côté, pas de claquement de moteur, pas de saut de pas, tout paraît bon. 

Sinon, j'ai testé avec Marlin 2.0bugfix et le résultat est le même... 

Existe t'il un moyen pour régler indépendamment les 2 moteurs du Z sous Marlin ? 

Lien vers le commentaire
Partager sur d’autres sites

Il y a 15 heures, toonsandco a dit :

Existe t'il un moyen pour régler indépendamment les 2 moteurs du Z sous Marlin ? 

Bonjour,

Je n'ai pas testé car malgré un double Z, les deux moteurs fonctionnent en parallèle sur mes imprimantes.

Toutefois, dans le configuration_adv.h, cette section traite du double axe / double :

Citation

/**
 * Dual Steppers / Dual Endstops
 *
 * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
 *
 * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
 * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
 * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
 * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
 *
 * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
 * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
 * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
 */

//#define X_DUAL_STEPPER_DRIVERS
#if ENABLED(X_DUAL_STEPPER_DRIVERS)
  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
  //#define X_DUAL_ENDSTOPS
  #if ENABLED(X_DUAL_ENDSTOPS)
    #define X2_USE_ENDSTOP _XMAX_
    #define X2_ENDSTOP_ADJUSTMENT  0
  #endif
#endif

//#define Y_DUAL_STEPPER_DRIVERS
#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
  //#define Y_DUAL_ENDSTOPS
  #if ENABLED(Y_DUAL_ENDSTOPS)
    #define Y2_USE_ENDSTOP _YMAX_
    #define Y2_ENDSTOP_ADJUSTMENT  0
  #endif
#endif

//
// For Z set the number of stepper drivers
//
#define NUM_Z_STEPPER_DRIVERS 1   // (1-4) Z options change based on how many

#if NUM_Z_STEPPER_DRIVERS > 1
  //#define Z_MULTI_ENDSTOPS
  #if ENABLED(Z_MULTI_ENDSTOPS)
    #define Z2_USE_ENDSTOP          _XMAX_
    #define Z2_ENDSTOP_ADJUSTMENT   0
    #if NUM_Z_STEPPER_DRIVERS >= 3
      #define Z3_USE_ENDSTOP        _YMAX_
      #define Z3_ENDSTOP_ADJUSTMENT 0
    #endif
    #if NUM_Z_STEPPER_DRIVERS >= 4
      #define Z4_USE_ENDSTOP        _ZMAX_
      #define Z4_ENDSTOP_ADJUSTMENT 0
    #endif
  #endif
#endif

 

Il faut aussi probablement déclarer dans configuration.h. section «Stepper drivers» un second axe pour le Z:

Citation

/**
 * Stepper Drivers
 *
 * These settings allow Marlin to tune stepper driver timing and enable advanced options for
 * stepper drivers that support them. You may also override timing options in Configuration_adv.h.
 *
 * A4988 is assumed for unspecified drivers.
 *
 * Options: A4988, A5984, DRV8825, LV8729, L6470, L6474, POWERSTEP01,
 *          TB6560, TB6600, TMC2100,
 *          TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
 *          TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
 *          TMC26X,  TMC26X_STANDALONE,  TMC2660, TMC2660_STANDALONE,
 *          TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
 * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'L6474', 'POWERSTEP01', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
 */
#define X_DRIVER_TYPE  TMC2208_STANDALONE
#define Y_DRIVER_TYPE  TMC2208_STANDALONE
#define Z_DRIVER_TYPE  TMC2208_STANDALONE
//#define X2_DRIVER_TYPE A4988
//#define Y2_DRIVER_TYPE A4988
//#define Z2_DRIVER_TYPE A4988
//#define Z3_DRIVER_TYPE A4988
//#define Z4_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE TMC2208_STANDALONE
//#define E1_DRIVER_TYPE A4988
//#define E2_DRIVER_TYPE A4988
//#define E3_DRIVER_TYPE A4988
//#define E4_DRIVER_TYPE A4988
//#define E5_DRIVER_TYPE A4988
//#define E6_DRIVER_TYPE A4988
//#define E7_DRIVER_TYPE A4988

🙂

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Je me suis visiblement mal exprimé. Comme tu l'as décrit, j'ai bien fait les modifs dans configuration.h
 

#define X_DRIVER_TYPE  TMC2209
#define Y_DRIVER_TYPE  TMC2209
#define Z_DRIVER_TYPE  TMC2209
//#define X2_DRIVER_TYPE A4988
//#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE TMC2209
//#define Z3_DRIVER_TYPE A4988
//#define Z4_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE TMC2209

J'ai aussi ajouté à configuration_adv.h

//
// For Z set the number of stepper drivers
//
#define NUM_Z_STEPPER_DRIVERS 2   // (1-4) Z options change based on how many

#if NUM_Z_STEPPER_DRIVERS > 1
  //#define Z_MULTI_ENDSTOPS
  #if ENABLED(Z_MULTI_ENDSTOPS)
    #define Z2_USE_ENDSTOP          _XMAX_
    #define Z2_ENDSTOP_ADJUSTMENT   0
    #if NUM_Z_STEPPER_DRIVERS >= 3
      #define Z3_USE_ENDSTOP        _YMAX_
      #define Z3_ENDSTOP_ADJUSTMENT 0
    #endif
    #if NUM_Z_STEPPER_DRIVERS >= 4
      #define Z4_USE_ENDSTOP        _ZMAX_
      #define Z4_ENDSTOP_ADJUSTMENT 0
    #endif
  #endif
#endif

Ca compile parfaitement et l'imprimante fonctionne bien (avec le Z de gauche sur Z et le Z de droite sur E1).

Par contre, je n'ai pas trouvé sous marlin la façon de régler le parallélisme du Z avec le bed. Je m'explique : quand je fais le 0 du bed:

  1. A Xmin, je dois toucher le moteur Z de gauche
  2. A Xmax, je dois toucher le moteur Z de droite.

Comme je n'arrive pas à le faire facilement, j'ai :

  1. réglé le Z min à Xmin 
  2. désactivé les moteurs
  3. déplacé la tête à Xmax
  4. réglé à la main (en tournant la vis à bille) le moteur Z de droite

J'ai bien conscience que c'est loin d'être parfait mais j'ai trouvé que ça pour régler le Z
Y a t'il un endroit dans Marlin pour faire ce réglage via l'écran ?
 

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

il y a 23 minutes, toonsandco a dit :

Y a t'il un endroit dans Marlin pour faire ce réglage via l'écran ?

Désolé, aucune idée 😞

Tu utilises bien un contacteur de fin de course par axe Z (c'est commenté dans ton fichier ci-dessus)?

il y a 27 minutes, toonsandco a dit :

#if NUM_Z_STEPPER_DRIVERS > 1

//#define Z_MULTI_ENDSTOPS

#if ENABLED(Z_MULTI_ENDSTOPS)

#define Z2_USE_ENDSTOP _XMAX_

#define Z2_ENDSTOP_ADJUSTMENT 0

S'il y a un décalage (offset) la commande M666 (quel «drôle» de nombre, c'est «diabolique» 😉 ) permet de le régler (en théorie).

🙂

Lien vers le commentaire
Partager sur d’autres sites

Je l'ai volontairement laissé commenté car je n'ai qu'un seul endstop en Z (malgré les 2 moteurs).
L'imprimante est comme ça d'origine et je n'ai changé "que" l'électronique.

Avec le firmware d'origine, quand je faisais le levelling à Xmin, c'est le moteur Z de gauche qui était actif et quand je faisais le homing à Xmax, c'est le moteur Z de droite qui bougeait. Du coup, naïvement, je recherchais l'équivalent sous marlin

Lien vers le commentaire
Partager sur d’autres sites

Hello

Justement, pour pouvoir régler finement le Z. 

Lorsque tu utilises les 2 connecteurs du Z, tes deux moteurs sont forcément couplés. 

En passant par Z et E2, tu peux régler indépendamment le z côté xmin et le z côté xmax (c'est ce qui est fait avec le firmware d'origine sur les volumic par exemple) 

Lien vers le commentaire
Partager sur d’autres sites

il y a 19 minutes, toonsandco a dit :

tu peux régler indépendamment le z côté xmin et le z côté xmax (c'est ce qui est fait avec le firmware d'origine sur les volumic par exemple) 

Certes mais sans second contacteur de fin de course pour le second Z, je ne vois pas comment ça peut fonctionner 🤔

🙂

Lien vers le commentaire
Partager sur d’autres sites

C'est simple, tu le fais à la main 🙂

En fait il y a un contacteur fin de course sur z min. 

Pour le réglage, les 2 moteurs descendent jusqu'au fin de course. A xmin, tu te sers de ta feuille de papier pour régler le moteur de gauche. Puis tu vas à xmax et tu règles le moteur de droite toujours à la feuille de papier. 

Ensuite, niveau firm les 2 moteurs sont 100% liés et utilisent donc qu'un seul endstop. 

Je suis d'accord que c'est pas optimisé, mais c'est le fonctionnement d'origine de la machine. 

Lien vers le commentaire
Partager sur d’autres sites

Il y a 23 heures, toonsandco a dit :

Je suis d'accord que c'est pas optimisé, mais c'est le fonctionnement d'origine de la machine. 

Pour des machines de ce prix, je trouve ça «abusé». Un contacteur de fin de course (un bête interrupteur) cela n'aurait pas grevé le prix final et ça éviterait un travail supplémentaire à l'utilisateur (avec les risques d'erreurs de manipulations). Mais bon, ce ne sont que mes réflexions 😉

🙂

Lien vers le commentaire
Partager sur d’autres sites

Je ne peux qu'approuver cette remarque.
C'est notamment pour ça que j'ai changé toute l'électronique pour avoir quelque chose d'ouvert et plus fonctionnel.
C'est vraiment navrant de voir ce genre d'économies (qui à terme n'en sont pas)

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

quand tu as installé tes TMC2209, tu as réglé le VRef ? sur ma I3 pro B (SKR 1.4 turbo TMC2208 et double Z), j'ai du ajuster le VRef sinon mon extruder ne sortait rien ou alors claquait (pour info mon Nema sur l'extrudeur est différent des autres Nema, du coup ampérage différent et donc VRef différente).

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir, 

Désolé pour la réponse tardive, je n'ai pas vu la notification. 

Les 2209 sont configurés en mode UART, et j'ai bien configuré les courants max dans le configuration.h de marlin

Ils sont tous (X, Y, Y et extruder) réglés à 900mA

Lien vers le commentaire
Partager sur d’autres sites

Hello, 

Ton problème d'extrudeur ressemble à un problème de refroidissement car ça ne le fait qu'après un certain temps. Le ventilateur de fonctionne bien à fond ? Par contre c'est étrange que tu arrives à sortir du fil directement après sans soucis. Si tu sors entièrement ton filament utilisé, le bout à quel tête ? Ca fait un bourrelet ? C'est une belle pointe ? Ca te faisait ce problème avant ou pas du tout ? Tu as testé une autre bobine ? 

Pour les soucis de communication avec le PC, tu as essayé de changer de cable USB (c'est con mais bon ça arrive) ? Tu peux aussi diminuer la vitesse de communication (de base je crois que c'est 250k). 115200 c'est supporté par toutes les machines. Au delà c'est moins sur. 

Le coup de piloter les moteurs Z de manière indépendante : c'est la première fois que j'entends ça ! Normalement tu t'arranges pour avoir tous les axes perpendiculaires entre eux façon repère cartésien. Surtout que vu la tête de la bête c'est une prusa i3 avec des pièces modifiées et imprimées. [HS]J'ai cherché des infos sur leur site il n'y a rien la dessus. Par contre niveau Bullshit j'ai bien rigolé.[/HS]

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