Aller au contenu

GO Print


hidius

Messages recommandés

Nous allons voir ici comment utiliser les TMC2208 en mode UART que j'ai enfin recu 😄 , ça va concerner trĂšs peux de monde mais je partage quand mĂȘme 😉 

La communication se fera sur un seul fil pour deux raisons. Principalement parce que  je n'ai pas beaucoup de pins supplémentaires à disposition sur ma carte mais aussi parce que ce mode est trÚs bien géré par Klipper.

 

Coté imprimante, il s'agit de la Geeetech A10 et sa carte mÚre GT2560 v3.

Je vais utiliser ici des TMC2208 de la marque FYSETC en version 1.2 (3.1€/piece sur ebay ici ) .

avec le radiateur:

DSC00841.JPG.e761080f8634511112deb301a1eb3414.JPG

 

Vue de dessus sans radiateur

DSC00852.JPG.032f1fa1fc82451f358b961342e8532e.JPG

 

Vue de dessous:

DSC00842.JPG.08b5434db4c02d8410c15b048c3f126c.JPG

 

 1 - modification des TMC2208.

Deux modifications sont à prévoir. La premiÚre est le cùblage des pins via une soudure et la seconde est la modification de la pin UART pour pouvoir la brancher ailleurs sur la carte mÚre.

Sur ce model nous avons à disposition deux pins pour l'UART (UART & PDN).

DSC00852_2.jpg.116f0ef27aa92684617fd3e24ab8266f.jpg

 

Que l'on peut "activer" ici grùce à une petite soudure. Les lignes rouges représentent le cùblage du PCB. On peut activer l'un ou l'autre  en soudant le pad central au pad corespondant.

DSC00842_3.jpg.dcefdc53abe1d77dcf93dc1324e726ab.jpg

Vu la petite taille de la soudure, je vais cĂąbler les deux pins mĂȘme si je ne vais en utiliser qu'un. A savoir que cotĂ© carte mĂšre ses pins ne sont pas cĂąblĂ©s donc aucun risque. Pour cela je soude les trois pads ensemble.

Le radiateur est imposant (ce qui est plutĂŽt bien) mais empĂȘche la sortie par le dessus. On va donc sortir par dessous. Je commence par dĂ©couper le plastique autour du pin UART et je le dessoude. Je ressoude un pin que je fais partir à l'horizontal ou à la vertical en fonction du futur emplacement sur la carte.

 

les deux opérations effectuées, soudure des pads et pin

DSC00859_4.jpg.5168a4913f7d6273703133823448c439.jpg

un autre exemple

DSC00848.JPG.2039adb311d9fbbb1d165f1c8b3a8c0f.JPG

un TMC2208 finalisé avec sortie vertical

DSC00851.JPG.fa6b8d65be67251ce8933c45113f87a6.JPG

2 - Carte mÚre gt2560 v3

Je vais devoir récupérer des pins coté carte mÚre pour brancher les UARTs. pour les axes X,Y & Z, je récupÚre les pins sur le connecteur 5 broches.

Un petit coup de fer a souder, quelques pins 2.54 et on arrive à ça. Ça me permet de rĂ©cupĂ©rer les pins 15,14,34 et du 5V au passage si besoin.

Axe X >> RX3 >> D15
Axe Y >> TX3 >> D14
Axe Z >> INT >> D34

DSC00853_5.jpg.eded843602596cff5ae43dceea2e56e1.jpg

 

Le tout, avec également un tmc2208 pour l'extruder (pin 45 récupéré sur T0)

IMG_20190912_182208.jpg.233d325aef5b59aa0a923d62ee2e914b.jpg

 

3 - Klipper

Coté configuration on ajoute la gestion des TMC2208 pour chaque axe, conf à adapter à votre materiel !

######## STEPPER X TMC2208 #######

