Modification du hot end et de l'extruder, avec du matériel DyzeDesign
 

Modification du hot end et de l'extruder, avec du matériel DyzeDesign  

  RSS
dimitri.gouot
(@student)
Active Member

Bonjour à tous,

Je m'adresse à vous sur ce forum car je travail sur l'impression de polymère particulier qui nécessite d'atteindre des températures d'impression de l'ordre de 300° voir plus. Pour cela je suis partie d'une imprimante 3D MK3S, sur laquelle j'essaye d'assembler un extruder et un hot end de chez DyzeDesign (gamme GT : https://dyzedesign.com/dyzend-x-hotend/ ; https://dyzedesign.com/dyzextruder-gt-extruder/). La documentation ( https://docs.dyzedesign.com/hotends.html#assembly) me paraissait clair sur le site de DyzeDesign.

Mais lorsque j'ai reçu mon matériel et que je suis allé dans le détail, je me suis rendu compte qu'il n'y avait pas de documentation pour la MK3S, je me suis donc adressé à DyzeDesign qui m'a dit qu'en gros il n'avait effectivement pas de documentation pour monter leur matériel sur une MK3S avec le firmware Prusa... En discutant un peu plus avec eux on m'a expliqué qu'il fallait inclure les lignes de code manquantes reliées à MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED et à MILLISECONDS_PREHEAT_TIME. Ces variables se retrouvent dans le firmware de Marlin dans les fichiers temperature.h et .cpp. Fichier que je retrouve dans le firmware de Prusa, mais le fichier de Prusa ne se présente pas comme une class mais plutôt comme des successions de fonctions. De plus je ne vois pas comment la class temperature est utilisé dans Marlin.

Du coup je suis un peu bloqué sur la modificaiton de ce firmware, et je ne sais pas trop comment réussir à inclure ce MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED et ce MILLISECONDS_PREHEAT_TIME dans le firmware de Prusa. Est ce que vous auriez des pistes, un conseil à me donner pour m'aider ?

Je me demandais s'il n'était pas limite plus simple/possible de remplacer le firmare Prusa par le Marlin sur la MK3S et d'appliquer les modifications de DyzeDesign, mais j'ai peur de m'embarquer dans quelque chose d'encore plus compliqué voir impossible.

(Je me permet de préciser que je ne suis pas développeur, j'ai juste quelques bases en C et C++, et que j'ai bien conscience que ma question est compliquée, et nécessite probablement un travail de développeur mais malheureusement je dois me débrouiller)

 

Merci d'avance pour vos réponses.

This topic was modified 5 months ago by dimitri.gouot
Posted : 20/04/2020 9:33 am
serge.d
(@serge-d)
Honorable Member

Bon, perso, Marlin et moi cela fait 2... Je ne sais pas si sur le forum français (peut être Cedric-m) quelqu'un saura t'aider mais sûrement sur le forum anglais, il y a quelques pointures là bas...

Mais je pense que vous vous êtes compliqué la vie avec la hotend, une Mosquito (de mémoire) se monte facilement sur la prusa tout en gardant l'extruder et atteint les 500° avec le bon "chauffage"

This post was modified 5 months ago by serge.d
Prusa I3 MK3 (THE best) - Ender 3 - Anycubic Mega S - CR-10s PRO - Prusa Mini - Clone MK3S bear à monter......
Posted : 20/04/2020 10:09 pm
cedric.m
(@cedric-m)
Prominent Member

Tout a fait possible de remplacer le firmware prusa par le Marlin, tu perdra juste les ajouts de la Prusa (auto calibration....)

Ensuite les modification du firmware prusa semble pas enorme, tu sais recompiler le firmware Prusa ?

Prusa Mini -CR20Pro tweak - BLV MGN.
https://www.thingiverse.com/Sulfu/makes...
Posted : 21/04/2020 10:08 am
dimitri.gouot
(@student)
Active Member

@serge-d

Merci pour votre réponse rapide.

Pour le hot end je ne connaissais pas le mosquito et en fait quand j'avais cherché à l'époque je n'étais pas tombé dessus, après j'ai un peu de budget matériel et je peux regarder pour acheter le Mosquito mais la problématique sera la même j'imagine, il faudra bien modifier le firmware pour qu'il accepte ce nouvel élément ? Je vais creuser de ce côté en parallèle merci !

Posted : 21/04/2020 10:57 am
dimitri.gouot
(@student)
Active Member

@cedric-m

D'accord merci pour votre réponse, je testerai peut être cette solution si je ne m'en sors pas.

Pour les modifications elles me paraissent assez conséquentes car je n'ai pas trouvé trop de documentation sur les firmware Marlin/Prusa qui décrirait le fonctionnement des fonctions et des fichiers. Et lorsque j'ai regardé les fichiers temperature.h et .cpp de Marlin, il s'agit d'une classe alors que dans Prusa il n'y a qu'un regroupement de fonction. Et dans le firmware Marlin je n'ai pas (encore) trouvé comment la classe temperature était utilisée (je suis toujours en train d'essayer de comprendre) car je ne trouve pas de main.cpp

