electroremy Posté(e) Mai 30 Posté(e) Mai 30 (modifié) Bonjour, Quelques soucis avec ma Prusa I3 MK2s original. Après avoir imprimé du TPU, j'ai voulu imprimer une pièce en ABS de grande taille. La bobine est neuve, et je l'avais déshydratée. J'ai déjà testé cette marque avec des pièces plus petites. Je décharge le TPU Je refais le réglage des vis de pression de l'extrudeur (j'avais desserré de deux tours chacune, je ressere) Je nettoie l'extrudeur, je purge (load filament ABS x 10) et je nettoie bien la buse Je nettoie le banc : eau + liquide vaisselle, j'essuie, un léger coup de chiffon propre avec un peu d'acétone Comme la pièce sera sujette à déformation, je chauffe le caisson assez longtemps, à 60°C, avant de lancer l'impression ; avant de lancer l'impression, je fais un load filament pour éliminer celui qui a chauffé longtemps (pour chauffer le caisson à 60°C, il faut que la buse, le bed et mon chauffage additionnel soient en route) Ca ne fonctionne pas du tout, aucune adhésion... je me rends vite compte que le filament n'est pas du tout écrasé... Avant la calibration (heating PINDA), je trouve que la buse est très haute (alors que l'écran indique Z=1) : Je joue sur le live Z. D'habitude, il est réglé à -0.660mm C'est toujours insuffisant : Je dois finir par régler le live Z à -0.950mm et le flow à 110% pour avoir un résultat correct : Une fois la première couche imprimée, je remets le flow à 100% Je mesure au pied à coulisse plusieurs fois le diamètre du filament : RAS, on est bien à 1.75mm La seconde couche est bien imprimée avec un flow à 100% Je continue à observer l'impression A noter que j'imprime à 0.35mm de hauteur de couche avec une buse de 0.20mm (la pièce est très grande, je ne veux pas une impression de 30 heures) Alors, sous-extrusion ou pas ??? Après un peu plus de 17 heures d'attente, la pièce adhère bien au banc, et elle est réussie : Il y a quand même quelques petits défaut, non visibles pendant l'impression car ils sont à l'arrière (théorie de l'emmerdement maximum) Bon, après le brim n'est pas très large (je suis coincé par la taille du banc, mais je peux l'élargir sur l'axe Y) Je pèse la pièce sur une balance électronique, elle est plus légère que le poids théorique : 278 grammes au lieu de 306.2, mais on ne peut pas forcément conclure à une sous-extrusion, car tout dépend bien sûr de la densité du filament. Je relance une impression, pour le couvercle de la pièce (qui est en faite le fond, en partie basse, la pièce est imprimée tête en bas) Cette fois-ci je pousse le flow à 114% pour la première couche, on verra bien ce que ça donne Quel est votre avis ? Il y a de la sous-extrusion quand même ? Et cette sonde PINDA ? Voici le 3MF de la pièce : _BoitierHDD_Boitier.3mf Merci A bientôt Modifié (le) Mai 30 par electroremy
KpDp_3D Posté(e) Mai 30 Posté(e) Mai 30 (modifié) @electroremy Je n'y connais pas grand chose en Prussa ni en sonde Pinda et je dis peut être une bêtise mais en voyant ta photo, je me suis demandé si ce n'était pas fendu là ?? Modifié (le) Mai 30 par KpDp_3D
Solution Kachidoki Posté(e) Mai 30 Solution Posté(e) Mai 30 Non ne n'est pas fendu, c'est le clamp de serrage de la pinda. @electroremy, tu as une MK2S, donc une PINDA v1. Celle-ci est très sensible à la température. Il y a eu une PINDA v2 équipée d'une CTN de compensation pour la MK3/S puis une SuperPINDA qui n'a plus de CTN mais qui ne dérive pas en température, pour la MK3S+. A l'époque j'avais modifié mon g-code de démarrage pour éloigner la sonde du plateau lors du préchauffage, et chauffé la tête à température fixe avant de palper. Ca m'a permis d'améliorer la répétabilité de la première couche, mais il fallait laisser refroidir entre deux impressions sinon ça dérivait quand même. De plus, elle est aussi sensible aux aimants sous le plateau, il y a aussi une compensation firmware à activer il me semble. Mais valait mieux faire moins de points sans la compensation si le bed est assez plan, ça restait plus précis. 1
electroremy Posté(e) Mai 30 Auteur Posté(e) Mai 30 Il y a 1 heure, Kachidoki a dit : Non ne n'est pas fendu, c'est le clamp de serrage de la pinda. @electroremy, tu as une MK2S, donc une PINDA v1. Celle-ci est très sensible à la température. Il y a eu une PINDA v2 équipée d'une CTN de compensation pour la MK3/S puis une SuperPINDA qui n'a plus de CTN mais qui ne dérive pas en température, pour la MK3S+. Bonjour, Oui je vois bien le problème. J'étais supris à la base de ne pas avoir le même Live Z en PLA et en ABS... la température explique le décalage. De plus mon imprimante a 8 ans, peut-être une dérive avec les années ; certes je n'ai pas imprimé beaucoup mais j'ai imprimé uniquement en enceinte chauffée entre 50°C et 60°C ce n'est pas très bon pour la durée de vie des composants qui n'avaient pas été conçus pour ça à la base, sans parler de la dilation des pièces mécaniques qui est non négligeable. Dommage le slicer n'a pas d'option pour dire que l'imprimante est dans une enceinte et de faire des corrections avec la température de l'enceinte. La sonde SuperPINDA serait-elle compatible avec mon imprimante ? Autre idée : mesurer la distance entre la buse et le plateau avec un jeu de cales après que l'imprimante ai fait un home Z, au moment où la sonde se préchauffe pour se positionner à Z = 1 Le soucis avec le process de calibration c'est qu'il faut le faire avec du PLA, donc changement de filament, nettoyer et purger la buse, laisser refroidir l'imprimante et l'enceinte, puis ensuite nouveau changement de filament pour remettre de l'ABS, nettoyer et purger la buse, attendre que l'imprimante chauffe... Il y a 1 heure, Kachidoki a dit : De plus, elle est aussi sensible aux aimants sous le plateau, il y a aussi une compensation firmware à activer il me semble. Mais valait mieux faire moins de points sans la compensation si le bed est assez plan, ça restait plus précis. Il n'y a pas d'aimants sur mon imprimante ; j'imprime directement sur le bed qui est recouvert de PEI, la MK2s n'a pas encore le système de plateau magnetiques avec feuilles d'acier ressort. Ce système de sonde était novateur au moment de sa sortie, mais maintenant les imprimantes ajustent la première couche avec un capteur de force plus aucun soucis. A bientôt
Kachidoki Posté(e) Mai 30 Posté(e) Mai 30 (modifié) il y a une heure, electroremy a dit : l n'y a pas d'aimants sur mon imprimante ; j'imprime directement sur le bed qui est recouvert de PEI, la MK2s n'a pas encore le système de plateau magnetiques avec feuilles d'acier ressort. Oui je confond avec la MK3 qui peut faire un maillage plus fin, faut dire que ça remonte à loin la MK2 maintenant. Par contre sur la MK2 il y a quand même des "pastilles" dans le plateau, là où la sonde vient faire ses mesures. il y a une heure, electroremy a dit : La sonde SuperPINDA serait-elle compatible avec mon imprimante ? Officiellement non, les PINDA v1 et v2 ne sont pas interchangeables, mais la v2 et la superpinda oui. Donc à partir de la MK2.5. Officieusement puisqu'il n'y a aucune différence fonctionnellement (pas de CTN en plus) il faudrait voir si l'incompatibilité n'est pas qu'une histoire de connecteur, auquel cas tu pourrais t'en sortir. 26€ pour améliorer cette brave bête, ça se tente. Modifié (le) Mai 30 par Kachidoki
electroremy Posté(e) Mai 31 Auteur Posté(e) Mai 31 Le 30/05/2025 at 17:11, Kachidoki a dit : Oui je confond avec la MK3 qui peut faire un maillage plus fin, faut dire que ça remonte à loin la MK2 maintenant. Par contre sur la MK2 il y a quand même des "pastilles" dans le plateau, là où la sonde vient faire ses mesures. Sur la MK2s les pastilles sont, si ma mémoire est bonne, un cheminement particulier du fil de chauffage du bed qui est donc utilisé comme électroaimant Le 30/05/2025 at 17:11, Kachidoki a dit : Officiellement non, les PINDA v1 et v2 ne sont pas interchangeables, mais la v2 et la superpinda oui. Donc à partir de la MK2.5. Officieusement puisqu'il n'y a aucune différence fonctionnellement (pas de CTN en plus) il faudrait voir si l'incompatibilité n'est pas qu'une histoire de connecteur, auquel cas tu pourrais t'en sortir. 26€ pour améliorer cette brave bête, ça se tente. Oui tout à fait ! Car dans la situation actuelle, ma calibration n'est pas correcte, et ça depuis le début... N'empêche, quand j'y pense, j'ai eu régulièrement des problèmes d'adhésion qui arrivaient de façon aléatoire, et assez difficiles à résoudre... je testais plein de choses à chaque fois (X façons différentes de nettoyer le bed, nettoyage de l'extrudeur, ajustement des températures de la buse et du plateau, refaire la calibration depuis le début...) mais je pense que depuis le début ces problèmes viennent de la sensibilité de la sonde PINDA a la température. Il faut dire que je n'imprime uniquement en enceinte chauffée... donc le moment où je lance l'impression est critique (car la sonde est relativement massive, et elle est encastrée dans l'extrudeur, donc elle met du temps à chauffer) 8 ans pour que je m'en rende compte... bon il vaux mieux tard que jamais
electroremy Posté(e) Juin 3 Auteur Posté(e) Juin 3 Voici l'échange que j'ai eu avec le service client de Prusa. Citation Hi, I still use my Prusa I3 MK2s, purshased in 2017, I put it in a homemade heated enclosure to print ABS, it's works fine. Now I experience trouble with the PINDA V1 probe. I want to replace it with a SUPER PINDA ; as the connectors are differents, I have to cut the cable to solder the SUPER PINDA wires to the old PINDA V1 cable. Is it possible without firmware update ? Best regards Citation Hello, Thank you for your message. To use the SuperPINDA, you do not need to cut and solder the cable. The upgrade to MK2.5S has an adapter cable that allows you to connect the SuperPINDA to your Rambo board. https://www.prusa3d.com/product/mk2-5-pinda-reduction-adapter/ You will need to update the firmware to be able to use and you will also need to update the rest of the hardware, or the firmware won't be compatible. You can find a list of the parts you will need to upgrade your printer here. https://help.prusa3d.com/article/upgrading-mk2-s-and-mk2-5-s-to-mk2-5s_200009 If you do not wish to upgrade the printer and you only wish to change the sensor, it would be recommended to purchase the PINDA v1, but we no longer offer it in our store, so you would need to source it from a different supplier. Please let me know if I can be of further assistance. Best regards. Selon eux, la SUPERPINDA n'est pas compatible avec la MK2s ; ce n'est pas qu'une question de brochage, il faut impérativement faire la mise à niveau complète vers la MK2.5S ce que je n'ai pas envie de faire (trop cher compte tenu de l'âge de l'imprimante, et certaines pièces seront difficiles à trouver) Je ne comprends pas trop la raison... Certes je comprends qu'à la base cette mise à niveau fait partie d'un ensemble mais techniquement je ne comprends pas bien ce qui empêche seulement de remplacer la PINDA V1 par une SUPERPINDA. La PINDA V1 et la SUPERPINDA sont toutes les deux alimentées en 5V et ont un signal de sortie tout ou rien... Même s'il existe une différence de sensibilité, hé bien il suffit d'ajuster la hauteur de la sonde et/ou le live Z Je pense que le firmware de la MK2s inclue une compensation logiciel en température de la PINDA V1... sauf que cette compensation est très imparfaite, mon expérience le démontre. Et avoir à la place une SUPERPINDA insensible à la température garantirait une absence de dérive pour des conditions d'impression identiques (même température de bed), même s'il faut un live Z différent pour chaque fialement ce sera quand même un progrès notable. Je vais quand même essayer la modif, je n'ai pas grand chose à perdre. A bientôt
Kachidoki Posté(e) Juin 4 Posté(e) Juin 4 Salut, Tu as quelle version du firmware ? Je viens de jeter un oeil au code, j'y ai vu ça : Citation ### G76 - PINDA probe temperature calibration <a href="https://reprap.org/wiki/G-code#G76:_PINDA_probe_temperature_calibration">G76: PINDA probe temperature calibration</a> This G-code is used to calibrate the temperature drift of the PINDA (inductive Sensor). The PINDAv2 sensor has a built-in thermistor which has the advantage that the calibration can be done once for all materials. The Original i3 Prusa MK2/s uses PINDAv1 and this calibration improves the temperature drift, but not as good as the PINDAv2. superPINDA sensor has internal temperature compensation and no thermistor output. There is no point of doing temperature calibration in such case. If PINDA_THERMISTOR and SUPERPINDA_SUPPORT is defined during compilation, calibration is skipped with serial message "No PINDA thermistor". This can be caused also if PINDA thermistor connection is broken or PINDA temperature is lower than PINDA_MINTEMP. Ca semble confirmer que la PINDAv1 est bien compensée en température, mais en utilisant la CTN de la hotend. La PINDAv2 utilise sa propre CTN ce qui rend cette calibration plus précise mais toujours imparfaite, je pense probablement à cause de l'inertie thermique. La SuperPINDA ne dérivant pas, il n'y a aucune compensation à faire. Ce que je n'ai pas encore vu c'est si le code le plus récent est toujours compatible MK2, auquel cas "il suffirait" de le recompiler en activant simplement le support de la SuperPINDA. Si non il faudra backporter les quelques lignes de code qui changent. Ne pas oublier de bouger le bit qui va bien dans l'EEPROM. Le code est assez bien écrit et très modulaire. 1
electroremy Posté(e) Juin 4 Auteur Posté(e) Juin 4 Il y a 2 heures, Kachidoki a dit : Tu as quelle version du firmware ? Je viens de jeter un oeil au code, j'y ai vu ça : J'ai la dernière version du firmware disponible pour la MK2s original Au début de chaque impression, la machine préchauffe la PINDA v1 après avoir fait un home Z Et ensuite elle va palper les 9 zones de mesure du lit chauffant Autre soucis : il y a du oozing pendant la phase de préchauffage de la PINDA, c'est un peu chiant, il faut attendre et nettoyer la buse, ce que je fais c'est un move axis manuel de l'extrudeur de -1mm après chauffage de la hotend pour limiter le oozing Il y a 2 heures, Kachidoki a dit : Ca semble confirmer que la PINDAv1 est bien compensée en température, mais en utilisant la CTN de la hotend. Ca fonctionne mal, notamment parce que mon imprimante est dans un caisson chauffé à 60°C ce qui n'était pas du tout prévu à l'origine Il y a 2 heures, Kachidoki a dit : Ce que je n'ai pas encore vu c'est si le code le plus récent est toujours compatible MK2, auquel cas "il suffirait" de le recompiler en activant simplement le support de la SuperPINDA. Si non il faudra backporter les quelques lignes de code qui changent. Ne pas oublier de bouger le bit qui va bien dans l'EEPROM. Le code est assez bien écrit et très modulaire. Je vais installer une SUPERPINDA, ensuite il faudra que je récupére le code source du firmware de l'imprimante en retirant ou désactivant le code de la compensation en température... Je m'y connais en programmation mais je n'ai jamais touché au firmware de mon imprimante... je suppose qu'il est codé en C++, et compilé avec un IDE open source, et avec un peu de chance il y a des commentaires et des noms explicites de variables. J'aurais besoin de l'aide du forum Si jamais cela fonctionne, cette modification pourrait intéresser du monde. Il doit encore y avoir des MK2s en fonctionnement, et même si ces imprimantes sont dépassées elles fonctionnent bien et peuvent être utiles en 2e imprimante, par exemple pour imprimer des filaments particuliers (TPU ou autre) en ayant à côté son imprimante 3D principale pour faire autre chose.
electroremy Posté(e) Juin 5 Auteur Posté(e) Juin 5 Bonjour, j'ai eu un autre échange avec le SAV Prusa Il faudra donc que je jette un oeuil aussi sur le code du firmware de la MK2.5/S pour comprendre où se trouvent les différences pour la prise en charge de la sonde SuperPinda par rapport à la PINDA v1 dans le firmware de la MK2/S Je viens de commander la SUPERPINDA, avec l'adaptateur. C'est un peut cher quand même (presque 42€ avec les frais de port) Citation Hi, I don't want to make a full MK2.5S update It will be too complicated, too expensive, and also not possible because some parts are out of stock or unavailable... I just want to replace the PINDA probe. I don't understand why a SUPERPINDA will not run... Both PINDA V1 and SUPERPINDA have +5V power supply, and on/off open collector output. Even if the MK2s firmware have built-in temperature compensation, it does not work correctly. I've big trouble with it. With a SUPERPINDA instead of the PINDA V1, I will always get same results with same bed temperature, even if I have to set different Live Z for ABS and PLA, that I have to do actually. It could be better if I can just disable firmware PINDA V1's temperature compensation in the firmware source code, so that I have only one calibration and one Live Z for all filament types. It's a simple upgrade. Bests regards. Citation Hello, If you wish and are capable of doing so, you may modify the firmware as you wish to use the SuperPINDA, since this sensor will not work with the firmware for the MK2/S. However, we are unable to offer support for modifying the printer and/or the firmware. Best regards. — Customer Support PRUSA Research | Partyzánská 188/7a | 17000 Prague | CZ 00420 222 263 718 | SK 00421 220 570 305 A bientôt !
electroremy Posté(e) mardi à 18:09 Auteur Posté(e) mardi à 18:09 Je vais bientôt recevoir la SUPERPINDA et le câble adaptateur. Je commence à regarder les firmwares... Première bizarrerie : sur le site de Prusa, ils explique que la MK2.5S+ (avec SuperPinda) utilise le même firmware que la MK2.5S (avec Pinda V2) https://help.prusa3d.com/article/upgrading-mk2-s-and-mk2-5-s-to-mk2-5s_200009 C'est bizarre car la Pinda V2 a une CTN alors que la SuperPinda n'en a pas... Le firmware doit probablement gérer l'absence de CTN pour déterminer le type de sonde installée Je ne trouve pas le code source du firmware de la MK2s (sur le dépôt GitHub de Prusa il n'y a que les sources des firmware des imprimantes à partir de la MK2.5) Je suis tombé sur cette conversation (en anglais) sur Reddit : Ils disent qu'il est possible de faire tourner une MK2 avec le firmware de la MK2.5s en ne faisant qu'un upgrade minimal, à savoir le changement de la sonde PINDA par une SUPERPINDA et l'ajout du détecteur de filament, sans remplacer le lit chauffant. Ils ne parlent pas de l'extrudeur mais l'installation du capteur de filament suppose que cette partie est upgradée (chose que je ne vais pas faire) Au lieu de modifier le firmware de la MK2s (que je ne trouve pas), il serait donc possible que je modifie le firmware de la MK2.5 en faisant "seulement" les deux modifications suivantes : - désactiver le code du capteur de filament - désactiver le code de gestion des RPM du ventilateur de la hotend Avantage : je devrais avoir pas mal d'améliorations, car la dernière mise à jour du firmware de la MK2s date de juin 2019, alors que celui de la MK2.5 a encore été mis à jour en novembre 2024 @Kachidoki qu'en penses-tu ? Et comment retrouver le code source du vieux firmware de la MK2s ? (j'ai écris à Prusa, je vais voir s'ils me répondent)
Kachidoki Posté(e) mardi à 19:03 Posté(e) mardi à 19:03 Salut, il y a 30 minutes, electroremy a dit : comment retrouver le code source du vieux firmware de la MK2s En principe le code source du firmware des cartes mères 8-bit est dans ce dépôt => https://github.com/prusa3d/Prusa-Firmware A ne pas confondre avec le dépôt "buddy" qui est celui des cartes 32-bit. Pour référence, je ne sais pas comment j'ai encore pu dégoter ça après tant d'années, le manuel d'upgrade de la version 2 vers 2.5 peut apporter des éclaircissements. => https://help.prusa3d.com/fr/manual/mise-a-niveau-de-loriginal-prusa-i3-mk2-vers-la-mk2-5_296 Concernant la modification du firmware, le plus simple pour moi est de partir de la dernière version officielle pour la MK2S, à savoir la 3.2.3 (que tu dois avoir) => https://github.com/prusa3d/Prusa-Firmware/tree/v3.2.3 et d'y retirer le code de la CTN et de la compensation induite. Si ça fonctionne, et seulement à partir de là (machine à nouveau fonctionnelle), peut-être pousser pour récupérer le code de la MK2.5S (v3.14.1) et faire un diff entre les deux. Vu qu'il y a plus de 800 fichiers modifiés entre ces deux versions, il vaut mieux tenter une approche par essais successifs, et corriger les incompatibilités au fur et à mesure. Mais honnêtement c'est passer beaucoup de temps pour peu de gain, juste pour la beauté de pouvoir le faire. Have fun.
electroremy Posté(e) mardi à 19:16 Auteur Posté(e) mardi à 19:16 Je viens de jeter un œil au code du firmware da la série MK3S/MK3/MK2.5S/MK2.5 Dans le dossier \Prusa-Firmware-MK3\Firmware\variants\obsolete on trouve le fichier de définitions de la MK2 1_75mm_MK2-RAMBo13a-E3Dv6full.h Cela suppose qu'on pourrait compiler le firmware pour la MK2s En regardant dans les fichiers MK3.h MK25S-RAMBo13a.h Marlin_main.cpp On découvre des choses intéressantes... Avec un peu de bol j'aurais juste à changer quelques variables d'environnement dans le fichier de définition de la MK2 Voici ce que l'on trouve dans le fichier de définition de la MK2 : #define PINDA_PREHEAT_X 70 #define PINDA_PREHEAT_Y -3 #define PINDA_PREHEAT_Z 1 #define PINDA_HEAT_T 120 //time in s #define PINDA_MIN_T 50 #define PINDA_STEP_T 10 #define PINDA_MAX_T 100 Et dans le fichier de définition de la MK2.5 #define SUPERPINDA_SUPPORT #define PINDA_MINTEMP 30 //The miniRAMBo thermistor readings below 30°C aren't very accurate #define PINDA_TEMP_COMP //Used to enable SuperPINDA toggle menu/function #define TEMP_SENSOR_PINDA 1 #define PINDA_PREHEAT_X 20 #define PINDA_PREHEAT_Y 60 #define PINDA_PREHEAT_Z 0.15 #define PINDA_HEAT_T 120 //time in s #define PINDA_MIN_T 50 #define PINDA_STEP_T 10 #define PINDA_MAX_T 100 Et enfin dans le fichier de définition de la MK3 #define SUPERPINDA_SUPPORT #define PINDA_MINTEMP 10 #define TEMP_SENSOR_PINDA 1 #define PINDA_PREHEAT_X 20 #define PINDA_PREHEAT_Y 60 #define PINDA_PREHEAT_Z 0.15 #define PINDA_HEAT_T 120 //time in s #define PINDA_MIN_T 50 #define PINDA_STEP_T 10 #define PINDA_MAX_T 100 C'est le jeu des 7 erreurs... mais heureusement, le code est propre, avec des noms de variables explicites et des commentaires Le fichier Marlin_main.cpp contient des commentaires fort utiles ### G76 - PINDA probe temperature calibration <a href="https://reprap.org/wiki/G-code#G76:_PINDA_probe_temperature_calibration">G76: PINDA probe temperature calibration</a> This G-code is used to calibrate the temperature drift of the PINDA (inductive Sensor). The PINDAv2 sensor has a built-in thermistor which has the advantage that the calibration can be done once for all materials. The Original i3 Prusa MK2/s uses PINDAv1 and this calibration improves the temperature drift, but not as good as the PINDAv2. superPINDA sensor has internal temperature compensation and no thermistor output. There is no point of doing temperature calibration in such case. If PINDA_THERMISTOR and SUPERPINDA_SUPPORT is defined during compilation, calibration is skipped with serial message "No PINDA thermistor". This can be caused also if PINDA thermistor connection is broken or PINDA temperature is lower than PINDA_MINTEMP. #### Example ``` G76 echo PINDA probe calibration start echo start temperature: 35.0° echo ... echo PINDA temperature -- Z shift (mm): 0.--- ``` La MK2.5 et la MK3 définissent SUPERPINDA_SUPPORT mais seule la MK2.5 définit PINDA_TEMP_COMP (qui permet le choix SUPERPINDA / PINDA V2 via menu) Chose bizarre : la MK3, la MK2.5 et la MK2 définissent toutes les 3 un préchauffage de 120 secondes (à moins que ce ne soit pas utilisé dans le code de la MK3 et de la MK2.5 avec sonde SUPERPINDA)... A noter également la différente de température minimale entre la MK2.5 (30°C) et la MK3 (10°C, autant dire désactivé) il y a 14 minutes, Kachidoki a dit : Salut, En principe le code source du firmware des cartes mères 8-bit est dans ce dépôt => https://github.com/prusa3d/Prusa-Firmware A ne pas confondre avec le dépôt "buddy" qui est celui des cartes 32-bit. C'est ça que j'ai téléchargé et dont j'ai publié des extraits de code... Le fait que le fichier de configuration soit dans le dossier obsolète m'inquiète un peu sur la faisabilité il y a 15 minutes, Kachidoki a dit : Pour référence, je ne sais pas comment j'ai encore pu dégoter ça après tant d'années, le manuel d'upgrade de la version 2 vers 2.5 peut apporter des éclaircissements. => https://help.prusa3d.com/fr/manual/mise-a-niveau-de-loriginal-prusa-i3-mk2-vers-la-mk2-5_296 C'est toujours sur le site Prusa je l'ai vu aussi il y a 17 minutes, Kachidoki a dit : Concernant la modification du firmware, le plus simple pour moi est de partir de la dernière version officielle pour la MK2S, à savoir la 3.2.3 (que tu dois avoir) => https://github.com/prusa3d/Prusa-Firmware/tree/v3.2.3 et d'y retirer le code de la CTN et de la compensation induite. MERCI c'est ça que je cherchais ! En fait ma MK2s a une PINDA V1 donc sans CTN intégrée. J'ai juste besoin de virer le code de préchauffage et la pseudo calibration qui va avec
Kachidoki Posté(e) mercredi à 07:06 Posté(e) mercredi à 07:06 Ah oui c'est vrai, j'ai vraiment du mal à m'y faire que tu ais un truc aussi vieux. Du coup ça devrait être encore plus simple avec juste un petit coup de scalpel dans le code de la v3.2.3.
electroremy Posté(e) mercredi à 12:43 Auteur Posté(e) mercredi à 12:43 Il y a 5 heures, Kachidoki a dit : Ah oui c'est vrai, j'ai vraiment du mal à m'y faire que tu ais un truc aussi vieux. "Vieux" ? Elle n'a même pas 10 ans cette imprimante Avant que je ne fasse la mise à jour vers Windows 11 j'utilisais encore mon PC fixe acheté en 2011 sous Windows 7, et il fonctionnait très bien J'utilise encore du matériel électronique et Hifi plus vieux que moi Et ne parlons pas de la mécanique... J'ai du matériel qui a plus de 100 ans Il y a 5 heures, Kachidoki a dit : Du coup ça devrait être encore plus simple avec juste un petit coup de scalpel dans le code de la v3.2.3. oui tout à fait, il y a ces deux fonctions à désactiver dans Marlin_main.cpp void temp_compensation_start() { custom_message = true; custom_message_type = 5; custom_message_state = PINDA_HEAT_T + 1; lcd_update(2); if (degHotend(active_extruder) > EXTRUDE_MINTEMP) { current_position[E_AXIS] -= DEFAULT_RETRACTION; } plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400, active_extruder); current_position[X_AXIS] = PINDA_PREHEAT_X; current_position[Y_AXIS] = PINDA_PREHEAT_Y; current_position[Z_AXIS] = PINDA_PREHEAT_Z; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); st_synchronize(); while (fabs(degBed() - target_temperature_bed) > 1) delay_keep_alive(1000); for (int i = 0; i < PINDA_HEAT_T; i++) { delay_keep_alive(1000); custom_message_state = PINDA_HEAT_T - i; if (custom_message_state == 99 || custom_message_state == 9) lcd_update(2); //force whole display redraw if number of digits changed else lcd_update(1); } custom_message_type = 0; custom_message_state = 0; custom_message = false; } void temp_compensation_apply() { int i_add; int z_shift = 0; float z_shift_mm; if (calibration_status() == CALIBRATION_STATUS_CALIBRATED) { if (target_temperature_bed % 10 == 0 && target_temperature_bed >= 60 && target_temperature_bed <= 100) { i_add = (target_temperature_bed - 60) / 10; EEPROM_read_B(EEPROM_PROBE_TEMP_SHIFT + i_add * 2, &z_shift); z_shift_mm = z_shift / axis_steps_per_unit[Z_AXIS]; }else { //interpolation z_shift_mm = temp_comp_interpolation(target_temperature_bed) / axis_steps_per_unit[Z_AXIS]; } SERIAL_PROTOCOLPGM("\n"); SERIAL_PROTOCOLPGM("Z shift applied:"); MYSERIAL.print(z_shift_mm); plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS] - z_shift_mm, current_position[E_AXIS], homing_feedrate[Z_AXIS] / 40, active_extruder); st_synchronize(); plan_set_z_position(current_position[Z_AXIS]); } else { //we have no temp compensation data } } Il faudrait aller plus loin et supprimer la calibration de la sonde PINDA (à faire une seule fois après réinitialisation de l'imprimante), mais ce n'est pas vraiment utile... Avantage de ce "vieux" firmware : la compilation et assez simple avec l'IDE Arduino D'ailleurs c'est ça qui est sympa : la quasi totalité du code est en C++ à la sauce Arduino, c'est pas trop difficile à comprendre. La carte mère de la MK2s est la RAMBo13a et elle comporte plusieurs entrées/sorties non utilisées... Du coup il serait possible de modifier le firmware pour que l'imprimante puisse piloter le chauffage de mon enceinte J'ai une question : à mois que je me trompe, normalement, après la mise à jour du firmware, l'imprimante demande à refaire toutes les étapes de calibration. Comment empêcher cela ? Bien sûr après avoir modifié mon firmware pour la SUPERPINDA je vais refaire toute la calibration, mais ensuite, si je veux faire d'autres modifications qui impliquent du débogage ça sera très pénible de devoir refaire toute la calibration à chaque fois. Une autre question, importante : la mémoire flash de la carte RAMBo supporte combien de cycles d'écriture ? Si les cartes Arduino UNO et suivantes acceptent de nombreux cycles (normal vu leur utilisation), ce n'est pas le cas de tous les microcontrôleurs vendus dans le commerce. Certains sont même OTP, mais il existe aussi des microcontrôleurs dont la mémoire flash est limitée à une petite centaine de réécriture. C'est trop juste pour du débogage.
Kachidoki Posté(e) mercredi à 13:46 Posté(e) mercredi à 13:46 Si j'ai bonne mémoire, c'est un ATmega2560, donc d'après la datasheet => Tu as de quoi voir venir. Le plus critique reste l'EEPROM qui est probablement modifiée à chaque fois qu'on change un réglage persistant (au hasard, le live Z). En ce qui concerne l'ajout de nouvelle fonction comme le contrôle du chauffage, il faudra composer avec l'espace mémoire restant très réduit. Sur la MK3 ils en étaient à recoder certaines fonctions standard et compter les octets... Ce qui est pénible avec l'environnement arduino, c'est qu'il n'y a pas moyen de debugger en pas à pas. C'est galère pour comprendre ce qui ne fonctionne pas sans pouvoir lire l'état des variables. Donc il faut constamment flasher du code de debug, qui impacte les ressources et le temps réel. Bref c'est juste bon pour les amateurs, la cible première des arduino. il y a 48 minutes, electroremy a dit : J'ai une question : à mois que je me trompe, normalement, après la mise à jour du firmware, l'imprimante demande à refaire toutes les étapes de calibration. Pas sûr qu'il y ait une demande de calibration si le code est iso-fonctionnel, c'est à dire sans nouveau paramètre dans l'EEPROM. Je n'ai pas regardé le code, mais il y a peut-être une version de structure des paramètres qui sert d'indicateur s'il est nécessaire de re-calibrer ou non. Au pire tu peux toujours tester en flashant deux fois de suite le même firmware pour voir si elle redemande une cal. 1
electroremy Posté(e) mercredi à 14:21 Auteur Posté(e) mercredi à 14:21 il y a 3 minutes, Kachidoki a dit : Si j'ai bonne mémoire, c'est un ATmega2560, donc d'après la datasheet => Tu as de quoi voir venir. Le plus critique reste l'EEPROM qui est probablement modifiée à chaque fois qu'on change un réglage persistant (au hasard, le live Z). Super ! Durant le COVID, pour mon projet domotique j'ai fait mumuse avec des Arduino UNO et Mega, je connais il y a 4 minutes, Kachidoki a dit : En ce qui concerne l'ajout de nouvelle fonction comme le contrôle du chauffage, il faudra composer avec l'espace mémoire restant très réduit. Sur la MK3 ils en étaient à recoder certaines fonctions standard et compter les octets... Oui moi aussi j'ai été confronté à ça, c'est un défit intéressant. Le code des mes Arduino UNO domotique utilise 100% de la Flash - Je te raconte pas les optimisations parfois barbares derrière - j'ai même du optimiser les bibliothèques pour économiser des octets - il du code bien sale mais j'étais heureux de grapiller encore 10 octets pour faire entrer une autre fonction au chausse pied il y a 8 minutes, Kachidoki a dit : Ce qui est pénible avec l'environnement arduino, c'est qu'il n'y a pas moyen de debugger en pas à pas. C'est galère pour comprendre ce qui ne fonctionne pas sans pouvoir lire l'état des variables. Donc il faut constamment flasher du code de debug, qui impacte les ressources et le temps réel. Bref c'est juste bon pour les amateurs, la cible première des arduino. Oui tout à fait ! La première chose à faire dans un projet Arduino... ... c'est de gérer l'affichage (ou bien d'inclure un affichage "temporaire" si le projet n'en a pas) de façon à pouvoir afficher des résultats intermédiaires et messages de débug. C'est emmerdant quand on a un gros projet avec des ressources limitées, car le code de débug consomme de précieux octets et un afficheur monopolise pas mal de broches d'E/S. Heureusement on peut aussi utiliser le port série via USB pour afficher des trucs via le terminal, c'est du débug à pas cher même si ça consomme des ressources. Ce fonctionnement "à l'ancienne" limité en débug ressemblait pas mal à ce qu'on devait faire avec le matériel des années 80/90 (microcontrôleurs type 8051 avec EPROM UV) Le flashage des Arduinos est vachement plus rapide que l'effacement puis l'écriture d'une 27c256, et le C++ Arduino presque aussi facile que du BASIC (comparé à de l'assembleur) donc j'étais très heureux. Après, ce qui est bien avec Arduino, c'est qu'on peut aller au delà des fonctions basiques et écrire du code C++ performant, avec si besoin quelques fonctions en assembleur, c'est vraiment le meilleur des deux mondes. De plus il y a énormément de bibliothèques disponibles en open source, et le matériel compatible n'est pas cher. J'ai découvert Arduino durant le COVID, j'aurais adoré avoir ce matériel à l'époque où j'ai débuté l'électronique au collège dans les années 1990. Une astuce pour les cartes Arduino 8 bits aux ressources limitées : utiliser les anciennes versions des bibliothèques, plus économes en mémoire. La mode actuelle c'est de faire du code compatible avec un maximum de cartes, mais cela se fait au détriment des performances et de la consommation mémoire, ce n'est pas adapté aux anciennes cartes. Un truc tout bête : dans beaucoup de bibliothèques actuelles on voit des calculs faits avec des nombres à virgule flottantes ou sur des Int32 parce qu'aujourd'hui avec les nouveaux micros 32 bits qui ont des Mo de Flash "ça ne coute pas cher" alors qu'en fait ces calculs peuvent être faits sans perte de précision avec des nombres entiers sur 8 bits. Exemple : capteur d'humidité dont la précision est de 3%... ça ne sert à rien de faire le calcul sur 16 ou 32 bits... car seul l'octet de poids fort est significatif, le reste c'est du bruit... Un octet suffit, avec 256 valeurs possibles on peut gérer une valeur de pourcentage avec une résolution de 0,4% ; bref, à moins d'avoir des capteurs très précis, la plupart des grandeurs physiques mesurées (température, humidité, luminosité, ...) se codent sur un octet, quitte à avoir un offset ou un facteur d'échelle à convertir au moment de l'affichage. C'est comme avec les appareils de mesure, l'affichage digital donne une illusion de précision, alors qu'avec un galvanomètre on comprend tout de suite qu'avoir plus de 200 points est illusoire et qu'il faut bien choisir son échelle de mesure. Mon projet domotique était déjà obsolète au moment ou je l'ai commencé, mais j'étais content de retrouver cette "saveur" de la programmation où on devait programmer en étant proche du hardware, où chaque octet compte, où l'optimisation est cruciale. il y a 11 minutes, Kachidoki a dit : Pas sûr qu'il y ait une demande de calibration si le code est iso-fonctionnel, c'est à dire sans nouveau paramètre dans l'EEPROM. Je n'ai pas regardé le code, mais il y a peut-être une version de structure des paramètres qui sert d'indicateur s'il est nécessaire de re-calibrer ou non. Au pire tu peux toujours tester en flashant deux fois de suite le même firmware pour voir si elle redemande une cal. Ah oui pas bête... Je pensais à un truc plus simple : dans les fichiers de projet Arduino et/ou le bootloadeur utilisé par Prusa, il y a peut être un bout de code qui met à 0 ou à 1 un bit particulier dans l'EEPROM à chaque flashage de nouveau firmware pour forcer la calibration.
fran6p Posté(e) mercredi à 14:27 Posté(e) mercredi à 14:27 @electroremy Je me suis permis de corriger ton titre (adhésion => adhérence) 1
electroremy Posté(e) mercredi à 16:32 Auteur Posté(e) mercredi à 16:32 (modifié) Bonjour, Je n'ai pas encore reçue ma SUPERPINDA et le câble adapteur mais j'ai déjà modifié le firmware D'abord, télécharger la version ancienne de l'IDE Arduino qui va bien sur cette page https://www.arduino.cc/en/software/OldSoftwareReleases/ J'ai pris la version 1.6.13, sans installer, juste le fichier ZIP, qu'il suffit de décompresser pour avoir une version "portable" Cela fonctionne sans soucis sur Windows 11 Ensuite, il faut suivre les instructions données dans le fichier README.md contenu dans l'archive du code source du firmware Prusa-Firmware-3.2.3.zip # Original Prusa i3 MK2 Firmware ## General instructions Pre-compiled hex output on PRUSA RESEARCH site: http://prusa3d.com/downloads/firmware/ Just download and flash it to the electronics ## Build instructions ### Step 1 Install arduino ### Step 2 Remove Liquid Crystal library from your arduino or rename it ### Step 3 Install the arduino addon located in the root of this repo. Don't forget to install correct version! ### Step 4 Copy the configuration file matching your printer from variants folder to the the Firmware folder ### Step 5 Rename it to "Configuration_prusa.h" ### Step 6 Compile the firmware ### Step 7 Upload the firmware to board Concrètement, j'ai dû : - effacer le dossier LiquidCrystal dans C:\...\arduino-1.6.13\libraries\ - copier le contenu de C:\...\Prusa-Firmware-3.2.3\ArduinoAddons\Arduino_1.6.x\libraries\ dans C:\...\arduino-1.6.13\libraries\ - copier le contenu de C:\...\Prusa-Firmware-3.2.3\ArduinoAddons\Arduino_1.6.x\hardware\ dans C:\...\arduino-1.6.13\hardware\ - copier le fichier C:\...\Prusa-Firmware-3.2.3\Firmware\variants\1_75mm_MK2-RAMBo13a-E3Dv6full.h dans C:\...\Prusa-Firmware-3.2.3\Firmware\ - renommer le fichier C:\...\Prusa-Firmware-3.2.3\Firmware\1_75mm_MK2-RAMBo13a-E3Dv6full.h en C:\...\Prusa-Firmware-3.2.3\Firmware\Configuration_prusa.h Ensuite on ouvre Arduino en lançant C:\...\arduino-1.6.13\arduino.exe Dans le menu "Outils -> Type de carte" sélectionner "RAMBo" Ensuite, menu "Fichier -> Ouvrir" et sélectionner le fichier C:\...\Prusa-Firmware-3.2.3\Firmware\Firmware.ino Tous les fichiers se chargent Voici les modifications que j'ai faites (remarque : j'ai fait ces modifications avec NotePad++, bien plus pratique que l'éditeur de texte intégré à Arduino) Fichier Configuration.h - Ligne 8 #define FW_version "3.2.4" // RLUCAS Fichier Marlin.h - Ligne 373 et 374 // void temp_compensation_apply(); RLUCAS // void temp_compensation_start(); RLUCAS Fichier Marlin_main.cpp - Ligne 3331 // temp_compensation_start(); RLUCAS Fichier Marlin_main.cpp - Ligne 3493 // if(temp_cal_active == true && calibration_status_pinda() == true) temp_compensation_apply(); //apply PINDA temperature compensation // RLUCAS Fichier Marlin_main.cpp - Ligne 6868 à 6926 // RLUCAS /* void temp_compensation_start() { custom_message = true; custom_message_type = 5; custom_message_state = PINDA_HEAT_T + 1; lcd_update(2); if (degHotend(active_extruder) > EXTRUDE_MINTEMP) { current_position[E_AXIS] -= DEFAULT_RETRACTION; } plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400, active_extruder); current_position[X_AXIS] = PINDA_PREHEAT_X; current_position[Y_AXIS] = PINDA_PREHEAT_Y; current_position[Z_AXIS] = PINDA_PREHEAT_Z; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); st_synchronize(); while (fabs(degBed() - target_temperature_bed) > 1) delay_keep_alive(1000); for (int i = 0; i < PINDA_HEAT_T; i++) { delay_keep_alive(1000); custom_message_state = PINDA_HEAT_T - i; if (custom_message_state == 99 || custom_message_state == 9) lcd_update(2); //force whole display redraw if number of digits changed else lcd_update(1); } custom_message_type = 0; custom_message_state = 0; custom_message = false; } void temp_compensation_apply() { int i_add; int z_shift = 0; float z_shift_mm; if (calibration_status() == CALIBRATION_STATUS_CALIBRATED) { if (target_temperature_bed % 10 == 0 && target_temperature_bed >= 60 && target_temperature_bed <= 100) { i_add = (target_temperature_bed - 60) / 10; EEPROM_read_B(EEPROM_PROBE_TEMP_SHIFT + i_add * 2, &z_shift); z_shift_mm = z_shift / axis_steps_per_unit[Z_AXIS]; }else { //interpolation z_shift_mm = temp_comp_interpolation(target_temperature_bed) / axis_steps_per_unit[Z_AXIS]; } SERIAL_PROTOCOLPGM("\n"); SERIAL_PROTOCOLPGM("Z shift applied:"); MYSERIAL.print(z_shift_mm); plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS] - z_shift_mm, current_position[E_AXIS], homing_feedrate[Z_AXIS] / 40, active_extruder); st_synchronize(); plan_set_z_position(current_position[Z_AXIS]); } else { //we have no temp compensation data } } */ Voilà pour le "coup de bistouri" qui consiste à mettre en commentaire pour retirer du firmware tout ce que font les deux fonctions temp_compensation_start() et temp_compensation_apply() Ensuite, on compile via le menu "Croquis -> Vérifier/Compiler" On voit bien que la mémoire de la carte RAMBo est bien remplie : 98% - sachant que le code supprimé a fait gagné des octets... Il reste environ 5 Ko de Flash disponible, ce qui permet de faire pas mal de choses quand même (à titre de comparaison, une carte Arduino UNO a 32Ko de Flash) Je peux même gagner plus d'octets en retirant du code la calibration en température de la PINDA Puis, on lance "Croquis -> Extraire les binaires compilés" On obtient le firmware au format HEX : C:\...\Prusa-Firmware-3.2.3\FirmwareFirmware.ino.rambo.hex C'est ce fichier HEX qu'il faudra télécharger comme firmware en suivant les instructions de Prusa, avec un ordinateur raccordé à l'imprimante 3D via un câble USB J'attends maintenant les pièces détachées pour modifier l'imprimante... @Kachidoki : aurais-tu la datasheet de la carte RAMBo1.3a ? j'aimerais savoir à quoi correspondent les broches d'E/S disponibles sur ma MK2s (pour le capteur de filament, le MMU V1 et une autre au milieu). Je pense y raccorder un connecteur vers une carte E/S déportées, histoire de voir ce que je peux faire ensuite comme nouvelles fonctions comme la régulation du chauffage de mon enceinte avec l'extinction de ce chauffage après la fin de l'impression ou un capteur de filament. Modifié (le) mercredi à 16:39 par electroremy 1
Kachidoki Posté(e) mercredi à 18:36 Posté(e) mercredi à 18:36 De mémoire il s'agit de la Mini-Rambo 1.3 de chez Ultimachine => https://ultimachine.com/products/mini-rambo-1-3 Et la partie qui va te plaire, les schémas open source dont plus personne ne se soucie de nos jours : Dépôt github => https://github.com/ultimachine/Mini-Rambo/tree/1.3a Lien direct sur le schéma => https://github.com/ultimachine/Mini-Rambo/blob/1.3a/board/Project Outputs for Mini-Rambo/Mini-Rambo.PDF La page associée du site RepRap => https://reprap.org/wiki/MiniRambo 1
electroremy Posté(e) mercredi à 22:03 Auteur Posté(e) mercredi à 22:03 Merci On apprend des choses en comparant les documentations Le connecteur pour thermistance T1 est inutilisé sur la MK2s, il sert uniquement pour la thermistance de la PINDA V2 ; je pourrais utiliser ce connecteur pour mesurer la température de mon enceinte. Les connecteurs Endstops max ne sont pas utilisés sur la MK2s ; le connecteur EndStops Max X est utilisé sur la MK2.5s+ pour gérer la vitesse de rotation du ventilateur de la hotend. A noter que la sonde PINDA est gérée comme un EndStop Z, ce qui est logique. Il reste un gros connecteur à 2 rangées de 5 broches ; la rangée vers les sorties Mosfet est utilisée pour le capteur de filament (VCC, GND et une E/S) ; la rangée vers les Endstops est utilisée par le MMU (VCC, GND et 2 E/S, la broche Reset n'est pas utilisée) Sur le site RepRap ce fameux connecteur est le connecteur "P3" Je peux utiliser la partie de P3 destinée au MMU1 pour commander le chauffage. Cette température n'a pas besoin d'être régulée très précisément ni rapidement à cause de l'inertie thermique. Actuellement il n'y a... aucune régulation ! J'ai ajusté manuellement l'alimentation du chauffage pour que la température se stabilise à 60°C Une régulation "tout ou rien" serait suffisante, au pire les 2 E/S permettent 3 niveaux de chauffe (il faudra alors une alimentation à découpage dont on peut piloter la sortie, ou bien plusieurs résistances chauffantes). Comme le courant de chauffe est important il faudra éviter de générer des parasites lors des commutations. Je pourrais utiliser le capteur de filament comme prévu initialement (en plus il existe des capteurs de filament qui réagissent aussi à une bobine avec un noeud), mais j'aurais plus de travail sur le firmware... il faudra qu'en cas de filament manquant (ou coincé) je mette l'impression en pause, en proposant un load filament et une reprise... C'est peut être facile à faire en appelant la fonction qui fait une pause d'impression. Sur la doc Prusa MK2 Sur le guide de mise à jour vers la MK2.5S+ Documentation du MMU1 : 1
electroremy Posté(e) jeudi à 19:34 Auteur Posté(e) jeudi à 19:34 (modifié) Bonjour, J'ai reçu les pièces aujourd'hui : dans un paquet très bien emballé la SUPERPINDA, l'adaptateur, et 20 colliers rilsans Je retire mon imprimante de son caisson, l'occasion de faire un nettoyage Je vais en profiter pour faire plusieurs modifications : - remplacer les gaines spirales par des gaines textiles (qui trainent sur une étagère depuis plus d'un an) - connecter un câble sur la prise T1 pour la future sonde de température de l'enceinte - connecter un câble pour le détecteur de filament (que j'avais acheté il y a plusieurs années et qui a été oublié dans un tiroir) - connecter un câble pour le pilotage du chauffage - et bien sûr remplacer la PINDA V1 par la SUPERPINDA Les câbles sont issus du kit MMU1 que je n'ai jamais monté Avant de me lancer, je réfléchi à comment bien régler la hauteur de la SUPERPINDA. Quelques recherches sur le net me disent que cette sonde doit être fixée 1,5mm plus haute que la buse par rapport au bed. Ca tombe bien, pour ma fraiseuse CNC j'avais acheté un comparateur pour mesurer la hauteur des outils. J'allume l'imprimante, je lance un Mesh Bed Levelling dans le menu Calibration Ensuite je pose le comparateur au milieu du bed, et j'approche la buse dessus, je note la valeur affichée par l'imprimante et celle sur le comparateur : Je fais la même chose avec la vielle sonde PINDA V1, pour voir Un calcul montre que la PINDA V1 est à 0,82mm plus haut que la buse... cela explique mes valeurs de live Z élevées. Je remarque que l'extrudeur s'est un peu déformé (j'avais déjà du remplacer deux pièces par de nouvelles imprimées en ABS : le deflecteur de ventilation, et aussi le support de roulement à bille). => prochaine évolution pour cette imprimante, réimprimer toutes les pièces de l'extrudeur en ABS, et pourquoi pas une version améliorée avec à la place du roulement à bille le système de double roue dentées car j'en ai plusieurs dans le kit MMU1 inutilisé Ensuite, sans éteindre l'imprimante (pour bénéficier du Mesh Bed Levelling qui vient d'être fait), je démonter la PINDA V1 et j'installe la SUPERPINDA à la place. La partie emmerdante c'est le câble, il faut passer par les fils au niveau du connecteur car le câble est trop épais : Avec le comparateur, je régle la hauteur de la SUPERPINDA à 1,5mm par rapport à la buse : Une fois ceci fait, j'éteins l'imprimante et je branche la SUPERPINDA à la place de l'autre : Je rallume l'imprimante, et sans changer le firmware, je lance un home Z... (le bed est froid) ... suspens... Ca fonctionne ; je vérifie la hauteur de la buse en essayant de glisser dessous une feuile de papier A4, il faut forcer, la sonde est un peu trop haute... Je remet la sonde sur le comparateur et je baisse légèrement Je refais un home Z ; là c'est bon, une feuille A4 passe, une feuille A4 pliée en deux il faut forcer (mesure au pied à coulisse de deux épaisseurs de feuille A4 = 0,18mm) Je lance un Mesh Bed Levelling... tout est OK Je refait la fixation des câbles de l'extrudeur ; un point d'attention, les fils de la sonde de témpérature de la buse qui doivent être au dessus des câbles de la hotend mais ne doivent pas toucher la partie chauffante : Je connecte les câbles "en attente" pour le capteur de filament, le MMU1 (qui sera utilisé pour piloter le chauffage) et la sonde de température pour l'enceinte Comme il faut deux connecteurs plats pour le connecteur P3 de la RAMBo13a, je dois tailler un peu un des connecteurs du kit MMU1 : Voici les 3 câbles, laissés en attente (ce qui me permettra de faire ensuite tranquillement les mises à jours de firmware requises sans tout ouvrir) : Je m'attaque ensuite à l'installation des gaines textiles. C'est un peu chiant. Je constate au passage que certains câbles sont marqués, donc cette modification est utile. Je renforce la protection des câbles avec un peu de chatterton Je remarque que le paquet de câbles à l'arrière de l'extrudeur force sur l'isolation de l'alimentation et de la carte mère lors des positions extrêmes de l'axe X. Ces isolations sont nécessaire pour mon caisson chauffé, problème : l'imprimante n'a quasiment pas de jeu. Après, ça a fonctionné comme ça des années Je refais donc la sortie de câbles à l'arrière de l'extrudeur la plus "verticale" possible : Cette fois-ci ça passe juste, ça touche sans forcer : J'en profite pour vérifier les serrages des différentes vis, rien à signaler. Après, je fait un self test à l'imprimante, tout est OK : Je pense que l'imprimante pourrait même fonctionner sans mise à jour du firmware, en refaisant la calibration de la PINDA (qui logiquement aboutira à des coefs de températures nuls ou quasi nuls). Mais je vais quand même m'attaquer au firmware. En plus de la modif pour la prise en charge de la SUPERPINDA, j'ai pas mal d'autres idées (le capteur de filament, la régulation de la température de l'enceinte, mais aussi refaire un peu les menus pour que j'ai moins de manipulations à faire et économiser le bouton poussoir rotatif). Pour la régulation de température, je vais peut être utiliser la carte électronique multiplexeur du kit MMU1, les relais permettront une isolation galvanique entre la carte mère de l'imprimante et la partie chauffage. Modifié (le) jeudi à 22:59 par electroremy
hyoti Posté(e) jeudi à 20:47 Posté(e) jeudi à 20:47 il y a une heure, electroremy a dit : (mesure au pied à coulisse de deux épaisseurs de feuille A4 = 1,8mm) Cela ne serait pas plutôt 0.18mm pour une feuille A4 80g pliée en deux !!! 1
electroremy Posté(e) jeudi à 22:59 Auteur Posté(e) jeudi à 22:59 Il y a 2 heures, hyoti a dit : Cela ne serait pas plutôt 0.18mm pour une feuille A4 80g pliée en deux !!! oui c'est ça, je viens de corriger
Kachidoki Posté(e) hier à 06:54 Posté(e) hier à 06:54 Tu t'es quand même vachement bien embêté la vie pour positionner la sonde. Normalement c'est buse contre le plateau et l'épaisseur approximative d'un rislan, comme ça : Remarque que la procédure est la même sur la MK3S+. Ensuite pour le fine tuning, c'est via le live Z uniquement. Au comparateur c'est l'écart entre la buse et le plateau qu'il faut mesurer (pas entre la buse et la sonde) puis reporter ce delta sur le live Z. Je me demande même s'il n'est pas possible de le faire... "en live" sur le comparateur. Sinon good job. Tu as pratiquement tout ce qu'il faut pour transformer ton extruder en MK3S+. En gros t'es plus très loin de la MK2.5. Quitte à réimprimer toutes les pièces, tu devrais mettre une buse renforcée et les faire en PCCF. Une chaussette silicone serait pas mal non plus vu que tu travailles toujours à des températures élevées. 1
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