Aller au contenu

Filament ABS

Alain

Régler le Z-offset d'une Discovery 200 via Octoprint

Messages recommandés

Bonjour à tous,

J'essaie de répondre aux attentes de @arthurlutz et @malphodo

Je suis possesseur d'une Discovery 200, depuis maintenant plus d'un an, machine sympa, mais conception mécanique plutôt passable. Surtout, j'ai des problèmes de stabilité de mesure du palpeur dus à la température et de grosses difficultés à utiliser DagomApp pour régler le Z-offset (chez moi, lancer Dagomapp équivaut à jouer à la roulette russe avec mon joli Buildtak). Par ailleurs, n'allez pas penser que je puisse être un super spécialiste de tout ce qui suit, j'ai juste l'intention de vous faire part de ma propre expérience...

Donc j'ai une D200, d'origine, plateau couvert d'un Buildtak. Firmware de la DE200, le firmware qui stocke le Z-offset dans l'EEPROM de la carte Melzi (fichier chargé le 21/10/2016 sur le site Dagoma : Marlin-Firmwares_D200_Melzi_1477500165_039955afcddbfd13dd2dfc4fc9a438ab.hex). Comme ça marche, je n'ai pas l'intention de changer...

J'utilise la D200 via Octoprint, que j'ai installé en suivant le tuto présent sur ce forum, je suis en liaison filaire sur ma Livebox Orange, mais cela ne change rien, merci @candau33

