joyeufetar PostĂ©(e) Avril 16, 2020 PostĂ©(e) Avril 16, 2020 Bonsoir Ă tous, Je suis en train de finir le montage d'une nouvelle imprimante. Elle contient entre autre :  - Carte Bigtreetech SKR PRO V1.1  - Driver TMC2208 Fysetc v1.2  - Firmware Marlin 2.0 J'ai parcouru la totalitĂ© de ce sujet qui m'a bien aidĂ© : Lien J'ai prĂ©configurĂ© le firmware et le build fonctionne sans soucis. Pour le montage des drivers, j'ai essayĂ© de vĂ©rifier que chaque pin du driver correspondait bien avec ceux de la carte, mais je n'arrive pas Ă en ĂȘtre certain. DĂ©jĂ , j'ai beau cherchĂ© dans la doc de la carte, impossible de trouver la correspondance avec les pins des drivers. Si quelqu'un à ça (ou peut me donner les infos), ça serait super Voila des photos des drivers que j'ai : D'aprĂšs ce qui est indiquĂ© sur les PCB des drivers, le mode UART semble actif par dĂ©faut. Donc je suppose que je n'ai pas de soudure Ă faire dessus comme sur certaines anciennes versions. Est ce ça vous parait correct ? Ensuite, vient le paramĂ©trage des drivers. Je souhaite utiliser les 2208 en UART sans interpolation (en 256 pas rĂ©el), j'ai donc pour ça mis le jumper unique comme indiquĂ© dans le doc de la carte SKR. Ils piloteront des moteurs NEMA17 dont voici les caractĂ©ristiques :  -> ModĂšle : LDO-42STH47-1684AC  -> Couple : 50 N.cm  -> Rated voltage : 2.8V  -> Rated current : 1.68A  -> Inductance : 2.8 mH Si je comprends bien, il me suffit de paramĂ©trer Marlin pour utiliser ces drivers dans le mode souhaitĂ©. Dans le fichier Configuration.h, il faut donc que je modifie cette partie la (en dĂ©finissant les drivers que je veux utiliser pour chaque axe) : /** * 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 #define Y_DRIVER_TYPE TMC2208 #define Z_DRIVER_TYPE TMC2208 //#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 //#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 A quoi correspondent les lignes X2, Y2, Z2... ? Y a t'il autre chose Ă modifier dans ce fichier la ? Sachant que j'ai un moteur pour l'axe X, un pour Y, 2 pour Z et 1 seul extrudeur. Et dans le fichier Configuration_adv.h, il faut modifier aussi cette partie la (pour chaque groupe de ligne dĂ©fini dans le code ci-dessus) : /** * To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode * connect your SPI pins to the hardware SPI interface on your board and define * the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 * pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. * * To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN * to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without * a resistor. * The drivers can also be used with hardware serial. * * TMCStepper library is required to use TMC stepper drivers. * https://github.com/teemuatlut/TMCStepper */ #if HAS_TRINAMIC_CONFIG #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define INTERPOLATE false // Interpolate X/Y/Z_MICROSTEPS to 256 #if AXIS_IS_TMC(X) #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing #define X_MICROSTEPS 256 // 0..256 #define X_RSENSE 0.11 #define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #endif J'ai donc modifiĂ© la ligne INTERPOLATE par false et indiquĂ© les MICROSTEPS Ă 256. Est ce bien ce qu'il faut faire ? Ensuite, vient le rĂ©glage du courant. Donc si je comprends bien le commentaire Ă cĂŽtĂ© de la ligne, pour trouver le courant RMS, il suffit que je prenne le courant max de mes moteurs et que je divise par 1.414 ? Donc ça donnerait, par exemple, un X_CURRENT Ă : 1.68A / 1.414 = 1.19A Donc je dois renseigner 1190 dans la ligne X_CURRENT, c'est bien ça ? Pour information, voila ce que dit la doc des drivers : Donc en rĂšglant mes drivers Ă 1.19A RMS, je suis Ă la limite haute. Y a t'il aussi un ajustement du voltage Ă faire directement sur les drivers ? Ou la configuration de Marlin suffit Ă elle seule Ă faire fonctionner les drivers comme il faut ? Voila, je sais que ça fait beaucoup de questions, mais je veux ĂȘtre sur de bien faire les choses et d'avoir bien tout compris. Et je sais qu'il y a certains experts qui pourront corriger mes erreurs si il y en a. Merci d'avance pour votre aide. Cordialement
joyeufetar Posté(e) Avril 19, 2020 Auteur Posté(e) Avril 19, 2020 Bonjour,Personne ne peut valider ou apporter des infos à ce que je dis ?Cordialement
Eev PostĂ©(e) Avril 21, 2020 PostĂ©(e) Avril 21, 2020 (modifiĂ©) bonjour, Le 16/04/2020 at 18:30, joyeufetar a dit : D'aprĂšs ce qui est indiquĂ© sur les PCB des drivers, le mode UART semble actif par dĂ©faut.Donc je suppose que je n'ai pas de soudure Ă faire dessus comme sur certaines anciennes versions.Est ce ça vous parait correct ? normalement oui, mais tu peux vĂ©rifier ça tout simplement. en allumant, tu verras surement une erreur si ça va pas. 2eme vĂ©rification avec le tmc debug (si tu l'as activĂ© dans le fw marlin), un coup de M122 si tu as une rĂ©ponse de ce style lĂ : SENDING:M122 X Y Enabled false false Set current 850 850 RMS current 826 826 MAX current 1165 1165 Run current 26/31 26/31 Hold current 13/31 13/31 CS actual 13/31 13/31 PWM scale 41 41 vsense 1=.18 1=.18 stealthChop true true msteps 16 16 tstep 1048575 1048575 pwm threshold 0 0 [mm/s] - - OT prewarn false false OT prewarn has been triggered false false off time 5 5 blank time 24 24 hysterisis -end 2 2 -start 3 3 Stallguard thrs 0 0 DRVSTATUS X Y stallguard sg_result 0 0 fsactive stst X X olb ola s2gb s2ga otpw ot 'Driver registers:' X = 0x80:0D:00:00 Y = 0x80:0D:00:00 c'est que tout va bien ^^ Le 16/04/2020 at 18:30, joyeufetar a dit : A quoi correspondent les lignes X2, Y2, Z2... ?Y a t'il autre chose Ă modifier dans ce fichier la ?Sachant que j'ai un moteur pour l'axe X, un pour Y, 2 pour Z et 1 seul extrudeur. X2 Y2 etc servent si tu as plusieurs nema avec drivers pour les pilotĂ©s ensemble. une cr10s a 2 nema en Z, si tu mets un drivers pour chaque moteur, il faudra utiliser Z2. donc dans ton cas tu mets les paramĂštre de ton drivers pour le Z2. d'autre chose a modifier, tu as les acceleration, les step/mm, si tu as des invert, faut lire un peu tout le fichier pour voir Le 16/04/2020 at 18:30, joyeufetar a dit : Et dans le fichier Configuration_adv.h, il faut modifier aussi cette partie la (pour chaque groupe de ligne dĂ©fini dans le code ci-dessus) : Ensuite, vient le rĂ©glage du courant. Donc si je comprends bien le commentaire Ă cĂŽtĂ© de la ligne, pour trouver le courant RMS, il suffit que je prenne le courant max de mes moteurs et que je divise par 1.414 ? Donc ça donnerait, par exemple, un X_CURRENT à : 1.68A / 1.414 = 1.19A Donc je dois renseigner 1190 dans la ligne X_CURRENT, c'est bien ça ? Pour information, voila ce que dit la doc des drivers : Donc en rĂšglant mes drivers Ă 1.19A RMS, je suis Ă la limite haute. oui normalement il faut que tu mettes 1190 sur le x_current et faire la mĂȘme chose pour tes autres drivers. aprĂšs vĂ©rifie la chauffe des nema quand tu imprimes, si ils sont trop chaud il faudra descendre cette valeur mais il faudra faire gaffe que les nema sautent pas des pas! Le 16/04/2020 at 18:30, joyeufetar a dit : Y a t'il aussi un ajustement du voltage Ă faire directement sur les drivers ?Ou la configuration de Marlin suffit Ă elle seule Ă faire fonctionner les drivers comme il faut ? non pas besoin de toucher au drivers si tu es en uart, tu peux mĂȘme descendre la tension du drivers pour ĂȘtre sur. Le 16/04/2020 at 18:30, joyeufetar a dit : J'ai donc modifiĂ© la ligne INTERPOLATE par false et indiquĂ© les MICROSTEPS à 256.Est ce bien ce qu'il faut faire ? j'ai jamais fait cette manip mais tu peux vĂ©rifier comme ça: vĂ©rifie avec un M122 si tu as msteps 256 pour chaque moteur. fait un test de dĂ©placement de l'axe x ou y de 1cm, si c'est correct c'est bon. si elle bouge Ă peine, il faudra modifier les steps/mm. ModifiĂ© (le) Avril 21, 2020 par Eev 1
joyeufetar PostĂ©(e) Avril 21, 2020 Auteur PostĂ©(e) Avril 21, 2020 Salut  C'est top, merci pour ton aide. Ca va me permettre de finaliser tout ça   Il y a 2 heures, Eev a dit : d'autre chose a modifier, tu as les acceleration, les step/mm, si tu as des invert, faut lire un peu tout le fichier pour voir Oui, pour le reste, c'est dĂ©jĂ fait. Je demandais par rapport au mode UART des steppers en faite, pas pour la totalitĂ© du fichier   Il y a 2 heures, Eev a dit : 2eme vĂ©rification avec le tmc debug (si tu l'as activĂ© dans le fw marlin), un coup de M122 Je ne connaissais pas cette commande, je vais regarder tout ça. Merci. MerciÂ
Eev PostĂ©(e) Avril 21, 2020 PostĂ©(e) Avril 21, 2020 (modifiĂ©) il y a 18 minutes, joyeufetar a dit : Salut  C'est top, merci pour ton aide. Ca va me permettre de finaliser tout ça   Oui, pour le reste, c'est dĂ©jĂ fait. Je demandais par rapport au mode UART des steppers en faite, pas pour la totalitĂ© du fichier   Je ne connaissais pas cette commande, je vais regarder tout ça. Merci. Merci pas de soucis  hĂ©site pas Ă cliquer sur cĆur pour dire merci mmhhh non rien en plus pour l'uart, Ă part mettre le jumper sur la carte et les quelques lignes citĂ©es. normalement tu auras aucun soucis. regarde dans le configuration_adv pour le m122 il faut activer ça   /**    * Monitor Trinamic drivers for error conditions,    * like overtemperature and short to ground.    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.    * Other detected conditions can be used to stop the current print.    * Relevant g-codes:    * M906 - Set or get motor current in milliamps using axis codes X, Y, Z, E. Report values if no axis codes given.    * M911 - Report stepper driver overtemperature pre-warn condition.    * M912 - Clear stepper driver overtemperature pre-warn condition flag.    * M122 - Report driver parameters (Requires TMC_DEBUG)    */   #define MONITOR_DRIVER_STATUS et ca /**    * Beta feature!    * Create a 50/50 square wave step pulse optimal for stepper drivers.    */   //#define SQUARE_WAVE_STEPPING    /**    * Enable M122 debugging command for TMC stepper drivers.    * M122 S0/1 will enable continous reporting.    */   #define TMC_DEBUG et tu pourrais voir le status de tes drivers tmc. ça te dira si il faudra souder pour activer l'uart sur le drivers et le STEALTHCHOP bien entendu! ModifiĂ© (le) Avril 21, 2020 par Eev 1 1
joyeufetar Posté(e) Avril 21, 2020 Auteur Posté(e) Avril 21, 2020 Ah yes, j'avais activé le TMC_DEBUG dans le FW mais pas MONITOR_DRIVER_STATUS. Par contre, je vois aussi que ce paramÚtre active pas mal de choses, notamment la réduction de courant, voir le stop si il y a une erreur. Il faut que je regarde ça de plus prÚs.
Eev Posté(e) Avril 21, 2020 Posté(e) Avril 21, 2020 (modifié) il y a 18 minutes, joyeufetar a dit : Ah yes, j'avais activé le TMC_DEBUG dans le FW mais pas MONITOR_DRIVER_STATUS. Par contre, je vois aussi que ce paramÚtre active pas mal de choses, notamment la réduction de courant, voir le stop si il y a une erreur. Il faut que je regarde ça de plus prÚs. le m906 te permettra d'ajuster la X_CURRENT via le terminal en plus de l'écran ^^ les erreurs c'est pour la surchauffe du drivers ou une deconnection du drivers (short to ground) donc la machine stoppera l'impression. Modifié (le) Avril 21, 2020 par Eev 1
joyeufetar PostĂ©(e) Avril 21, 2020 Auteur PostĂ©(e) Avril 21, 2020 Ok, merci pour toutes ces infos  Je vais pouvoir terminer l'imprimante grĂące Ă tout ça  Â
Eev Posté(e) Avril 21, 2020 Posté(e) Avril 21, 2020 pas de soucis  hésite pas si tu as un autre problÚme 1
joyeufetar PostĂ©(e) Septembre 13, 2021 Auteur PostĂ©(e) Septembre 13, 2021 (modifiĂ©) Salut tout le monde, Bon, j'ai eu d'autres projets depuis le temps, mais je me remets enfin sur l'imprimante. L'idĂ©e Ă©tant de la finir une bonne fois pour toute. Alors, dĂ©jĂ , voila le rĂ©cap de ce que j'ai comme matos :  - Carte Bigtreetech SKR PRO V1.1  - BTT TFT35 V2.0 (derniĂšre maj)  - Driver TMC2208 Fysetc v1.2  - Firmware Marlin 2.0 bugfix Le cablĂąge est entiĂšrement terminĂ©, me reste plus qu'Ă paramĂ©trer le FW. Les cartes secondaires (BIGTREETECH Relay V1.2 et Mini UPS v2.0) ont failli me rendre fou, donc on dĂ©branche et on verra ça plus tard quand tout le reste fonctionnera. J'ai repris tout mon firmware depuis le dĂ©but car j'avais des erreurs dans tous les sens que je n'arrivais pas Ă les rĂ©soudre. De plus, quoique je fasse, aucun de mes axes ne bougeaient. Ca grognait tout au plus... Donc on repart de 0, et on activera les fonctionnalitĂ©s qu'au fur et Ă mesure de la rĂ©solution des soucis. Dans un premier temps, j'ai donc configurĂ© le firmware pour qu'il compile juste pour la carte SKR. Jusque la, tout va bien. Ensuite, j'ai voulu gĂ©rer les moteurs. J'ai donc modifiĂ© Configuration.h et Configuration_adv.h (sans toucher au step pour l'instant, on verra ça plus tard) :  /** * 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. * * Use TMC2208/TMC2208_STANDALONE for TMC2225 drivers and TMC2209/TMC2209_STANDALONE for TMC2226 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 #define Y_DRIVER_TYPE TMC2208 #define Z_DRIVER_TYPE TMC2208 //#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 I_DRIVER_TYPE A4988 //#define J_DRIVER_TYPE A4988 //#define K_DRIVER_TYPE A4988 #define E0_DRIVER_TYPE TMC2208 // @section tmc_smart /** * To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode * connect your SPI pins to the hardware SPI interface on your board and define * the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 * pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. * * To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN * to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without * a resistor. * The drivers can also be used with hardware serial. * * TMCStepper library is required to use TMC stepper drivers. * https://github.com/teemuatlut/TMCStepper */ #if HAS_TRINAMIC_CONFIG #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current /** * Interpolate microsteps to 256 * Override for each driver with <driver>_INTERPOLATE settings below */ #define INTERPOLATE false #if AXIS_IS_TMC(X) #define X_CURRENT 1190 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing #define X_MICROSTEPS 256 // 0..256 #define X_RSENSE 0.11 #define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ... //#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis #endif Jusqu'ici, tout va bien. Les axes peuvent bouger quand je gĂšre depuis l'Ă©cran TFT, tout sans exception (juste pas testĂ© le moteur extrudeur, mais y'a pas de raison). Par contre, dĂšs que j'allume l'imprimante, j'ai le TFT qui bip pendant un moment puis qui finit par afficher l'erreur "ALL LOW". Si je fais un M122, j'ai effectivement une erreur sur tous les drivers, comme si il n'Ă©tait pas vu... Pourtant, ils sont alimentĂ©s correctement vu que je peux bouger les axes sans problĂšme. Driver registers: X 0x00:00:00:00 Bad response! Y 0x00:00:00:00 Bad response! Z 0x00:00:00:00 Bad response! E 0x00:00:00:00 Bad response! Testing X connection... Error: All LOW Testing Y connection... Error: All LOW Testing Z connection... Error: All LOW Testing E connection... Error: All LOW J'ai Ă©pluchĂ© absolument tous les forums du net, c'est un soucis qui semble remonter trĂšs trĂšs souvent. Mais du coup, comment le rĂ©soudre ? Tant que je n'aurais pas pu rĂ©soudre ce problĂšme, je ne suis absolument pas capable de dire si le mode UART est actif ou non... Ce qui est quand mĂȘme dommage... Je prĂ©cise que j'ai testĂ© la mĂ©thode qui consiste Ă souder 2 pins sous les drivers sans amĂ©lioration... Je joins mes fichiers (temporaire je prĂ©cise) de conf, si quelqu'un veut bien jeter un coup d'oeil et me dire si quelque chose ne va pas, ça m'aiderait beaucoup. Merci d'avance, Bonnes impressions Ă tous Configuration.h Configuration_adv.h EDIT : Humm, bon problĂšme rĂ©solu. Je devais pas ĂȘtre en forme, j'avais pas soudĂ© les pins qu'il fallait sur les drivers J'avais soudĂ© les pins pour la patte PDN et non pour le UART. Maintenant tout fonctionne. Ca fait bizarre, c'est ultra silencieux, les dĂ©placements sont hyper fluides, ça fait vraiment plaisir. Si ça peut aider certains, c'est donc la config de base que j'ai mis dans mes fichiers de conf du dernier message, mais avec cette soudure la sur les drivers (TMC2208 v1.2 je prĂ©cise, je ne sais pas si c'est la mĂȘme pour les autres versions) : Maintenant, on va pouvoir continuer la conf. ModifiĂ© (le) Septembre 13, 2021 par joyeufetar
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant