joyeufetar Posté(e) Avril 16, 2020 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
joyeufetar Posté(e) Avril 19, 2020 Auteur Partager Posté(e) Avril 19, 2020 Bonjour,Personne ne peut valider ou apporter des infos à ce que je dis ?Cordialement Lien vers le commentaire Partager sur d’autres sites More sharing options...
Eev Posté(e) Avril 21, 2020 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
joyeufetar Posté(e) Avril 21, 2020 Auteur Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Eev Posté(e) Avril 21, 2020 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
joyeufetar Posté(e) Avril 21, 2020 Auteur Partager 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. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Eev Posté(e) Avril 21, 2020 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
joyeufetar Posté(e) Avril 21, 2020 Auteur Partager Posté(e) Avril 21, 2020 Ok, merci pour toutes ces infos Je vais pouvoir terminer l'imprimante grâce à tout ça Lien vers le commentaire Partager sur d’autres sites More sharing options...
Eev Posté(e) Avril 21, 2020 Partager Posté(e) Avril 21, 2020 pas de soucis hésite pas si tu as un autre problème 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
joyeufetar Posté(e) Septembre 13, 2021 Auteur Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
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