# Configure a TMC2208 (or TMC2224) stepper motor driver via single
# wire UART. To use this feature, define a config section with a
# "tmc2208" prefix followed by the name of the corresponding stepper
# config section (for example, "[tmc2208 stepper_x]"). This also
# creates a "tmc2208_stepper_x:virtual_enable" virtual pin which may
# be used as the stepper's enable_pin (for enabling the driver via a
# UART message).
[tmc2208 stepper_x]
uart_pin: ar15
#   The pin connected to the TMC2208 PDN_UART line. This parameter
#   must be provided.
#tx_pin:
#   If using separate receive and transmit lines to communicate with
#   the driver then set uart_pin to the receive pin and tx_pin to the
#   transmit pin. The default is to use uart_pin for both reading and
#   writing.
#select_pins:
#   A comma separated list of pins to set prior to accessing the
#   tmc2208 UART. This may be useful for configuring an analog mux for
#   UART communication. The default is to not configure any pins.
microsteps: 16
#   The number of microsteps to configure the driver to use. Valid
#   values are 1, 2, 4, 8, 16, 32, 64, 128, 256. This parameter must
#   be provided.
#interpolate: True
#   If true, enable step interpolation (the driver will internally
#   step at a rate of 256 micro-steps). The default is True.
run_current: 0.8
#   The amount of current (in amps) to configure the driver to use
#   during stepper movement. This parameter must be provided.
#hold_current:
#   The amount of current (in amps) to configure the driver to use
#   when the stepper is not moving. The default is to use the same
#   value as run_current.
#sense_resistor: 0.110
#   The resistance (in ohms) of the motor sense resistor. The default
#   is 0.110 ohms.
stealthchop_threshold: 200
#   The velocity (in mm/s) to set the "stealthChop" threshold to. When
#   set, "stealthChop" mode will be enabled if the stepper motor
#   velocity is below this value. The default is 0, which disables
#   "stealthChop" mode.
#driver_IHOLDDELAY: 8
#driver_TPOWERDOWN: 20
#driver_TBL: 2
#driver_TOFF: 3
#driver_HEND: 0
#driver_HSTRT: 5
#driver_PWM_AUTOGRAD: True
#driver_PWM_AUTOSCALE: True
#driver_PWM_LIM: 12
#driver_PWM_REG: 8
#driver_PWM_FREQ: 1
#driver_PWM_GRAD: 14
#driver_PWM_OFS: 36
#   Set the given register during the configuration of the TMC2208
#   chip. This may be used to set custom motor parameters. The
#   defaults for each parameter are next to the parameter name in the
#   


######## STEPPER Y TMC2208 #######

[tmc2208 stepper_y]
uart_pin: ar14
microsteps: 16
run_current: 0.8
stealthchop_threshold: 200


######## STEPPER Z TMC2208 #######

[tmc2208 stepper_z]
uart_pin: ar34
microsteps: 16
run_current: 0.8
stealthchop_threshold: 200


######## STEPPER E0 TMC2208 #######

[tmc2208 extruder]
uart_pin: ar45
microsteps: 16
run_current: 0.8
stealthchop_threshold: 200

Sans oublier de modifier le sens des moteurs

[stepper_x]
#avant
#dir_pin: !ar39
#apres
dir_pin: ar39

[stepper_y]
#avant
#dir_pin: !ar33
#apres
dir_pin: ar33

[stepper_z]
#avant
#dir_pin: ar23
#apres
dir_pin: !ar23

[extruder]
#avant
#dir_pin: ar44
#apres
dir_pin: !ar44

Validation de la communication UART

On relance Klipper et dans un terminal on lance la commande suivante:

DUMP_TMC STEPPER=stepper_x

en retour nous avons

Recv: // ========== Write-only registers ==========
Recv: // IHOLD_IRUN: 00081616 IHOLD=22 IRUN=22 IHOLDDELAY=8
Recv: // TPWMTHRS:   0000002f TPWMTHRS=47
Recv: // TPOWERDOWN: 00000014 TPOWERDOWN=20
Recv: // ========== Queried registers ==========
Recv: // GCONF:      000001c0 pdn_disable=1 mstep_reg_select=1 multistep_filt=1
Recv: // GSTAT:      00000001 reset=1
Recv: // IFCNT:      00000006 IFCNT=6
Recv: // OTP_READ:   0000000c OTP_FCLKTRIM=12
Recv: // IOIN@TMC220x: 2000014d ENN=1 MS1=1 MS2=1 PDN_UART=1 SEL_A=1(TMC220x) VERSION=0x20
Recv: // FACTORY_CONF: 0000000c FCLKTRIM=12
Recv: // TSTEP:      000fffff TSTEP=1048575
Recv: // MSCNT:      00000008 MSCNT=8
Recv: // MSCURACT:   00f7000c CUR_A=12 CUR_B=247
Recv: // CHOPCONF:   14030053 toff=3 hstrt=5 TBL=2 vsense=1 MRES=4(16usteps) intpol=1
Recv: // DRV_STATUS: c0160000 CS_ACTUAL=22 stealth=1 stst=1
Recv: // PWMCONF:    c80d0e24 PWM_OFS=36 PWM_GRAD=14 pwm_freq=1 pwm_autoscale=1 pwm_autograd=1 PWM_REG=8 PWM_LIM=12
Recv: // PWM_SCALE:  00000019 PWM_SCALE_SUM=25
Recv: // PWM_AUTO:   000e0024 PWM_OFS_AUTO=36 PWM_GRAD_AUTO=14

