Aller au contenu

Filament ABS

Chercher dans la communauté

Résultats des étiquettes.

  • Recherche par étiquettes

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

Type du contenu


Forums

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

Chercher dans...

Résultats qui...


Date de création

  • Début

    End


Dernière mise à jour

  • Début

    End


Filtrer par nombre de...

Inscrit

  • Début

    End


Groupe


Website URL


Skype


Twitter


Facebook


Youtube


Instagram


Lieu


Intérêts


Imprimantes

  1. Bonjour à tous, Dans le cadre de mon projet sur une ligne d'extrusion pour filament, j'essaye de faire un Marlin des plus simple, avec casiment rien sur l'écran. Comment fait-on pour enlever tout ce qui est relatifs aux moteurs des axes X, Y et Z disponibles sur l'écran ? Que quand j'aille dans le menus pour bouger les axes, il n'y ait que l'axe E qui apparait ? Merci
  2. Marlin 2.0.x guide pour CR10-V2, carte mère originelle (v2.5.2) ATTENTION: Post très long (mais j'espère complet ), TLDR : en fin de post. les fichiers utilisés pour compiler Modifications réalisées à partir d’un Marlin originel 2.0.9.3 pour une Creality CR10-V2 avec sa carte mère d’origine (Atmega2560, v2.5.2). Utilisation de ce guide avec un autre version de Marlin à vos risques et périls. En modifiant quelques directives (environnement de compilation, carte mère utilisée, pilotes moteurs, …), il est possible d'adapter ce «firmware» pour qu'il fonctionne avec une autre carte que la Creality v2.5.2 Modifications effectuées après lecture approfondie de la «Bible du Marlin» Chapitres Débuter Fichiers modifiés PID autotune BLTOUCH Mesurer NOZZLE_TO_PROBE_OFFSET Unified Bed Leveling (UBL) Mesh Bed Leveling (ABL du «pauvre» mais tout de même bien pratique) Effectuer le nivelage du lit Détection de fin de filament et remplacement du filament Linear Advance Junction Deviation Test «Tout en un» de la rétraction Compiler le firmware Flasher le firmware Mettre à jour / reflasher le firmware Changelog Débuter Installer VSCode and Git (Installation guide) Ouvrir le dossier Marlin comme dans la vidéo d’installation ou Cloner Marlin via PlatformIO (Cliquer sur l’icone «Alien», puis cliquer sur "Cloner Projet Git», coller l’adresse "https://github.com/MarlinFirmware/Marlin/", presser Entrée, sauvegarder, finalement cliquer ouvrir quand le téléchargement est terminé) Ou vous pouvez cloner mon dépôt en fin de post Vous pouvez choisir la version de Marlin en bas à gauche de la fenêtre, par défaut la version la plus récente sera activée Modifier votre Marlin en vous basant sur ce guide Vous pouvez utiliser les fichiers de configuration des exemples de votre carte pour une édition plus facile / rapide. La CR10V2 n’étant pas actuellement recensée parmi les modèles de Creality, vous pouvez utiliser ceux d’une CR10S (ou ceux tout à la fin). EDIT: @thinkyhead a inclus les fichiers de configuration dans la dernière version stable de Marlin (2.0.6 attention, c'est prévu pour la branche bugfixes ). Fichiers modifiés Modifications des fichiers platformio.ini, configuration.h et configuration_adv.h . A - Activer | C - Changer | A&C - Activer et Changer | D - Désactiver ( Activer/Désactiver en enlevant / ajoutant les «//» en début de ligne ) platformio.ini C default_envs = mega2560 Configuration.h A #define SHOW_CUSTOM_BOOTSCREEN A #define CUSTOM_STATUS_SCREEN_IMAGE Vous devrez copier les fichiers _Bootscreen.h / _Statusscreen.h de Marlin\config\examples\Creality\CR10S\ dans le dossier Marlin\Marlin mais en ce cas, la fenêtre de statut indiquera «CR10S 300» alors qu’on souhaiterai «CR10 V2» (utiliser ceux en fin de post). Les fichiers «examples» du dossier config « peuvent être récupérés à partir de Marlin GitHub. ou vous pouvez utiliser ceux fournis dans le fichier compressé en fin de post (je les ai modifié afin que soit affiché «CR10 V2). C #define SERIAL_PORT 0 C #define BAUDRATE 115200 250000 ATMega2560 baudrate par défaut C #define MOTHERBOARD BOARD_RAMPS_CREALITY A&C #define CUSTOM_MACHINE_NAME "CR10-V2" ou le nom que vous voulez (ex: MA CR10 à MOI qu'elle me plait vraiment beaucoup ) C #define DEFAULT_NOMINAL_FILAMENT_DIA 1.75 C #define TEMP_SENSOR_BED 1 C #define HEATER_0__MAXTEMP 255 C #define BED_MAXTEMP 120 A #define PID_EDIT_MENU A #define PID_AUTOTUNE_MENU C les valeurs de P.I.D. pour la tête : #define DEFAULT_Kp 19.47 #define DEFAULT_Ki 1.59 #define DEFAULT_Kd 59.40 A #define PIDTEMPBED Vous n’êtes pas obligé d’activer PIDTEMPBED, si vous êtes satisfait de votre lit chauffant. Mais en calibrant celui-ci, il montera en températures plus rapidement et maintiendra celles-ci plus finement N’oubliez pas de réaliser un autotune du PID du lit après l’avoir activé dans le firmware sinon la protection contre l’emballement thermique pourrait se déclencher lors de la mise en route. Allez consulter le guide dans la section PID autotune, plus bas dans ce post C les valeurs de P.I.D. pour le lit : #define DEFAULT_Kp 690.34 #define DEFAULT_Ki 111.47 #define DEFAULT_Kd 1068.83 C #define EXTRUDE_MAXLENGTH 435 Mesurez la longueur à partir de la roue crantée de l’extrudeur jusqu’à la buse comme longueur de tube PTFE C #define Z_MIN_ENDSTOP_INVERTING true false C #define Z_MAX_ENDSTOP_INVERTING true false C #define Z_MIN_PROBE_ENDSTOP_INVERTING true false Le BLTouch v3/3.1 peut fonctionner soit avec true soit false, mais une erreur est signalée à la compilation si réglé à true A&C #define X_DRIVER_TYPE TMC2208_STANDALONE A&C #define Y_DRIVER_TYPE TMC2208_STANDALONE A&C #define Z_DRIVER_TYPE TMC2208_STANDALONE A&C #define E0_DRIVER_TYPE TMC2208_STANDALONE C #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 93 } si vous avez monté en lieu et place de l’extrudeur d’origine un autre modèle, remplacez 93 par le nombre de pas de celui-ci (BMG / Titan 415, BMG sans réducteur (CR10S Pro) 140, …) pour une CR10-V3 avec un Titan comme extrudeur; le pas de l'extrudeur est de 415. ATTENTION: dans le dépôt Github fourni plus bas, mon extrudeur étant un pseudo BMG (celui des CR10S Pro), le pas est de 140, mon extrudeur est un BMG à réduction (3:1), le pas est de 415 (monté en «extrudeur volant»), pensez à le modifier si vous avez l'extrudeur métallique d'origine (pas initial de 93 qu'il est préférable d'affiner en effectuant un réglage de celui-ci). C #define DEFAULT_MAX_FEEDRATE { 750, 750, 15, 75 } C #define DEFAULT_MAX_ACCELERATION { 2000, 2000, 100, 5000 } C #define DEFAULT_ACCELERATION 800 C #define DEFAULT_RETRACT_ACCELERATION 1000 C #define DEFAULT_TRAVEL_ACCELERATION 800 A #define CLASSIC_JERK Utiliser «Classic Jerk» au lieu de Junction Deviation, car JD ne fonctionne pas correctement actuellement et peut parfois engendrer de mauvais résultats particulièrement lors d’impression de courbes (https://github.com/MarlinFirmware/Marlin/issues/17146) A&C #define TRAVEL_EXTRA_XYJERK 5.0 A #define S_CURVE_ACCELERATION C #define INVERT_X_DIR false C #define INVERT_Y_DIR false C #define INVERT_Z_DIR true C #define INVERT_E0_DIR false Si vous avez une CR10-V3 avec son direct-drive, le moteur possédant un réducteur (3:1), le sens de rotation de celui-ci est inversé. la ligne au-dessus devra donc être à «true» C #define X_BED_SIZE 310 C #define Y_BED_SIZE 310 C #define Z_MAX_POS 400 A #define LCD_BED_LEVELING C #define HOMING_FEEDRATE_Z (6*60) (directive d'anciennes versions de Marlin, maintenant les vitesses de mise à l'origine sont regroupées en une seule directive : #define HOMING_FEEDRATE_MM_M { (50*60), (50*60), (4*60) } ) Augmentez si vous trouvez que c’est trop lent mais ne dépassez pas 10*60 pour l'axe Z. A #define EEPROM_SETTINGS A #define NOZZLE_PARK_FEATURE C #define NOZZLE_PARK_POINT { (X_MIN_POS + 5), (Y_MAX_POS - 5), 10 } A #define PRINTCOUNTER D #define LCD_LANGUAGE fr pour passer l’interface de l’écran en français si vous préférez A #define SDSUPPORT A #define INDIVIDUAL_AXIS_HOMING_MENU A #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER Configuration_adv.h A #define QUICK_HOME A #define BLTOUCH_SET_5V_MODE C #define SLOWDOWN_DIVISOR 2 A #define LCD_INFO_MENU A #define STATUS_MESSAGE_SCROLLING A #define SCROLL_LONG_FILENAMES D #define LIN_ADVANCE L’activation du Linear Advance sur les cartes Creality «silencieuses» mènent à l’arrêt de l’extrusion, il ne faut donc pas activer cette option. C #define LIN_ADVANCE_K 0.00 Le guide pour calibrer la valeur K se trouve plus bas dans la section Linear Advance. C #define EMERGENCY_PARSER C #define ADVANCED_OK A #define CANCEL_OBJECTS PID autotune Rien ne vous oblige à activer PIDTEMPBED, si vous êtes satisfait de votre lit chauffant. Mais en calibrant celui-ci, il montera en températures plus rapidement et maintiendra celles-ci plus finement. Connectez l’imprimante au PC (USB, Octoprint, etc.) Utilisez n’importe quel logiciel capable d’envoyer des commandes gcode à l’imprimante (Octoprint, Pronterface, Repetier, etc.) Connectez l’imprimante via le logiciel si la connexion n’est pas automatique (COM ??, 115200 250000) En envoyant un M301/M304 à l’imprimante vous récupérez les valeurs actuelles du PID de la HOTEND / LIT CHAUFFANT, prenez note de celles-ci Pour débuter un autotune, il faut envoyer un M303 C<nb cycles> A<index> S<température> U à l’imprimante. Pour la hotend j’utilise M303 C10 E0 S220 U (Hotend: E0) Activez la ventilation de refroidissement du filament pour l’autotuning du PID de la hotend C5 est normalement suffisant, mais C10 n’augmente pas le temps énormément, S<température> devrait être 5-à 10° plus haut que la température le plus souvent utilisée Pour le lit chauffant j’utilise M303 C8 E-1 S65 U (Lit chauffant: E-1) C5 est normalement suffisant, mais C8 n’augmente pas le temps énormément, S<température> devrait être la température la plus souvent utilisée. Si après le M303 ... vous obtenez "PID Autotune failed! Temperature too high", envoyez un M304 P0.00 I0.00 D0.00 à l’imprimante, puis refaites l’autotune du PID. Attendez que les opérations soient terminées (quand c’est fait, le cycle de chauffe s’arrête et la température baisse) Prenez note des nouvelles valeurs du P. I.D. affichées Envoyez un M500 pour sauvegarder ces valeurs dans l’EEPROM Pour vérifier que ces valeurs ont bien été sauvées, envoyez un M301 / M304 pour afficher les valeurs actuelles Si les valeurs actuelles de PID ne correspondent pas aux nouvelles, alors vous devez les fixer manuellement: Hotend: Envoi d’un M301 P<valeur> I<valeur> D<valeur> à l’imprimante Lit chauffant: Envoi d’un M304 P<valeur> I<valeur> D<valeur> à l’imprimante Envoi d’un M500 pour sauvegarder ces valeurs dans l’EEPROM Dans Configuration.h mettre à jour les valeurs de PID pour une prochaine mise à jour du firmware (DEFAULT_Kp, ...Ki, ...Kd, DEFAULT_bedKp, ...bedKi, ...bedKd) The 3D Print General PID Autotuning BLTOUCH Configuration.h A #define Z_STOP_PIN 19 (renommé en Z_MIN_PROBE_PIN ) Le BLTouch est «précâblé» sur le Z_MAX_PIN, le endstop originel lui est connecté sur le Z_MIN_ENDSTOP_PIN A #define BLTOUCH C #define NOZZLE_TO_PROBE_OFFSET { 47, 0, 0 } Éditez ces valeurs en fonction de votre matériel et de sa position par rapport à la buse, aide dans la section Mesurer NOZZLE_TO_PROBE_OFFSET C #define MIN_PROBE_EDGE 10 ( renommé en PROBING_MARGIN ) Si vous avez des clips pour maintenir la surface d’impression (verre, miroir, …), augmenter à la taille des clips +5 C #define XY_PROBE_SPEED 6000 9000 ( renommé en XY_PROBE_FEEDRATE ) Avec 6000 le 9000 BLTouch fonctionne de manière plus fiable (9000 mm/min = 150 mm/s) A #define MULTIPLE_PROBING 2 permet d’améliorer le résultat en effectuant plusieurs palpages A #define Z_MIN_PROBE_REPEATABILITY_TEST A #define AUTO_BED_LEVELING_BILINEAR ou utiliser AUTO_BED_LEVELING_UBL / MESH_BED_LEVELING, liens vers des guides plus loin dans ce post A #define RESTORE_LEVELING_AFTER_G28 A #define Z_SAFE_HOMING Configuration_adv.h A #define BABYSTEPPING C #define BABYSTEP_MULTIPLICATOR_Z 4 1 monte l’axe Z de 1 microstep (0.0025), 4 montera l’axe Z de 0.01 A #define DOUBLECLICK_FOR_Z_BABYSTEPPING Double-clic avec l’écran de Statut pour éditer le Z Babystepping pendant une impression A #define BABYSTEP_ZPROBE_OFFSET A #define BABYSTEP_ZPROBE_GFX_OVERLAY Mesurer les valeurs à saisir pour NOZZLE_TO_PROBE_OFFSET Mesurer approximativement les écarts / distances entre la pin de la sonde et la buse dans les directions X et Y La pointe de la sonde devrait être 2.3-4.3mm plus haut que la buse (quand la sonde est rentrée) Modifier les valeurs NOZZLE_TO_PROBE_OFFSET en fonction de vos mesures Compiler - flasher - redémarrer ... Effectuer le Homing (G28) Prenez note des coordonnées X et Y (réalisable via le menu «Move Axis» de l’écran) Déplacez l’axe Z vers le bas jusqu’à ce que la buse touche ou pratiquement touche le lit Marquez le point où la buse touche le lit (assurez-vous que ce marquage ne se déplacera pas sur le lit (utiliser du scotch de marquage par exemple)) Déplacez les axes X et Y via le menu de l’imprimante jusqu’à ce que la pointe de la sonde soit sur la marque Prenez note des coordonnées X et Y Soustrayez les coordonnées X/Y originelles des coordonnées X/Y de la position de la pointe du BLTouch pour obtenir le NOZZLE_TO_PROBE_OFFSET. Exemple pour la CR10V2: après le homing, la buse est en (150,150); en déplaçant le pointeur de la buse à l'emplacement marqué sur le plateau, la position affichée à l'écran devrait être (103,150); donc 150-103=47 pour le X et 150-150=0 pour le Y Unified Bed Leveling (UBL) Marlin UBL guide Chris Riley UBL video guide Mesh Bed Leveling (ABL du «pauvre» mais tout de même bien pratique) Configuration.h Ce type de nivelage n'est à utiliser que si vous n'avez pas installé d'ABL automatique. Donc, à n'activer que si #define BLTOUCH (ou un autre ABL) ne l'est pas déjà sinon Marlin vous signalera une erreur. A #define PROBE_MANUALLY C #define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0 } A #define MESH_BED_LEVELING A #define RESTORE_LEVELING_AFTER_G28 C #define GRID_MAX_POINTS_X 5 (Ou modifiez selon vos préférences) A #define LCD_BED_LEVELING En complément (remarque de @Darkneo (merci à toi )) il faut désactiver certaines directives qui autrement conduisent à une erreur de compilation : D #define Z_MIN_PROBE_REPEATABILITY_TEST et D #define BABYSTEP_ZPROBE_OFFSET (configuration_adv.h) Effectuer le nivelage manuel du lit (Mesh Bed Leveling) Chauffez votre lit à la température d’impression habituelle (ex : 60°C). Assurez-vous qu'il n'y a pas de plastique sur la buse, ce qui modifierait la distance de la buse par rapport au lit Sélectionner: Prepare - Bed Leveling - Level Bed Attendre que le Homing XYZ soit terminé Lorsque le bouton "Cliquer pour commencer" apparaît, appuyez sur le bouton du contrôleur pour vous rendre au premier point Utilisez la molette de commande pour régler Z afin qu'un morceau de papier puisse passer sous la buse en frottant Appuyez sur le bouton du contrôleur pour enregistrer la valeur Z et passer au point suivant Répétez les étapes 4 et 5 jusqu'à ce que vous ayez terminé. Sélectionnez : Configuration - Enregistrer les paramètres pour sauvegarder le maillage dans l'EEPROM Sélectionnez : Mouvement - Hauteur de fondu : Régler sur 10 Sélectionnez : Motion - Stocker les paramètres Faites un test d'impression et, pendant l'impression, vous pouvez modifier la distance entre la buse et le lit en mouvement via les molettes de réglage du plateau Ne surtout pas toucher aux mollettes sinon le maillage ne sera plus correct Utiliser plutôt le réglage des babysteps via «double clic» sur le bouton de l'écran Sélectionnez : Configuration - Stocker les paramètres Plus d’infos : Marlin Bed Leveling (Manual) Teaching Tech Manual Mesh Bed Levelling Crosslink Ender 3 Mesh Bed Leveling Détection de fin de filament et changement de filament Configuration.h A #define FILAMENT_RUNOUT_SENSOR A&C #define FILAMENT_RUNOUT_DISTANCE_MM 5 C #define EXTRUDE_MAXLENGTH 435 Longueur de la roue crantée de l’extrudeur à la buse A #define NOZZLE_PARK_FEATURE C #define NOZZLE_PARK_Z_FEEDRATE 3 Configuration_adv.h C #define ADVANCED_PAUSE_FEATURE C #define PAUSE_PARK_RETRACT_LENGTH 6 Modifiez par votre distance de rétraction C #define PAUSE_PARK_RETRACT_FEEDRATE 30 Modifiez par votre distance de rétraction C #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 40 C #define FILAMENT_CHANGE_UNLOAD_LENGTH 435 Longueur de l'engrenage de l'extrudeuse à la buse OU régler sur 0 pour l'extraction manuelle du filament A #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 30 A #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 15 C #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 435 Longueur de l'engrenage de l'extrudeuse à la buse OU régler sur 0 pour l'insertion manuelle du filament A #define ADVANCED_PAUSE_PURGE_LENGTH 20 A #define ADVANCED_PAUSE_FANS_PAUSE A #define FILAMENT_UNLOAD_PURGE_RETRACT 4 C #define FILAMENT_CHANGE_ALERT_BEEPS 2 3 peut être trop / énervant, si oui, diminuez à votre convenance A #define PARK_HEAD_ON_PAUSE A #define HOME_BEFORE_FILAMENT_CHANGE A #define FILAMENT_LOAD_UNLOAD_GCODES Ajoute le gcode (M701/M702) et Charger/décharger dans le menu de préparation de l'écran LCD. A #define HOST_ACTION_COMMANDS A #define HOST_PROMPT_SUPPORT Plus d’infos : Voir la partie M600 - Filament Change Chris Riley Marlin Filament Change M600 Filament Runout Sensor Linear Advance Linear Advance K-factor Calibration Teaching Tech Linear advance video guide Chris Riley Linear advance video guide Junction Deviation Computing Junction Deviation for Marlin Firmware Test «Tout-en-un» de la rétraction KARL JOHNSON How to Easily Calibrate Retraction in 3D Printers Compilation du firmware J’utilise VSCode avec l’extension PlatformIO ainsi que Git GUI. Le sujet ci-dessous décrit l'installation des logiciels nécessaires à la préparation / compilation d'un firmware Marlin : Pour les anglicistes, Chris Riley VSCode installation guide for Marlin 2.0. Le fichier du microprogramme issu de la compilation qui sera installé se trouve dans «../Marlin/Marlin/.pio/build/mega2560/firmware.hex» Flashage du firmware Plusieurs méthodes sont possibles : Octoprint avec le plugin idoine (Firmware Updater), des programmes (Xloader, ProgISP, Avrdudess, Avrdude (ligne de commande pour les purs et durs)…), via le trancheur (Cura, Prusaslicer,…). directement via VSC en cliquant sur l’icone à droite de celle utilisée pour lancer la compilation. La condition pour que ça fonctionne étant que l’imprimante soit reliée à un matériel informatique via USB pour la liaison et le transfert et qu'elle soit reconnue (son pilote est correct). On utilise le fichier firmware.hex pour flasher. Éviter toute coupure de courant durant ce flashage, attendre que le transfert soit terminé (le processus prend quelques minutes). Normalement à l’issue de celui-ci, la carte doit redémarrer. Mettre à jour / reflasher un firmware Il est inutile de refaire tous les changements à chaque fois que vous voulez mettre à jour une nouvelle version de Marlin, vous devez simplement copier vos fichiers de configuration modifiés dans le nouveau marlin et les comparer dans VSC Source Control (Ctrl+Shift+G), et copier tout ce qui est nouveau ou modifié dans vos fichiers. Tous les changements ne seront pas appliqués sur une mise à jour du microprogramme, pour cela vous devrez réinitialiser vos paramètres d'imprimante : en allant dans le menu de l'imprimante - Configuration - Restaurer les valeurs par défaut, ou en envoyant un M502 à l'imprimante suivi d'un M500 Cela réinitialisera vos paramètres en fonction des valeurs par défaut du microprogramme. Cette réinitialisation est à faire après chaque installation du firmware afin d’éviter toute déconvenue. <EDIT> Depuis la version stable 2.0.9.3, une nouvelle directive «EEPROM_INIT_NOW» permet de réaliser automatiquement la réinitialisation de l'EEPROM après flashage d'un nouveau firmware : Quelques explications sur les commandes M500 à M503 : Changelog 20200414 : version initiale 20200510: corrections, compléments, version «problématique» pour certains désactivation totale du LINEAR_ADVANCE qui ne l'était pas vraiment réactivation du CLASSIC_JERK ajout détecteur fin de filament, directives concernant INVERTING, PULLUP, PIN complément information sur la connexion du BLTouch (Z_MAX_PIN 19) ajout dans la section Flashage, programme AVRDUDESS, possibilité de flasher via VSC si ordinateur relié via USB à la carte (détection automatique du port). 20200619 : corrections, modifications cosmétique : mise en évidence de certains points précisions diverses la vitesse de connexion à passée de 115200 à 250000, précision sur la désactivation du «linear advance» modification du BLOCK_BUFFER_SIZE, BUFSIZE et TX_BUFFER_SIZE dans le fichier configuration_adv.h (des valeurs trop élevées amènent à un dépassement de la capacité de stockage de la RAM pouvant conduire à un écran «bleu» suite au flashage), mise à jour des fichiers de configurations suppression du fichier binaire (chacun devra compiler son propre firmware) 20200801: version de Marlin, dernière en date (2.0.6) suppression du fichier compressé du Marlin lien vers mon dépôt Github (pour les plus curieux, j'ai d'autres branches de Marlin pour d'autres imprimantes / cartes mères) suppression du fichier binaire (je préfère que les utilisateurs progressent en effectuant la compilation eux-mêmes) ajout explications M500 / M503 202020815: corrections mineures (orthographe principalement) complément / rectification concernant les fichiers exemples de configuration fournis par Marlin (la CR10-V2 fait désormais partie des imprimantes à partir de la version stable 2.0.6) 20200918: corrections mineures (orthographe principalement) passées inaperçues passage de mon extrudeur à un BMG à réduction (3:1) dont le pas est de 415 20201012: version de Marlin, dernière stable : 2.0.7.1 20201026: version de Marlin, dernière stable : 2.0.7.2 complément sur le Mesh Bed Levelling (ABL du «pauvre») 20210111: complément pour ceux possédant une CR10-V3 20210815: version de Marlin, dernière stable : 2.0.9.1 20210822: Complément afin d'indiquer les directives de compilation qui ont changé de nom depuis la mise en ligne de ce tutoriel basé à l'origine sur un Marlin 2.0.3 : HOMING_FEEDRATE_Z, Z_STOP_PIN, MIN_PROBE_EDGE, XY_PROBE_SPEED sont dénommées autrement (merci à @Pyroadu signalement ) 20210927: Ajout d'un lien vers un tutoriel de ce forum sur l'installation de son environnement de travail afin de faire son propre firmware 20220103: version de Marlin, dernière stable : 2.0.9.3 ajout d'une nouvelle directive permettant de réinitialiser l'EEPROM automatiquement lors du premier lancement du firmware après flashage Les fichiers ayant servi à la compilation : à récupérer sur mon dépôt Github .
  3. Petit tuto sans prétention pour qui veut comprendre quelques aspects de Marlin, et surtout comment trouver de la place pour ceux qui, comme moi, ont une carte mère limitée. Les plus assidus du forum n'y apprendront rien ou presque, pour le reste, j'espère que ce post pourra être utile. Je suppose dans ces lignes que le lecteur sait déjà comment flasher sa machine avec le logiciel Arduino, et modifier les fichiers configuration.h et configuration_adv.h Je vais essayer de suivre l'ordre des fichiers de configuration, pour ne pas avoir à chercher trop longtemps les lignes correspondantes, mais il faut savoir que je ne détaillerai pas tout : Bien des lignes doivent rester telles quelles si l'on veut garder une imprimante fonctionnelle. Pour info, je me base sur une version de Marlin 1.1.9. Fausses idées toutes faites Tout d'abord, je souhaitais tuer dans l’œuf les fausses croyances que j'ai déjà pu lire ici et ailleurs : Il est inutile de supprimer les commentaires, cela ne vous fera que perdre votre temps Les fonctions commentées (celles commençant par '//'), ne sont pas incluses à la compilation, il est tout aussi inutile des les supprimer Fichiers de langues inutilisées : Dans language_fr.h par exemple, on voit que des tas de lignes concernant le détecteur de fin de filament, l'utilisation de l'UBL (Unified Bed Leveling), etc qui ne sont pas commentées. Même si vous n'utilisez pas ces fonctions, il est inutile de supprimer ou commenter ces variables de langue, elles ne seront pas incluses dans la compilation de Marlin. Lors de la compilation, Arduino va aller chercher et compiler uniquement les informations qui sont nécessaires, aucun superflu ne sera mis en mémoire. Dans la même lignée, rien ne sert de supprimer les lignes vides. Pour la bonne compréhension : - Chaque ligne qui commence par '//' est un commentaire ou une fonction commentée. Cela veut dire qu'Arduino ne lira pas cette ligne, et passera à la suite. - Chaque ligne qui commence par '#' est une instruction. Seules ces lignes seront lues, interprétées et compilées pour votre imprimante. Configuration.h Je ne détaillerai ici que le fichier configuration.h. J'espère avoir le temps dans les jours à venir de faire la même chose pour le fichier configuration_adv.h. Jacky Tuning On commence avec du superflu, l'écran de démarrage : Ligne 80 du fichier : #define STRING_CONFIG_H_AUTHOR "Schyzo, Anet E12 BLTouch" // Who made the changes. #define SHOW_BOOTSCREEN #define STRING_SPLASH_LINE1 "V1.1.9 for Anet E12" // will be shown during bootup in line 1 #define STRING_SPLASH_LINE2 "Adapted For Schyzo" // will be shown during bootup in line 2 Ces 4 lignes ne font qu'afficher l'écran de démarrage ( Boot Screen). L'imprimante n'a pas besoin de ça, et moi non plus. Sans cet écran, l'imprimante sera lancée environ 5 secondes plus rapidement. Commentez-donc ces 4 lignes (en ajoutant '//' devant chaque ligne) si vous voulez gagner plus de 1000 octets (1282 chez moi). Toujours dans le look, ligne 97 : #define SHOW_CUSTOM_BOOTSCREEN Ceci ne sert qu'à afficher une image personnalisée définie dans le fichier Marlin/_Bootscreen.h au démarrage. Certains fournissent une image comme TH3D qui ne fait qu'alourdir le firmware. Vous pouvez commenter Puis, à la ligne 100 : #define CUSTOM_STATUS_SCREEN_IMAGE Même combat, une image personnalisée sur l'écran d'accueil, définie dans le fichier Marlin/_Statusscreen.h comme ici : Vous pouvez commenter cette ligne pour gagner de précieux octets (voir plus). PID Le PID (Proportional Integral Derivative) est un procédé de Marlin et autres firmwares qui permet une montée en température optimisée des éléments chauffants (buse et lit). Lorsque le PID de ces éléments n'est pas activé, la montée en température est définie en 'bang-bang', comprendre en gros en binaire : "Si c'est trop froid, j'envoie du courant à fond, si c'est à bonne température, je coupe". Aussi la température ne fait que monter et descendre, ce qui peut poser une dégradation de l'impression notamment avec la température de la buse. A titre d'exemple, j'ai trouvé cette image sur le forum reprap.org : Page en question : https://reprap.org/forum/read.php?262,782815 Exemple de courbe de température en bang-bang : Avec utilisation du PID : Bref, si j'en parle ici c'est que l'utilisation du PID pèse quand même quelques kilos dans la bataille du gain de mémoire. Pour ma part, j'ai activé le PID de la buse et du lit, quitte à supprimer d'autres fonctions. PID de la buse : Pour l'activer, il faut se rendre à la ligne 362 : #define PIDTEMP Puis environ 20 lignes plus bas, il faut définir les valeurs Kp, Ki et Kd : #define DEFAULT_Kp 28.94 #define DEFAULT_Ki 2.37 #define DEFAULT_Kd 88.30 Si ces lignes sont commentées, décommentez-les. Ces valeurs que je n'expliquerai pas faute de compétence (et ce n'est pas le sujet), sont MES PROPRES valeurs. C'est elles qui définiront la montée en température de votre élément chauffant. A chaque changement de buse ou matériel chauffant (cartouche chauffante par exemple), il faut redéfinir ces valeurs. Pour cela, je vous renvoie vers un tuto du forum qui explique pas à pas la marche à suivre pour récupérer ces 3 paramètres selon votre machine : A noter que l'utilisation du PID pour la hotend requiert environ 3300 octets. PID autotune : Marlin propose d'ajouter un menu dans l'imprimante afin de lancer un autotune, c'est à dire que vous pourrez lancer directement depuis l'écran de l'imprimante un autotune qui calculera et enregistera les meilleurs valeurs pour votre imprimante. Cette fonction lancera une montée en température de la buse (température que vous définirez via l'écran de l'imprimante directement), jugera et enregistrera dans l'EEPROM des meilleurs valeurs obtenues. Pour cela, décommentez la ligne 367 : #define PID_AUTOTUNE_MENU Lors de l'autotune, sélectionnez une température que vous employez le plus. Par exemple si vous n'imprimez que du PLA et PETG, prenez une moyenne haute à 230° par exemple. Le PID autotune occupera 600 octets environ de plus. PID du bed : Pour le lit, l'utilisation du PID reste identique, à savoir une température constante. En mode BED_LIMIT_SWITCHING en revanche, on retrouve la chauffe binaire : On chauffe à fond ou rien du tout. Si vous souhaitez activer l'utilisation du PID pour le lit chauffant, décommentez la ligne 407 : #define PIDTEMPBED Et n'oubliez pas de commenter la ligne 409 afin de libérer un peu de place : //#define BED_LIMIT_SWITCHING Puis comme pour la buse, définissez les valeurs de Kp, Ki et Kd ligne 424 : #define DEFAULT_bedKp 255.01 #define DEFAULT_bedKi 17.39 #define DEFAULT_bedKd 934.85 L'utilisation du PID pour le lit chauffant occupera environ 1400 octets de plus que le mode BED_LIMIT_SWITCHING. A noter qu'il ne sera pas possible, même en ayant activé l'autotune, de lancer un test autotune pour le bed depuis l'écran LCD (vous ne devrez pas avoir à le changer régulièrement, je l'espère pour vous ). Là encore, je vous renvoie vers le tuto de neoraptor pour récupérer les valeurs Kp, Ki et Kd pour votre lit : Protection contre vous-même : Si jamais vous avez confiance en vous, sachez qu'il est possible de désactiver la protection d'extrusion à froid, ligne 445 : #define PREVENT_COLD_EXTRUSION // Permet de ne pas faire tourner l'extrudeur si la température de la buse n'est pas d'au moins 170° (EXTRUDE_MINTEMP) et la protection d'une trop grande extrusion manuelle, ligne 452 : #define PREVENT_LENGTHY_EXTRUDE // Protection pour ne pas extruder plus de 200mm (EXTRUDE_MAXLENGTH) en dehors d'une impression Ces 2 fonctions commentées vous feront gagner presque 1000 octets, à vous de jauger votre confiance en vous Je ne détaillerai pas la désactivation des protections thermiques du bed et de la hotend, qui sont à mes yeux essentielles et donc non négociables. Bed leveling Si certains ont déjà du mener la bataille des octets avec Arduino, ceux-ci savent combien l'utilisation d'un palpeur est lourd. Pour avoir fait quelques tests pour ce tuto, j'estime à 18ko le poids de l'utilisation d'un BLTouch par rapport à un simple endstop. Mais saviez-vous que vous pouviez tout de même espérer libérer un peu de place ? Chaque mode de leveling pèse plus ou moins lourd, et est plus ou moins complet forcément. Bi-linéaire Ligne 982 : #define AUTO_BED_LEVELING_BILINEAR Le mode certainement le plus utilisé et adapté à la plupart des plateaux. Grâce à un palpeur/sonde (BLTouch ou autre), il fait 3 palpages (points) ou plus dans chaque axe (X Y) et en détermine grossièrement ou finement selon le nombre de points déterminés les défauts du plateau, qu'il corrigera pendant l'impression. Nécessite 11 ko sur la carte. 3 points Ligne 980 : #define AUTO_BED_LEVELING_3POINT Avec un palpeur, sonde 3 points déterminés et détermine le nivellage du plateau. Plus léger (6 ko), à n'utiliser que si vous êtes sûrs que votre plateau est bien plat. Linéaire Ligne 981 : #define AUTO_BED_LEVELING_LINEAR Semblable au mode bi-linéaire, corrige un défaut de lit qui ne serait pas correctement incliné. Ce mode ne corrige pas les défauts d'un lit déformé (creux au centre par exemple). Nécessite 11 ko sur la carte, je cherche l'intérêt de ce mode. Unified Bed Leveling (UBL) Ligne 983 : #define AUTO_BED_LEVELING_UBL Ce mode est trop gros pour ma carte, aussi je n'ai pas pu le tester. Quoi qu'il en soit, celui-ci permet de créer une matrice très précise de votre lit et d'en enregistrer les relevés dans l'EEPROM. Puis à chaque impression, palpe 3 points pour déterminer l'inclinaison et les défauts du lit puis s'appuie sur les valeurs précédemment enregistrées pour corriger très précisément l'impression en fonction des défauts de votre lit. Pèse approximativement 48 ko. Mesh Leveling Ligne 984 : #define MESH_BED_LEVELING Un mode que j'ai découvert il n'y a pas longtemps. Celui-ci permet de corriger une déformation du lit, sans nécessiter de palpeur. Vous faites le sondage à la main (aidé par Marlin bien sûr) avec votre feuille de papier, vous jouez avec le Z depuis l'écran LCD et celui-ci corrige les défauts du lit pendant l'impression, comme si vous aviez un BLTouch. 9.7 ko nécessaires pour ce mode. Hauteur lissée (fade height) Avec certains bed leveling activés (Bi-linéaire, Mesh leveling ou UBL), vous avez la possibilité de définir une hauteur lissée, c'est à dire que pendant l'impression, Marlin va au fur et à mesure corriger la pièce pour que le défaut du lit ne soit plus visible à partir de X mm (définie via l'écran LCD ou par la commande M420 Z(hauteur). En exagérant, si votre lit est creux au centre, on peut imaginer imprimer une boite ainsi : En rouge en haut le résultat sans la hauteur lissée, en vert ce que donnera l'impression avec la hauteur lissée. Nécessite 1600 octets. Bed leveling via le LCD Ligne 1106 : #define LCD_BED_LEVELING Permet de faire le leveling si vous avez un des modes cités au dessus activé. Si vous avez activé le Mesh Leveling (manuel), Marlin vous guidera étape par étape via l'écan LCD pour faire le leveling. Requiert environ 1 ko. Déplacement de la tête automatique Ligne 1114 : #define LEVEL_BED_CORNERS Depuis l'écran LCD, permet de faire bouger la buse automatiquement pour faire le réglage aux 9 points du plateau en leveling mauel. Nécessite 1200 octets. Fonctions additionnelles Préchauffage J'ai lu encore récemment qu'on pouvait gagner de la place en commentant les fonctions de préchauffage de PLA et ABS. Bien que je les trouve utile, voilà comment gagner 40 octets. Oui, pas un de plus, 40... Commentez les lignes 1262 à 1268 : #define PREHEAT_1_TEMP_HOTEND 210 #define PREHEAT_1_TEMP_BED 60 #define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255 #define PREHEAT_2_TEMP_HOTEND 235 #define PREHEAT_2_TEMP_BED 80 #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 Il vous faudra également commenter ces lignes dans le fichier configuration_store.cpp, à la ligne 1820 : #if ENABLED(ULTIPANEL) lcd_preheat_hotend_temp[0] = PREHEAT_1_TEMP_HOTEND; lcd_preheat_hotend_temp[1] = PREHEAT_2_TEMP_HOTEND; lcd_preheat_bed_temp[0] = PREHEAT_1_TEMP_BED; lcd_preheat_bed_temp[1] = PREHEAT_2_TEMP_BED; lcd_preheat_fan_speed[0] = PREHEAT_1_FAN_SPEED; lcd_preheat_fan_speed[1] = PREHEAT_2_FAN_SPEED; #endif Notez que mes valeurs ne sont plus celles par défaut. Plutôt que de les virer, j'ai renommé 'ABS' en 'PETG' dans les fichiers de langue, bien plus utile que de tout supprimer pour gagner une misère. Je ne recommande absolument pas de toucher aux fichiers cpp, à vos risques et périls. Modifier les valeurs de l'EEPROM Ligne 1230 : #define EEPROM_SETTINGS Permet depuis votre PC relié à l'imprimante ou l'écran LCD de modifier la vitesse max, accélérations, jerk, steps/mm, offset Z etc etc Si vous êtes certains de ne plus toucher à ces réglages ou de flasher à chaque fois votre imprimante pour les modifier, vous pouvez commenter cette ligne afin de libérer 5.7 ko Récupérer les valeurs de l'EEPROM Ligne 1231 : #define DISABLE_M503 Pour gagner 2800 octets, il faut ACTIVER (ne pas commenter) cette ligne. Permet depuis un terminal de récupérer les paramètres de l'EEPROM (accélération, vitesses, steps/mm, ...). Nettoyage de la buse Il existe une fonction permettant avant chaque print de nettoyer la buse en l'envoyant à un point spécifique de votre plateau (ou légèrement en dehors). Voilà par exemple la réalisation de notre ami @Jean-Claude Garnier qui envoie sa buse se faire polisher sur une brosse à dent : Pour l'activer, ligne 1328 : #define NOZZLE_CLEAN_FEATURE Nécessite 1.7 ko Carte SD Pour ceux qui n'impriment que via PC ou Raspberry, sachez qu'il est possible de désactiver le support de la carte SD. Commentez la ligne 1433 : //#define SDSUPPORT Cela vous libérera presque 17 ko dans la carte de l'imprimante, mais impossible d'utiliser la carte SD.. Pour les extrêmes Encore une fois, si vous n'imprimez que depuis le port USB de votre imprimante, il se peut que vous n'ayez même pas besoin de l'écran. Par exemple, en désactivant l'écran LCD de mon Anet, ligne 1757 : //#define ANET_FULL_GRAPHICS_LCD Cela me fait économiser 39 ko de mémoire que je peux réutiliser ailleurs. Mais je n'ai plus d'écran, tout se fait depuis le PC ou le Raspberry. Voilà pour le fichier de configuration.h, j'essayerai de faire configuration_adv.h dans les jours à venir. N'hésitez pas d'y aller de vos retours si des passages sont à améliorer, réctifier ou clarifier.
  4. Bien le bonsoir, Je me suis équipé du TouchMi, j'en suis très content, mon seul problème c'est que lors du homing de Z, le "rebond" se passe à la même vitesse que le palpage initial, alors qu'il est censé se passer à une vitesse divisée par 4, si j'ai bien compris le principe de : #define HOMING_BUMP_DIVISOR { 4, 4, 4 } Du coup je jongle avec le Z-offset à chaque impression c'est un peu pénible et pas très précis. Je parle bien du homing, car pour le palpage du bed sur 9, 16 ou 25 points, tout se passe comme prévu et c'est d'une précision redoutable. Merci de votre aide !
  5. Bonjour à tous, J'espère que je ne vais pas faire un double post mais les recherches que j'ai faites n'ont pas abouti. Mon imprimante est depuis un an sous Marlin 2.0.3. Avec le firmware d'origine, lorsque je faisais une pause lors d'une impression, la buse faisait gentiment son homing en X et Y. Depuis que j'ai installé Marlin, elle s'arrête effectivement d'imprimer mais ne bouge pas, elle reste sur la pièce, ce qui me contraint à reprendre tout de suite si je ne veux pas de dégâts. Or, comme j'ai de plus en plus de longues impressions à faire, je ne suis jamais à l'abri d'une fin de bobine et j'aimerais pouvoir faire une pause avec homing. J'ai épluché les fichiers de configuration de Marlin sans trouver où cela se paramètre, mais je dois avouer que je suis à une année-lumière de maîtriser la chose. Des recherches en ce sens sur internet ou sur ce forum me ramènent toujours sur la configuration générale, ou bien les classiques comme le bltouch, mais rien à ce sujet précis. L'un de vous pourrait-il m'aider et me dire comment je peux faire en sorte que la buse se gare sur le côté quand je fais une pause ?
  6. Bonjour à tous, Je sollicite votre aide concernant ma chère et tendre Ender 3 dotée d'une CM Creality V4.2.2. J'ai installé un BL Touch et changé le firmware afin que celui ci soit reconnu. Le problème est lors du calibrage du plateau, je demande la palpation de 25 points et le process ne se déroule pas en intégralité. Des fois j'ai 5 points de palpé, d'autre fois 14 ou 23. Il arrive également que lors de la prise de référence du Z que le BL touch rentre tout seul dans le vide (X cm du plateau). Auriez-vous des pistes pour solutionner mon problème ?
  7. Bonjour Comme indiqué dans la présentation pour mes 50 ans acheté une Ender 5 pro, j’ai par la suite acheté un bl touch afin de palier un certains nombres de problèmes d'impressions. J'ai flashé ma carte version 4.22 avec Marlin bl touch sans adaptateur. Là je pense qu'il n'y a pas de souci. Mais lorsque j'initialise l'imprimante çà ne marche pas.Auto home le bl touch reste rouge et j’obtiens les valeurs suivantes(1)je change la valeur de z pour la mettre a 0(2), mais la buse reste à minimum 6 mm du plateau. après je vais dans motion bed leveling probe z offset et j'obtiens la valeur(3) et je finis par et je fins par store setting. Mais les données rentrées ne sont pas enregistrées. Pour n’importe quelles manipulation, impression ou autre l'imprimante revient a X70 Y107 Z10 la plupart des fois.Dans certains cas les valeurs de Z les s'ajoutent. Pourriez-vous me dire ce qui cloche? J'ai entendu que cela venait de Marlin, qu'il fallait changer de carte ou même de logiciel, et là je ne trouve pas de solution. Merci.
  8. Pour tous ceux qui fabriquent leur firmware, la dernière version stable à utiliser désormais est la v2.1 (ou pour ceux qui voudraient rester sur la branche 2.0.x, la v2.0.9.4). Pour ceux encore en version 1.0.x, la 1.0.2-3 est également disponible (une nouvelle version pour la branche 1.1.x ne devrait pas tarder) Plus d'infos => ici, ou là
  9. bonjour a tous. je suis entrain de réaliser un extrudeur de filament d'écrit dans cette video ICI je m'excuse pour les pro de Marlin si je poses des questions stupides étant novice dans ce domaine. voila j'ai acheté tout le matériel d'écrit dans cette vidéo, notamment Mega 2560, Board RAMPS 1.4, LCD 128*64 . j'ai suivi l'installation d'écrite aussi dans cette vidéo de Marlin , mais j'ai une erreur quand je transfère et ca ne fonctionne pas. pourriez vous m'aider si possible. je vous remercie beaucoup de votre aide et désolé pour les pro si c'est facile a comprendre pour vous. voila l'erreur que j'ai. Arduino : 1.8.19 (Windows Store 1.8.57.0) (Windows 10), Carte : "Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)" Marlin:17:18: error: missing terminating ' character see if there's a more suitable starting-point for your specific hardware. ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Marlin:34:27: error: too many decimal points in number (Applies to Marlin 1.0.x, so Jerk and Acceleration should be halved.) ^~~~~ Marlin:38:14: error: missing terminating ' character Marlin's configuration options are explained in more detail here. ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Marlin:53:14: error: missing terminating ' character If you'd like to contribute to Marlin, read this first! ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Marlin:3:1: error: expected unqualified-id before '*=' token *= == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == = ^~ exit status 1 missing terminating ' character Ce rapport pourrait être plus détaillé avec l'option "Afficher les résultats détaillés de la compilation" activée dans Fichier -> Préférences.
  10. Salut les Makers ! J'ai un soucis, après avoir fait le tour de reddit et gitub avec mon anglais approximatif, je suis coincé. J'ai acquis un carte mère BIGTREETECH SKR 1.4 turbo avec pilote TMC2209 Pour une Anet a8PLUS. Après avoir modifié le câblage de ma machine pour correspondre au bonnes polarité de la carte, j'ai pu flasher un firmware test avec la carte SD afin de tester la bête. Tout va bien, tout les branchement sont corrects, j'ai mes retours sur Repetier des infos moteurs et de la version installée. Il me reste plus qu'a inverser le sens d'un moteur et paramétrer 2 trois petit truc. Une fois mes changements effectués et compilé via visual studio, je met le firmware.bin sur une SD formaté en fat32. Mais la SKR ne prend pas en compte ce firmware. J'ai essayé avec plusieurs SD. Je suis a cours d'idée Est il possible que la carte soit "briquée" ? Quelqu'un pour me sauver de ce casse tête ? Merci de votre lecture !
  11. Bonjour tout le monde, Besoin d'aide pour le firmware marlin de mon Ender3, j'essaie de mettre le nez dedans, mais je n'y comprends rien J'ai une Creality Ender 3 avec carte mère 4.2.2. J'ai installé dessus un BL Touch, j'ai mis le firmware correspondant trouvé sur le site officiel Creality, pas de problème ! Mais j'ai décidé de rajouter un détecteur de fin de filament et en changeant le firmware, je n'ai que des erreurs, soit le nouveau firmware ne charge même pas, écran bleu à l'allumage de la machine, soit un bip incessant venant du LCD. Est ce que quelqu'un pourrait m'aider svp ?? Merci d'avance!
  12. Bonjour à tous, Ca fait déjà un petit moment que j'ai mis de côté l'impression 3D mais j'essaye de retrouver parmis les tréfonds de mon ordinateur la version du Marlin qui tourne actuellement sur mon imprimante 3D (je n'ai pas mis le nom de la version sur le dossier). J'ai environ 5 marlin différends et je n'arrive pas à savoir lequel est le bon, vu que la dernière modification que j'ai faites date d'il y a 2 ans (01/03/20 m'indique le gestionnaire de fichiers, le temps file à une vitesse ) Je sais que j'utilise la version 2.0.1 (j'avais modifié la 2.0.5 mais je ne sais plus pourquoi je ne l'utilise pas ) alors j'essaye de retrouver parmis les fichiers du marlin la version. Dans "version.h", il est écrit "2.0.x" malheuresement, donc pas plus d'infos. Dans quels fichiers puis-je retrouver le numéro de version ? Merci à tous, et au plaisir de faire un saut sur ce forum qui m'a accompagné durant toute ces années !
  13. Une question qui revient régulièrement parmi les nombreuses questions posées sur ce forum concerne les relations, les interactions qui existent entre : X_MIN_POS, X_MAX_POS, Y_MIN_POS, Y_MAX_POS, X_BED_SIZE, Y_BED_SIZE, MESH_INSET, NOZZLE_TO_PROBE_OFFSET et PROBING_MARGIN, Il est donc essentiel d’éclairer ce sujet afin de mieux comprendre ces points. L'objectif de ce guide n’est pas d'essayer d'expliquer le fonctionnement d’un système ABL en ce qui concerne la détermination de la zone à sonder, ni la façon de configurer Marlin pour obtenir les meilleurs résultats lors de l'utilisation d’un tel système. Les directives (MESH_INSET, NOZZLE_TO_PROBE_OFFSET, PROBING_MARGIN) ne seront donc pas abordées. Voir éventuellement le sujet suivant pour ces divers points : Que faut-il comprendre avant de configurer votre imprimante : La "taille du lit" (BED_SIZE) ne correspond pas forcément à la taille physique du lit de l'imprimante. Dans la configuration de Marlin, la "taille du lit" (X|Y_BED_SIZE) correspond à la surface d'impression utilisable par l’imprimante. Elle ne sera jamais plus grande que le lit physique. Si la buse ne peut pas atteindre toute la surface du lit, ou s'il y a des obstructions physiques telles que des clips, la zone d'impression sera plus petite que la taille réelle du lit d'impression. En définissant les paramètres X_BED_SIZE et Y_BED_SIZE, nous définissons en fait la taille de la zone d'impression utilisable. Limites de l’imprimante et positions de la buse sur le lit Le plus important dans la configuration consiste à s'assurer que Marlin «comprend bien» où la buse peut se déplacer en toute sécurité et où se trouve la zone d'impression utilisable par rapport à ces limites. Si je prends l'exemple de mon Ender3 S1 : elle a une taille de lit physique de 235mmx235mm la buse peut non seulement atteindre tout le lit sans obstruction (donc dans ce cas la "taille de la zone d’impression" est en fait la taille physique du lit) la buse peut également se déplacer en toute sécurité vers des positions à l'extérieur du lit sur les quatre côtés : - lorsque X est mis à l’origine, la buse est à 5 mm à gauche du bord gauche du lit, - lorsque Y est mis à l’origine, la buse est à 5 mm devant le bord avant du lit, - la buse peut se déplacer en toute sécurité de 12 mm au-delà du bord droit du lit, - et de 2 mm au-delà de l'arrière du lit. Comment indiquer ces dimensions à Marlin ? Ce qu’il faut comprendre est que tout est relatif au coin avant gauche du lit : la position de coordonnées (0,0). Les limites de la machine doivent être définies par rapport à cette position. Dans le cas de mon imprimante, j'utilise la configuration suivante : define X_BED_SIZE 235 define Y_BED_SIZE 235 ... define X_MIN_POS -5 define Y_MIN_POS -5 define X_MAX_POS (X_BED_SIZE + 12) define Y_MAX_POS (Y_BED_SIZE + 2) J’aurais pu également déclarer : define X_MAX_POS 247 define Y_MAX_POS 237 mais je préfère tirer parti du préprocesseur disponible lors de la compilation de Marlin pour faciliter la visualisation de la relation entre les limites et la taille du lit. Ce qui donne le schéma suivant : La zone bleu clair indique les limites de la machine, c'est-à-dire toute la surface que la buse peut atteindre. La zone rose représente la zone d’impression. Ce qu'il faut retenir: les positions minimales X et Y sont négatives, car elles sont relatives à la position 0,0 définie comme étant le coin avant gauche du lit ((et c'est d'ailleurs le cas pour de nombreuses imprimantes). Déterminer les limites de la machine d’une imprimante faisant sa mise à l’origine à Xmin/Ymin Pour utiliser la procédure suivante, vous aurez besoin : - Un écran LCD sur l'imprimante, utilisé pour déplacer la buse de manière contrôlée. - Une connexion à un terminal via un logiciel tel que PronterFace, Repetier Host ou OctoPrint pour pouvoir envoyer les commandes Gcode à l’imprimante. Déterminer X_MIN_POS et Y_MIN_POS 1. Compiler Marlin avec X_MIN_POS et Y_MIN_POS déclarés à 0, et X_BED_SIZE/Y_BED_SIZE réglés correctement. Flasher ce nouveau Marlin sur l’imprimante et redémarrer. 2. Se connecter à un terminal, mettre à l’origine seulement X et Y en envoyant G28 X Y. Ne pas utiliser G28 tout seul (on ne veut pas initialiser Z, encore moins si un ABL est utilisé car il utilise normalement la directive Z_SAFE_HOMING et dans ce cas après une rapide mise à l'origine de X et Y la tête (l'ABL en fait) se déplace au centre du plateau pour réaliser le Z0). 3. S’assurer que la buse est en butée en envoyant G0 X0 Y0. 4. L'écran LCD doit afficher X=0, Y=0. La buse doit être aussi loin à gauche et à l'avant du lit qu'elle peut se déplacer, et être en butée sur les contacteurs de fin de course. 5. Vérifier où se trouve la buse par rapport à l'angle avant gauche du lit. A. La buse est exactement au-dessus du coin avant gauche du lit, félicitations ! Vos valeurs X_MIN_POS et Y_MIN_POS sont correctes. Passer à la section " Déterminer X_MAX_POS et Y_MAX_POS ". B. La buse est à droite du bord gauche du lit, ou derrière le bord avant du lit, ou les deux, passer à la section "Position Xmin/Ymin au-dessus du lit". C. Sinon, à l'aide de l'écran LCD, déplacer la buse avec précaution jusqu'à ce qu'elle se trouve exactement au-dessus du coin avant gauche du lit. Lire les valeurs X et Y sur l'écran LCD. Prendre ces valeurs en ajoutant un moins (-) devant pour les rendre négatives, Les utiliser comme nouvelles valeurs pour X_MIN_POS et Y_MIN_POS. Par exemple, si lorsque la buse se trouve au-dessus du coin avant gauche du lit, vous lisez X=5 et Y=5 sur l'écran LCD alors utiliser les valeurs suivantes define X_MIN_POS -5 define Y_MIN_POS -5 6. Pour le cas C, compiler une nouvelle version de Marlin avec les nouveaux paramètres X_MIN_POS et Y_MIN_POS puis la téléverser sur votre imprimante. 7. Redémarrer l’imprimante, envoyer G28 X Y suivi de G0 X0 Y0. La buse devrait se retrouver juste au-dessus du coin avant gauche du lit. 8. Passez à la section "Déterminer X_MAX_POS et Y_MAX_POS". Position Xmin/Ymin au-dessus du lit. Si la position Xmin ou la position Ymin n'est pas sur le bord ou à l'extérieur du lit alors c’est que la buse ne peut pas atteindre le lit en totalité. La solution la plus sûre dans ce cas est de redéfinir la taille du lit pour n'inclure que la zone que la buse peut atteindre. Par exemple, supposons que la dimension physique X du lit est de 235 mm, mais que lorsque l'imprimante se met à l’origine et que la buse se trouve à la butée minimale X, elle se trouve au-dessus du lit, à 8 mm du bord. Dans ce cas, vous devez configurer X_MIN_POS à 0, et réduire X_BED_SIZE de 8 : #define X_BED_SIZE 227 ... #define X_MIN_POS 0 La même chose s'applique à l'axe Y. Si la buse ne peut toujours pas atteindre le bord droit et/ou arrière du lit, il peut être nécessaire de réduire encore plus la taille du lit - voir la section suivante sur le réglage des positions X et Y maximales. Déterminer les positions X_MAX_POS et Y_MAX_POS Une fois les positions minimales déterminées et configurées en suivant la méthode ci-dessus, il est aisé de déterminer et configurer les positions maximales. Mettre à l’origine X et Y avec G28 X Y. Désactiver les butées logicielles avec M211 S0. Via l’écran LCD, déplacer délicatement la buse vers la droite et l’arrière du lit (coin arrière droit), aussi loin qu'elle peut aller en toute sécurité. Surveiller attentivement toute obstruction au mouvement et ne pas forcer (les moteurs / les courroies apprécieraient moyennement ). La position affichée sur l'écran servira à déterminer les valeurs pour X_MAX_POS et Y_MAX_POS. Mon conseil est de baisser (réduire) de quelques millimètres pour plus de sécurité. Si X_BED_SIZE est supérieur au X_MAX_POS obtenu (idem Y_BED_SIZE supérieur à Y_MAX_POS), régler X_BED_SIZE sur la même valeur que X_MAX_POS (id. Y_BED_SIZE sur Y_MAX_POS).
  14. Bonjour à toutes et tous, Grace à ce tuto j'ai obtenu les informations pour centrer mon impression sur le plateau de mon imprimante. Il faut modifier de la ligne M92 de mon imprimante et je souhaiterai faire cette modification dans Marlin 1.1.9. Je ne sais pas comment trouver la ligne à modifier. Merci pour votre aide.
  15. Salut les copains. Plutôt que chercher dans les divers posts du forum les mises à jour appropriées de nos chères et tendres discoeasy200, je vous propose que nous regroupions sur ce thread, uniquement les mises à jours des firmwares MARLIN Pour les plus curieux d'entre nous : La page d'accueil du site MARLIN / Le dépot GITHUB pour les derniers correctifs Vous y trouverez les coordonnées de la Team qui développe le firmware, je ne suis qu'un simple "arangeur" Mes notations pour les firmwares : Modifications nécessitant juste un paramétrage dans Configuration.h ou dans Configuration_adv.h Trapeze = Firmware incluant la modification du pas pour les tiges trapézoidales (8mm/tour) MK8 = Firmware incluant la modification du pas d'extrusion pour un engrainement de type Prusa MK8 (pour moi 133p/tours) Pour les "DiscoEasy non modifiées", il suffit de rechercher Dobodu dans les 2 fichiers et de suivre les instructions Modification plus profondes du firmware NumC = Firmware incluant l'affichage des numéros de couches (Thanks Gyverblaster) PinMod = Firmware considérant la modification des EndStops SELON LA CARTE DE CONTROLE et non selon le câblage d'origine DAGOMA Cela signifie que le contacteur X- (respectivement Y+, Z-) est cablé sur le End Stop X- (respectivement Y+, Z-) (Version de l'image incluant les numéros de Pins pour ceux qui voudraient toucher au code Marlin) Variantes diverses Ecran : Utilisation de l'écran/Lecteur de carte Dagoma Heatbed : Précision si le firmware est paramètré pour l'utilisation d'un lit chauffant BLTouch : Firmware prenant en compte le BLTouch en lieu et place du capteur par induction (à faire) Babystepping : Firmware autorisant les réglages de positionnement de 1ere couche pendant l'impression FWRetract : Gestion du retrait du filament par Marlin ATX : Utilisation de l'alim ATX (to be continued)
  16. Bonjour à tous, j'en appelle à vos compétences de création de firm. Voici la base, voulant effectué un firm pour une Ender 3 V1 dans laquelle j'ai mis une carte 4.2.7, j'ai télécharger sur le site de Marlin les fichiers nécessaires (version 2.93). Je vais donc dans Vstudio code pour le paramétrage de l'environnement (stm32f103ret6 creality) et là, problème l'environnement n'existe plus (il existe avec dans anciennes version de Marlin). Ce que je voudrais savoir, c'est comment ajouter dans le fichier platformio.ini l'environnement de la carte. Bien sur je me suis rabattu sur une version plus ancienne de marlin (2.07) dans laquelle l'environnement est disponible, mais j'aimerai savoir. Merci par avance pour vos retours. Cordialement. Aldo
  17. Bonjour, Je suis face à un mur... C'est pourquoi je viens chercher de l'aide. J'ai une Creality Ender 3 qui fonctionne très bien. J'ai reçu à Noel une carte mère 4.2.7, un CR Touch ainsi qu'un écran Creality (non tactile) qui doit être celui de la Ender 3 V2. Avant de monter l'écran j'ai fais la MAJ du firmware à l'aide de celui présent sur le site Créality. Tout fonctionnait très bien. Or quand j'ai installé l'écran, plus d'affichage sur l'imprimante, écran noir avec bip non stop. J'ai démonté l'écran, procédé à sa MAJ avec carte sd par l'arrière mais mêmes symptomes au remontage. J'ai fais une MAJ depuis un firmware 4.2.7 de Ender 3 V2 Bl touch. Suite à cette MAJ j'ai un affichage mais pas adapté (je vais faire suivre une photo). J'ai essayé de compiler un firmware perso marlin mais sans succès je ne sais pas quoi remplir lorsqu'il s'agit d'intégrer le cr touch. Quelqu'un a déjà eu le souci? Merci beaucoup
  18. Bonjour à tous Peut on ré installer la version d'origine , j'ai acheté mon ender 3 V2 en nov 2020, mon fils à voulu l'upgrader avec je ne sais pas avec quel firmware et maintenant je suis bloqué avec un écran noir . pouvez vous me dire quel est le firmware d'origine sur cette imprimante achetée en nov 2020 ? Et dois je refaire une réinitialisation de l'écran via une carte SD aussi avec un fichier .bin... il y a 8 minutes
  19. bonjour a tous je viens vous solliciter car j'ai deux problèmes avec mon imprimante : Tevo tornado transformée en IDEX marlin 2.0.8.2 (sur les conseils trouvé dans un sujet de @yopla31) carte mère Bigtreetech SKR PRO V1.2 (avec EEPROM sur le port I2C) et TFT35 V2 + LCD 12864 2 capteurs de fin de filament de type dual guard sensor de hotends.fr (casse et blocage du filament ) // The size of the printable area #define X_BED_SIZE 300 #define Y_BED_SIZE 290 // Travel limits (mm) after homing, corresponding to endstop positions. #define X_MIN_POS -88 //modif arnaud : -xx.x pour parking ? #define Y_MIN_POS 0 #define Z_MIN_POS 0 #define X_MAX_POS X_BED_SIZE #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 300 #define DUAL_X_CARRIAGE //modif : activation #if ENABLED(DUAL_X_CARRIAGE) //modif arnaud à regler #define X1_MIN_POS X_MIN_POS // Set to X_MIN_POS #define X1_MAX_POS X_BED_SIZE // Set a maximum so the first X-carriage can't hit the parked second X-carriage #define X2_MIN_POS 0 // Set a minimum to ensure the second X-carriage can't hit the parked first X-carriage #define X2_MAX_POS 387 // Set this to the distance between toolheads when both heads are homed #define X2_HOME_DIR 1 // Set to 1. The second X-carriage always homes to the maximum endstop position #define X2_HOME_POS X2_MAX_POS // Default X2 home position. Set to X2_MAX_POS. // This is the default power-up mode which can be later using M605. #define DEFAULT_DUAL_X_CARRIAGE_MODE DXC_AUTO_PARK_MODE // Default x offset in duplication mode (typically set to half print bed width) #define DEFAULT_DUPLICATION_X_OFFSET 150 #define FILAMENT_RUNOUT_SCRIPT "M600 T%c" #define NOZZLE_PARK_POINT { (X1_MIN_POS), (Y_MIN_POS + 5), 10 } constatations : en mode DUPLICATION et en mode MIROIR en cas de déclenchement d'un des capteurs de filament les 2 têtes se parquent bien chacune de leurs coté mais le changement de filament ne se fait toujours que sur la tête gauche (E0 / T0) et le TFT me met un message "runout sensor T0" quelque soit le capteur déclenché en mode AUTO_PARK_MODE en cas de déclenchement du capteur de filament gauche (E0 / T0) tout se passe bien la tête se parque a gauche et le TFT met un message "runout sensor T0" et le changement de filament se fait bien en cas de déclenchement du capteur de filament droit (E1 / T1) là ça se passe moins, bien la tête de droite vient a gauche en collision avec la tête gauche le TFT met un message "runout sensor T1" et le changement de filament se fait bien hypothèses : en mode DUPLICATION et en mode MIROIR dans ces 2 modes la tête de droite est la recopie de la tête de gauche, { décalée de la valeur de l'offset X (150 dans ce cas) pour la duplication et décalée de la valeur de l'offset X (300 dans ce cas envoyé par un M605) moins la valeur de la tête gauche pour la copie miroir } il semblerais que MARLIN ne reconnais que le tandem E0 /T0 et ignore le tandem E1 /T1 ça semble être confirmé car si la ligne #define DISABLE_INACTIVE_EXTRUDER est décommentée l'extrudeur droit ne fonctionne pas en mode DUPLICATION et en mode MIROIR j'ai regarder les fichiers M600.cpp et runout.cpp mais je n'ai pas tout compris !! en mode AUTO_PARK_MODE les 2 capteurs sont bien reconnus et exploités donc ça m'écarte les défaut de câblage ou de définitions dans marlin la collision me semble "normale" car : #define NOZZLE_PARK_POINT { (X1_MIN_POS), (Y_MIN_POS + 5), 10 } donc quelque soit le capteur de filament qui déclenche, la tête (gauche ou droite) ira au mêmes coordonnées donc collision une solution a ce problème de collision serait #define NOZZLE_PARK_POINT { (X_BED_SIZE / 4), (Y_MIN_POS + 5), 10 } pour être dans une position safe quel que soit le mode utilisé, mais je préfèrerais faire les changement de filament au dessus des bassin de purge (bien que ça ne soit pas si grave !) si vous avez des idées
  20. En préliminaire, ce document n'est que la description de ma méthode de travail pour préparer un firmware basé sur Marlin. D'autres méthodes existent, l'important est de trouver celle qui vous sied le plus. Ce tutoriel ne s'adresse pas dans un premier temps à de purs débutants. Toutefois, en acceptant de s'y mettre et en faisant vos propres essais / erreurs (principe de tout apprentissage) la réussite peut être en vue (la courbe d'apprentissage n'est pas extrêmement pentue mais la route qui y mène n'est pas aussi droite comme l'avait judicieusement remarqué J.-P. Raffarin en son temps). AU COMMENCEMENT Quand j’ai commencé à préparer mes propres firmwares pour mes imprimantes, je reproduisais la méthode décrite dans bon nombre de tutoriels (écrits ou vidéos) : je récupérais le fichier compressé de la version de Marlin sur laquelle je me basais pour faire mes modifications (platformio.ini, configuration.h et configuration_adv.h. Si parmi les exemples de modèles fournis par l’équipe du Marlin existait l’imprimante à préparer, la tâche était facilitée : copier les configuration.h et configuration_adv.h (et éventuellement s’ils étaient également fournis, _Statusscreen.h et _Bootscreen.h) puis les coller dans le dossier Marlin en remplacement de ceux par défaut. ensuite l’étape de compilation - correction des erreurs, - retour à l’étape 2 (compilation) finalement la compilation étant réussie alors dernière étape, flasher le firmware. Si une nouvelle version stable de Marlin était disponible, il fallait répéter les étapes précédentes depuis la récupération du Marlin compressé jusqu’au flashage. La gestion des différences entre les fichiers de configurations pouvait être facilitée par l’utilisation de Winmerge (ou Notepad++ et l’ajout d’un greffon ou encore avec Visual Studio Code). S’il fallait préparer des versions différentes de firmware (modèle d’imprimante différent, variation de carte mère, présence d’un ABL, type d’ABL, détection de fin de filament, …) alors il était nécessaire d’organiser les dossiers, de les nommer correctement sinon le troisième élément de la trilogie : hardware, software … foutoir ne tardait pas à surgir (loi de Murphy oblige). En gros c’était pour le moins fastidieux et nécessitait une bonne organisation De plus ça finissait par occuper de la place sur l’unité de stockage. En résumé : Un outil de gestion de versions : GIT C’est là que j’ai découvert qu’on pouvait «bénéficier» d’outils de gestion de versions : Git (son créateur n’est autre que Linus Torvald également connu pour avoir au milieu des années 1990 développé le système Linux). Pour aller plus loin dans l’utilisation de GIT : https://www.mcorbin.fr/posts/2020-06-26-git-introduction/ https://rogerdudler.github.io/git-guide/index.fr.html un cours assez complet la cheat sheet (PDF) Git est pratique pour travailler localement mais pour pouvoir diffuser, modifier et faire bénéficier d’autres utilisateurs de ce travail, un système distant comme github augmente les possibilités. Utiliser github.com (ou gitlab si Microsoft vous hérisse le poil) nécessite la création d’un compte uniquement si vous voulez créer vos propres dépôts. Créer son compte Github (gratuit) en cliquant sur «Create a free orgaization» : Un formulaire s’affiche qu’il suffit de compléter : Ne pas oublier la phase de vérification de l’email saisi lors de la création du compte. Quelques termes à connaître, le glossaire github (en anglais) Une fois le compte créé et validé, on peut créer ses propres dépôts directement en ligne ou en local sur son ordinateur (ligne de commandes). Cependant un logiciel très pratique permet de faciliter les différentes tâches : Github Desktop (GD) interface en anglais uniquement et pas de version pour les linuxiens . Télécharger puis installer GD via le lien précédent. Ce logiciel utilisera vos identifiants (pseudo / mot de passe) pour se souvenir de qui vous êtes, ils vous seront demandés à la fin de l’installation. Pour une documentation malheureusement uniquement en anglais, consulter ce lien. Ma méthode de travail avec Marlin En ligne, sur le dépôt github de Marlin, en étant connecté avec votre compte, on va réaliser un «fork» du projet originel (Marlin) (=copie préservant les liens vers le dépôt originel): aller sur https://github.com/MarlinFirmware/Marlin Cliquer sur le bouton FORK : Vous venez de créer une copie identique du dépôt Marlin dans votre compte github précédemment créé Votre dépôt distant contient une copie exacte y compris toutes les branches (variantes) du Marlin originel. Désormais, le dépôt Marlin originel sera dénommé «UPSTREAM», la version de votre dépôt, elle, sera appelée «ORIGIN». Le fork pour le moment n’est présent que dans notre dépôt Github. Pour réaliser les modifications des fichiers de configuration de Marlin, je trouve plus pratique de travailler en local sur son propre ordinateur. On va donc récupérer le contenu de notre dépôt distant. J’ai pris depuis longtemps l’habitude d’organiser et regrouper mes dossiers / répertoires sur mes disques durs (ça facilite les sauvegardes ) => création d’un nouveau répertoire sur une unité de stockage pour accueillir nos futurs «développements» ( C:\GITHUB par exemple ) Première option : Via le site github.com de notre dépôt (notre compte), clic sur le bouton «Code» puis => Open with Github Desktop Seconde option : Via GD, menu principal, «Clone repository…» Saisir l’URL du dépôt à cloner (notre «ORIGIN») dans l’onglet URL, modifier éventuellement le chemin d’accès (Local path) pour correspondre au lieu de stockage prévu puis clic «Clone» Une barre de progression signale le transfert en cours. A la fin du processus de copie en local, on nous demande comment on souhaite contribuer au développement du dépôt cloné (contribuer au projet parent ou pour son propre usage). Si par exemple on pense proposer des corrections / modifications au projet originel (pull request), il est préférable d’indiquer que l’on contribuera au projet parent. Que ce soit avec la première option ou la seconde, toutes les branches du dépôt cloné sont maintenant accessibles sur notre matériel local (origin/x,x,x). Désormais, Github Desktop nous permet d’accéder à notre dépôt distant (View on Github [1]) ou à notre emplacement local (Show in Explorer [2]) et également d’utiliser notre éditeur de code (VSC) en cliquant (Open in visual Studio Code [3]) ; il est évidemment possible d’indiquer un autre éditeur que VSC via les préférences du logiciel ou en cliquant «options» (4). Création d’une nouvelle branche locale Je souhaite créer un firmware basé sur la version stable de Marlin pour une nouvelle imprimante : Choix de la branche (version) qui servira de base (Current branch) nommer cette branche puis clic sur «Create branch» La branche est désormais créée sur notre disque localement : On peut maintenant via notre éditeur (VSC) faire toutes les modifications manuellement dans les fichiers configuration.h et configuration_adv.h ou quand le modèle d’imprimante dispose de fichiers exemples fournis par l’équipe de Marlin, recopier les fichiers nécessaires en remplacement de ceux du clonage. Les modifications seront automatiquement détectées dans GD détection changements dans GD le contenu des modifications est précisé (history), rouge / vert avant / après modifications : Pour le moment, toutes ces modifications n’existent qu’au niveau local, il reste à synchroniser avec github. => Publish branch L’intérêt de la publication de cette branche sur github est : rendre accessible notre dépôt à d’autres utilisateurs en leur donnant le lien vers celui-ci et vers une branche particulière en cas de problème matériel en local (expérience vécue lors de la perte d’un disque dur), il suffira de cloner localement notre dépôt distant pour récupérer nos développements Maintenir à jour la version de Marlin Marlin est régulièrement mis à jour (bugfixes (plusieurs fois par jour) et stable (moins souvent)). On peut tenir notre dépôt local également à jour en suivant les modifications du dépôt originel (UPSTREAM) et en les répercutant dans nos branches. Réalisations par étapes : Upstream => local 1) Dans GD, choix de la branche à mettre à jour soit : - via le menu, onglet «Branch» => Merge into current branch - ou depuis la branche sélectionnée, Choose a branch to merge into branche-sélectionnée - indiquer la version «Upstream» qui servira à fusionner : Dans l’exemple ci-dessus, la version de Marlin étant la version stable, il n’y pas eu de changements (message : this branch is up to date with upstream/2.0.x) Exemple avec la version «bugfixes» dont les mises à jour sont quotidiennes voire plusieurs fois par jour : Le nombre de modifications est précisé, il suffit de cliquer le bouton «Create a merge commit» pour fusionner ces changements dans notre branche locale (Origin). La majorité du temps il n’y a pas de conflits. CAS lors de «conflits» De temps en temps, la fusion (merge) ne peut se faire automatiquement seule. Github Desktop nous indique alors le nombre de fichiers pour lesquels existent un/des conflit(s) : En cliquant sur le bouton «Merge upstream/… into Branch», une nouvelle fenêtre nous précise quels fichiers sont concernés : En cliquant sur le bouton permettant d’accéder à l’éditeur «Open in Visual Studio Code», le (les) conflits seront signalés, un choix devra lors être réalisé par l'utilisateur : On pourra soit : ne pas mettre à jour notre branche avec les modifications de la nouvelle version (Accept Current Change) mettre à jour notre branche (Accept Incoming Change) avoir les deux dans notre fichier pour pouvoir les comparer (Accept Both Changes). Il faudra ensuite faire les modifications manuellement en évitant de réaliser des doublons évidemment. Une fois le (les) conflit(s) résolu(s), ne pas oublier d’enregistrer le fichier modifié dans VSC (clic sur l’icone «disquette») GD détectera notre choix et continuera la fusion (merge). Nos versions de Marlin seront alors à jour. Ne restera plus qu’à compiler notre nouveau firmware «up to date» puis à le flasher sur la carte de l’imprimante. Sans oublier, évidemment de le tester Voilà, on arrive au terme de ce long document qui relate ma manière de travailler quand je propose des firmwares aux utilisateurs de ce forum. D’autres méthodes, procédures existent ; à vous de trouver celles avec lesquelles vous avez le plus d’affinités. L'idée de ce document provient d'une vidéo du Youtubeur australien TeachingTech. N'étant pas un adepte des vidéos pour un apprentissage, j'ai donc créé cette alternative au format écrit. PS: si vous avez des questions concernant ce tutoriel, n'hésitez pas à les formuler en gardant à l'esprit : ce n'est que ma méthode de travail je n'ai pas réponse à tout ma patience a parfois des limites donc évitez de polluer ce sujet par des HS ou des questions «maltapropo»
  21. Bonjour à tous. Je me suis lancé dans les modifications de ma petite cr-7 creality en une ender 2, j'ai donc modifié mécaniquement la machine et compilé un marlin pour mettre à jour la carte. Compilation réussie pour une première, mis en place du bootloader et téléversement ok, tout mes paramètres sont bons (taille, mouvement, chauffe, etc...) mais j'ai quelques questions sur le firmware. Quand l'imprimante fait un "home", elle monte l'axe des z de 20mm, ce qui ma dérange car si à la fin du print précédent le Z est presque à fond, j'arrive en bout de rail du z, je voudrais éviter de la faire monter sur l'axe des Z pour la fonction G28 mais je ne sais pas ou ça se trouve dans configuration.h De plus, j'ai activé le babystep, mais ça ne fonctionne pas, quand je fais un appui long, j'arrive bien au menu concerné avec l'affichage Z: .... mais aucun changement sur l'axe, pire, ça m'arrête le print si je reste sur ce menu ou que je re-clique sur le bouton de l'écran. Et j'en aurai bien besoin. J'ai lu quelque part que sur les anciennes version le babystep ne fonctionné que si l'ABL était activé (bl touch ou autre), est)-ce toujours d'actualité ? J'aurai bien voulu mettre le mesh bed levelling mais j'ai pas assez de mémoire sur ma petite carte, alors de la à mettre un bl touch ou un touch mi..... Merci à vous. Pierre.
  22. @Savate& @fran6p effectivement... Vive windows Sinon je viens de rebuild le firmware de @MrMagounetpour tester (sans modif) et copier le firmware.bin sur une SD (aillant une Artillery X2 avec carte Ruby 32bit) et rien ne ce passe Aurais je raté une étape ? EDIT : Bon j'ai réussi à flash via l'USB en passant en mode DFU l'imprimante, mais je serais curieux de comprendre comment flash via la carte SD car c'est assez chiant de passer en DFU en fin de compte
  23. bonjour j'essai de connecter mon imprimante a Cura , je suis avec un cable usb mais Cura me demande une adresse IP pour me connecter a l' imprimante . je ne trouve pas l'option usb com6 merci
  24. Bonjours, La Anet A8 que j'ai depuis 2017 est maintenant trop petit pour les prints que je voudrais faire. Je me suis donc tourner vers une Tevo Tornado acheter d'occasion dans le coins il y a quelque mois. ( Bonne achat ou pas tel est la question ) Elle est en vente suite a une inondation de plastique. Il y a pas mal de câble coupé/raccordé. La conf modifié qui est installé : -MKS Gen_L V1.0 avec Marlin 1.1.9 -Drivers : 2208 V1 -BL Touch officiel -Ventilateur d'origine remplacer par un 12v dans la "boite" avec une barre de led sur le chassie le tous alimenté par un transfo de pc portable externe -Ultrabase "posé" sur le Bed ( il me semble bien usée et c'est pas vraiment propre ) -Extrudeur en alu no name. J'ai effectué un nettoyage complet buse/bloque de chauffe, bed et tenté l'impression après réglage, mais je me retrouve avec une moitié de pièce. Edit : une fois sur 2 j'ai une erreur de chauffe E1 Faut il faire la maj sur la dernière version de Marlin ? Changer les drivers par des 2209 v3 ? Changer le ultrabase ? Par un plateau magnétique souple. J'aurais bien supprimer le boitier et intégré l'électronique sous l'imprimante ( je manque de place ) avec un octopî. Merci
  25. Ce tutoriel s'adresse à ceux voulant faire leur propre firmware basé sur Marlin. Afin de faire son propre firmware, il est essentiel d'installer correctement son environnement de développement (chaine de compilation). Pour un Marlin, version 1, il était recommandé d'utiliser le logiciel Arduino pour faire les modifications des fichiers de configuration puis réaliser la compilation et éventuellement le flashage du firmware obtenu si l'imprimante était reliée à l'ordinateur via un câble USB. Depuis la version 2 de Marlin, l'environnement de travail préconisé est différent, même s'il reste possible de compiler son propre firmware avec un Marlin 2.x pour des cartes 8 bits avec l'environnement Arduino IDE. Ce que je décris par la suite est ma manière de travailler qui jusqu'à ce jour m'a permis de compiler de nombreux firmwares (pour mon propre usage ou pour celui d'autres membres de ce forum). Passons donc à l'installation des différents logiciels. Installer Git bash Télécharger et installer la version actuelle de Git en fonction de votre OS (Windows, Linux, Mac) Installer Python Télécharger et installer la version actuelle de Python en fonction de votre OS (Windows, Linux, Mac) Comment installer VSC et Auto Build Marlin + Platformio IDE pour compiler Télécharger Visual Studio Code (VSC) à partir d'ici Le choix dépend du système d'exploitation (OS) de l'ordinateur (Windows (7, 8, 10) / Linux / Mac) et de l'architecture (32 / 64bits). Après téléchargement, un double-clic pour lancer l'installation de VSC. Après installation, ouvrir VSCode. Il faudra ensuite installer l'extension «Auto Build Marlin», clic sur le ① indiqué dans l'image ci-dessous, saisir Auto Build Marlin (ABM) dans ② puis cliquer ③ Installer pour finaliser l'installation. Normalement, l'installation de «ABM» devrait avoir également installé en dépendance Platformio IDE. Si ce n'était pas le cas : Installer l'extension «Platformio IDE», comme pour ABM, clic sur le ① indiqué dans l'image ci-dessous, saisir Platformio IDE dans ② puis cliquer ③ Installer pour finaliser l'installation. Après installation de ces extensions, il faudra probablement effectuer un rechargement pour que ce soit pris en compte via Recharger Une fois ces installations réussies, après un nouveau rechargement, Auto Build Marlin et PlatformIO sont installés et apparaissent dans la liste des extensions (plugins) dans la partie gauche de VSCode. Un clic sur l'icône du plugin PlatformIO (①) (une tête de fourmi (certains y voient un «alien») pour le sélectionner, puis un dernier clic sur ② Ouvrir un projet (Open Project) pour ouvrir le projet et pouvoir commencer à travailler avec. Pour compiler un Marlin, il faut au préalable avoir récupéré les sources fournies sous forme d'une archive compressée Décompresser l'archive récupérée à l'issue du téléchargement, un dossier Marlin-2.0.x doit avoir été créé. C'est ce dossier qu'il faut indiquer lors de l'ouverture du projet via Platformio (le fichier platformio.ini doit y être ainsi qu'un dossier Marlin contenant les fichiers sources qui serviront lors de la compilation) Il est recommandé de récupérer les exemples de configuration d'imprimantes proposés par l'équipe du Marlin. Une fois cette archive décompressée, le dossier config/examples contient de nombreux constructeurs et modèles d'imprimantes Exemples du fabricant Creality : Pour une Creality Ender3, il n'y a que l'embarras du choix en fonction de la carte mère installée sur l'imprimante. Il suffira de recopier les fichiers configuration[_adv].h et éventuellement les [boot|status]screen.h dans le dossier nommé Marlin en remplacement de ceux originaux pour se faciliter les étapes liées au paramétrage avant de lancer la compilation Maintenant que l’environnement de travail est prêt, à vous de jouer Bonne(s) compilation(s) et que le filament coule à flot Ce tutoriel est également disponible sur mon dépôt Github
×
×
  • Créer...