Ashram56 Posté(e) Mars 10, 2022 Posté(e) Mars 10, 2022 Bonjour à tous, Je rencontre un problème dans la configuration de Marlin pour adapter un firmware à l'origine prévu pour Ender3. Je m'explique: - J'ai installé une carte SKR MiniRRF pour remplacer la carte Creality d'origine de ma CR10S - J'ai installé un 3DTouch de Bigtreetech toujours - Si j'utilise le firmware précompilé dispo sur le github Bigtreetech, pas de problème, le 3DTouch fonctionne bien, je peux faire une bed leveling mesh avec la commande G29. Sauf que le firmware en question c'est pour une Ender 3 (et en plus sur une branche de dev de Marlin), donc pas la bonne taille de plateau, etc. Pas de problème, je télécharge la dernière version de Marlin, identifie les changements effectués par bigtreetech dans le fichier configuration.h pour les porter sur la dernière branche de Marlin, et ajuste pour ma CR10S. Ca compile sans problème, ca démarre, je peux imprimer. Par contre, dès que je lance la commande G28 suivi de G29, la tête va se positionner dans le coin inférieur droit, déploie la sonde, descend, et boum erreur critique M112 Je me dis OK, je vais modifier et recompiler directement le firmware fourni par bigtreetech, donc à priori le bon code source. Je fais les mêmes modifs qu'indiqué sur la vidéo fournie en lien (histoire d'être cohérent avec mon installation), je compile, et boum même erreur Si j'utilise le firmware d'origine précompilé, aucun problème, donc ce n'est pas un problème de compatibilité HW. Petite différences de comportement néammoins: - Lors de la commande G29, la tête démarre dans le coin inférieur gauche (firmware précompilé) au lieu de démarrer dans le coin inférieur droit (firmware modifié) - Lors de la commande G28, la tête se centre sur le plateau (enfin en 25x25 puisque l'ender 3 est plus petite), et utilise clairement le 3DTouch pour calibrer le Z, sans forcer. Dans le cas du firmware modifié, il force un peu sur le bltouch avant de s'arrêter, car il descend la tête plus bas. Manifestement il y a un réglage dans Marlin pour utiliser le 3DTouch au lieu du contacteur Z, pas encore trouvé lequel c'était J'ai aussi un problème de positionnement du 3DTouch, celui ci semble monté trop bas avec la plaque de montage fournie, et du coup lorsque la tête est positionnée à la position la plus basse pour imprimer sur le plateau, le 3DTouch se retrouve poussé vers le haut, pas terrible. Il va donc falloir que j'imprime une autre pièce de positionnement pour remonter le 3DTouch vers le haut Si quelqu'un a des suggestions, je suis preneur
Savate Posté(e) Mars 10, 2022 Posté(e) Mars 10, 2022 il y a 4 minutes, Ashram56 a dit : Je rencontre un problème dans la configuration de Marlin il faudrait que tu postes tes fichiers configuration.h et configuration_adv.h ce sera plus simple.
Ashram56 Posté(e) Mars 10, 2022 Auteur Posté(e) Mars 10, 2022 Bon et bien je me réponds à moi même: La constante qui définit l'utilisation du 3DTouch comme Z endstop, c'est #define USE_PROBE_FOR_Z_HOMING Ca marche beaucoup mieux, plus d'erreur Reste maintenant à régler le problème de hauteur en imprimant une pièce adaptée.
Savate Posté(e) Mars 10, 2022 Posté(e) Mars 10, 2022 (modifié) il y a 15 minutes, Ashram56 a dit : celui ci semble monté trop bas avec la plaque de montage fournie normalement aiguille rentrée, la pointe du bltouch doit être 2-3mm au dessus de la buse Modifié (le) Mars 10, 2022 par Savate
Ashram56 Posté(e) Mars 10, 2022 Auteur Posté(e) Mars 10, 2022 Bon, deuxième problème... J'ai maintenant le bed leveling qui fonctionne, avec la dernière version de Marlin Par contre nouveau problème: le fan de refroidissement de la hotend ne démarre pas avec ce firmware (ni celui du refroidissement du plastique pointé sur la sortie de la tête). Je peux le controller manuellement (ie Fan On / Fan Off), mais il ne s'active pas automatiquement lors de l'allumage du chauffage de la tête. J'ai du coup deux questions: - Sur la SKR RRF, il y a deux connecteurs Fan. De ce que j'ai compris, ils sont controllable en PWM, mais où dans Marlin définit on celui qui refroidit la hotend, et celui qui refroidit la pièce ? Ou bien est ce codé en dur (auquel cas il faut que je swappe) - Comment activer le deuxième fan, dans configuration.h j'ai trouvé une section pour définir des fans supplémentaires, mais comme je ne connais pas les valeurs à mettre... - Où se configure le déclenchement du fan lorsque la température de la hotend dépasse 50C ? Merci
Savate Posté(e) Mars 10, 2022 Posté(e) Mars 10, 2022 à l’instant, Ashram56 a dit : le fan de refroidissement de la hotend ne démarre pas avec ce firmware (ni celui du refroidissement du plastique pointé sur la sortie de la tête). Je peux le controller manuellement (ie Fan On / Fan Off), mais il ne s'active pas automatiquement lors de l'allumage du chauffage de la tête. Alors, ne pas tout confondre : * Le fan de refroidissement doit se mettre en route au dessus d'une certaine température (en général 50) * le fan de refroidissement de la pièce lui ne sera en route qu'à partir de la 3ème ou 4ème couche (ça dépend du matériau et de ce qui est paramétré dans le trancheur) à l’instant, Ashram56 a dit : mais où dans Marlin définit on celui qui refroidit la hotend, et celui qui refroidit la pièce ? Ou bien est ce codé en dur (auquel cas il faut que je swappe) en général c'est dans le fichier de définition des pins de la carte (mais si ils sont inversés - et pour rester à peu prés standard - il vaut mieux inverser le connexions à l’instant, Ashram56 a dit : Comment activer le deuxième fan .pourquoi faire, tu as 3 fans ?
fran6p Posté(e) Mars 10, 2022 Posté(e) Mars 10, 2022 (modifié) Une raison particulière d'avoir choisi la SKR E3 RRF (plutôt utilisée avec le firmware Reprap) qu'une simple SKR mini E3 ? Pour ton vnetilateur de refroidissement du radiateur, configuration_adv.h (exemple pour ma CR30) : /** * Extruder cooling fans * * Extruder auto fans automatically turn on when their extruders' * temperatures go above EXTRUDER_AUTO_FAN_TEMPERATURE. * * Your board's pins file specifies the recommended pins. Override those here * or set to -1 to disable completely. * * Multiple extruders can be assigned to the same pin in which case * the fan will turn on when any selected extruder is above the threshold. */ #define E0_AUTO_FAN_PIN PC0 #define E1_AUTO_FAN_PIN -1 #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 #define E5_AUTO_FAN_PIN -1 #define E6_AUTO_FAN_PIN -1 #define E7_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define COOLER_AUTO_FAN_PIN -1 #define COOLER_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // 255 == full speed #define CHAMBER_AUTO_FAN_TEMPERATURE 30 #define CHAMBER_AUTO_FAN_SPEED 255 #define COOLER_AUTO_FAN_TEMPERATURE 18 #define COOLER_AUTO_FAN_SPEED 255 Le Github de BTT te permettra de trouver quelle broche il faut utiliser. Modifié (le) Mars 10, 2022 par fran6p
Ashram56 Posté(e) Mars 11, 2022 Auteur Posté(e) Mars 11, 2022 (modifié) Merci pour vos conseils, J'ai presque retrouvé mes petits. Le github de BTT n'a pas été d'une grande aide, les fichiers config sont incomplets. Par exemple, E0_AUTO_FAN_PIN n'était pas défini. Mais comme j'ai le pinout, j'ai retrouvé à quelle pin cela correspondait. Par contre je dois dire que je m'interroge toujours: - J'ai donc mon auto démarrage maintenant configuré pour le fan de la hotend, connecté sur FAN0, c'est à dire PB5 - Le fan pour refroidir la pièce (le "part fan" donc) est lui connecté sur FAN1, c'est à dire PB6. Mais où dans Marlin trouve t'on la configuration de ce fan ? Si je regarde dans le "pins_btt_E3_RRF.h", je trouve une section où PB6 est défini comme "Controller_fan", ce qui de ce que je comprends correspond en fait à la ventilation du boitier Et d'ailleurs le code est écrit de telle manière qu'il force l'usage du PB6 pour justement le refroidissement du boitier: #ifndef CONTROLLER_FAN_PIN #define CONTROLLER_FAN_PIN PB6 // "FAN1" #endif Je peux commenter ces lignes, mais par quelle ID de fan dois je remplacer "controller_fan_pin" ? J'ai cherché dans la doc Marlin, vraiment rien trouvé à ce sujet - D'ailleurs, pour ma compréhension, le réglage de fan dans l'interface Marlin, c'est censé controller le fan de la hot end, ou bien celui de refroidissement de la pièce ? [EDIT] Bon et bien je réponds à ma question, en faisant un peu plus de recherche (et du coup... ben il y a une erreur dans la vidéo que j'ai référencé plus haut sur les branchements des fans) FAN_PIN est hard codé dans Marlin comme étant le "part fan". C'est la raison pour laquelle il n'y a aucune documentation à ce sujet. J'ai trouvé l'info ici: E0_AUTO_FAN_PIN cannot be FAN_PIN · Issue #17301 · MarlinFirmware/Marlin (github.com) Donc dans mon fichier "pins_BTT_E3_RRF.h", par défaut FAN_PIN est connecté sur FAN0 (sur la vidéo il connecte le fan de l'extrudeur). Du coup: mon contrôle fan dans Octoprint / Marlin démarrait le fan de l'extrudeur, alors que celui ci est normalement "hard codé" dans le fichier configuration_adv.h pour démarrer à pleine vitesse au delà de 50C. J'ai ajusté la config dans le fichier pins et configuration_adv.h, et ça a l'air de mieux marcher (ie le fan du hotend démarre bien tout seul au dela de 50C, et celui de refroidissement du part démarre sous controle GCode). Modifié (le) Mars 11, 2022 par Ashram56
fran6p Posté(e) Mars 11, 2022 Posté(e) Mars 11, 2022 Sur ma CR30, le ventilateur de refroidissement du boitier (pilotes moteurs) se déclenche uniquement quand les moteurs sont utilisés (en plus de celui du radiateur de la tête quand la température est supérieure à 50°C). Par contre pour que ça fonctionne il faut un troisième emplacement de prise ventilateur «pilotable». Quand l'imprimante est allumée sans aucune impression, elle est totalement silencieuse. /** * Controller Fan * To cool down the stepper drivers and MOSFETs. * * The fan turns on automatically whenever any driver is enabled and turns * off (or reduces to idle speed) shortly after drivers are turned off. */ #define USE_CONTROLLER_FAN #if ENABLED(USE_CONTROLLER_FAN) #define CONTROLLER_FAN_PIN PC1 // Set a custom pin for the controller fan //#define CONTROLLER_FAN_USE_Z_ONLY // With this option only the Z axis is considered //#define CONTROLLER_FAN_IGNORE_Z // Ignore Z stepper. Useful when stepper timeout is disabled. #define CONTROLLERFAN_SPEED_MIN 0 // (0-255) Minimum speed. (If set below this value the fan is turned off.) #define CONTROLLERFAN_SPEED_ACTIVE 255 // (0-255) Active speed, used when any motor is enabled #define CONTROLLERFAN_SPEED_IDLE 0 // (0-255) Idle speed, used when motors are disabled #define CONTROLLERFAN_IDLE_TIME 60 // (seconds) Extra time to keep the fan running after disabling motors // Use TEMP_SENSOR_BOARD as a trigger for enabling the controller fan //#define CONTROLLER_FAN_MIN_BOARD_TEMP 40 // (°C) Turn on the fan if the board reaches this temperature #define CONTROLLER_FAN_EDITABLE // Enable M710 configurable settings #if ENABLED(CONTROLLER_FAN_EDITABLE) #define CONTROLLER_FAN_MENU // Enable the Controller Fan submenu #endif #endif
Ashram56 Posté(e) Mars 11, 2022 Auteur Posté(e) Mars 11, 2022 Il y a 3 heures, fran6p a dit : Sur ma CR30, le ventilateur de refroidissement du boitier (pilotes moteurs) se déclenche uniquement quand les moteurs sont utilisés (en plus de celui du radiateur de la tête quand la température est supérieure à 50°C). Par contre pour que ça fonctionne il faut un troisième emplacement de prise ventilateur «pilotable». Quand l'imprimante est allumée sans aucune impression, elle est totalement silencieuse. /** * Controller Fan * To cool down the stepper drivers and MOSFETs. * * The fan turns on automatically whenever any driver is enabled and turns * off (or reduces to idle speed) shortly after drivers are turned off. */ #define USE_CONTROLLER_FAN #if ENABLED(USE_CONTROLLER_FAN) #define CONTROLLER_FAN_PIN PC1 // Set a custom pin for the controller fan //#define CONTROLLER_FAN_USE_Z_ONLY // With this option only the Z axis is considered //#define CONTROLLER_FAN_IGNORE_Z // Ignore Z stepper. Useful when stepper timeout is disabled. #define CONTROLLERFAN_SPEED_MIN 0 // (0-255) Minimum speed. (If set below this value the fan is turned off.) #define CONTROLLERFAN_SPEED_ACTIVE 255 // (0-255) Active speed, used when any motor is enabled #define CONTROLLERFAN_SPEED_IDLE 0 // (0-255) Idle speed, used when motors are disabled #define CONTROLLERFAN_IDLE_TIME 60 // (seconds) Extra time to keep the fan running after disabling motors // Use TEMP_SENSOR_BOARD as a trigger for enabling the controller fan //#define CONTROLLER_FAN_MIN_BOARD_TEMP 40 // (°C) Turn on the fan if the board reaches this temperature #define CONTROLLER_FAN_EDITABLE // Enable M710 configurable settings #if ENABLED(CONTROLLER_FAN_EDITABLE) #define CONTROLLER_FAN_MENU // Enable the Controller Fan submenu #endif #endif Malheureusement la SKR RRF n'a pas de troisième port pilotable. Bon j'ai fait une astuce en fait, j'ai connecté les ventilos du boitier sur l'alim de la hotend. Du coup quand la tête chauffe, les ventilos s'allument
Savate Posté(e) Mars 11, 2022 Posté(e) Mars 11, 2022 il y a 33 minutes, Ashram56 a dit : j'ai connecté les ventilos du boitier sur l'alim de la hotend. Du coup quand la tête chauffe, les ventilos s'allument et puis ils s'éteignent et puis ils se rallument et puis ils s'éteignent et puis ils se rallument ... (je les aurais plutôt branchés sur le ventilateur de refroidissement de la hotend)
Ashram56 Posté(e) Mars 11, 2022 Auteur Posté(e) Mars 11, 2022 il y a 34 minutes, Savate a dit : et puis ils s'éteignent et puis ils se rallument et puis ils s'éteignent et puis ils se rallument ... (je les aurais plutôt branchés sur le ventilateur de refroidissement de la hotend) La hotend est controllée en PWM. Du coup le fan est aussi géré en PWM, cela ne se traduit donc pas par une extinction/allumage, mais plutot par une vitesse plus réduite. Ceci dit à l'oreille on a pas l'impression que ca change grand chose, je pense que la fréquence PWM de maintien de la température de la hotend est telle que le fan en lui même tourne à une vitesse assez élevée Mais oui dans l'absolu il faudrait que j'ajoute un mux ou quelque chose comme ça sur la sortie de controle du fan de la hotend
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