C'est tout bon, recommencer avec les autre axes

DUMP_TMC STEPPER=stepper_y
DUMP_TMC STEPPER=stepper_z
DUMP_TMC STEPPER=extruder

Il ne reste plus qu'a valider sur la machine et à vous la précision et le silence !

 

J'ajoute Ă©galement mon fichier de configuration pour exemple:

A10 v3 - TMC2208uart.cfg

:banana:

 

 

 

Modifié (le) par hidius
  • J'aime 2
  • Merci ! 2
Lien vers le commentaire
Partager sur d’autres sites

Il y a 3 heures, hidius a dit :

en effet le StallGuard peut etre sympa a mettre en oeuvre avec le 2130

C'est certe une bonne option mais je préfére l'évitér, je pense que rien de vos un bon end stop des familles.

Lien vers le commentaire
Partager sur d’autres sites

Les TMC2209 ont le stallguard, le silence des 2208 et, comme si ça ne suffisait pas, on peut y mettre des moteurs plus costauds et/ou chauffer moins les drivers. Ce n'est pas beaucoup plus cher que des 2208 ou 2130. Forcément avec tous ces avantages ils sont en ruptures de stock et c'est obligatoirement de la précommande chez nos fournisseur asiatiques préférés. Pour avoir une idée des délais Fysetc annonce recevoir un batch mi octobre.

DÚs que la date de livraison de la Zatsit se concrétise, je me mets dans la fil d'attente avec une SKR 1.3.

Pour l'instant Klipper ne supporte pas le Stallguard des 2209 mais ce n'est qu'une affaire de temps. Stephan3 l'a fait pour les 5160, a déjà implémenté les 2209 sans Stallguard avant ses vacances et a prévu de finaliser le truc. Donc je n'ai aucun doute sur la réalisation d'autant qu'il y a du monde qui s'y intéresse. Pour l'instant ils réagissent comme des 2208.

@palouf34, si le Stallguard ne t'intéresse pas autant prendre des 2208 plus silencieux que les 2130 ou attendre des 2209 pour leur courant RMS plus élevé.

@hidius, je trouve ton cĂąblage trĂšs propre.

J'ai montĂ© des TMC2208 avec Klipper il y a 2 week-end mais avec moins de gloire que @hidius, parce que tout est prĂ©cablĂ© sur une SKR 1.3. J'ai eu un petit soucis avec le pont de soudure: j'ai visĂ© le pin marquĂ© UART mais ce n'Ă©tait pas le bon (sĂ©rigraphie erronĂ©e?). Quoiqu'il en soit Klipper via l'extension OctoKlipper signale un dĂ©faut de communication vers stepper_x, stepper_y et ainsi de suite. J'ai repris mes soudures vers l'autre broche, sur certains j'ai ponter les 3 pads ensemble et ça fonctionne aussi. Conclusion: ce n'est pas la peine d'ĂȘtre d'une finesse folle lĂ  dessous, un gros pattĂ© d'Ă©tain entre les 3 pads fera l'affaire.

  • J'aime 1
Lien vers le commentaire
Partager sur d’autres sites

effecitvement, je vais m'y repenchĂ© car la diffĂ©rence sur mamazon entre les 2130  spi et les 2208 uart n'est que de 5€  mais surtout il y en a un de plus pour les 2208... donc le choix est vite vue 😉

 

[edit]  il me reste a trouver le bon tuto pour   les mettrent en places sur une ramps 1.4...

Modifié (le) par palouf34
rajout point sur tuto
Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, Tircown a dit :

J'ai montĂ© des TMC2208 avec Klipper il y a 2 week-end mais avec moins de gloire que @hidius, parce que tout est prĂ©cablĂ© sur une SKR 1.3. J'ai eu un petit soucis avec le pont de soudure: j'ai visĂ© le pin marquĂ© UART mais ce n'Ă©tait pas le bon (sĂ©rigraphie erronĂ©e?). Quoiqu'il en soit Klipper via l'extension OctoKlipper signale un dĂ©faut de communication vers stepper_x, stepper_y et ainsi de suite. J'ai repris mes soudures vers l'autre broche, sur certains j'ai ponter les 3 pads ensemble et ça fonctionne aussi. Conclusion: ce n'est pas la peine d'ĂȘtre d'une finesse folle lĂ  dessous, un gros pattĂ© d'Ă©tain entre les 3 pads fera l'affaire.