Pour le firmware je n'ai pas encore essayé de le recompiler, mais pourquoi cette question ? Il s'agit d'une étape difficile ?

 

Encore merci pour votre réponse.

Posted : 21/04/2020 11:03 am
cedric.m
(@cedric-m)
Prominent Member

bizzare j'ai un soucis pour compiler le firmware, j'ai cette erreur, qui ne soont pas etre lié aux modifs de Dyzend ... un dev saurait trouver la soluce ? 😉

In file included from sketch\Configuration.h:60:0,

from sketch\Marlin.h:21,

from sketch\MarlinSerial.cpp:23:

eeprom.h:583:55: error: 'reinterpret_cast<M500_conf*>(20)' is not a constant expression

static constexpr M500_conf * const EEPROM_M500_base = reinterpret_cast<M500_conf*>(20); //offset for storing settings using M500

Prusa Mini -CR20Pro tweak - BLV MGN.
https://www.thingiverse.com/Sulfu/makes...
Posted : 21/04/2020 11:05 am
cedric.m
(@cedric-m)
Prominent Member

Pour imprimer a 300-350  la buse d'origine doit pouvoir le faire,niveau matériel ça passe a mon avis, y a juste le "max Temp" a augmenter dans le firmware et encore c'est pas certain il y a deux maxtemp en fonction de la sonde ... je m'etais jamais penché dessus, mais en creusant un peu, tu dois pouvoir monter quasi a 400° avec la buse d'origine, en changeant juste la sonde.

Prusa Mini -CR20Pro tweak - BLV MGN.
https://www.thingiverse.com/Sulfu/makes...
Posted : 21/04/2020 11:26 am
cedric.m
(@cedric-m)
Prominent Member

Correction, le firmware Prusa n'a pas la table pour la sonde de temperature du Dyzend ...

le Marlin 2, oui.

Marlin:

66 : 4.7M High Temperature thermistor from Dyze Design

 

This post was modified 5 months ago by cedric.m
Prusa Mini -CR20Pro tweak - BLV MGN.
https://www.thingiverse.com/Sulfu/makes...
Posted : 21/04/2020 11:36 am
dimitri.gouot
(@student)
Active Member

@cedric-m

D'accord, lorsque je m'étais adressé au service de Prusa, on m'avait répondu qu'atteindre une température allant au de là de 300°C ne serait pas possible avec l'imprimante de base, c'est pour ça que je m'étais tourné vers un nouveau hot end.

 

Pour la table de la sonde j'ai pris le thermistor_66.h de Marlin et je l'ai rajouter dans la thermistortables.h de Prusa avec l'aide de la vidéo  (cf à partir de 7min10 il me semble). Je vais tester de compiler le firmware de Prusa.

 

Du coup vous me conseilleriez de passer sous Marlin ? Ou de poursuivre la tentative d'ajouter les lignes

MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED

et

MILLISECONDS_PREHEAT_TIME

?

This post was modified 5 months ago by dimitri.gouot
Posted : 21/04/2020 3:24 pm
cedric.m
(@cedric-m)
Prominent Member

Je pense que ça vaut le coup d'essayer de modifier le firmware original, pour les deux lignes a ajouter, je pense qu'il faut simplement les ajouter dans "configuration_adv.h" et de modifier le "Configuration_prusa.h"

 

Prusa Mini -CR20Pro tweak - BLV MGN.
https://www.thingiverse.com/Sulfu/makes...
Posted : 21/04/2020 11:36 pm
cedric.m
(@cedric-m)
Prominent Member

Je pense aussi que si tu ajoute pas ces deux ligne ca fonctionnera aussi.

Prusa Mini -CR20Pro tweak - BLV MGN.
https://www.thingiverse.com/Sulfu/makes...
Posted : 21/04/2020 11:44 pm
dimitri.gouot
(@student)
Active Member

