Aller au contenu

GO Print

Chercher dans la communauté

Résultats des étiquettes.

  • Recherche par étiquettes

    Saisir les étiquettes en les séparant par une virgule. Merci de privilégier l'auto-complétion plutôt que de créer des tonnes de tags inutiles.
  • Recherche par auteur

Type du contenu


Forums

  • La vie du forum
    • Présentations
    • On vous écoute
    • Actualité et nouveautés du forum
  • Sur le site
    • Les news du blog
  • Les imprimantes 3D
    • Discussion sur les imprimantes 3D
    • Bien choisir son imprimante 3D
    • Les constructeurs
    • Les RepRap et autres modèles DIY
    • Les imprimantes 3D SLA
    • Consommables (filaments, résines...)
    • Électronique
    • Entraide : Questions/Réponses sur l'impression 3D
    • Tutoriels
  • Les scanners 3D
    • Discussion sur les scanners 3D
    • Kinect
  • Logiciels 3D
    • Discussion sur les logiciels 3D
    • Dessiner / modéliser en 3D
    • Paramétrer et contrôler son imprimante 3D
    • Tutoriels
  • Le coin des makers
    • Projets et impressions 3D
    • La post-production
    • Les cavernes des makers
    • Evénements et rassemblements
    • Arduino
    • Domotique
    • Modélisme
    • Airsoft
    • Vapotage
  • Usinages
    • Discussion sur l'usinage
    • CNC / Graveur laser
    • Entraide : Questions/Réponses sur les CNC et Lasers
    • Machines-outils conventionnelles
  • Petites annonces
    • Achats
    • Ventes
    • Dons
    • Bons plans et crowdfunding
    • Commandes groupées
    • Emplois et services
  • Divers
    • Blabla

Chercher dans...

Résultats qui...


Date de création

  • Début

    End


Dernière mise à jour

  • Début

    End


Filtrer par nombre de...

Inscrit

  • Début

    End


Groupe


Website URL


Skype


Twitter


Facebook


Youtube


Instagram


Lieu


Intérêts


Imprimantes

