Aller au contenu

BIGTREETECH SKR PRO V1.1 / MARLIN 2.0 DRIVER 2209 + BLTOUCH pour HYPERCUBE EVO II


Messages recommandés

Bon j'ai  remis les réglages d'origine marlin 2.0 et j'ai mis le courant a 1200 pour les TMC2209

* Default Max Feed Rate (mm/s)
  * Override with M203
  * X, Y, Z, E0 [, E1[, E2...]]
  */
  #define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 }
   
  //#define LIMITED_MAX_FR_EDITING // Limit edit via M203 or LCD to DEFAULT_MAX_FEEDRATE * 2
  #if ENABLED(LIMITED_MAX_FR_EDITING)
  #define MAX_FEEDRATE_EDIT_VALUES { 600, 600, 10, 50 } // ...or, set your own edit limits
  #endif
   
  /**
  * Default Max Acceleration (change/s) change = mm/s
  * (Maximum start speed for accelerated moves)
  * Override with M201
  * X, Y, Z, E0 [, E1[, E2...]]
  */
  #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 }
   
  //#define LIMITED_MAX_ACCEL_EDITING // Limit edit via M201 or LCD to DEFAULT_MAX_ACCELERATION * 2
  #if ENABLED(LIMITED_MAX_ACCEL_EDITING)
  #define MAX_ACCEL_EDIT_VALUES { 6000, 6000, 200, 20000 } // ...or, set your own edit limits
  #endif
   
  /**
  * Default Acceleration (change/s) change = mm/s
  * Override with M204
  *
  * M204 P Acceleration
  * M204 R Retract Acceleration
  * M204 T Travel Acceleration
  */
  #define DEFAULT_ACCELERATION 3000 // X, Y, Z and E acceleration for printing moves
  #define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts
  #define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration for travel (non printing) moves
   
  /**
  * Default Jerk limits (mm/s)
  * Override with M205 X Y Z E
  *
  * "Jerk" specifies the minimum speed change that requires acceleration.
  * When changing speed and direction, if the difference is less than the
  * value set here, it may happen instantaneously.
  */
  //#define CLASSIC_JERK
  #if ENABLED(CLASSIC_JERK)
  #define DEFAULT_XJERK 10.0
  #define DEFAULT_YJERK 10.0
  #define DEFAULT_ZJERK 0.3
Lien vers le commentaire
Partager sur d’autres sites

Je ne sais plus qui abordait le sujet, peut-être @Poisson21, mais concernant les vref des TMC2209, je n'ai pas compris qu'on puisse ajuster les vref en indiquant uniquement les RMS dans configuration_adv.h :

...

#if HAS_TRINAMIC

  #define HOLD_MULTIPLIER    0.5  // Scales down the holding current from run current
  #define INTERPOLATE       true  // Interpolate X/Y/Z_MICROSTEPS to 256

  #if AXIS_IS_TMC(X)
    #define X_CURRENT     920  // (mA) RMS current. Multiply by 1.414 for peak current.
    #define X_MICROSTEPS   16  // 0..256
    #define X_RSENSE     0.11
    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
  #endif

  #if AXIS_IS_TMC(X2)
    #define X2_CURRENT    800
    #define X2_MICROSTEPS  16
    #define X2_RSENSE    0.11
    #define X2_CHAIN_POS   -1
  #endif

...

Pour ma part, j'ai réglé les vref sur le potard de chaque TMC et indiqué la RMS en mA dans le configuration_adv.h .

Est-on certain que l'on puisse procéder ainsi, à savoir, si je souhaite augmenter ma vref de X de 0.92v (cf ci-dessus) à 1v, il me suffit d'indiquer :

#if AXIS_IS_TMC(X)
    #define X_CURRENT     1000  // (mA) RMS current. Multiply by 1.414 for peak current.
    #define X_MICROSTEPS   16  // 0..256
    #define X_RSENSE     0.11
    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
  #endif

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

En fait si vous relisez le post de @stef_ladefense il dit dans la première page

Citation

ce type de drivers commandent le moteur en courant et non en tension, donc on ne tient compte que du courant nominal et pas de sa tention (3.3V ici).

Donc si je dit pas de connerie, en réglant les drivers tu règles l'intensité que tu leurs envoie, la tension étant générer par ton alimentation de circuit (12v ou 24 v).

En fait le Vref c'est la tension de fonctionnement du driver et pas du moteur, et elle sert au driver à "savoir" ce qu'il doit envoyer comme intensité.

