-
Compteur de contenus
704 -
Inscrit(e) le
-
Dernière visite
-
Jours remportés
1
Récompenses de LOLO710
Favoris
-
Mes imprimantes
A20m à LOLO710Bonsoir,
Je présente la dernière arrivé à la maison la Geeetech A20m, arrivé début juillet
Amélioration effectué dessus:
- Renfort du portique
- Isolation de bed avec de la mousse + aluminium
- Le bassin de purge
- Support bobine sur roulement
- Silent-bloc sur les moteurs Y et X
- Bouton pour relever plus facilement le Z
- Rehausse de pied pour permettre une meilleure circulation d'air et permettre de faire passé le swiffer dessous
- Mise en place d'une grille sur le ventilo de l'alim et montage souple du ventilo de la CM.
- Surtout un montage soignée et vérification d'aucun point dur ou du jeu ( courroie du Y vrillée a l'intérieur du profilé )
Petit souci avec le conduit de refroidissement qui fuit, il va falloir que je trouve le fichier pour le ré-imprimé
Sinon la qualité d'impression est très bien pour une machine d'origne la possibilité de faire des dégradés est génial sans pour autant gaspillé du pla
Les prochaines étapes seront de finaliser le bassin de purge et mettre en place le 3d touch.
Je tenais a remercié les sav de geeetech, que j'ai contacté pour un problème sur le cache de la tête qui était assez tordu et une patte du ventilo cassé, il me l'on renvoyait sans aucun problème. Colis reçu très rapidement D.L, mais malheureusement il était encore tordu pire que celui d'origine, je les ai recontacter et il m'on renvoyé un autre, celui-là ok.
-
Réglages
Pièges des réglages Vref A4988 ou DRV8825Bonjour à toutes et tous,
J’entends souvent beaucoup de choses sur le réglage des drivers moteurs, bien souvent on me parle d’un réglage usine hypothétique, ou à l’oreille ou lors des nuits de pleine lune quand le vent souffle à l’ouest !
Je lis souvent « moi j’ai une Vref à 1.6V » et ça ne veut rien dire car il manque des informations capitales !
Le courant généré peut passer du simple au double ou même être hors limite si les modules ne sont pas strictement identiques !Donc NON, le réglage de la tension de référence (Vref) sur un driver de moteur pas à pas ne se fait pas de manière empirique !
Il faut absolument connaitre plusieurs caractéristiques pour régler correctement ces bestioles.- Coté driver, le circuit utilisé A4988 ou DRV8825 a son importance et va surtout de pair avec la valeur des résistances « Rsense » qui sont présentent sur le PCB, elles-y sont souvent sérigraphiées « S1, S2, S1X, S2X, R1, R2…», et peuvent avoir comme valeur 0.05 ohm (Marquage R050), 0.1 ohm (R100) ou 0.2 ohm (R200) donc on sort la loupe pour être sûr.
- Coté moteur, il faut chercher son courant de fonctionnement par phase (Imax) qui a été calculé par le fabriquant en fonction de ses caractéristiques.
Si ce courant n’est pas indiqué par le vendeur du moteur, on cherche chez SON fabriquant avec SA référence dans son datasheet.
Sous-alimenté, il va perdre son couple et risque même de vibrer sans pouvoir garder sa position stable.
Suralimenté, il va faire beaucoup de bruit par résonance et bien entendu surchauffer (le driver également par contre réaction).Après une longue discussion avec un constructeur de moteur de type Nema (GE), il s'avère que le Imax d'un moteur n'est pas son Inominal, il faut donc diviser Imax par racine de 2 pour trouver Inom.
j'ai donc mis à jour le tableau en correspondance.On calcule donc la valeur de Vref à régler avec le petit potentiomètre, la formule est donnée dans le datasheet du constructeur du driver, et est :
on calcule Inom = Imax divisé par racine(2)
Pour un A4988 : Inom = Vref / (8 * Rsense) donc Vref = Inom * 8 * Rsense
Pour un DRV8825 : Inom = Vref / (5 * Rsense) donc Vref = Inom * 5 * RsenseLa valeur maximale de la limitation de courant est donc définie en interne en fonction de la valeur des Rsense et de la tension de la broche Vref.
Exemples de calculs :
Un A4988 avec des Rsense de 0.05 ohm (Marquage R050) et un moteur avec un Imax à 1.8A, Inom = 1.27A : Vref = 1.27 * 8 * 0.05 = 0.51V.
Un DRV8825 avec des Rsense de 0.1 ohm (Marquage R100) et un moteur avec un Imax à 2.1A, Inom = 1.48A : Vref = 1.48 * 5 * 0.1 = 0.74V.
Un A4988 avec des Rsense de 0.2 ohm (Marquage R200) et un moteur avec un Imax à 1.5A, Inom = 1.06A : Vref = 1.06 * 8 * 0.2 = 1.7V.Important :
Le courant maximum par phase pour un A4988 est de 2A et 2.5A pour le DRV8825. Donc si vous êtes dans la limite haute de votre drivers, réduisez un peu Imax.La température du driver peut monter à plus de 150°C si son courant arrive à son maximum admissible et il doit être de toute façon correctement refroidit par un dissipateur et si possible par un flux d’air au-delà de 1A par phase. Il passera en protection thermique et coupera le courant moteur si sa température arrive hors limite.
Voir les datasheets pour les courageux, dont les tableaux « Relative Current and Step Directions » et « Step Sequencing Settings ».
http://www.allegromicro.com/~/media/Files/Datasheets/A4988-Datasheet.pdf
http://www.ti.com/lit/ds/symlink/drv8825.pdfPour les TMC2xxx, il suffit de prendre Inom du tableau et de régler Vref à la même valeur. ex moteur 1.5A, Inom = 1.06A, Vref = 1.06V
attention ceci n'est valable que pour Rsense = 110mΩ
la formule donnée par Trinamic est IRMS = 325mV / (RSENSE + 20mΩ) * 1/√2 * VREF/2.5V
avec des RSENSE = R110 = 110mΩ nous simplifions puisque 325/(110+20) = 2.5 (c'est pour ça que l'on trouve les pilotes avec ces valeurs de RSENSE sur le marché)
IRMS = 2.5 * 1/√2 * VREF/2.5V
2.5 / 2.5 = 1 donc
IRMS = 1/√2 * VREF
je me débarrasse de 1/√2 en multipliant par √2 des deux cotés
√2 * IRMS = √2 * 1/√2 * VREF donc √2 * IRMS = VREF
VREF = √2 * IRMS
et nous savons que IRMS = IMAX / √2
VREF = √2 * IMAX / √2donc VREF = IMAX
comme on prends 70% par sécurité, pour un courant de 1.5A, nous avons 1.5*0.7 = 1.05, réglage de VREF à 1.05V
et ça tombais bien, puisque en prenant 70% de sécurité, c'est comme si on divisais par √2 (0.707...) c'est une astuce d'électronicienc'est comme si en prenant 70% de sécurité, on prenait la valeur RMS de ce courant IMAX
pour simplifier, avec 70% de sécurité, IMAX * 0.707 = IMAX / √2 = IRMS
donc on peut régler VREF à la valeur APPARENTE de IRMS, sous entendu que ça contient déjà les 70% de sécurité.
mais ça ne fonctionne qu'avec des RSENSE à 110mΩ
vous trouverez un XLS pour ces calculs, vous pouvez y changer Rsense si ça valeur n'est pas standard.
ATTENTION les TMC sont hyper sensible à la température, ils doivent impérativement être refroidit sous un courant d'air, avec un dissipateur conséquent.
Bonne lecture.
Stef
le tableau corrigé pour avoir une idée de Vref en fonction des valeurs d'Imax du moteur.
-
Mes imprimantes
L'Ender3 pro à loloBonjour, le jour J est arrivé après quelques jours de montage et de réglage de mon Ender3 pro, j'ai pu lancé mon premier print.
Pour une première impression je trouve qu'elle imprime vraiment bien cette imprimante,en version stock.
Les seules améliorations apporter sont purement de confort.
Points négatifs:
Le bed pas plat (c'est la marque de fabrique de créality).
Ventilos bruillant, surtout ceux de la tête.
Pignons sur les axes X et Y non démontables.
Points positif:
Le prix
Qualité d'impression
Compact
La surface d'impression magnétique,bonne accroche du print.
Prochaine amélioration:
Le bed, mettre une vitre de 4mm,changer le fang et les ventilos,damper et faire sauter les poulies(a coup de DREMEL).
A SUIVRE...
-
Réglages
[TUTO] TMC2208 UARTNous 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:
Vue de dessus sans radiateur
Vue de dessous:
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).
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.
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
un autre exemple
un TMC2208 finalisé avec sortie vertical
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
Le tout, avec également un tmc2208 pour l'extruder (pin 45 récupéré sur T0)
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: