FredR PostĂ©(e) Mai 13, 2018 PostĂ©(e) Mai 13, 2018 (modifiĂ©) Bonjour, Ăa y est, je me suis lancé ! Mais dans quelle galĂšre je me suis embarqué ! A Lâorigine, je cherchais une solution pour mettre plusieurs tĂȘtes sur mon imprimante. ProblĂšme, la carte Creality V2.1 ne supporte quâun seul extrudeur. Par ailleurs, en parcourant le net jâai vu quâil Ă©tait possible moyennant des drivers TMC, de rendre lâimprimante trĂšs silencieuse⊠Allez ma dĂ©cision est prise ! Acquisition dâune carte Rumba + avec 6 drivers TMC2208 inclus Ă 55âŹÂ : VoilĂ la carte en question : Rumba + TMC2208 VoilĂ la carte en question : Remarque : Jâai trouvĂ© au moins trois versions de cette carte : la Rumba, la Rumba+ et la Rumba + V1.0 !!! La derniĂšre est Ă prĂ©fĂ©rer car la plus complĂšte (je me suis fait avoir), elle est reconnaissable car elle a le connecteur auxiliaire pour connecter les Ă©crans MKS 32 bits (comme la creality 2.1 dâailleurs)  Tout d'abord les branchements Il nây a pas de lecteur SD sur la Rumba ça va peut-ĂȘtre en refroidir plus dâun (perso, je ne mâen servais pas) Comme je nâĂ©tais pas du tout sĂ»r de mon coup, contrainte imposĂ©e : cela doit ĂȘtre rĂ©versible, donc les harnais notamment doivent ĂȘtre prĂ©servĂ©s. Et lĂ , les problĂšmes commencent : connecteurs JST sur CR10, borniers et Dupont sur Rumba, grrrr  Allez, fil, fer Ă souder, plaque de prototypage et quelques heures aprĂšs⊠Adaptateur bornier-JST pour 6 drivers et 7 moteurs (2 pour Z) A ce stade, deux vĂ©rifications cruciales Ă lâaide dâun multimĂštre :-1- chaque pin est bien en contact avec lâextrĂ©mitĂ© de son fil (rĂ©sistance nulle) -2- chaque pin nâest pas en contact avec ses voisins (rĂ©sistance infinie) A noter que les moteurs en Z sont montĂ©s en parallĂšle mais quâil existe un montage en sĂ©rie qui serait mieux adapté : montage sĂ©rie A noter aussi quâil va falloir renoncer au boĂźtier dâorigine qui ne pourra plus hĂ©berger lâensemble. Du coup, il faudra prĂ©voir un support pour la bobine de fil. AĂŻe aĂŻe aĂŻe, dans quoi je me suis embarquĂ© lĂ Â !  On se reprend et on procĂšde par Ă©tape!  Dâabord faire fonctionner lâimprimante avec ses nouveaux drivers car si câest dĂ©cevant, on ne va pas investir du temps Ă tout faire bien et propre. Connexions JST Ă Dupont pour les end stops : Les ends stops sont connectĂ©s sur le X-, Y- et Z- Ne vous fiez pas aux couleurs sur la photo, la polaritĂ© nâa aucune importance Il y a trois pins par end stop seuls deux nous intĂ©ressent : le â-â et le âSâ Le dĂ©tecteur de filament est branchĂ© sur le X+ (les 3 fils) mais pas activĂ© pour le moment dans Marlin donc je ne peux pas dire si ça fonctionne  à cĂŽtĂ© il y a les capteurs de tempĂ©rature de la tĂȘte (T0) et du lit (THB) sans polaritĂ©: On branche donc les steppers Ă prĂ©sent : A gauche le X, puis le Y puis les 2 Z (peu importe lâordre) puis lâextrudeur. Pas besoin de croiser les fils.  Puis les borniers dâalimentation : A gauche, le chauffage de la buse, polaritĂ© pas importante Les deux derniers borniers verts de droite sont pour les ventilateurs pilotĂ©s : celui pour les drivers et le Fang avec au choix ; bornier ou Dupont⊠mais pas de JST donc pas de dĂ©trompage. ATTENTION la polaritĂ© doit ĂȘtre respectĂ©e sous peine de cramer vos ventilateurs (jâai testĂ©) Remarquez les 2 jumpers, ils n'Ă©taient pas fournis avec la carte et sans eux les ventilateurs ne fonctionneront pas. on peut s'en sortir avec un connecteur Dupont cĂąblĂ© en court circuit Les connecteurs bleus : les 2 premier sont le + et le - de lâalim 12V de la carte, les deuxiĂšmes lâalim pour pouvoir fournir le 12V au lit chauffant donc Ă connecter aux COM et V+ de l'alimentation, et les deux derniers Ă connecter au mosfet du lit chauffant ou au SSR si lit alimentĂ© en 220V. Ces derniers ne fonctionnent pas si on nâalimente pas les seconds.   Les ventilateurs du boĂźtier et de la tĂȘte qui tournent en permanence : Il faut leur trouver un 12 V quelque part. Les connecteurs JST rentrent mais lĂ encore faites bien attention Ă la polaritĂ© si vous ne voulez pas voir vos ventilateurs fumer (fumer tue, je le rappelle). Paix Ă son ame... LâĂ©cran Ă prĂ©sent : Facile EXP1 sur EXP1 et EXP2 sur EXP2 si ce nâest pas dans un sens, câest dans lâautre⊠Et bien NON ! On a tout faux, Il faut brancher EXP1 sur EXP2 et EXP2 sur EXP1 ! Intuitif nâest-ce pas ? Et lĂ je vous fais gagner des heures car aucun marquage sur aucun des connecteurs. Au dĂ©but ça ne marchait pas et jâai dâabord soupçonnĂ© une configuration sous Marlin jusquâĂ ce que je trouve une remarque ici :RUMBA , une ligne et la solution : ils Ă©taient inversĂ©s!  Comme ça, ça fonctionne! Allez, on branche tout sans oublier lâUSB vers Octopi et on lance une impression⊠...ouais bon jâai oubliĂ© un dĂ©tail, maintenant il faut recompiler Marlin avec la bonne configuration⊠*soupir* Allez courage!  Configuration Marlin 1.1.8 pour Rumba + TMC2208 sur CR10s LĂ aussi ça nâa pas Ă©tĂ© immĂ©diat. Pour Ă©tablir une configuration qui fonctionne pour moi, je me suis inspirĂ© de tout ce qui existait : la conf pour la carte rumba, la conf pour le TMC2208, la conf donnĂ©e par Creality pour la CR10s, la conf que jâavais dĂ©jĂ prĂ©parĂ© pour la CR10s, Le tout avec un usage abusif de Winmerge. Cet outil fut trĂšs pratique ici. Je ne dĂ©taillerais pas ici la mĂ©thode pour compiler Marlin, le web regorge de tutos. Sachez simplement quâune fois installĂ© Arduino, il suffit de tĂ©lĂ©charger le code source de Marlin actuellement en 1.1.8 ici: Marlin Une fois dĂ©compressĂ©, on se met dans le rĂ©pertoire et on double clic sur le fichier Marlin.ino. Il suffit ensuite de modifier les fichiers suivants. Pour ceux qui ne connaissent pas le langage de programmation C ou C++, commenter une ligne, câest-Ă -dire la dĂ©sactiver se fait en ajoutant deux barres obliques : // tout ce qui est aprĂšs sur la ligne est ignorĂ© par le compilateur. Inversement, enlever les deux barres obliques rĂ©active les lignes. Les lignes existent dĂ©jĂ quasiment toutes, il suffit de les modifier. Seules les lignes modifiĂ©es sont donnĂ©es ici Jâai ajoutĂ© le numĂ©ro de la ligne Ă chaque fois pour mieux les retrouver, donc ne pas les ajouter dans les sources, exemple : 77 : #define⊠--> la ligne numĂ©ro 77 commence par #define⊠Ce qui est aprĂšs la flĂšche --> ne fait pas partie du code Il est possible qu'il y ait un dĂ©calage de quelques numĂ©ros dans les lignes. Fichier Configuration.h 77: #define STRING_CONFIG_H_AUTHOR "Author" --> mettez votre patte ici 114: #define BAUDRATE 115200 --> 115200 câest la meilleur valeur, 250000 ne fonctionne pas tout le temps 122:  #define MOTHERBOARD BOARD_RUMBA --> Rumba quoi, au lieu de BOARD_RAMPS_14_EFB 127: #define CUSTOM_MACHINE_NAME "3D Printer" --> trouvez lui un petit nom 140: #define DEFAULT_NOMINAL_FILAMENT_DIA 1.75 --> ça Ă lâair bĂȘte mais par dĂ©faut il est sur 3.0 mm 294: #define TEMP_SENSOR_BED 1 --> choix du capteur de tempĂ©rature, 1 ça fonctionne bien 357:  // Stock CR-10 Hotend fan 100% 358: #define DEFAULT_Kp 18.48 359: #define DEFAULT_Ki 1.46 360: #define DEFAULT_Kd 58.67 --> Ces valeurs se dĂ©terminent, le fameux PID, quand on Ă©talonne lâimprimante voir ici: rĂ©glages PID 402:  #define DEFAULT_bedKp 10.00 403:  #define DEFAULT_bedKi .023 404:  #define DEFAULT_bedKd 305.4 -->Idem pour le lit chauffant 536: #define DEFAULT_AXIS_STEPS_PER_UNIT  { 80, 80, 400, 100.26 }  --> les valeurs par dĂ©faut semblent excessives, la derniĂšres valeur sera Ă dĂ©terminer en Ă©talonnant votre extrudeur: rĂ©gler son extrudeur 561: #define DEFAULT_ACCELERATION    500 562: #define DEFAULT_RETRACT_ACCELERATION 500   // E acceleration for retracts 563: #define DEFAULT_TRAVEL_ACCELERATION  1000   // X, Y, Z acceleration for travel (non printing) moves  --> valeurs pour CR10s  573: #define DEFAULT_XJERK                5.0 574: #define DEFAULT_YJERK                5.0 575: #define DEFAULT_ZJERK                 0.4  -->config d'origine CR10s, le jerk, c'est le seuil de changement de vitesse en dessous duquel lâaccĂ©lĂ©ration est instantanĂ©e (donc brutale)  627: #define PROBE_MANUALLY --> permet de faire du bed levelling manuellement  756: #define INVERT_Y_DIR false 757: #define INVERT_Z_DIR true --> valeurs qui fonctionnent pour CR10s  787: #define X_BED_SIZE 300 788: #define Y_BED_SIZE 300 796: #define Z_MAX_POS 400 --> taille de lâimprimante avec miroir Ikea, les valeurs de la CR10s Ă©taient 310, 310 et 410 831: //#define FILAMENT_RUNOUT_SENSOR --> enlever les // pour activer 833:  #define FIL_RUNOUT_INVERTING true --> pour le dĂ©tecteur de la CR10s   877: #define AUTO_BED_LEVELING_LINEAR --> pour le bed levelling   917:  #define GRID_MAX_POINTS_X 2 --> pour le nombre de points du bed levelling 2x2 = 4 mesures   921:  #define LEFT_PROBE_BED_POSITION 30 922:  #define RIGHT_PROBE_BED_POSITION 270 923:  #define FRONT_PROBE_BED_POSITION 30 924:  #define BACK_PROBE_BED_POSITION 270 --> pour un lit de 300x300 1001: #define LCD_BED_LEVELING --> pour bed levelling via ecran lcd 1120: #define EEPROM_SETTINGS // Enable for M500 and M501 commands 1130: //#define HOST_KEEPALIVE_FEATURE   --> ça marche sans, donc commentĂ© 1132: //#define BUSY_WHILE_HEATING        --> ça marche sans, donc commentĂ© 1326: #define ULTRA_LCD  // Character based --> pour lâaffichage LCD 1361: #define ENCODER_PULSES_PER_STEP 1  --> pour la sensibilitĂ© du bouton de lâĂ©cran LCD 1367: #define ENCODER_STEPS_PER_MENU_ITEM 5 --> pour la sensibilitĂ© du bouton de lâĂ©cran LCD   1539: #define LCD_FOR_MELZI -->Ecran LCD de la CR10s  Fichier Configuration_adv.h 576:  #define LCD_SET_PROGRESS_MANUALLY  733: //#define ARC_SUPPORT              --> Supprimer cette possibilitĂ© inutile fait gagner de la mĂ©moire (env 3k)  879: #define ADVANCED_PAUSE_FEATURE -->pour le dĂ©tecteur de filament quand il sera activĂ©  999: #define HAVE_TMC2208 --> active le TMC  1016:  #define X_IS_TMC2208 1017:  //#define X2_IS_TMC2208 1018:  #define Y_IS_TMC2208 1019:  //#define Y2_IS_TMC2208 1020:  #define Z_IS_TMC2208 1021:  //#define Z2_IS_TMC2208 1022:  #define E0_IS_TMC2208 1023:  #define E1_IS_TMC2208 1024:  #define E2_IS_TMC2208 -->drivers TMC activĂ©s pour les 6 steppers X, Y, Z, E0, E1, E2  Et pour finir, Fichier pin_RUMBA.h Lignes Ă ajouter pour que ça compile, je ne comprends pas trop Ă quoi ça sert, une histoire de communication UART avec les drivers, si quelqu'un a compris... : 87: #if ENABLED(HAVE_TMC2208) 88:  /** 89:   * TMC2208 stepper drivers 90:   * 91:   * Hardware serial communication ports. 92:   * If undefined software serial is used according to the pins below 93:   */ 110:  #define X_SERIAL_TX_PIN   59 111:  #define X_SERIAL_RX_PIN   63 112:  #define X2_SERIAL_TX_PIN  -1 113:  #define X2_SERIAL_RX_PIN  -1 114: 115:  #define Y_SERIAL_TX_PIN   64 116:  #define Y_SERIAL_RX_PIN   40 117:  #define Y2_SERIAL_TX_PIN  -1 118:  #define Y2_SERIAL_RX_PIN  -1 119: 120:  #define Z_SERIAL_TX_PIN   44 121:  #define Z_SERIAL_RX_PIN   42 122:  #define Z2_SERIAL_TX_PIN  -1 123:  #define Z2_SERIAL_RX_PIN  -1 124: 125:  #define E0_SERIAL_TX_PIN  66 126:  #define E0_SERIAL_RX_PIN  65 127:  #define E1_SERIAL_TX_PIN  -1 128:  #define E1_SERIAL_RX_PIN  -1 129:  #define E2_SERIAL_TX_PIN  -1 130:  #define E2_SERIAL_RX_PIN  -1 131:  #define E3_SERIAL_TX_PIN  -1 132:  #define E3_SERIAL_RX_PIN  -1 133:  #define E4_SERIAL_TX_PIN  -1 134:  #define E4_SERIAL_RX_PIN  -1 135: #endif VoilĂ ! on oublie pas de sauvegarder les fichiers puis... Compilation et installation : Dans lâoutils Arduino, Installer la librairie U8Glib :https://bintray.com/olikraus/u8glib/Arduino , tĂ©lĂ©charger le zip puis dans Arduino aller dans /croquis/inclure une bibiliothĂšque/ajouter la bibliothĂšque .zip/ puis sĂ©lectionnez le fichier tĂ©lĂ©chargĂ© Installer la librairie TMC2208 : aller dans /croquis/inclure une bibliothĂšque/gĂ©rer les bibliothĂšques/ puis chercher et installez la lib TMC2208stepper Aller dans Outils/Type de carte et choisir Mega 2560 Pour gĂ©nĂ©rer le fichier binaire il faut aller dans le menu croquis et faire « exporter les binaires compilĂ©s » Cela va gĂ©nĂ©rer le binaire dans le mĂȘme rĂ©pertoire que les sources. En fait ça gĂ©nĂšre mĂȘme deux fichiers : « Marlin.ino.mega.hex » et « Marlin.ino.with_bootloader.mega.hex » NE PAS UTILISER CE DERNIER, ça Ă©craserait le bootloader et il faudrait une manip compliquĂ©e pour le rĂ©cupĂ©rer Donc, pour tĂ©lĂ©charger le binaire sur la carte Rumba maintenant, deux possibilitĂ©s, via Arduino par le port USB ou bien passer par Octopi. Il y a un cavalier Ă changer pour passer de l'un Ă l'autre: Par USB, il faut configurer le port de votre PC pour qu'il communique avec la carte et donc installer un driver particulier, je ne mâĂ©tendrais pas lĂ dessus, ça n'est pas trĂšs compliquĂ© mais tout est expliquĂ© sur le net. Pour le tĂ©lĂ©chargement par Octopi, il y a un plugin Ă installer: Firmware Updater (original non?) une fois chargĂ© et correctement configurĂ©, Octopi doit ĂȘtre connectĂ© Ă la carte Rumba, il n'y aura plus qu'a tĂ©lĂ©charger le fichier "Marlin.ino.mega.hex"  Pfiou ! on arrive Ă la fin de la premiĂšre Ă©tape, on va bientĂŽt savoir si ça vaut le coup⊠ AllumageâŠEt...  Enorme ! Je n'ai pas mesurĂ© les dĂ©cibel mais on est bien en dessous des drivers d'origine Au dĂ©but je pensais que ça ne marchait pas avant de voir la tĂȘte bouger, les steppers ne font vraiment plus aucun bruit, câest bluffant. Ătape validĂ©e mais maintenant il faut mettre tout ça au propre. Prochaines Ă©tapes : rĂ©gler les drivers TMC2208, le fameux VRef car sans rĂ©glage, les impressions... bref c'est pas beau Ă voir faire un boĂźtier pour la Rumba car ceux sur thingiverse ne me conviennent pas faire un boĂźtier dâalimentation 220V refaire proprement les harnais ...Pfff c'est sans fin! Il y a encore du boulot   ModifiĂ© (le) Mai 13, 2018 par FredR 1
pascal_lb Posté(e) Mai 14, 2018 Posté(e) Mai 14, 2018 beau boulot ! Il y a 20 heures, FredR a dit : ...Pfff c'est sans fin! et oui quand on commence.... maintenant t'es foutu  1
FredR Posté(e) Mai 14, 2018 Auteur Posté(e) Mai 14, 2018 On aurait pu me prévenir! ça existe une detox? ya un traitement? Je suis foutu c'est ça? Bon faut que j'y retourne...
gregg Posté(e) Mai 15, 2018 Posté(e) Mai 15, 2018 Ben dis donc...y a de la modif la.chapeau bas. Mais ca laisse plus beaucoup de temps a l impression en elle meme du coup ...
FredR Posté(e) Mai 15, 2018 Auteur Posté(e) Mai 15, 2018 Je dois admettre que pour l'instant j'imprime avec l'imprimante qui a les tripes à l'air et il faut vite que je finisse le boßtier alim car j'ai le 220V qui s'exhibe sans aucune pudeur, je me suis déjà pris une bourre d'ailleurs ... Ensuite il faudra refaire le boßtier pour la carte Rumba que j'aimerais solidariser au chùssis de l'imprimante avec une ventilation efficace... mais silencieuse pour les drivers des moteurs. Ce sera surement l'objet d'un autre post. Le but ultime sera de faire fonctionner 2 ou 3 buses dessus mais là on est loin
Deteklover Posté(e) Janvier 17, 2019 Posté(e) Janvier 17, 2019 Bonjour, Je voudrais savoir si tu connais comment passer les TMC2208 en mode uart sur la rumba, autrement dit, sur quelle broche de la rumba, brancher le connecteur venant des drivers ? Merci
ellogo67 Posté(e) Novembre 21, 2020 Posté(e) Novembre 21, 2020 Le 17/01/2019 at 14:50, Deteklover a dit : Bonjour, Je voudrais savoir si tu connais comment passer les TMC2208 en mode uart sur la rumba, autrement dit, sur quelle broche de la rumba, brancher le connecteur venant des drivers ? Merci Bonjour Deteklover Mettant lancer moi aussi à utiliser la Rumba+ V1.0, je cherche désespérément à utiliser mes TMC2208 en UART. As-tu eu la solution ? C'est fou comme ma Rumba+ V1.0 a été délaissée par le constructeur et pas du tout suivi par les utilisateurs. Je recherche aussi le configuration.h et le configuration_adv.h. je suis un néophyte sur la question et je désespÚre. Au secours, Obi Wan Kénobi. Merci d'avance.
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