Donc en passant par le réglage firmware , tu indiques directement quelle intensité tu veux envoyé au moteurs, sans tenir compte de ce que le drivers à besoin pour l'obtenir.

Corrigez moi si je me trompe mais c'est comme ça que je le comprends.

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

C'est bon résolu mais maintenant sur l'imprimante l'afficheur indique une erreur CONNEXION TMC, aurai-je oublié quelque chose en configuration ???????

Bon ben la je sèche🤔🤔

Screenshot_20191118-222321.thumb.jpg.2d221e77fc8245a479d6ffda8b0d9424.jpg

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

Le 18/11/2019 at 07:38, Poisson21 a dit :

En fait si vous relisez le post de @stef_ladefense il dit dans la première page

Donc si je dit pas de connerie, en réglant les drivers tu règles l'intensité que tu leurs envoie, la tension étant générer par ton alimentation de circuit (12v ou 24 v).

En fait le Vref c'est la tension de fonctionnement du driver et pas du moteur, et elle sert au driver à "savoir" ce qu'il doit envoyer comme intensité.

Donc en passant par le réglage firmware , tu indiques directement quelle intensité tu veux envoyé au moteurs, sans tenir compte de ce que le drivers à besoin pour l'obtenir.

Corrigez moi si je me trompe mais c'est comme ça que je le comprends.

correct

une question, tes tmc2209, leur broche uart est relier a quoi sur ta carte ?

Lien vers le commentaire
Partager sur d’autres sites

Bon apparement je dois mettre cette bibliothèque en chargement dans plateformio.ini mais je ne sais pas ou et comment faire😢😤😣😧

https://github.com/bigtreetech/TMCStepper

if you are downloaded from Marlin bugfix-2.0.x Official version. Please modify here from TMCStepper@<1.0.0 to https://github.com/bigtreetech/TMCStepper. This is because the UART of tmc2208/2209 has not yet been merged into the official version, please use this method before merged

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

 @lion02 Si tu utilises les dernières versions de Marlin, tu n'as pas besoin, les bibliothèques des TMC et du STM32 ont été refaite avec succès.

Sinon dans ton platformio.ini tu peux mettre :

[platformio]

src_dir      = Marlin

boards_dir   = buildroot/share/PlatformIO/boards

default_envs = BIGTREE_SKR_PRO

 

[common]