15 résultats trouvés

  1. joyeufetar

    Anet E10 upgradée

    Bonjour à tous, Je viens de terminer la nouvelle imprimante et je peaufine en ce moment la calibration. C'est une base d'Anet E10 récupérée, que j'ai, disons le, complètement modifiée. Je n'ai, au final, conservé que la frame de l'imprimante, tige trap et le plateau. Certaines pièces ont été trouvées sur Thingiverse et sont restées en l'état, d'autres ont été modifiées pour l'intégration, et j'en ai conçue certaines. Niveau imprimante, j'ai donc réutilisé la structure sur lequel j'ai monté : - Rail linéaire sur tous les axes - Changement du support du lit pour un plus costaud, celui qui était monté d'origine étant tordu - Extrudeur BMG en bowden de chez TriangleLabs - Hotend e3dv6 de chez TriangleLabs - Chariot x custom, avec double radial et touchmi (touchmi qui s'active en mode automatique grâce à l'aimant au niveau du endstop x) - Ajout de renfort à l'arrière de l'imprimante pour minimiser les mouvements de l'axe z L'imprimante est en mode standalone. Tout l'électronique est intégré sous la machine pour un gain de place (exit le gros boitier qui fait du bruit). L'électronique comprend : - Alim 360W 12V (c'est un choix de rester en 12V car j'avais déjà pas mal de pièces en stock en 12 et je ne voulais pas tout changer) - Carte mère SKR Pro V1.1 + TMC2208 (en mode UART et en 256 pas réel), refroidi par 2 gros ventilos (obligatoire sinon, j'ai vite une surchauffe des tmc) - Carte BIGTREETECH Relay V1.2 et Mini UPS v2.0 (ces deux cartes seront connectées prochainement, d'abord je fais en sorte que l'imprimante tourne parfaitement) - BTT TFT35 V2.0 que j'ai mis à jour avec la dernière version du firmware, bien plus pratique et performante (le faite de pouvoir lancer des commandes custom de l'écran est juste terrible. C'est beaucoup plus pratique que de brancher un pc dessus) J'ai fait en sorte de pouvoir facilement et rapidement désaccoupler la partie électronique du reste de l'imprimante pour faciliter la maintenance. Pour ça, 6 connecteurs viennent alimenter les périphériques de l'imprimante. Les deux parties de l'imprimante sont maintenus en place par des pièces imprimées, ça évite que tout bouge. Il y a donc 5 vis à défaire et 6 connecteurs seulement pour la maintenance. Niveau firmware, je suis parti sur Marlin 2.0. Je ne l'avais jamais testé jusque la, mais j'avoue qu'il a quand même été bien modifié. On peut maintenant le modifier très facilement. Je joint quelques photos pour illustrer tout ça. L'imprimante a rejoint sa copine (une itopie qui me sert maintenant depuis des années, mais qui montrait quand même ses limites niveau qualité. D'ou le choix d'en faire une seconde plus performante). Maintenant, j'en suis donc à la calibration définitive de la machine. Et je commence à avoir des résultats plutôt propre : Pour avoir un résultat comme ça, j'ai fait le réglage des accelérations, vitesses, ... J'ai aussi ajouté la fonction Linear Advance. Voila les paramètres que j'utilise actuellement (mais qui peuvent être amener à changer si je me rends compte qu'il y a un soucis) : //============================================================================= //============================== Movement Settings ============================ //============================================================================= // @section motion /** * Default Settings * * These settings can be reset by M502 * * Note that if EEPROM is enabled, saved values will override these. */ /** * With this option each E stepper can have its own factors for the * following movement settings. If fewer factors are given than the * total number of extruders, the last value applies to the rest. */ //#define DISTINCT_E_FACTORS /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 * Calcul des steps extrudeur : Nouveau_E_Step = ( Ancien_E_Step / (150 - mm_restant ) ) * 100 * X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 1600, 1600, 6400, 6600.515 } /** * Default Max Feed Rate (mm/s) * Override with M203 * X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]] */ #define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } // Calculate Max feedrate for X/Y at 110 !!!! //#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 [, I [, J [, K]]], 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 1000 // X, Y, Z and E acceleration for printing moves #define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts #define DEFAULT_TRAVEL_ACCELERATION 1000 // 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 //#define DEFAULT_IJERK 0.3 //#define DEFAULT_JJERK 0.3 //#define DEFAULT_KJERK 0.3 //#define TRAVEL_EXTRA_XYJERK 0.0 // Additional jerk allowance for all travel moves //#define LIMITED_JERK_EDITING // Limit edit via M205 or LCD to DEFAULT_aJERK * 2 #if ENABLED(LIMITED_JERK_EDITING) #define MAX_JERK_EDIT_VALUES { 20, 20, 0.6, 10 } // ...or, set your own edit limits #endif #endif #define DEFAULT_EJERK 5.0 // May be used by Linear Advance /** * Junction Deviation Factor * * See: * https://reprap.org/forum/read.php?1,739819 * https://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html */ #if DISABLED(CLASSIC_JERK) #define JUNCTION_DEVIATION_MM 0.013 // (mm) Distance from real junction edge #define JD_HANDLE_SMALL_SEGMENTS // Use curvature estimation instead of just the junction angle // for small segments (< 1mm) with large junction angles (> 135°). #endif J'ai déterminé qu'avec cette config, je pouvais potentiellement imprimer à 110mm/s. J'ai conservé un peu de marge et j'ai réglé la vitesse d'impression par défaut à 100 dans Cura. Mais au final, j'ai du descendre les accélérations à 1000 sur X/Y, sinon j'avais du ghosting qui apparaissait (globalement aux alentours de 1500). Du coup, je ne sais pas si c'est tip top de laisser ça comme ça. Ca bride forcément les vitesses d'impressions et donc un meilleur compromis est peut être à trouver... Avec la fonction Linear Advance, les impressions sont top, mais ça imprime aussi 2 fois plus lentement qu'avant pour des vitesses d'impressions de base identiques. Aussi, de temps en temps, l'imprimante se met en pause quelques secondes puis repart comme si de rien était. Et avec l'impression du cube de calibration, je me suis rendu compte que les couches pleines s'imprimaient très rapidement, mais que les remplissage étaient extrêmement lent (à titre de comparaison, il m'a fallu 2h pour sortir un benchy avec les réglages cités précédemment...). Cela me créé un décalage dans les dimensions des couches (celle imprimée rapidement sont plus large que celle imprimée lentement...). Je me dis donc qu'il y a un truc avec cette fonction. J'ai vu qu'elle pouvait potentiellement être limitée par le paramètre DEFAULT_EJERK (que je n'ai pas touché et qui est à 5 par défaut). Mais si c'est vraiment lui qui bride, comment faire pour régler finement ce paramètre ? A part tester petit à petit, je ne vois pas. Si quelqu'un à une idée, je suis preneur. En tout cas, j'approche du but et voir la qualité que j'obtiens déjà maintenant fait grand plaisir après tout ce temps passé dessus Bonnes impressions à tous
  2. Bonjour à toutes et tous, Puisque ces questions reviennent régulièrement, je vais essayer d’expliquer comment utiliser les modules équipé de puce Trinamic de type TMC2xxx et comment les régler en fonction du courant consommé par le moteur. Petit historique : Faire tourner un moteur pas à pas n’est pas bien compliqué, quelques transistors et quelques lignes de code suffisent, par contre c’est du pur binaire avec pleins d’inconvénients, des accélérations brutale, vibrations et bruits d’ondes carrées caractéristiques. Dans les années 2000 Texas Instruments étudie un système de chip tout en un, qui regroupe, les générateurs de rampe PWM pour permette des micros pas, les étages de puissances, la régulation de courant, mais surtout une gestion logique interfaçable sur tous types de microcontrôleurs. Sorti en 2010 le DRV8825 comprends donc une intégration poussée tout en un et les bases du pilotage moderne avec 3 signaux logiques DIR, STEP et ENABLE. En 2012 Allegro sort sa propre version qui fonctionne sur des bases équivalentes, l’A4988. Depuis les années 90, Trinamic s’intéresse au contrôle du mouvement piloté et conçoivent une technologie de contrôle matériel et non plus logiciel, ce qui est essentiel pour avoir un fonctionnent des moteurs de manière efficace, fiable, fluide et silencieux. Peu à peu l’industrie plébiscite la précision de fonctionnement de leurs produits. Alors que l’explosion de l’impression 3D personnel est déjà bien débutée, Trinamic annonce mi 2015 son dernier circuit intégré de commande et de pilote de moteur pas à pas à un axe. Le TMC2100. Rapidement apparait sur le marché grand public un module équipé avec le TMC2100. D’une conception différente de ce qui existe alors, il apporte un pilotage bien plus optimisé et surtout silencieux, et sera suivi rapidement par des améliorations avec les TMC2208, TMC2209… etc. La forme actuelle des modules enfichable de 2 x 8 boches est certainement dû à la société Pololu qui à développer depuis les années 2000 pléthores de modules spécialisés robotique, faciles à changer en cas d’upgrade ou de destructions. Compatibilités et particularités des modèles Trinamic : Quand on regarde un module, la première chose qui saute aux yeux est l’absence de composant sur sa face supérieure, il n’est peuplé qu’au recto ! Pourquoi ? Parce que celui qui a dessiné le PCB a lu les notes technique du fabriquant ! Merci à lui ! Les puces Trinamic possède un pad thermique sous son boitier et est donc brasé en dessous du circuit imprimé ce qui a le mérite de laisser toute la place au verso pour le dissipateur thermique. La liaison thermique avec le dissipateur se fait via un double plan de masse percé d’une multitude de via traversant le circuit imprimé pour un échange thermique optimal, de loin beaucoup mieux qu’à travers l’époxy du boitier du composant. ATTENTION on trouve des modules qui utilisent des puces TMC22xx avec la puce sur le DESSUS ! N’achetez pas ça ! Elles sont instables ! Cette conception est de loin la meilleure approche en industrie et on en use et abuse presque pour tous composant qui chauffe, il est d’ailleurs dommage que l’A4988 n’en profitent pas, son pad thermique étant placé aussi sous son boitier… Encore un qui n’a pas lu les notes de conceptions, c’est dommage car on trouve toujours le meilleur dans les notes d’application, même le dessin optimisé du PCB pour tests. Sa deuxième particularité est qu’ils ont les sorties des enroulements moteur inversées. Rien d’insurmontable et nous avons au moins deux façons pour le gérer : Agir directement dans la source (Marlin,…) par la déclaration logique de l’inversion du sens de rotation de chaque moteurs, ou inverser le sens du connecteur du moteur, coté carte de contrôle ou coté moteur. Gestion de l’énergie ou les fameux modes StealthChop et SpreadCycle : StealthChop est le mode par défaut de fonctionnement silencieux du pilote, aussi bien à l'arrêt qu’à des vitesses faibles à modérées. C’est le mode préféré pour les axes X, Y et Z. SpreadCycle est le mode standard hautement amélioré par rapport aux DRV8825 et A4988, préférable pour le moteur de l’exdrudeur quand le mode Linear Advence est utilisé ou quand de très hautes vitesses sont nécessaires, ces dernières sont rare sur nos machines à la maison. Leurs mises en place dépendent du pilote : TMC2100 est dit Standalone (autonome) et n’est pas pilotable, sa configuration est confiée aux signaux CFG1 et CFG2. TMC2130 est utilisable en Standalone mais c’est surtout qui soit pilotable par bus SPI qui le caractérise, en mode standalone c’est qu’un équivalent TMC2100 avec configuration via CFG1 et CFG2. L’utiliser seulement si la carte de l’imprimante le supporte. TMC2208 est utilisable en Standalone, avec ou sans une configuration avancé via l’écriture dans sa mémoire OTP, ou par UART (RS232). Il utilise le mode StealthChop par défaut, pour le passer en mode SpreadCycle il faut soit, écrire dans sa mémoire OTP (Programmable qu’une fois, aucun retour en arrière possible), soit le piloter en mode UART. TMC2209 est utilisable en Standalone, par UART chainable (par 4) et/ou OTP. Il possède en outre une broche SPREAD de configuration hardware qui permet de le faire travailler en mode StealthChop (LOW) ou SpreadCycle (HIGH). Upgrade ? Changer de pilotes vers des TMC vont donc apporter une gestion des moteurs optimisée par rapport aux pilotes de base, même en standalone et aussi jouer sur le bruit, ou plutôt le silence, généré par les moteurs, la contrepartie c’est que l’on s’aperçoit vite que les ventilateurs sont bruyants… très bruyants, trop ? A l’heure actuelle, autant utiliser le TMC2209 qui est le mieux optimisé, plus souple à utiliser et permet des pointes de courant jusqu’à 2.8A. Mais si vous avez un lot de 2208, voire de 2100 utilisez les ! Si vous utiliser le mode Linear Advence, il est préférable de configurer le pilote de l’extrudeur en mode SpreadCycle. L’optimisation StealthChop génère alors trop de problème de régularité. Si vous êtes équipé en TMC2100, une patte à couper, un bout de fil et une brasure va solutionner le problème pour l’extrudeur. Avec un TMC2208, on trouve des modules pour programmer sa mémoire OTP, c’est une usine à gaz car il faut souvent relier un pont de soudure sous le 2208 pour pouvoir communiquer avec ! C’est expliqué sur le site de Watterott. Attention écrite dans sa mémoire OTP est définitif, aucun retour en arrière possible ! Avec une TMC2209, c’est prévu via une broche ou un pont de brasure. Une autre solution c’est de simplement utiliser le pilote d’origine (A4988 ou DRV8825 avec sa Vref réglée correctement là aussi). La Vref : Allez donc faire un tour sur mon post dédier dans un premier temps. La Vref, ou tension de référence, sert au pilote à générer en interne le courant maximum qui passe dans le moteur, il est important de la régler correctement. Trop faible, le moteur va perdre des pas, trop fort il va vibrer et beaucoup chauffer. Pour mesurer ce courant, le pilote utilise des résistances de faible valeur, incluses dans la boucle de contre réaction de l’alimentation du moteur, la tension a ses bornes est égale à sa valeur multipliée par le courant la traversant (U=R*I), ce sont les fameuse Rsense. Pour les pilotes équipés des puce Trinamic TMC2xxx, ces résistances font généralement 110mΩ (notée R110 sur leur boitier) et ce n’est pas complètement par hasard, nous le verrons plus bas. Mais il arrive (chez Creality entre autre) qu’elle fasse 150mΩ (R150), chacun est libre ! Trinamic fourni (tout comme ces homologues) la formule de calcul dans les appnotes de ses puces. Cette formule est : Le courant est exprimé en RMS (de l'anglais root mean square), c’est la valeur efficace d'un signal périodique, correspondant en électricité et en mode sinusoïdal à Irms = Imax / Racine(2). Nous pouvons donc écrire : Vref = Irms * (Rsense+20)/325 *2.5 * Racine(2) Prenons le cas où Rsense est égal à 110mΩ (110+20)/325 = 0.4 et 0.4 * 2.5 = 1 Avec Rsense à 110 mΩ ça simplifie le calcul, on comprend ce choix de valeur maintenant ? donc Vref = Irms * Racine(2) hors en mode sinusoïdal : Irms = Imax / Racine(2), donc on remplace : Vref = Imax * Racine(2) / Racine(2) ce qui donne Vref = Imax Imax c’est le courant max du moteur (peak). En électronique on n’utilise jamais le max, ça chauffe voir ça brule, des fois ça explose, par compromis on utilise souvent une fourchette entre 70% et 80%. Puisque nous somme en mode sinusoïdale autant utiliser 1 / Racine(2) qui est proche de 71%. On règle Vref à la valeur de Imax / Racine(2), exemple pour un courant de 1.5A, Vref = 1.5 * 0.707 = 1.06V. ATTENTION cette simplification du calcul n’est valable qu’avec Rsense = 110mΩ Prenons maintenant une valeur de Rsense = 150mΩ Irms = 325 / (Rsense+20) * 1 / Racine(2) * Vref / 2.5 Vref = Irms * (Rsense+20) / 325 *2.5 * Racine(2) Comme précédemment on remplace Irms par Imax / Racine(2) et on vire Racine(2) / Racine(2) Vref = Imax * (Rsense+20) / 325 *2.5 on peut écrire * 2.5/325 -> / 325/2.5 -> / 130 Vref = Imax * (Rsense+20) / 130 Prenons par exemple Imax = 1.5A Vref = 1.5 * (Rsense+20) / 130 Vref = 1.5 * 170 / 130 = 1.96 Régler donc Vref à 1.96 / Racine(2) = 1.39V Simple non ? On peut bien sûr régler Vref dans la fourchette jusqu’à la valeur de Imax. Plus on s’en approche, plus le couple sera important et plus le moteur va chauffer, En cas de masse lourde à déplacer, augmentez Vref, mais faites-le en commençant de la valeur calculée et en augmentant par palier de 0.1V sans dépasser Vref max. Ce n’est jamais une bonne idée d’augmenter Vref à cause d’une mauvaise mécanique qui force. Feuille Excel pour calculer Vref, renseignez la valeur de Rsense et le courant Imax du moteur et hop ! TMC_Vref_V2.xlsx Réglage du Vref au multimètre : Un petit tournevis plat adapté (parfois livré avec les pilotes) un multimètre en calibre 2V un bout de fil fin et souple. En premier lieu, éteindre la machine avec son interrupteur. Trouvez une masse (sur un bornier d’alim par exemple) et y fixer la pointe de touche négative (noire) dessus. Dénudez 5cm de chaque côté du fil fin, l’enroulez d’un côté sur la pointe de touche positive (rouge) et de l’autre sur la partie métallique du tournevis. Un bout de scotch aiderait à tenir certainement. Déconnectez un par un en les repérant les connecteurs qui vont aux moteurs. Allumez la machine. Réglez chaque potentiomètre à la valeur Vref calculée, attention à la position des dissipateurs thermique, les coller en fonction d’où se trouve le trou de réglage pour ne pas être gêné par la suite. Éteindre la machine avec son interrupteur. Remettre les connecteurs moteurs à leurs emplacements d’origine et dans le bon sens. Déconnectez la pointe de touche du multimètre et resserrez éventuellement le bornier qui l’a accueilli. ATTENTION Si le moteur est relié au pilote lors du réglage, vous risquez fortement de détruire le pilote, la carte peut aussi être détruite. Note sur le mode UART : Pour l’instant ce mode n’est véritablement pas encore utilisable avec Marlin. Ce n’est pas suffisamment mûr dans le code pour piloter les moteurs en temps réel via UART ou SPI et quand ça sera possible, ça le sera seulement sur des cartes 32 bits à cause de la puissance de calcul requise. La seule chose qui ne fonctionne pas trop mal c’est de configurer les pilotes via le soft. On les initialise au démarrage avec leur Vref et leur mode de fonctionnement, mais c’est assez compliqué à mettre en œuvre, en mode UART, il faut obligatoirement utiliser des ports supportants les interruptions pour que SoftSerial fonctionne, mais ces ports non utilisés sont limités. Avec des TMC2208, c’est un port par module (on peut utiliser la même pin pour TX et RX), avec un TMC2209, on peut chainer 4 module en parallèle sur le même port). Personnellement je testerais certainement un jour le pilotage de TMC2209, avec le chainage c'est intéressant niveau port libre, ce qui simplifiera la mise en œuvre. Par contre quand je vois le nombre de problèmes ouverts sur le Githup Marlin je suis presque sûr d’essuyer les plâtres, donc à voir quand ça sera stabilisé. De plus il est rare de revenir sur ces réglages, à moins d’un changement de pilotes ou de moteurs.
  3. Bonjour à 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 * Rsense La 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.pdf Pour 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 / √2 donc 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'électronicien c'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. TMC_Vref_V2.xlsx
  4. Bonjour. J'ai réalisé une imprimante 3D en DIY à partir de la carte mère de la Creality CR10S-Pro seulement une fois tout raccordé, tout fonctionne sauf mes moteurs. Il ne se passe rien lorsque j'envoie une commande G-Code sur les axes. J'ai pourtant réglé les Vref des drivers TMC2208 correctement, récupérer le firmware Marlin 2.0.8, compilé,flashé et testé. Je ne sais plus où regarder ou que faire. Si quelqu'un aurait un avis sur la question ce serait super. PS : mes moteurs sont des Nema 17, 1.68 A, 2.5V et je règle Vref à 2.31
  5. Bonjour, Je suis en train de modifier mon Alfawise U30 Pro pour la passer sous Marlin 2.0 et en direct drive en trotte. Le flash du firmware sur Marlin 2.0 s'est plutôt bien passé (je n'ai pas encore réussi à faire fonctionner l'écran, il part en boot loop pour l'instant). Hier, j'ai voulu tester mon nouveau moteur Nema 17 pour le direct drive (La référence du moteur est: Nema17 17HS4023) et la c'est le drame. Voici ce que j'ai fait: - Coupé électriquement l'imprimante - Débranché le moteur d'extrudeur d'origine - Branché le nouveau moteur à sa place (Nema17 17HS4023 au lieu du 42BYGH40H-2-19D d'origine) - Rebranché électriquement l'imprimante - Fait chauffer la buse à 200°c - Extrudé 5mm Résultat: J'ai entendu un (gros) clac du moteur, puis plus rien. Il ne répond plus si j'essaye d'extruder ou de rétracter. Investigation en cours: J'ai refait le cheminement inverse pour remettre le moteur d'origine, et quand j'extrude il se met à claquer et à faire des petits mouvements saccadés. Après quelques autres essais d'inversions des moteurs, maintenant le résultat est le même avec les deux moteur: A la première demande d'extrusion un clac et puis plus rien. Pour info, le reste de l'imprimante fonctionne normalement, tous les axes fonctionnent, même le G28 avec mon TouchMi, la buse chauffe et le plateau aussi. Je me demande si ce n'est pas le driver d'extrudeur qui a grillé ? Avant de faire plus de bêtises, j'en fais appel à la communauté La question qui me turlupine, c'est: Pourquoi ? Est-ce que je me suis planté en branchant un moteur non compatible ? Est-ce que c'est le nouveau moteur qui est défectueux ? Les branchements des moteurs sont différents d'un Nema 17 à l'autres ? Problème de tension (La U30 Pro est en 24v, les moteurs aussi ???) ? Au secours Christophe
  6. Bonjour, Je suis à la recherche d'un tuto pour installer des TMC2208 sur ma Geeetech A10 avec 3DTouch (Carte GT2560 V4.0) Configuration Marlin Valeur Vref pour les TMC2208 Merci d'avance pour votre aide et/ou les pistes que vous voudrez bien me donner
  7. Bonjour à tou(te)s, Je vous partage ce GCode qui vous permettra de corriger le "bug" de pilotage inversé des axes Z et X sur les Tenlog TL-D3 avec les drivers TMC2208. Mettez le sur votre carte SD et faites comme si vous vouliez l'imprimer. Votre imprimante est à présent dans le bon sens Bonnes impressions ! PS : ce fichier provient du fabricant et affectera les réglages effectués sur votre machine. Si vous venez de remplacer vos drivers pour des TMC2208 et que vous avez déjà des réglages corrects, je vous conseille d'effectuer le changement de sens des paires concernées sur le connecteur côté carte mère : Lien Si vous faites une réinitialisation des paramètres dans les réglages, vos moteurs tourneront de nouveau à l'envers TMC2208.gcode
  8. Bonjour à tous, Ma nouvelle RAPTOR 2.0 est en route, et je ne trouve aucun topic sur cette belle bête sur mon forum préféré.... alors je lance le sujet. Qu' en pensez vous, bon achat ? Raptor 2.0, Industrial Grade Large 3D Printer Top Features: 400x400x500mm Build Size Filament Sensor High-temp. PTFE Tube Auto Bed Leveling with BLTouch Compatible with Flexible Filament High Quality PEI Sheet Integrated Full Size Heated Bed TMC2208 Stepper Drivers Industrial Linear Guide Rails TBI Ball Screw Genuine Meanwell Power Supply 4040 Aluminum Extrusion LED Lighting System TTL Laser Engraver (Optional) Raptor 2.0 comes assembled nearly, only takes 10-15 minutes to complete assembly, very easy to operate.
  9. Bonjour Je cherche a changer les drivers d'origine de mon imprimante (A4988) par des TMC2208 ou des TMC2100. J'ai fais pas mal de recherche mais je suis débutant et j'ai peur de me tromper. Je ne trouve pas non plus les réponses à mes questions sur le forum. C'est pour cette raison que je demande votre aide. D'après ce que j'ai compris, le design des drivers pour carte mère makerbot n'est pas habituel pour le sens des broches. Le PCB est inversé. Donc 1er question : Quel driver est le plus adapté a mon imprimante? Les TMC2208 ou TMC2100? Je ne trouve pas de TMC2208 avec le bon design. Est ce que je dois acheter le driver sans broches et les souder moi même pour avoir les broches du bon coté ou est ce qu'il existe TMC2208 déjà tous fait pour makerbot que je n'aurais pas trouvé malgré toute mes recherches? Pour les TMC2100 j'en ai trouvé avec le bon design mais ils n'ont pas de vis de réglage du vRef... Donc comment regler le vRef avec ces drivers? Merci de votre aide.
  10. Bonjour à tous, Je suis passé récemment sur une carte mère MKS GEN L avec des drivers TMC2208. Je rencontre un soucis lors des déplacements des axes car je me retrouve avec le double de la distance voulue ... Exemple : Je demande à l'imprimante de bouger de +150mm sur X et en réalité elle traverse de part en part le bed et donc fait 300 mm. Le marlin à été configuré comme sur le site cr10.fr, j'ai même utilisé le marlin fourni par le GueroLoco pour son Ender 3 en changeant juste la taille du bed mais ca n'a rien changé.... ( https://www.youtube.com/watch?v=hDuWm9dLwFs ) Je suppose que c'est les steps sont a changer mais étrangement je n'ai rien vu de tel sur le net, cela semble être du plug and play... La Vref est de 1.06 comme je l'ai vu quelque part sur le forum. Quelqu'un aurait une solution ? Merci d'avance les gars
  11. 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: 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: A10 v3 - TMC2208uart.cfg
  12. Bonjour à tous, Je viens vous faire part de mon problème sur ma Ender 3. Ne trouvant pas d'équivalent, j'ouvre le sujet pour que la communauté puisse me guider et peut être aider certains. Il y a quelques mois j'ai acheté une Ender 3 pro. Comme beaucoup de personne le bruit a vite été pénible . J'ai donc opté pour un upgrade MKS GEN L + TMC2208 (Makerbase) avec un TFT32 ainsi que 2 Noctua pour la ventilation. J'ai donc fait tout le nécessaire... Marlin 1.1.9 + configuration, réglage de Vref. J'ai déjà posté sur le forum mon expérience avec la Vref (Lien). Aujourd'hui je suis donc avec Vref= 0.7V sur X,Y,Z et 1.06V sur E (TMC2208 X,Y,Z,E) le tout en standalone ( Donc en Stealthchop mode si je ne dis pas de bétise). Mon problème c'est que j'ai remarqué que sur certaines impressions j'ai une qualité plutôt mauvaise. Sur des impressions "simple" sans beaucoup de forme c'est pas trop mal (cf photos) mais on voit quand même quelques blobs. Mais sur une pièce un peu plus complexe c'est vite la cata... J'ai vu que les TMC2208 n'etaient pas les plus recommandés pour l'extrudeur, j'ai donc commandé des LV8729. (Voir pour essayer un LV8729 sur l'axe Z également). Je soupçonne donc un problème d'extrudeur, a noter également que j'ai vu sur quelque forum que marlin 1.1.9 avec le K facteur n'était pas très bien supporté par les TMC2208 en standalone (point à approfondir). Le problème peut peut être provenir aussi des axes X et Y avec des accélérations et du jerks trop important pour les TMC2208... Quand pensez vous ? Au plaisir de vous lire
  13. Bonjour, Suite à mes déboires avec mes imprimantes 3D... je souhaite en acheter une nouvelle imprimante. Cela ne sera pas ma première... ayant déjà eût une Discovery 200, une Creality CR-10... et très brièvement j'ai eût une Geetech A10M. J'ai toujours en ma possession une Creality LD-001. Mon Budget : entre 100€ et 400€ maximum. Les Impératifs : La carte présente dans l'imprimante doit pouvoir accepter des drivers TMC2208 (que j'ai déjà commandé). Le volume d'impression doit pouvoir être au minimum de 200x200x200mm... c'est le stricte minimum. Elle doit pouvoir imprimer de l'ABS, du PLA et du PETG. En vente sur Amazon, et disponible en Premium. Initialement... j'étais intéressé par la double extrusion pour pouvoir imprimer des supports solubles. Mais toutes mes déboires m'ont refroidient sur ce sujet. Mais si un upgrade plus tard est possible... je ne dirais pas non, au contraire se serait un plus. Actuellement... j'ai commencé à chercher... et une Geetech A10, me convient bien et me plaît, car la carte électronique accepte des TMC2208. Si vous connaissez une imprimante susceptible de correspondre à mes "Impératifs" de recherche, faites votre proposition. Je vous en remercie d'avance.
  14. Ici, le même article sur les firmwares mais équipés entièrement de TMC2100 (ou TMC2208). Je n'ai pas testé le TMC2208 mais il utilise les mêmes fonctions que le TMC2100. Pour les fonctions avancées du TMC2208, je ferai une version spécifique plus tard. Firmwares 1.1.8 (tmc2100 & BL-Touch): Flyingbear Tornado, 1 Extrudeur, BL-Touch, Steppers TMC2100 (x4) : Marlin-Tornado_1E_Auto_TMC2100_v1.1.8_EN_by_TMT.zip Flyingbear Tornado, 2 Extrudeurs, BL-Touch, Steppers TMC2100 (x5): Marlin-Tornado_2E_Auto_TMC2100_v1.1.8_EN_by_TMT.zip Firmwares 1.1.8 (tmc2100 & Z-switch): Flyingbear Tornado, 1 Extrudeur, Switch Z, Steppers TMC2100 (x4) : Marlin-Tornado_1E_Zswitch_TMC2100_v1.1.8_EN_by_TMT.zip Flyingbear Tornado, 2 Extrudeurs, Switch Z, Steppers TMC2100 (x5) : Marlin-Tornado_2E_Zswitch_TMC2100_v1.1.8_EN_by_TMT.zip
×
×
  • Créer...