1-Pour bien faire, quelques commandes GCode sont à connaître (voir http://reprap.org/wiki/G-code/fr) :

  • G90 : place l'imprimante en déplacement absolus par rapport aux origines de la machine. Après cet ordre, "Toutes les coordonnées exécutées à partir de maintenant sont en rapport à l'origine de la machine".
  • G91 : place l'imprimante en déplacement relatifs par rapport à la position actuelle de la machine. Après cet ordre, "Toutes les coordonnées à partir de maintenant sont liés à la dernière position"
  • G28 : Déplacement de la tête aux origines de la machine. Exemples : G28 (sans rien d'autre) envoie la tête aux origines en X, Y et Z. G28 X Y envoie la tête aux origines en X et Y. Attention : cette commande ne tient pas compte du Z-Offset, il s'agit bien des origines de la machine (X=0, Y=0, Z=0)
  • G1 : Produit un déplacement de la tête. Exemples : G1 X100 F200 déplace la tête de 100mm selon l'axe X à 200 mm/mn. Vous pouvez combiner plusieurs mouvement : G1 X50 Y50 F100 déplace la tête de 50mm en X de 50mm en Y à 100mm/mn.
  • M501 : lit l'ensemble des paramètres stockés dans l'EEPROM de la carte Melzi, parmi ceux-ci, la valeur du Z-Offset
  • M851 : permet de définir la valeur du Z-Offset. Exemple M851 Z+1.5 définit le Z-Offset à +1,5mm (+ vers le HAUT, - vers le BAS). M851 Z-0.5 définit le Z-Offset à -0.5mm. Saisissez bien des distances avec un POINT et pas une virgule...
  • M500 : sauvegarde les paramètres en cours dans l'EEPROM de la carte Melzi.
    Notez bien que les modifications de l'offset que vous faites avec la commande M851 sont conservées par la machine jusqu'à son extinction, mais sont perdues si vous n'exécutez pas un M500 avant d'éteindre !

2-Comment j'ai procédé : j'ai utilisé l'onglet "Terminal", pensez à cocher les deux cases "Suppress M105 requests/responses" et "Suppress M27 requests/responses", sinon vous serez submergé par les messages qui passent et vous ne verrez pas ce que vous faites...

  • Après une dernière tentative avec DagomApp, avec superbe écrasement de la tête sur mon Bluidtak tout neuf (Bord.... de Mer..., j'en ai marre !). Je connaissais la dernière valeur attribuée par DagomApp : +0,7mm
  • Placer l'imprimante en déplacements absolus : G90
  • Fixer le Z-Offset largement au-dessus du plateau (je suis obnubilé par l'écrasement de la buse sur le plateau), donc un truc comme M851 Z+4
  • Envoyer la buse au centre du plateau et à Z=0, avec une commande G1 X100 Y100 Z0, ne surtout pas utiliser G28 qui ne tient pas compte de l'offset, G1 prend en compte l'offset
  • A partir de là, vous pouvez modifier l'offset par une mesure ou par pas successifs, par des commandes M851, puis un G1 Z0, jusqu'à obtenir la valeur qui convient à votre machine.
  • NE PAS OUBLIER D'EXECUTER UNE COMMANDE M500 quand vous êtes satisfait du résultat.
  • Moi je suis à Z+0.45, mais cela n'est ABSOLUMENT PAS reproductible d'une machine à l'autre !

J'ai été long, mais en fait tout cela ne prend en fait que quelques minutes.

Voilà, j'espère que cela vous sera utile,

Moi je cherche comment reproduire CuraByDagoma avec CURA 15 dans Octoprint, si vous avez une piste de tuto

Cordialement à tous

Alain

  • J'aime 4

Partager ce message


Lien à poster
Partager sur d’autres sites

Super, merci @Alain pour ces explications précieuses.

Chez moi ça ne semble pas marcher, du coup je pense que c'est parce que nous n'avons pas la même version de firmware M115.

Citation

Send: M115
Recv: FIRMWARE_NAME:Marlin V1; Sprinter/grbl mashup for gen6 FIRMWARE_URL:http://www.dagoma.fr PROTOCOL_VERSION:1.0 MACHINE_TYPE:discovery 200 EXTRUDER_COUNT:1 UUID:00000000-0000-0000-0000-000000000000

Lorsque je lui envoie une commande M851 voici le resultat

Citation

Send: M851 Z+2
Recv: echo:Z Offsetz_min: -15z_max: -5
Recv: ok

Voici le M501 qui lit les paramètres enregistres dans la EEPROM

Citation

Send: M501
Recv: echo:Hardcoded Default Settings Loaded
Recv: echo:Steps per unit:
Recv: echo:  M92 X80.00 Y80.00 Z2560.00 E98.00
Recv: echo:Maximum feedrates (mm/s):
Recv: echo:  M203 X500.00 Y500.00 Z4.00 E25.00
Recv: echo:Maximum Acceleration (mm/s2):
Recv: echo:  M201 X9000 Y3000 Z100 E10000
Recv: echo:Acceleration: S=acceleration, T=retract acceleration
Recv: echo:  M204 S3000.00 T3000.00
Recv: echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s),  Z=maximum Z jerk (mm/s),  E=maximum E jerk (mm/s)
Recv: echo:  M205 S0.00 T0.00 B20000 X20.00 Z0.40 E5.00
Recv: echo:Home offset (mm):
Recv: echo:  M206 X0.00 Y0.00 Z0.00
Recv: echo:PID settings:
Recv: echo:   M301 P126.27 I24.08 D165.51
Recv: ok

Peut-être faut-il que je mette à jour le firmware. Reste à trouver la documentation pour cela.

ps. des gens seraient partants pour structurer ce genre de documentation dans un wiki plutôt qu'un forum ?

Modifié (le) par arthurlutz
faute

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour

Il y a 1 heure, arthurlutz a dit :

Lorsque je lui envoie une commande M851 voici le resultat

Citation

Send: M851 Z+2
Recv: echo:Z Offsetz_min: -15z_max: -5
Recv: ok

pour le offset il te dit que tu ne peux mettre des valeur positif 

essaie de mettre ta valeur en negatif (avec le petit moin devant )

cdlt

Partager ce message


Lien à poster
Partager sur d’autres sites

@damdam2959 merci pour l'explication. J'ai essayé de lui donner des valeurs entre Z-15 et Z-5, mais le G1 Z0 reste toujours au même endroit. Il me manque un truc, j'explore la piste du firmware pas à jour (je vais lancer un thread aussi à ce sujet).

Soit dit en passant, je pense que le plugin http://plugins.octoprint.org/plugins/eeprom_marlin/ pourrait être utile dans ces manipulations (pas encore utilisé car je doit faire ma mise à jour de firmware avant).

 

 

Screenshot from 2017-01-29 15-03-15.png

Modifié (le) par Weiling
suppression double post..

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 22 heures, arthurlutz a dit :

@damdam2959 merci pour l'explication. J'ai essayé de lui donner des valeurs entre Z-15 et Z-5, mais le G1 Z0 reste toujours au même endroit. Il me manque un truc, j'explore la piste du firmware pas à jour (je vais lancer un thread aussi à ce sujet).

Soit dit en passant, je pense que le plugin http://plugins.octoprint.org/plugins/eeprom_marlin/ pourrait être utile dans ces manipulations (pas encore utilisé car je doit faire ma mise à jour de firmware avant).

 

 

Screenshot from 2017-01-29 15-03-15.png

@arthurlutz, je suis en déplacement, je ne peux donc pas faire d'essai avant jeudi prochain... Je ferai des copie de ce qu'il se passe chez moi avec M501 et M851, mais c'est sur, je n'ai pas le même genre de résultat

Cordialement

Partager ce message


Lien à poster
Partager sur d’autres sites

Si tu as une Discovery 200, je pense qu'il faut faire une mise à jour pour qu'elle fonctionne comme une Discoeasy (utilisation de CuraByDagoma pour DE200). 

J'ai utilisé la méthode d' @Alain avec succès. Par contre je ne dois pas mettre d'espace pour que ça marche : "M851Z-0.7" par exemple. 

Encore merci pour la méthode c'est top !:banana:

(Y plus qu'a développer un plugin Octoprint ... xD)

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut,

Merci pour ce post. J'ai finaliser l'installation de mon serveur octoprint hier.

Je vais essayer cette semaine quelques commandes comme évoqués ici.

On peut également lancer les mesures de planéité en 9 points comme dans le post de Ducky, je suppose ?

Enfin, pour tester tes paramètres, il y a t'il un fichier que vous chargez pour imprimer un test et corriger, à la manières des ronds de la dagoapp (d'ailleurs quelqu'un a-t-l ce fichier ?)

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour à tous, de retour chez moi, voici quelques précisions :

M115, commande gcode permettant d'obtenir la version du firmware donne chez moi le retour suivant :

Send: M115
Recv: UUID:cede2a2f-41a2-4748-9b12-c55c62f367ff BUILD_CODE:1477500165-d20mel-boxdir:dis-boxevo:dis-boxfil:dis-boxlas:dis-boxole:dis-boxtra:dis-end:nc-hot:non-prihea:oriv1-wif:non-zpro:whi
Recv: ok

Très franchement, je ne sais pas déchiffrer la réponse de l'imprimante !!!!

Le fichier firmware installé sur ma machine porte le nom suivant : "Marlin-Firmwares_D200_Melzi_1477500165_039955afcddbfd13dd2dfc4fc9a438ab.hex"

Le seul point commun, c'est la partie "1477500165" présente dans le nom du fichier .hex et le BUILD_CODE renvoyé par l'imprimante.

Une chose est sure, pour que la méthode que je vous ai proposée fonctionne, il est nécessaire d'avoir chargé le firmware de la DiscoEasy 200, qui justement permet le stockage du Zoffset dans l'EEPROM.

La lecture des données de mon EEPROM donne les informations suivantes :

Send: M501
Recv: echo:V23 stored settings retrieved (396 bytes)
Recv: echo:Steps per unit:
Recv: echo:  M92 X80.00 Y80.00 Z2560.00 E98.00
Recv: echo:Maximum feedrates (mm/s):
Recv: echo:  M203 X500.00 Y500.00 Z4.00 E25.00
Recv: echo:Maximum Acceleration (mm/s2):
Recv: echo:  M201 X9000 Y3000 Z100 E10000
Recv: echo:Accelerations: P=printing, R=retract and T=travel
Recv: echo:  M204 P3000.00 R3000.00 T3000.00
Recv: echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s),  Z=maximum Z jerk (mm/s),  E=maximum E jerk (mm/s)
Recv: echo:  M205 S0.00 T0.00 B20000 X20.00 Z0.40 E5.00
Recv: echo:Home offset (mm):
Recv: echo:  M206 X0.00 Y0.00 Z0.00
Recv: echo:PID settings:
Recv: echo:  M301 P126.27 I24.08 D165.51 C100.00 L20
Recv: echo:Filament settings: Disabled
Recv: echo:  M200 D3.00
Recv: echo:  M200 D0
Recv: echo:Z-Probe Offset (mm):
Recv: echo:  M851 Z-0.40
Recv: ok
Je n'ai pas cherché à décrypter toutes les informations renvoyées, mais on voit très bien en avant dernière ligne la valeur du 
Z offset à la ligne M851 Z-0.40

De nouvelles possibilités semblent être possibles, MAIS JE N'AI RIEN TESTE !!!
1 : M92 permet de définir les STEPS/MM, il devrait donc être possible de préciser l'étalonnage de nos machines par ce biais, sans avoir à intervenir
dans le config.h et de devoir recompiler et charger le firmware.
2 : M203 permet de définir les vitesses maxi des déplacements des axes
3 : M201 permet de définir les accélérations maxi d'impression
4 : M204 permet de définir les accélérations par défaut
5 : M205 "advanced settings" ??????????
6 : M206 n'a même pas de titre (!!), semble permettre de décaler les zéros des axes
Pour les points 2, 3, 4, 5, 6, c'est sur je ne vais pas jouer à l'apprenti sorcier, sasn avoir plus de renseignements!
7 : M200 : en anglais "Set the filament diameter", vous constatez donc que mon filament reçoit une fois D3 (3mm) et une fois 0 et
j'utilise du filament de 1,75mm.... jocker

Voilà les quelques compléments dont je voulais vous faire part
Restez prudents

Bonnes impressions à tous

Alain




Partager ce message


Lien à poster
Partager sur d’autres sites

Après un petit passage à vide, je reviens à la charge.

J'ai mis à jour ma dagoma, réussi à la calibrer avec dagomapp (obligé de passer par un windows). J'ai donc à présent (à priori) la bonne version :

Send: N1081 M115*30
Recv: UUID:cede2a2f-41a2-4748-9b12-c55c62f367ff BUILD_CODE:1486395042-d20mel-boxdir:dis-boxevo:dis-boxfil:dis-boxlas:dis-boxole:dis-boxtra:dis-end:nc-hot:non-prihea:oriv1-wif:non-zpro:whi

En revanche, la procédure de @Alain ne marche malheureusement toujours pas pour moi.

Ce qui m'étonne c'est que quand je clique sur "Home" de Z dans octoprint, la buse est exactement au bon endroit (G91 - relative positioning puis G28 Z0 - move to origin puis G90 - set absolute positioning). Du coup, je me dis que j'ai pas forcément besoin de changer le offset Z, mais je pense que mes gcode.startcode ne sont pas bon. J'ai donc entrepris de collecter les divers gcode.startcode et les commenter avec la documentation de gcode pour mieux les comprendre et m'en trouver et adapter un minimal correspondant à mon besoin.

Voici le début de collecte https://gist.github.com/arthurlutz/768a813842d67df16c315f5c3b5ae279 J'aimerais trouver un moyen d'avoir un cela sous forme d'un arbre de décision (dans le style de l'outil de dagoma pour ses téléchargements pour varier ce code en fonction du modèle, du firmware, de la configuration, etc.)

Est-ce que, chers utilisateurs de GCode, pourriez vous partager vos gcode start (et end) qui marchent bien pour vous. Merci d'avance.

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×