default_src_filter = +<src/*> -<src/config> -<src/HAL> +<src/HAL/shared>

extra_scripts = pre:buildroot/share/PlatformIO/scripts/common-cxxflags.py

build_flags = -fmax-errors=5 -g -D__MARLIN_FIRMWARE__

lib_deps =

  U8glib-HAL=https://github.com/MarlinFirmware/U8glib-HAL/archive/bugfix.zip

  LiquidCrystal@1.3.4

  TMCStepper@>=0.5.2,<0.6.0

  Adafruit NeoPixel@1.2.5

  LiquidTWI2=https://github.com/lincomatic/LiquidTWI2/archive/master.zip

  Arduino-L6470=https://github.com/ameyer/Arduino-L6470/archive/dev.zip

  SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip

  SailfishRGB_LED=https://github.com/mikeshub/SailfishRGB_LED/archive/master.zip

  SlowSoftI2CMaster=https://github.com/mikeshub/SlowSoftI2CMaster/archive/master.zip

 

Pour le début , et dans la section de la skr pro, tu mets :

#

# Bigtreetech SKR Pro (STM32F407ZGT6 ARM Cortex-M4)

#

[env:BIGTREE_SKR_PRO]

platform          = ststm32@>=5.7.0

framework         = arduino

platform_packages = framework-arduinoststm32@>=3.10700.191028

board             = BigTree_SKR_Pro

extra_scripts     = pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py

build_flags       = ${common.build_flags}

  -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483 -DUSB_PRODUCT=\"STM32F407ZG\"

  -DTARGET_STM32F4 -DSTM32F407_5ZX -DVECT_TAB_OFFSET=0x8000

  -DHAVE_HWSERIAL6

  -IMarlin/src/HAL/HAL_STM32

lib_deps          =

  U8glib-HAL=https://github.com/MarlinFirmware/U8glib-HAL/archive/bugfix.zip

  LiquidCrystal

  TMCStepper@>=0.5.2,<1.0.0

  Adafruit NeoPixel

  LiquidTWI2=https://github.com/lincomatic/LiquidTWI2/archive/master.zip

  Arduino-L6470=https://github.com/ameyer/Arduino-L6470/archive/dev.zip

lib_ignore        = SoftwareSerial, SoftwareSerialM

src_filter        = ${common.default_src_filter} +<src/HAL/HAL_STM32>

monitor_speed     = 250000

 

Et ça devrait marcher.

Par contre attention avec les dernières versions de Marlin, le lineare advance est corrompue et ne fonctionnne pas correctement si il est actif, chez moi ça fait trembloter l'imprimante sur toutes les courbes avec pour résultat une finition pourrie.

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

@lion02

La documentation de platformio est pas mal du tout, il faut la lire : https://docs.platformio.org/en/latest/projectconf/section_env_library.html (RTFM si tu préfères 😛).
La plupart des docs fournies avec les sources partent du principe que c'est au moins lu en travers, et de toute facon il vaut mieux dès qu'on veut vraiment mettre le nez dedans. 🙂

Ici la section concernant les librairies : https://docs.platformio.org/en/latest/projectconf/section_env_library.html
C'est top, il y a moyen d'exclure des libs en particulier, d'inclure ses propres versions, de versionner dans le code, etc.

Et c'est juste la partie libs ! 🤠

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

Le 18/11/2019 at 07:38, Poisson21 a dit :

En fait si vous relisez le post de @stef_ladefense il dit dans la première page

Donc si je dit pas de connerie, en réglant les drivers tu règles l'intensité que tu leurs envoie, la tension étant générer par ton alimentation de circuit (12v ou 24 v).

En fait le Vref c'est la tension de fonctionnement du driver et pas du moteur, et elle sert au driver à "savoir" ce qu'il doit envoyer comme intensité.

Donc en passant par le réglage firmware , tu indiques directement quelle intensité tu veux envoyé au moteurs, sans tenir compte de ce que le drivers à besoin pour l'obtenir.

Corrigez moi si je me trompe mais c'est comme ça que je le comprends.

J'ai lu un post sur le réglage des TMC2209 qui rejoint ce que tu dis, par contre il faut que ce réglage du potentiomètre soit au moins égal ou supérieur  au réglage dans marlin

Exemple si potar sur 1V et marlin a 1200 le courant ne pourra pas dépasser 1000

A confirmer

Lien vers le commentaire
Partager sur d’autres sites

Il y a 14 heures, lion02 a dit :

J'ai lu un post sur le réglage des TMC2209 qui rejoint ce que tu dis, par contre il faut que ce réglage du potentiomètre soit au moins égal ou supérieur  au réglage dans marlin

Exemple si potar sur 1V et marlin a 1200 le courant ne pourra pas dépasser 1000

A confirmer

Aïe! Ça voudrait dire qu'il faille régler les potentiomètres au max (2.4v par exemple) et ajuster dans le firmware, sinon ça ne servirait qu'à diminuer ?

De mémoire pour la bibliothèque TMC, j'avais récupéré la lib sur le Github de BTT et je l'ai copié dans le répertoire, sinon la dernière version de Marlin ne voulait pas se compiler. Récemment, VSCode m'a indiqué des MAJ dispo. J'ai cliqué sur Upgrade (ou quelque chose comme cela) et pour chaque projet connu par VSCode, il m'a proposé la MAJ. Et j'ai rien lu, même pas en travers !! 🤓

J'ai toujours pas trouvé comment identifier quelle est la version de Marlin dispo pour mettre à jour ou pas !

Lien vers le commentaire
Partager sur d’autres sites

Il y a 4 heures, yopla31 a dit :

Aïe! Ça voudrait dire qu'il faille régler les potentiomètres au max (2.4v par exemple) et ajuster dans le firmware, sinon ça ne servirait qu'à diminuer ?

De mémoire pour la bibliothèque TMC, j'avais récupéré la lib sur le Github de BTT et je l'ai copié dans le répertoire, sinon la dernière version de Marlin ne voulait pas se compiler. Récemment, VSCode m'a indiqué des MAJ dispo. J'ai cliqué sur Upgrade (ou quelque chose comme cela) et pour chaque projet connu par VSCode, il m'a proposé la MAJ. Et j'ai rien lu, même pas en travers !! 🤓

J'ai toujours pas trouvé comment identifier quelle est la version de Marlin dispo pour mettre à jour ou pas !

Ben j'ai lu que la fonction UART désactivée le potentiomètre.

Il faut attendre confirmation technique 😊

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