Aller au contenu

Filament ABS

Chercher dans la communauté

Résultats des étiquettes.



Plus d'options de recherche

  • 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
    • Électronique
    • Entraide : Questions/Réponses sur l'impression 3D
    • Tutoriels
  • Les scanners 3D
  • Logiciels 3D
  • Le coin des makers
  • Usinages
  • Petites annonces
  • Divers

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

86 résultats trouvés

  1. 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.
  2. Ayant rencontré quelques difficultés d’impression avec des pièces cylindriques sur ma CR10V2 récemment mise à jour avec un bon et beau Marlin 2.0.5.3 dont j’avais fait part dans ce post : La remarque de @Tircown quant au firmware Klipper m’a «provoqué». Aimant les défis, particulièrement quand ils sont liés à l’informatique, l’électronique et la bidouille en général, j’ai sauté le pas. Je vais donc relater mon expérience, en renvoyant vers les liens qui m’ont été utiles et en fournissant évidemment les fichiers de configuration de ma CR10-V2 (pour les pressés, aller directement à la fin du post pour y trouver ceux-ci). Étape préliminaire Étant de la vieille école, je préfère de loin une bonne documentation format écrit fusse-t’elle en anglais plutôt que des vidéos pour me plonger dans un sujet nouveau. Le créateur du firmware Klipper, justement, a bien fait les choses, de nombreuses heures de lecture sont à prévoir (en ligne ou après récupération de l’archive compressée) : https://github.com/KevinOConnor/klipper Un utilisateur du forum, @Nibb31 a réalisé un excellent tutoriel (en français évidemment) qui explique tout : Tout ce que vous avez toujours voulu savoir sur Klipper sans jamais oser le demander Un autre site dont je me suis fortement servi : https://klipper.info/ Après lecture assidue des documents des liens précédents, je peux alors me lancer, d’autant plus que j’ai tout le matériel nécessaire (imprimantes, raspberry pi, cerveau et couteau). Première étape, installation de Klipper Octoprint étant déjà installé et fonctionnel, je m’y connecte via SSH (utilisateur : pi, mdp : cestmonsecret ou raspberry si vous ne l’avez pas modifié (c’est pas bien de ne pas le faire)). On récupère Klipper : git clone https://github.com/KevinOConnor/klipper ./klipper/scripts/install-octopi.sh Ces deux lignes, télécharge Klipper (git), installe les dépendances indispensables, prépare Klipper pour qu’il démarre automatiquement à l’allumage de la framboise et démarre celui-ci sous forme d’un service (le script «install-octopi.sh»est un fichier texte contenant les lignes de commandes). On construit puis flashe le microcontrôleur : cd ~/klipper/ make menuconfig Choix du microcontrôleur de la carte : Atmega2560 pour la CR10-V2, puis on lance la «compilation» : make On vérifie sur quel port la carte est connectée en USB : ls /dev/serial/by-id/* Le résultat affiche un lien symbolique /dev/serial/by-id/usb-1a86_USB-Serial-if00-port0 vers le périphérique physique (chez moi /dev/ttyUSB0). pi@octopi:~ $ ls -l /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 lrwxrwxrwx 1 root root 13 May 18 12:56 /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 -> ../../ttyUSB0 Il ne reste plus qu’à flasher le firmware : sudo service klipper stop make flash FLASH_DEVICE=/dev/serial/by-id/usb-1a86_USB-Serial-if00-port0 sudo service klipper start Pour que ce flashage réussisse il faut que Octoprint ne soit pas connecté à l’imprimante (bouton «Déconnecter»). Seconde étape, configurer Octoprint Configurer Octoprint pour qu’il utilise Klipper : ajouter un port série nommé /tmp/printer dans les préférences, Connexion série, onglet Général, «ports série supplémentaires» puis sauvegarder. Revenir dans les préférences, dans l’onglet «comportement» modifier à la section «Que faire en cas d’erreur de firmware» en cochant «Annuler toutes impressions en cours mais rester connecté à l’imprimante», enregistrer. Reste à tester la connexion après avoir sélectionné le bon port série ( /tmp/printer) puis en cliquant sur le bouton «Connecter». En utilisant le terminal avec la commande «status», une erreur est retournée puisque la configuration de l’imprimante n’est pas faite. Pour me faciliter encore plus la vie, j’ajoute un plugin à Octoprint : Octoklipper Troisième étape, configurer Klipper Il reste à préparer un fichier de configuration correspondant à ma CR10V2. Dans les fichiers du répertoire «config» de Klipper, celle-ci n’est pas présente. Il y en a pour la CR10 et la CR10S (printer-creality-cr10-2017.cfg et printer-creality-cr10s-2017.cfg) Dans les sources du Marlin2, les attributions des pattes d’un microcontrôleur sont regroupées dans le dossier src/pins/«controleur»/pins_«carte».h. La carte de la CR10-V2, version2.5.2 (Atmega2560), est déclarée comme une RAMPS modifiée par Creality : #define MOTHERBOARD BOARD_RAMPS_CREALITY les numéros des pins à déclarer seront donc dans pins_RAMPS_CREALITY.h (et en inclusion pins_RAMPS.h). Le fichier prévu pour une CR10S correspond aux attributions, il y aura donc moins de travail de tâtonnement et ça c’est cool. Il y a bien quelques différences mais elles sont minimes. Ayant un Bltouch d’installé, le pin utilisé est celui du Z_MAX alors que le endstop est sur le Z_MIN. Je complète ce fichier de configuration avec les options dont j’ai besoin, place ce fichier dans le home du Pi et relance Klipper soit via le terminal d’Octoprint («firmware_restart») ou via le plugin Octoklipper et le bouton «Firmware» ou «Host» Quatrième étape, vérifier la configuration La documentation relate les étapes à suivre pas-à-pas : vérifier l’affichage des températures vérifier l’«arrêt d’urgence» (M112) vérifier la mise en chauffe du lit et de la tête vérifier le fonctionnement des moteurs vérifier les fins de course vérifier les pilotes des moteurs vérifier le moteur de l’extrudeur calibrer les réglages de PID (tête / lit) Dans l’ensemble peu de modifications à effectuer pour que l’ensemble fonctionne (au cas où, j’avais le doigt prêt à appuyer sur l’interrupteur de l’alimentation). Toutes les attributions de «pins» format «arduino» (déclaration pin_map dans la section [mcu] du fichier de configuration) sont correctes. Possédant un détecteur de fin de filament, j’ai juste eu à inverser sa logique de fonctionnement : au départ : switch_pin: ar2 devient : switch_pin: !ar2 Ma CR10V2 a été modifiée par l’adjonction d’un système d’auto-nivellement (BLTouch de Antclabs ®). Creality a prévu d’origine la possibilité de cet ajout, tout est pré câblé sur la carte mère, il suffit de connecter la prise femelle du câble du Bltouch (5 broches avec détrompeur) sur l’embase électronique située sous l’extrudeur. Cela évite d’ouvrir le boîtier d’alimentation pour déconnecter le contacteur de fin de course de l’axe Z branché sur le ZMIN. La pré connexion du BLTouch le branche sur le ZMAX donc la «pin» à déclarer est la n”19 en mode «pullup» : [bltouch] # CR10V2, connexion sur ZMAXPIN (19) sensor_pin: ^ar19 control_pin: ar11 pin_move_time: 0.4 x_offset: 47 y_offset: 0 # Increase Z_Offset to lower nozzle closer to bed. PLA 1.55 #z_offset: 1.55 speed: 60 Cinquième étape, améliorer la configuration L’imprimante étant à nouveau fonctionnelle, quelques impressions sont réalisées. Auparavant, il me faut modifier les gcodes de démarrage et de fin de mon trancheur (Cura dans un premier temps). En effet, Klipper n’utilise pas la totalité de ceux prévus pour un Marlin (ex : G29). Cette page donne tous les gcodes connus de Klipper. Il utilise de nouvelles directives (extended G-code) sous forme de mots clés équivalents aux gcodes (ex : STATUS, FIRMWARE_RESTART, BED_MESH_CALIBRATE, …). L’avantage de ce système est que l’on peut créer des macros relativement complexes afin de simuler leur équivalent en gcode Marlin. Par exemple pour mes gcodes de démarrage / fin, je vais utiliser les macros suivantes : [gcode_macro START_PRINT] variable_T_BED: 60 variable_T_EXTRUDER: 200 gcode: M117 Home sweet home # Use absolute coordinates G90 # Reset the G-Code Z offset (adjust Z offset if needed) SET_GCODE_OFFSET Z=0.0 # Home the printer G28 # Use the bed mesh #G29 BED_MESH_PROFILE LOAD=cr10v2 # Move the nozzle near the bed G1 X15 Y20 Z5 F6000 M117 Chauffe Marcel # Start bed heating and continue M140 S{T_BED} {% if printer.heater_bed.temperature < params.T_BED|float*0.85 %} M190 S{params.T_BED|float*0.85} # wait till 0.85 of bed temp is reached, then continue {% endif %} M140 S{T_BED} M104 S170 # Prechauffe buse M190 S{T_BED} M109 S{T_EXTRUDER} # Prime line PURGE M117 C’est parti, mon Kiki... [gcode_macro END_PRINT] gcode: M117 C’est fini # move z up G91 G1 E-2 Z+10 F3000 # absolute xy G90 G1 X5 Y295 F2000 #disable hotend and heated bed M104 S0 M140 S0 # disable steppers M84 BED_MESH_CLEAR # prime the nozzle [gcode_macro PURGE] gcode: M117 Ligne de purge G92 E0 ;Reset Extruder # move z axis G1 Z2.0 F3000 ;Move Z Axis up # move to prime position G1 X2 Y30 Z0.28 F5000.0 ;Move to start position G1 X2 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line G1 X3 Y200.0 Z0.28 F5000.0 ;Move to side a little G1 X3 Y50 Z0.28 F1500.0 E30 ;Draw the second line G92 E0 ;Reset Extruder G1 Z2.0 F3000 ;Move Z Axis up # G29 => (1) home all (2) get bed mesh (3) move nozzle to corner so it doesnt ooze on the bed while heating up. [gcode_macro G29] gcode: G28 BED_MESH_CALIBRATE G0 X0 Y0 Z10 F6000 BED_MESH_PROFILE save=cr10v2 Dans Cura, mes gcodes de démarrage / fin deviennent ) : ; gcode macro Klipper (démarrage) START_PRINT T_BED={material_bed_temperature_layer_0} T_EXTRUDER={material_print_temperature_layer_0} ; gcode macro Klipper (fin) END_PRINT Avant de me lancer dans les impressions, je réalise la calibration de l’extrudeur (100 mm demandés = 100 mm fourni), méthode «matérielle only» donc PTFE déconnecté en sortie d’extrudeur. Résultats, un poil trop (trois tests de 100 mm, au lieu de 300mm, j’ai 303, donc règle de trois pour affiner mes pas qui passent de 0,00714285 (1/140 pas) à 0.00719666 (1/138.95 pas) [mon extrudeur a été remplacé par celui des CR10S Pro, BMG sans réduction]. Un premier cube de calibration (25x25x25mm) est tranché puis envoyé à Octoprint afin d’être imprimé. Les résultats dimensionnels sont très corrects (25 x 25 x 25,02 (XxYxZ). Au dessus j’ai bien 10 , 20 et 6 mm, les ponts sont bons, pas de «stringing» sur la face colonnes, un beau cercle, des «overhang» quasi parfaits. Le seul défaut est un léger «pied d’éléphant». Impression faite avec du PLA 3D870 Blanc (le stock de filament commence à s’épuiser), température de 215°, vitesse d’impression de test à 100 mm/s sauf pour les parois, interne à 75 mm/s, externe à 50 mm/s. J’en profite en continuant mes tests, j’ajoute la gestion de la rétraction dans le firmware Klipper (je reprends les valeurs utilisées par Cura) : [firmware_retraction] retract_length: 5.2 retract_speed: 25 unretract_extra_length: 0 unretract_speed: 20 et en ajoutant l’option dans Cura : Un autre cube de calibration (30x30x30) avec des cylindres internes de profondeur 20 mm sert à tester cette «nouvelle rétraction». L’examen du gcode obtenu permet de voir les nouveaux gcodes de rétraction (G10/ G11). ;Generated with Cura_SteamEngine 4.6.1 M82 ;absolute extrusion mode ; gcode macro Klipper START_PRINT T_BED=60 T_EXTRUDER=215 G92 E0 G92 E0 G10 ;LAYER_COUNT:150 ;LAYER:0 M106 S255 G0 F6000 X165.065 Y129.811 Z0.2 ;TYPE:SKIRT G11 G1 F1200 X165.708 Y129.86 E0.02145 … Sixième étape, Pressure Advance Qu’est que c'est que ça que c'est ? D’après la documentation, «Pressure advance does two useful things - it reduces ooze during non-extrude moves and it reduces blobbing during cornering. (traduction approximative : L'avance à la pression a deux effets utiles : elle réduit le suintement lors des mouvements sans extrusion et elle réduit les coups dans les virages (mon interprétation : les coins sont plus francs, moins arrondis )). C’est plus ou moins l’équivalent du «Linear advance» pour Marlin. Malheureusement, cette option, je ne peux pas l’activer dans Marlin avec ma carte Creality «silencieuse» équipée de pilotes TMC2208 déclarés en mode standalone. Si je l’active, mon extrudeur va plus ou moins rapidement arrêter de fonctionner. Depuis quelques mois (mi mars 2020), le développeur de Klipper a fourni une correction qui permet d’utiliser ce firmware avec cette option pour des TMC2208 en standalone. En suivant scrupuleusement la documentation, la tour carrée est tranchée, les directives d’impression sont données, l’impression est lancée. Une fois finie et examinée, mes valeurs de PA sont ajoutées dans la section [extruder] du fichier de configuration. Conclusion (provisoire) Klipper est un excellent firmware qui mérite d’être essayé. Une fois le flashage sur la carte mère réalisé, sa facilité de paramétrage, de tests est sans commune mesure avec Marlin : on effectue les modifications dans le fichier de configuration, après un RESTART ou un FIRMWARE_RESTART, la nouvelle configuration est prise en compte, plus besoin de modifier son (se) fichier(s) «.h» puis de recompiler et installer en flashant. La possibilité des «macros» est juste énorme, de nombreuses choses deviennent possibles. Klipper peut gérer (je n’ai pas testé) plusieurs cartes (en gros principe de maître / esclave), l’absence d’une fonctionnalité sur la carte principale n’oblige pas forcément à en changer. On ajoute une autre carte (une RAMPS par exemple) et on peut utiliser ses fonctionnalités en plus de la carte «principale». Merci @Tircown de m’avoir obligé à sortir de ma zone de confort et un grand merci @Nibb31 pour avoir créer son excellent tutoriel. A suivre… PS : pour ceux qui voudraient tenter l’aventure, comme promis en début du sujet, mes fichiers de configurations actuellement utilisés et fonctionnels sur ma CR10V2 avec sa carte d’origine V2.5.2. Fichiers à placer dans le home de Pi, là où se trouve Octoprint (/home/pi): CR10V2-LI3D.zip
  3. Bonjour, Sauriez-vous me dire comment je peux supprimer certaines options dans les menus, comme par exemple les 2 preheats que je n'utilise jamais. Je ne trouve rien dans les 2 configuration.h qui me permettrait faire cela.
  4. Bonjour, Dans cette nouvelle version de marlin, l'option de menu sélectionnée (sur une Ender-3) est simplement entourée de 2 traits en haut/bas de la ligne en question. Sauriez-vous me dire comment revenir à l'ancien rendu qui "inversait" la ligne sur laquelle on se trouve ?
  5. imprimante 3D tevo banggood
  6. Bjr J'ai une DE200 que j'ai upgradée avec extrudeur+ (Dagoma), plateau chauffant et tiges trapézoïdales (Atelier 3D). Je souhaite installer une option bicolore (XCR 2in1 chinoise). J'ai déjà toutes les pièces. Ma question est concernant le firmware. Sachant que Dagoma ne fournit pas de firmware avec plateau chauffant et que l'Atelier 3D ne fournit pas de firmware avec l'option bicolore, je vais être obligé de recompiler un firmware. Du coup, je me pose la question de savoir, s'il vaut mieux recompiler le firmware de chez Dagoma en activant le plateau chauffant ou compiler la dernière version de Marlin avec toutes les modifs que ça implique. Qu'apporte le dernier firmware par rapport à celui de Dagoma ? Par ailleurs, j'ai 2 extrudeurs+, comment est géré le bouton de pause pour le changement de filament ? Gère-t-il les 2 extrudeurs ? Faut-il un second bouton ? Dans ce cas où se branche-il (plus de place sur la carte) ? Peut-on affecter cette fonction à un autre connecteur ou peut-être sur le même connecteur que le bouton 1 mais su la pin restante en supposant que 1 des fils est un commun ? Merci V.
  7. Bonjour à tous, Creality continue de se mettre en conformité avec la licence Open Source de Marlin. La majorité de leurs modèles sont concernés. Le seul absent pour le moment est la CR X. L'adresse pour récupérer ceux-ci se trouve là. Faites chauffer Arduino et bonnes compilations.
  8. Bonsoir à tous, Noël m’a gâté d’une Geeetech Prusa i3 pro b et je cherche à la régler/calibrer au mieux. suivant un TUTO pour calibrer l’extruder, je me suis aperçu que celui-ci n’avalait pas les 10cm demandés, j’ai donc modifié via le LCD le step_per_unit de 93 à 123 (!). Étrangement, je me suis aperçu que mes réglages de STEP sur les axes étaient faussés en conséquence... je suis donc revenu à 93 (je parle bien du réglage ESTEP... concernant le moteur de l’extrader pourtant). Là-dessus, la fatigue m’amène, je ne sais trop pour quelle raison, à sélectionner « SET HOME OFFSETS » sur le LCD. Juste avant cela ou juste après, mon chariot était parti trop loin en je me suis aperçu que ma tige X n’était plus horizontale ! Et ma buse crachait le plastique 0,5cm au-dessus du plateau... Je pense être parvenu à remettre de l’ordre mais un point me chiffonne : la position HOME amène le chariot devant à gauche avec y=0 et z=0, mais en dehors du plateau sur l’axe X. A partir de là, j’imagine que j’ai un offset sur X à régler donc de positionne via le LCD le chariot au point de coordonnées (0,0,0) c’est à dire à l’intersection des lignes blanches du plateau, puis je sélectionne « SET HOME OFFSET » me disant que c’est son rôle. Seulement, au fallu l’âge de la bête, ce réglage n’est pas conservé et surtout, suis-je dans le vrai ? Sous Repetier-Host, lorsque je demande le menu EEPROM Settings, une fenêtre s’ouvre mais sans aucun paramètre : normal ? Je précise que je suis sous Mac. Par ailleurs, je pensais que mon firmware était un Repetier et non un Marlin (je ne confonds pas avec le logiciel du même nom) mais je ne trouve pas de firmware : serait-ce RAMPS1.4 ? Bref, comment identifier son firmware ? Comment identifier sa carte GT2560 : A ou A+ (car j’attends un Bltouch de chez Geeetech, mon plateau semblant être bombé en son centre rendant délicat la mise à niveau...) Je remercie par avance ceux qui auront eu le courage de me lire, bien conscient que tout ceci est décousu et digne d’un novice. Mais à partir de vos lumières, j’espère pouvoir poursuivre et attaquer ensuite un réglage de l’extension en sortie (mes impressions d’objets laissent apparaître une sous-extrusion selon moi).
  9. (en cours d'édition) Hello tous, J'ai entrepris de me compiler le dernier Marlin 1.1.x afin de bénéficier du capteur de fin de filament que j'ai acheté (la fonction est désactivée dans le firmware embarqué car Creality n'en fourni pas sortie d'usine) Ce n'est pas un tuto mais plutôt un suivi de ma démarche, n'hésitez pas à me corriger ou à me compléter, je débute Mes infos : - Creality CR-20 PRO achetée il y a 1 mois - Carte mère embarquée : Creality 2.2 (ATMEGA2560) - Firmware : 1.1.6 English/Chinese - PC sous Ubuntu But : - Activer le Filament Runout sensor - (optionnel) Ajouter le Français aux menus Prérequis : - Environnement de dev Arduino 1.8.10 : https://www.arduino.cc/en/Main/Software (dans mon cas le linux https://www.arduino.cc/download_handler.php?f=/arduino-1.8.10-linux64.tar.xz) - Firmware de secours au cas ou ça tourne mal : ProMarlin1.1.6BLTouchPowerLossContinueEnglishandChinese (sur le site officiel : https://www.creality.com/creality-cr20-pro-3d-printer-p00254p1.html) - Sources du firmware 1.1.9 : https://github.com/MarlinFirmware/Marlin/releases/tag/1.1.9 - (optionnel) Bugfix post 1.1.9 : https://github.com/MarlinFirmware/Marlin/tree/bugfix-1.1.x Ce sont les correctifs en attente de release 1.1.10, un peu risqué, à réfléchir - La librairie U8GLIB 1.19.1 (pour l'affichage LCD) : https://github.com/olikraus/U8glib_Arduino - Les fichiers de configuration CR-20 Pro (configuration.h et configuration_adv.h) : https://github.com/mcFactor/CR-20-Pro-Marlin Steps : - Dézipper le source 1.1.9 dans un répertoire quelconque (on va dire /source_marlin) - Ecraser les fichiers configuration.h et configuration_adv.h de /source_marlin/Marlin/ par ceux du github mcFactor - Installer l'environnement de dev Arduino - Dans le menu Fichier / Préférences, cocher "Afficher les numéros de ligne" - Charger le source dans l'environnement Arduino IDE Menu Fichier / Ouvrir : /source_marlin/Marlin/Marlin.ino Il ouvre la centaine de fichiers dans des onglets - Dans configuration.h Aller ligne 931 et décommenter la ligne //#define FILAMENT_RUNOUT_SENSOR en enlevant les deux slash Aller ligne 1278 et décommenter la ligne //#define NOZZLE_PARK_FEATURE (idem) - Dans configuration_adv.h Aller ligne 981 et décommenter la ligne //#define ADVANCED_PAUSE_FEATURE (idem) - Ajouter la bibliothèque u8glib à l'environnement Menu Croquis / Inclure une bibliothèque / Ajouter la bibliothèque .ZIP Chercher le zip téléchargé sur le github olikraus et cliquer sur OK - Paramétrer la carte Arduino de destination Menu Outils / Type de carte / Arduino Genuino Mega or Mega 2560 Menu Outils / Processeur / ATMega2560 (mega2560) - Compiler Menu Croquis / Vérifier Compiler (ctrl+r) Si tout est ok Menu Croquis / Exporter les binaires compilés - Récupérer les fichier compilés (.hex) directement dans le répertoire des sources du firmware (chez moi /source_marlin/Marlin/) Flash du firmware : - Avec Xloader ou Cura https://youtu.be/ACRM3xAGXo4 (à compléter)
  10. Bonjour, J'ai des problème de qualité depuis mon upgrade. Les impressions réalisées depuis octoprint sont dégradées sur les petits mouvements alors que l'impression est bonne depuis la carte SD On le voit sur les formes arrondies qui sont plus épaisses et portent de nombreux blobs alors que sur la longueur c'est bien lisse. J'ai essayé plusieurs choses : - passer au raspberry 4 (cela a un peu améliorer la qualité) - passer à 115200 baud => pas de changement - réduire le feed rate à 75% d'octoprint ==> pas de changement Le firmware utilisé : CrealityDwin_2.0 : https://github.com/InsanityAutomation/Marlin/tree/CrealityDwin_2.0
  11. Bonjour à tous, Voilà, ça fait un moment que je n'ai pas eu l'occasion de passer sur le forum, plein de projet perso pendant cette période et donc forcement moins de temps pour jouer avec mon U20 Cependant j'ai un peu de temps libre ce WE et donc je profite de tout ça pour terminer enfin le montage du touch-mi sur mon U20.... Le moins que l'on puisse dire, c'est que côté firware, ça ne chome pas ! bravo @Epsylon3 , @Hobi et @CacaoTor Par contre, raccrocher les wagons c'est plus si simple. - J'ai trouvé des firmwares tout compilés par egamaker ...http://egamaker.be/marlin-2-0-5-3-pre-compile/ : Flash ok, un erreur de version sur l’écran de contrôle (Err EEPROM Version) mais ça fonctionne ... sauf qu'on dirait que le TM est situé à gauche et donc le G28 plante Je remets à jour mon VStudio, recupére les sources et j'applique le tuto de @Tomsti mais le code est différent depuis novembre, je ne retrouve plus les infos relatives au positionnement du touch-mi à droite , Bref, je veux bien un peu d'aide : donc si vous avec sous la main une version compilée (U20, ecran 1.2, touch mi à droite déploiement à droite, freq 12Mhz) qui va bien ... Je suis preneur !! Les fichiers .h m'iront tout aussi bien ! @ vot' bon coeur ! Merci
  12. Salut à tous, j'avais fait la mise à jour du firmware de ma mecreator2, mais à partir de là plus rien n'a fonctionné... Et c'est pas faute d'avoir essayé, je ne sais combien de dizaines d'heures passées sur Marlin. Voilà, d'après ce que j'ai compris des paramètres dans configuration.h, mon référentiel 0/0 se trouve devant à gauche, mais mes capteurs de fin de course X et Y (Auto home) se trouve derrière à droite, et lorsque j'essaie de les déplacer manuellement, ou au début d'une impression, même résultat: il force contre les butées, qui fonctionnent correctement, vérifiées au multimètre et lorsque je change les paramètres elles sont prises en compte, mais du coup partent dans le mauvais sens et tout s'inverse, je crois avoir fait toutes les combinaisons possibles. Je ne trouve pas de solution, le code ci-dessous est l'original Carte arduino mega gt2560 rev B Si quelqu'un a une solution ce serait plus que génial. #define INVERT_X_DIR true // for Mendel set to false, for Orca set to true #define INVERT_Y_DIR true // for Mendel set to true, for Orca set to false #define INVERT_Z_DIR true // for Mendel set to false, for Orca set to true #define INVERT_E0_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false #define INVERT_E1_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false #define INVERT_E2_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false // ENDSTOP SETTINGS: // Sets direction of endstops when homing; 1=MAX, -1=MIN #define X_HOME_DIR 1 #define Y_HOME_DIR 1 #define Z_HOME_DIR -1 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS. #define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below. // Travel limits after homing #define X_MAX_POS 160 #define X_MIN_POS 0 #define Y_MAX_POS 160 #define Y_MIN_POS 0 #define Z_MAX_POS 157 #define Z_MIN_POS 0
  13. Hello Ben comme le dit le titre, le menu Motion est vide comme ça, une idée peu être ? Le même problème que lui ICI Merci
  14. Bonjour à tout le monde. Je cherche le firmware d'origine pour mon anet e12, ma carte mère ne fait plus bouger le moteur de l'axe Y, j'ai essayé un autre câble et interverti avec le moteur X, donc j'ai commandé une nouvelle carte sur ali https://fr.aliexpress.com/item/32912965036.html J'ai envoyé un message au vendeur pour savoir si le firmware était déjà sur la carte, pas de réponse. Dans le doute j'ai cherché sur internet mais je n'ai pas trouvé un non modifié et, sur la carte sd livrée avec l'imprimante il n'y ai pas. Si quelqu'un pouvait me donner une solution ce serait bien. Merci.
  15. Bonjour à tous, J'essaie souvent de me débrouiller seul mais la...je suis un peu paumé et j’appelle à l'aide ! J'ai une I3 MEGA de 2017, 2 moteurs Z, un capteur inductif (viré), un firmware qui affiche v1.0.0... Après avoir eu qq soucis avec l'extrudeur, j'ai décidé d'acheter le kit d'upgrade i3 MEGA S avec l'extrudeur TITAN. (https://www.anycubic.com/collections/accessories/products/upgrade-accessories-kit-for-i3-mega-to-i3-mega-s) Je l'ai monté et injecté le firmware officiel d'AnyCubic : "Upgrade_Mega_to_Mega-S Firmware V1.1.5" trouvé ici : https://www.anycubic.com/blogs/videos/all-you-need-to-know-about-anycubic-i3-mega Et la problème : lorsque je tente de faire un HOME...ça bip à chaque fin de course 'Z' et les moteurs de 'Z' continuent à tourner et font brouter l'axe des 'Z'... Bon j'ai pensé à une mauvaise connexion des fin des courses 'Z'...tout checké : OK ! J'ai réinjecté le firmware 1.0 : NO SOUCIS ! (par contre, l'extrudeur ne fonctionnera pas correctement puisque le pas n'est pas le bon) J'en conclus donc que je n'injecte par le bon firmware pour ma machine !?? Je précise que je n'ai pas la machine en 32 bits et pas de plateau ULTRABASE... Une idée svp ?
  16. Bonjour, J'ai imprimé toute les pièces du bras Moveo de BCN3D et je les ai assemblées. Jusque là pas de problème... J'ai acheté les moteurs pas-à-pas qui mettent en mouvement les articulations, le servomoteur pour la pince, une carte Ramps 1.6, des drivers Tb6560 et une carte arduino Mega. Jusque là ça va... Avec de l'aide, j'ai effectué le branchement électrique d'un moteur pas-à-pas et d'un servo moteur sur le driver , la carte Ramps 1.6 et l'Arduino. J'ai lu sur ce forum des messages concernant une library AccelStepper, un firmware Marlin, mais je ne sais pas ce qu'il faut utiliser. Dans un premier temps, je voudrais juste mettre en mouvement (rotation de 30 degrés par exemple) un moteur pas-à-pas et d'un servo moteur (ouverture et fermeture de la pince). Je pense qu'ensuite, je pourrai faire de même avec les 4 autres stepper. Pouvez-vous m'aider en me guidant ? Philippe
  17. Bonjour à toutes et à tous, Une fois pour toutes, voici la bonne méthode pour renseigner les valeurs Steps_per_unit (nombre de pas moteur par mm parcourus) de votre firmware (logiciel d'interprétation de votre imprimante 3D). Cette méthode est applicable à toute CNC. INTRO : Peut-être vous a-t-on conseillé ou lirez-vous que la calibration des Steps_per_mm se fait à partir d'une valeur X que l'on affinera par la suite en mesurant une pièce de calibration, généralement un cube, puis en modifiant par une règle de trois ladite valeur. Vade retro satanas ! C'est le pire conseil que vous pourrez rencontrer. Il n'y a pas de valeur passe-partout à affiner. D'abord la valeur X ne sort pas d'un chapeau mais est bien d'un calcul à partir de certains composants mécaniques et électroniques. En clair, il y a mille raisons pour lesquelles cette valeur ne soit peut-être pas adaptée à votre machine. Ensuite, lesdits composants n'étant pas élastiques, la valeur calculée ne s'affine pas ! Jouer sur cette valeur calculée : 1/ est inutile ; 2/ déplace l'erreur ailleurs, notamment sur les perçages de vos futures pièces ; 3/ le supposé "ajustement" ne serait correct que pour le cube de calibration et non pour les pièces plus grandes ou plus petites. Évidemment, vous trouverez des membres d'influence aguerris qui prétendront qu'ils font ainsi depuis toujours et que ça se passe à merveille chez eux. Résistez à la tentation, car cela indique seulement qu'ils se satisfont du résultat pour leur usage (quand on fait uniquement des figurines par exemple, la précision n'a pas de vraie importance). Surtout si vous êtes débutant, n'ayant ni leur talent, ni leur aplomb, restez-en à la méthode ci-dessous qui marche forcément à tous les coups. Pour vous faciliter la tâche, il y a un glossaire à la fin 1 :: Pour une transmission directe à courroie : steps_per_mm = (pas_moteur_par_tour * nb_de_micropas_driver) / (pas_courroie * nombre_de_dents_de_la_poulie) exemple : (200 pas moteur * 16 micropas) / (courroie 2mm * poulie 16 dents) = 100 steps_per_mm 2 :: Pour une transmission directe à vis : steps_per_mm = (pas_moteur_par_tour * nb_de_micropas_driver) / pas_du_filetage exemple : (400 pas moteur * 32 micropas) / (pas de filetage 8mm) = 1600 steps_per_mm 3 :: Pour un extrudeur à entrainement direct (direct drive) : steps_per_mm = (pas_moteur_par_tour * nb_de_micropas_driver) / (diamètre_effectif_galet * pi) exemple : (200 pas moteur * 16 micropas) / (diamètre galet 12mm * 3.14159) = 85 steps_per_mm 3 :: Pour un extrudeur à réduction (geared) : steps_per_mm = (pas_moteur_par_tour * nb_de_micropas_driver) * (Nb_dents_plateau / nb_dents_pignon) / (diamètre_effectif_galet * pi) exemple : (400 pas moteur * 32 micropas) * (48 dents plateau /16 dents pignon) / (diamètre galet 8mm * 3.14159) = 1528 steps_per_mm /!\ Pourquoi ajuster les steps_per_mm extrudeur uniquement ? Si les composants ne sont pas élastiques, pourquoi la valeur steps_per_mm extrudeur doit-elle être ajustée ? La réponse est simple. Si le diamètre effectif du galet d'entrainement peut être mesuré à l'aide d'un pied à coulisse, les dents du galet pénètrent dans le filament pour l'entrainer. Cela modifie le diamètre effectif du galet de deux fois la valeur de la pénétration des dents dans le filament, or ceci n'est pas mesurable. De plus, selon le type de filament ou la pression qui sera exercée dessus pour le forcer dans le galet, cette mesure peut varier. Voila pourquoi on passe par une étape d'ajustement. Il est important de comprendre que ceci ne s'applique qu'aux extrudeurs, bien entendu. Voici la méthode de calibration d'un extrudeur : On fait une marque sur le filament à 150mm de l'entrée de l'extrudeur On demande une extrusion de 100mm On mesure ce qui reste, et on fait une règle de 3 sur les Steps Per Unit de l'extrudeur pour connaitre la valeur approchante. ex. #define DEFAULT_AXIS_STEPS_PER_UNIT {3200/40,3200/40,3200/1.25,12800/22.9041} ... la valeur à changer est en rouge On modifie la valeur existante par la valeur calculée on recommence à l'étape 1 jusqu'à ce que 100mm demandé = 100mm extrudé. 4 :: GLOSSAIRE : Buse d'extrusion (ou Hotend) : composant dans lequel le filament est fondu Extrudeur (ou plutôt Feeder) : mécanisme qui sert à alimenter la buse d'extrusion en filament. Extrusion : action de fondre du filament Galet (ou Hobbed bolt) : roue dentée/crantée servant à entrainer le filament. Poulie : roue servant à entrainer et/ou guider une courroie. Driver : composant électronique servant à commander un moteur pas à pas. Micropas : procédé électronique organisé par le Driver pour décomposer les pas moteurs. Il en résulte un mouvement plus fluide. Moteur pas à pas : moteur électrique dont le mouvement rotatif est décomposé en pas. Selon l'angle de décomposition, la rotation sera décomposée en un certain nombre de pas. Nombre de dents : s'identifie sur une poulie ou un engrenage. Sert de base au calcul du rapport de transmission. Nombre de pas moteur : Selon l'angle de décomposition, ce nombre varie. Pour un moteur à 1.8° (le plus commun) : 360°/1.8°=200 pas moteur par révolution. 0.9°: 360°/0.9°=400 pas moteur par révolution. Pas de la vis ou pas du filetage (ou Screw Pitch) : distance d'un filet à l'autre sur une vis. Il correspond au déplacement effectué par l'écrou à chaque révolution de la vis. Pas de la courroie (ou Belt Pitch) : distance entre deux dents d'un système de courroie. Par exemple une courroie GT2 2mm a un pas de... 2m. Une T2.5 a un pas de 2.5mm. Attention de bien prendre en compte la valeur du pas, car sur une courroie GT2 de 6mm, les 6mm correspondent à la largeur de cette courroie, non à son pas. Il existe des courroies GT2 au pas de 3mm, mais communément les imprimantes 3D utilisent des courroies GT2 au pas de 2mm, ce qui est amplement suffisant. Un doute ? Mesurez ! Pi (ou π) = 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844 etc. Pignon : dans un système de démultiplication mécanique, le pignon est fixé sur l'axe du moteur, il est généralement plus petit, et entraine le plateau. Plus le pignon est petit par rapport au plateau, plus la démultiplication mécanique est grande. Plateau : dans un système de démultiplication mécanique, le plateau est fixé sur l'axe de transmission, il est généralement le plus grand et est entrainé par le pignon. Réduction (ou geared) : démultiplication mécanique, augmente la précision et le couple et simultanément diminue la vitesse. Règle de trois (ou produit en croix) : Méthode de calcul permettant d'ajuster proportionnellement une valeur. Steps_per_mm (ou Steps_per_unit) : nombre de pas moteur par mm parcourus le long d'un axe, le paramètre à changer se trouve dans le fichier configuration de votre firmware. sur Marlin : #define DEFAULT_AXIS_STEPS_PER_UNIT {AXIS_STEPS_PER_UNIT_X, AXIS_STEPS_PER_UNIT_Y, AXIS_STEPS_PER_UNIT_Z, AXIS_STEPS_PER_UNIT_E} sur Repetier (une ligne par axe) : #define XAXIS_STEPS_PER_MM (valeur) etc. sur Smoothieware : ;Steps per unit: M92 X80.00000 Y80.00000 Z1259.84253 et ;E Steps per mm: M92 E367.0000 Transmission directe (direct drive) : se dit d'un système d'entrainement lorsque celui-ci est monté directement sur l'axe du moteur. Vis : composant mécanique de transmission servant à déplacer un ensemble le long d'un axe. Il existe des vis métriques, trapézoïdales ou à bille. Voila, qu'on se le dise ! ++JM
  18. Bonjour J'ai en ma possession une creality ender 3 pro. Comment peut-on donc la mettre a jour a partir du Source code téléchargé sur le site creality ? Merci pour vos réponses. Cordialement
  19. Bonjour, Je me tâte à acheter un alphawise U30 pro. ce qui m'attire c'est le marlin le prix et les options qui y habite. Je souhaitais savoir si recompiler marlin avec des paramètres différents pouvait , moyennant grosses bricoles ( changer rails alu, courroies,changer plateau, ajout 2eme moteur Z, etc...) , me permettre un jour de faire de l'impression sur un plateau de 40x40x100 (par exemple). La carte mère supporterait elle la modif ?
  20. Voilà mon problème. J’ai mon Alfawise U20 qui se bloque pendant le téléchargement d’une mise à jour, lorsque je met mes fichiers de mise à jour et que j’insère ma carte SD dans mon Alfawise et que je l’allume, j’ai l’animation de téléchargement de la MAJ mais a partir d’un moment l’animation se bloque et me fait comprendre que la mise a jour ne s’installe pas, j’ai beau attendre autant de temps que je veux, l’installation ne reprennes pas. A ce moment, aucun autre moyen si ce n’est d’éteindre l’imprimante et de réitéré l’expérience, j’avoue avoir réussi à installer ma mise à jour après énormément d’essais non prolifiques. Seulement, je n’avais pas installé la dernière mise à jour et après avoir réussie à en installer une je me suis dis que le bug avait peut être été réglé... absolument pas. Et cette fois ci, c’était après plus de deux cents essais que j’ai réussis a installer cette mise à jour. J’ai quelques pistes : ma carte SD, j’ai commandé une nouvelle carte SD sur Amazon et je verrais si ca règle le problème, seconde piste : mon Alfawise , le programme de ma carte mère doit arrêter la mise à jour et donc dans que cas la il me faudrait un ingénieur de chez Alfawise pour me dire comment reprogrammer de manière correcte la fonction de mise à jour de l’imprimante. Pour l’instant ça me vas, mon firmware me va et après ces empêchements je n’ai plus tellement envie de remettre un firmware mais ça n'empêche pas mon envie de régler ce problème. Merci
  21. Bonjour, Je souhaiterais faire l'upgrade de marlin 1.1.6 vers 1.1.9 sur une imprimante Créality Ender 3 Pro avec Bl-Touch dont la version la carte mère est 1.1.4. Il y a de la documentation sur le sujet et notamment quelque chose qui fait peur et qui est le risque d'incendie si l'upgrade est mal fait. Sur le forum et sur le net je peux consulter des tutos pour réaliser la manipulation, mais malheureusement ils sont destinés pour la Créality CR 10 avec Touch-MI et carte Arduino. De plus j'aimerais installer Marlin en français. Je ne possède pas de carte Arduino pour faire cette manipulation mais il semblerait qu'avec la carte USBASP qui est livrée avec le Bl-Touch ce serait possible. La version de Marlin qui est disponible sur le site de Créality est la version 1.1.6 et 1.1.6 Bl-Touch. Pas de 1.1.9 sur le site de chez Créality avec ou sans Bl-Touch. Est-ce peut être dû au fait que la Ender 3 Pro ne peut pas fonctionner sous Marlin 1.1.9. Quelqu'un pourrait-il m'aider à faire mes premiers pas avec cette mise à jour. Merci d'avance pour votre aide. Fanny.
  22. Voilà, après avoir pas mal galéré pour mettre à jour le firmware de ma CTC Prusa I3, je trouvais intéressant de faire un petit tuto / retour d'expérience. Attention ce genre de manipulation n'est pas sans risque. Vous pouvez rendre HS votre carte controleur. Maintenant que les risques sont partagés, pour commencer il faut un peu de matériel : un programmeur USBASP ISP j'ai utilisé celui là des fils dupont femelle - femelle comme ceux ci Vous constaterez que l'investissement est très mesuré. Pour ma part j'ai fait la manipulation sous Windows, amateur de pommes ou de pingouins il faudra adapter... Il vous faudra une suite de logiciels : Les drivers pour le programmeur USBASP (j'ai utilisé l'outil zadig 2.2 pour récupérer la version "libusbK (v3.0.7.0)" compatible par la suite) L'environnement de développement Arduino Avrdude pour sauvegarder la rom initiale un éditeur de texte évolué type notepad++ pour adapter au besoin le firmware marlin (configuration.h) Un firmware marlin adapté à notre imprimante 20170129_Marlin 1.1.0-RC7-CTC Prusa I3.zip En prérequis, vous devez avoir déjà installé en USB votre imprimante, et avoir pu là contrôler avec un outil type ponterface Nous avons tout, alors il est temps de mettre les mains dans le cambouis Débranchez votre imprimante de la prise USB etéteigner là électriquement. Connectez votre programmeur à votre carte GT2560 à l'aide des câbles dupont selon le schéma ci dessous Ne faite pas attention au détrompeur sur la photo qui n'est pas dans le même sens que le mien. Connectez votre programmeur et installer ses drivers. (j'ai dans un premier temps installé ceux ci mais cela ne fonctionnait pas. Grace à ce sujet j'ai utilisé l'outil zadig pour installer libusbK V3.0.7) Dans une ligne de commande (CMD) prépositionnez vous dans votre répertoire avrdrude pour faire une sauvegarde de votre ROM avec la commande avrdude -C avrdude.conf -p atmega2560 -c usbasp -U flash:r:"c:/GT2560.hex":i Ouvrez votre interface arduino et configurez le de la manière suivante - Outils -> Type de carte : "Arduino/Genuino or Mega 2560" - Outils -> Processeur : "Atmega2560 (Mega 2560)" - Outils -> Programmateur: "USBASP" Puis graver le bootloader "Outils -> Graver la séquence d'initialisation Débranchez votre programmateur USB et recâblez votre LCD et lecteur de carte. Branchez en USB votre imprimante (l'écran LCD doit afficher deux lignes blanches qui font peurs et un led rouge clignote sur la carte) Chargez dans l'interface arduino le firmware Fichier -> Ouvrir "D:\20170129_Marlin 1.1.0-RC7-CTC Prusa I3\Marlin-RC\Marlin\marlin.ino" Configurez l'interface en précisant le port Com utilisé par votre imprimante (logiquement c'est celui que vous avez utilisé en prérequis avec ponterface) - Outils -> Port : ComX Compilez et Téléversez - Croquis -> Vérifier/compiler (cela ne doit pas retourner d'erreur) - Croquis -> Téléverser Normalement là c'est bon vous pouvez redémarrer la bête. La version du firmware marlin que j'ai déposé est une version récupéré sur internet pour laquelle j'ai apporté quelques évolutions suite à quelques recherches. Je suis preneur des remarques des pro de Marlin. Sinon je me suis basé sur pas mal d'éléments trouvez ici. J'avais récupéré leur version du firmware, mais je ne sais pas pourquoi il ne se compile pas chez moi... D'autres informations intéressante :
  23. bonjour a tous, J'aimerai upgrade le firmware de ma ender 3 afin d'avoir plus d'option et qu'il soit plus complet, mais je ne vois pas trop comment je pourrais faire car j'aimerai: °Langue en Français °Equiper de l'assistance a calibrage plateau (vu ici https://www.youtube.com/watch?v=Rij29oy6t70&t=242s) °Et du changement de filament pour faire des impressions bi-couleur dans un future proche (ps: j'ai lu le topic la dessus) je pense partir sur la base su Marlin 1.1.9 mais après c'est le flou absolu ! Pourriez vous m'aidez
  24. Bonjour à tous, Suite à de nombreuses demandes et bien que je ne pense pas être la personne la mieux placée pour le faire, je vais donc faire un petit rappel sur les notions de « firmware », « eeprom » et sur la façon d'interagir sur certains paramètres. Avant de commencer ce tuto je me suis dit « C'est bien beau mais tu pars de ou ? ». Et puis je me suis rappelé de deux expériences récentes ou j'ai tenté, malgré mes faibles qualités de pédagogue (heureusement les élèves étaient doués !) d'aider deux personnes débutantes. Et je pense que le mieux est de partir zéro. Je m'excuse par avance pour les personnes expérimentées qui seraient à la recherche d'une petite info au passage, mais la lecture de ce post risque d'être ennuyeuse. Pour commencer je tiens à préciser que les point abordés ici sont valables sur tout ce qui tourne avec un micro-contrôleur ATMEGA 2560. (ramps, trigorilla, mks-gen 1.3 et 1. 4 …) Et donc par voie de conséquence toutes les imprimantes Anycubic actuelles. (I3 MEGA, KOSSEL, I3) Niveau firmware, je me bornerai à parler de ce que je connais le mieux, c'est à dire MARLIN. Pour commencer chassons quelques idées reçues que j'ai cru parfois percevoir. Un ramp, une trigorilla, une mks gen c'est à 95 % la même chose. Le différence se limitera au design, aux ports d'extension placés sur la carte, à l'intensité disponible pour certaines extensions, au chip gérant la conversion des signaux vers le port usb de votre PC . Mais c'est tout. Je suis prêt à croire que notre amis @slayer-fr va abandonner le Jack Daniel's pour le Chouchen mais qu'une Trigorilla à imprimé à 90mm/s là ou un ramp imprime à 60mm/s, je n'y croirais pas ! Et pour une seule raison, le micro-contrôleur est le même, le fameux ATMEGA 2560. Sans vouloir vous donner un cours avancé (une fois de plus je ne pense pas avoir les connaissances nécessaires à cela) je pense qu'il est intéressant de comprendre ce que nous faisons. Et vu que nous ne sommes pas là pour nous prendre au sérieux, je vais quelque peu vulgariser mon explication. Quelques généralités : L'ATMEGA 2560 se présente un peu comme un condensé de votre PC. Il est à la fois le CPU, la RAM, et le disque dur de votre PC. Pour fonctionner votre PC à besoin d'un système d'exploitation. L'ATMEGA aussi. Et dans notre cas, ce sera le firmware de notre imprimante. L'ATMEGA n'est cependant pas un processeur comme celui de votre PC, sa fréquence est basse et il ne peut pas gérer une multitude de processus en parallèles. L'ATMEGA ne comprends que du code machine et c'est ce code que vous trouvez dans les fichier « hex » des mises à jour officielles. Cependant je ne sais pas pour vous mais moi j'ai du mal à comprendre l'hexadécimal ! Je vous rassure nous ne sommes pas les seuls ! Mais le langage et la pensée humaine étants difficiles à traduire en langage machine, il fallait trouver un langage intermédiaire et c'est le C++ qui a été choisi. Donc pour résumer quand on souhaite créer un nouveau firmware, on le pense, on l'encode en langage C++ qui reste compréhensible par l'humain, un programme le transforme en langage machine (fichier hex), on transfert le contenu du fichier hex dans l'ATMEGA. Pour information il est très difficile voir impossible de transformer un fichier hex en un programme C++ parfaitement structuré et cohérent. Pour convertir le C++ en langage machine (et souvent pour le transférer dans l'ATMEGA) on utilise le programme « Arduino ». Lors d'une de mes dernières tentative pour aider un débutant je me suis aperçu qu'il y avait parfois confusion entre le firmware et arduino. Arduino n'est que l'outils de conversion (que l'on nomme compilation) et de transfert. Pour simplifier au maximum pour les débutant je faire un rapide parallèle avec un autre logiciel : Vous désirez faire un CV ou un courrier. Vous utilisez le programme « WORLD », vous créez votre CV, vous l'enregistrez. (Dans un fichier « cv.docx » par exemple) Cependant votre document n'est pas le programme WORLD. C'est le fichier « cv.docx ». Pour Arduino c'est pareil ! Arduino est l'équivalent de WORLD et le firmware est l'équivalent de votre document « cv.docx ». Revenons maintenant sur notre sujet principal le firmware de l'I3 MEGA. Notre ami @thsrp demandait comment entrer dans le firmware d'origine Anycubic. La réponse est hélas très simple, on ne peut pas ! Eh oui comme je l'écrivais plus haut nous n'avons que le fichier hex. Pour pouvoir effectuer des modifications importantes il faut les fichiers C++ que l'on appel « les sources ». Cependant nous pouvons effectuer quelques ajustements. Le firmware de nos MEGA est basé sur le firmware MARLIN, ce dernier comporte un grand nombre de paramètres qui peuvent être modifiés avant transfert dans les fichiers source. Cependant, certains paramètres nécessitent d'êtres modifiés, testés, modifiés de nouveau, puis testés de nouveau … Cette procédure étant fastidieuse en passant à chaque fois par une compilation et un transfert intégral des sources, les développeurs de marlin on fait appel à une zone spécifique de l'ATMEGA nommée « eeprom ». Cette dernière, permet de stocker des informations et de les modifier sans avoir à transférer tout le reste du programme. Pour effectuer ces modifications 2 options. Passer par l'envoie de commande GCODE via votre programme de pilotage préféré, (Pronterface, Repetier-Host …) ou utiliser la fonction simplifiée de Repetier-Host. Mode commandes GCODE : Lancer Pronterface et connectez-vous à votre imprimante. Dans la zone entourée en rouge écrire M501 et cliquer sur « send ». La zone entourée en bleu correspond au retour de la commande. La commande M501 demande à la machine de retourner les paramètres contenus dans l'eeprom. Si l'on analyse quelques paramètres de la réponse cela donne : echo: M92 X80.00 Y80.00 Z400.00 E92.60 Cette ligne donne le nombre de steps par mm pour chacun des axes ainsi que pour l'extrudeur (E). Pour changer par exemple la valeur de l'axe Y par 81, il vous suffit de rentrer dans la zone entourée en rouge ; M92 Y81.00 sans le « echo » puis cliquez sur « send ». Et maintenant il y a un piège. Si vous ne faites rien de plus, au prochaine redémarrage de votre carte, le ou les nouveaux paramètres seront perdus ! Pour qu'ils deviennent permanents, il vous rentrer la commande M500 dans la zone entourée en rouge et cliquer sur « send ». Ce a quoi la machine répond quelque chose dans ce style « echo:Settings Stored (465 bytes; crc -22444) » La configuration est maintenant permanente. En reprenant la même logique, vous pouvez ajuster vos vitesses maximum avec la commande M203, les accélérations maximum, avec la commande M201, … Reprenons un autre exemple détaillé avec la commande M206. Lors d'un M501 la machine donne : echo: M206 X0.00 Y0.00 Z0.00 Ceci signifie qu'aucun offset n 'est paramétré. Seulement, après avoir fait le réglage de votre bed, vous constatez que votre première couche est trop écrasée. D'habitude vous tricheriez dans le trancheur. Seulement si au prochain réglage votre machine à bougée un peu, vous serez obligé de retrancher votre pièce pour compenser. Ou bien vous joueriez sur vos endstops. Mais avec le dual z-endstop il est fastidieux d'avoir un réglage parfait des deux cotés tout en ayant le bon écrasement. Ou pire vous recommenceriez le nivellement de votre lit jusqu'à l'écrasement idéal. Cette procédure peut vite devenir très rébarbative. Il y a plus simple ! Dans la zone entourée en rouge saisissez : M206 Z0.01 puis « send » M500 puis « send » Votre machine considérera désormais que le 0 de l'axe Z se trouvera à 0.01mm au dessus du déclenchement du endstop. Si l'écrasement est toujours trop important, recommencez avec comme valeur 0.02 et ainsi de suite. echo: M206 X0.00 Y0.00 Z0.00 C'est plus simple et garde le gcode généré par le trancheur vierge de toute compensation liée au nivellement du lit. Je ne détaillerais pas toutes les commandes mais je vous invite à consulter cette page pour plus d'informations. http://reprap.org/wiki/G-code/fr En revanche n'oubliez jamais de remettre l'offset de l'axe Z à 0.00 avant de refaire votre prochain nivellement du lit. Pour les allergiques de la ligne de commande il y a encore plus simple ! Mode "Graphique" : Installez Repetier-Host sur votre PC. Configurez la connexion à votre imprimante comme ceci : (adaptez le port com) Puis connectez l'imprimante. Une fois la connexion établie, dans le menu « Configuration », choisissez « Configuration eeprom du firmware ». Vous arrivez dans l'écran suivant : Cet écran vous permet de modifier, de façon « graphique », tous les paramètres de votre eeprom. Un autre avantage de cette méthode est que les paramètres sont clairement nommés. Dans cet écran vous pourrez également sauvegarder ces paramètres dans un fichier sur votre pc pour une restauration ultérieure via le bouton « Exporter valeurs EEPROM ». Voilà pour ce rapide survol qui je l’espère n'était pas trop soporifique . Si vous avez des questions, n'hésitez pas à les poster car il est toujours plus simple d'expliquer avec des cas concrets.
  25. Bonjour En furetant ici ou là j'ai vus que certaines imprimantes nécessitaient le rechargement des paramètres après une MAJ du firmware. Généralement via le menu de l'écran. Je n'ai aucune option de ce type dans mes menus. J'ai une MKS GEN L V1.0 et j'aimerais savoir si il faut respecter une procédure particulière suite à MAJ. Faut-il éteindre puis rallumer la printer par exemple?
  26. Bonjour je vien de recevoir mon imprimante 3D sigma R17 et j'ais fait la mis à jour du firmware après ca certaine commande de l'imprimante est devenu inutilisable comme quand je veu la charger de filaments ou la décharger ca ce bloque au moment où il faut appuyer sur next quand j'appuie dessu il ce mes a changée de couleurs donc elle vous bien que j'appuie dessu mais ne veut pas faire l'étape suivante et aussi il y a des bug graphique comme quand y a un engrenages qui tourne sa clignote entre l'engrenage et une crois rouge j'ais voulu remettre la sigma en parametre d'usine par défaut mais je n'y arrive pas je n'est rien trouver sur internet non plus Je ne c'est plus comment fair
×
×
  • Créer...