Alors j'ai réussi à compiler mon firmware avec la table des températures de DyzeDesign d'ajoutée et les autres modifications faites. Pour l'instant je n'ai pas ajouté les deux lignes manquantes je suis en train d'essayer de comprendre où elles interviennent dans le firmware de Marlin.

Je pense que ça vaut le coup d'essayer de modifier le firmware original, pour les deux lignes a ajouter, je pense qu'il faut simplement les ajouter dans "configuration_adv.h" et de modifier le "Configuration_prusa.h"

@cedric-m si je fais ça je rajoute juste deux variables dans le vide non ? Quand tu dis modifier le "Configuration_prusa.h" qu'est ce que tu sous entends ?

Posted : 22/04/2020 4:00 pm
dimitri.gouot
(@student)
Active Member

@cedric-m

Si je ne rajoute pas un MILLISECONDS_PREHEAT_TIME je pense que ça ne marchera pas (d'ailleurs je confirme j'avais testé rapidement sur mon imprimante lorsque j'avais branché et effectivement j'avais une erreur de température), d'après ce que j'ai pu lire dans le Configuration_adv.h de Marlin :

/**
 * High Temperature Thermistor Support
 *
 * Thermistors able to support high temperature tend to have a hard time getting
 * good readings at room and lower temperatures. This means HEATER_X_RAW_LO_TEMP
 * will probably be caught when the heating element first turns on during the
 * preheating process, which will trigger a min_temp_error as a safety measure
 * and force stop everything.
 * To circumvent this limitation, we allow for a preheat time (during which,
 * min_temp_error won't be triggered) and add a min_temp buffer to handle
 * aberrant readings.
 *
 * If you want to enable this feature for your hotend thermistor(s)
 * uncomment and set values > 0 in the constants below
 */
 
// The number of consecutive low temperature errors that can occur
// before a min_temp_error is triggered. (Shouldn't be more than 10.)
//#define MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED 0
 
// The number of milliseconds a hotend will preheat before starting to check
// the temperature. This value should NOT be set to the time it takes the
// hot end to reach the target temperature, but the time it takes to reach
// the minimum temperature your thermistor can read. The lower the better/safer.
// This shouldn't need to be more than 30 seconds (30000)
//#define MILLISECONDS_PREHEAT_TIME 0

Posted : 23/04/2020 4:35 pm
cedric.m
(@cedric-m)
Prominent Member

Le conf_prusa, c'etait pour modifier :

#define TEMP_SENSOR_0 3
#define TEMP_SENSOR_1 3
#define TEMP_SENSOR_2 3
#define HEATER_0_MINTEMP 0
#define HEATER_1_MINTEMP 0
#define HEATER_2_MINTEMP 0
#define HEATER_0_MAXTEMP 300
#define HEATER_1_MAXTEMP 300
#define HEATER_2_MAXTEMP 300
// DyzEnd
#define DEFAULT_Kp 19.3
#define DEFAULT_Ki 2.1
#define DEFAULT_Kd 44.6

 

et oui c'est pas faux, ajouter seulement :

MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED

et

MILLISECONDS_PREHEAT_TIME

Si les fonctions sont pas définies plus loin, c'est écrire dans le vide :/

En regardant la video de Chris, lui n'ajoute pas ces deux lignes... sa méthode a l'air de fonctionner.

Prusa Mini -CR20Pro tweak - BLV MGN.
https://www.thingiverse.com/Sulfu/makes...
Posted : 23/04/2020 4:57 pm
dimitri.gouot
(@student)
Active Member

@cedric-m

J'essaierai de faire sans ces lignes lorsque je pourrai ré-accéder à mon imprimante et je testerai si ça marche. Je testerai aussi en mettant un min_temp plus bas. J'ai creusé un peu dans le firmware de Marlin et c'est un peu décoruageant pour quelqu'un de novice comme moi en programmation ^^'

 

En tout cas merci de m'avoir répondu, si quelqu'un a une meilleur solution je reste ouvert et si non je vous tiendrez au courant...

Je pense qu'en parallèle je vais voir pour acheter un Mosquito, j'ai vue qu'effectivement qu'il ne nécessitait apparemment pas de modification du firmware mais qu'il faudrait probablement faire pas mal de modification mécanique ...

Posted : 04/05/2020 4:15 pm
Share:

Please Login or Register