En effet il y a visiblement beaucoup de variantes dans les TMC2208. Habituellement je fais confiance au marquage mais vu les témoignages pendant ma phase de recherche d'infos, j'ai sorti le multimÚtre pour vérifier.

Pour la photo de la soudure j'ai choisi une des meilleurs 😅, ça commence Ă  faire petit. Comme tu le prĂ©cises, pas besoin de chercher la prĂ©cision.

 

Depuis concernant l'extruder, je me suis aperçu que je ne pourrais pas utiliser le pin du second dĂ©tecteur de filament. Du coup, je suis en rade de pin et je ne vais pas pouvoir utiliser plus de 3 TMC2208 avec cette carte. A moins d'aller souder direct sur le mega2560 mais ça fait trop petit pour moi. J'ai placĂ© les tmc2208 sur le X,Y et extrudeur, je vais tourner comme ça et si le bruit me dĂ©range vraiment, je changerai de carte, sachant que le connecteur USB est dĂ©jĂ  mort.La mĂȘme carte que toi je pense, 32b, bien pensĂ©, pas cher, elle a tout pour elle !

Lien vers le commentaire
Partager sur d’autres sites

Le seul truc qui manque à la SKR1.3 c'est un accÚs à l'I2C. Je cherche encore mais à priori je dois sacrifier le second extrudeur et utiliser deux de ses pins. J'ai récupéré un PAT9125 (l'ancien capteur de filament laser sur les Prusa Original) et un fork de Klipper l'a intégré. A part ça, elle est bien foutue, j'aime bien le fait qu'il y ait des fusibles et le LPC1768 de la SKR1.3 est trÚs bien placé dans le benchmark de Klipper. Je dérive un peu, ce n'est pas le sujet.

Pour en revenir Ă  ton soucis de double capteur de filament, t'as une imprimante avec deux extrudeurs? Si non, tu peux les mettre en sĂ©rie/parallĂšle avec le premier capteur selon leur comportement NC/NO. Idem pour faire du bicolore. Ce serais juste en utilisation "fin de bobine" ou ça ne marche pas. Peut-ĂȘtre n'ai je pas compris ton soucis.

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

Il y a 22 heures, Tircown a dit :

Pour en revenir Ă  ton soucis de double capteur de filament, t'as une imprimante avec deux extrudeurs? Si non, tu peux les mettre en sĂ©rie/parallĂšle avec le premier capteur selon leur comportement NC/NO. Idem pour faire du bicolore. Ce serais juste en utilisation "fin de bobine" ou ça ne marche pas. Peut-ĂȘtre n'ai je pas compris ton soucis.

Je ne me sers pas du second dĂ©tecteur de filament, mais ca pin ne me permet pas d'acceder directement au 2560. Mais tu m'a fais penser au sixieme moteur exploitable dont je n'avais pas penser 😊, merci a toi. il y a peu de chance que je l'utilise celui la ! En grattant j'ai aussi trouvĂ© des pins dispo sur le connecteur "UART_LCD" qui n'est pas cĂąblĂ©.

 

J'ai édité le premier post pour l'ajout du quatriÚme TMC2208 et re-upload de ma config avec quelques ajustements.

Lien vers le commentaire
Partager sur d’autres sites

  • 3 months later...
Le 11/09/2019 at 20:57, palouf34 a dit :

effecitvement, je vais m'y repenchĂ© car la diffĂ©rence sur mamazon entre les 2130  spi et les 2208 uart n'est que de 5€  mais surtout il y en a un de plus pour les 2208... donc le choix est vite vue 😉

 

[edit]  il me reste a trouver le bon tuto pour   les mettrent en places sur une ramps 1.4...

bonjour,

as tu trouvé un tuto efficace.

moi aussi je suis entrain de paramétrer ma mega2560 wifi et ma ramps 1.4.

si tu as des recommendation merci d'avance pour ton aide

Lien vers le commentaire
Partager sur d’autres sites

Il y a 21 heures, dadour13 a dit :

bonjour,

as tu trouvé un tuto efficace.

moi aussi je suis entrain de paramétrer ma mega2560 wifi et ma ramps 1.4.

si tu as des recommendation merci d'avance pour ton aide

Non pas vraiment, mais je me suis basé sur les tuto qui parlent des TMC2208 en UART pour l'installation.  Aprés en suivant ce fils, cela roule sans trop de soucis...

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
  • Sur cette page :   0 membre est en ligne

    • Aucun utilisateur enregistrĂ© regarde cette page.
  • YouTube / Les Imprimantes 3D .fr

×
×
  • CrĂ©er...