Aller au contenu

GO Print

u20 + bltouch ... je sais je sais ... mais ET Si on contournait le probleme ?


Oniric

Messages recommandés

Bonjour à tous,

est ce qu'on peut installer un bltouch sur la u20 ..... naaah je rigole ... !

plus serieusement. je n'ai pas le level pour pouvoir reverse le firmware et le hardware par contre je touche ma bille en C, python & Co et je m'amuse bien avec des arduino & Co.

du coup il m'est venu une idée ...

j'utilise octoprint pour controler ma u20 et je me suis dis : et si au lieu d'avoir un bltouch controlé par le firmware de l'imprimante, je le contrôlais par octoprint et que je corrigeais le gcode "on the fly".

Techniquement les plugins de octoprint sont capables assez facilement de modifier le gcode avec des "events" et des "hooks", donc cette partie est possible.
On peut aussi relativement facilement contrôler un bltouch via les GPIO je pense (1 pin de contrôle et 2 pin d'alimentation).

Enfin si j'ai bien compris il suffit de remplacer le limit Z switch par les 2 derniers dupont libre du bl touch.

jusqu'ici OK.

sur la fonctionnalité du bltouch et de l'autoleveling: si j'ai bien compris:

- on demande un autoleveling via la commande G29.
l'imprimante se déplace par step sur le plateau pour faire toucher le bltouch et calcul une matrice d'offset Z qu'il suffit ensuite d'ajouter au gcode dynamiquement.

la séquence est donc :

- je me positionne au point que je veux tester
- je fais descendre le "push pin"
- je descend l'extrudeur jusqu'à ce que le "push pin" touche
- je remonte un peu, je refais redescendre le "push pin" puis je redescend doucement jusqu'à ce que le "push pin" retouche pour avoir une valeur plus précise que je note dans une matrice avec les coordonnées
- et je recommence au point suivant

à la fin j'ai une matrice de coordonnées X Y et un offset Z. il me suffit avec une formule de math savante en fonction de coordonnées X, Y d'ajouter l'offset (positif ou negatif) au Z et j'ai un autoleveling fait via octoprint meme si la u20 n'est pas compatible!

MAIS j'ai un probleme dans mon raisonnement qui me bloque ... j'ai dis plus tot qu'il fallait remplacer le limite switch Z par le BL Touch .... qu'est qu'il arrive quand je fais ma sequence et que du coup j'envoie à l'imprimante un "home Z" sans arrêt ? ... elle va avoir comme valeur de Z0 la derniere fois que je l'ai touché et non pas le home d'origine ... je me trompe ? et donc mes offsets vont être faux car calculé à partir d'un "Zmin" aléatoire ...

si je ne branche pas le limit switch du BL touch pour éviter ce probleme : comment je fais pour descendre en dessous de 0 quand mon bed est trop bas ? ... (solution déguelasse: je m'arrange qu'il ne soit pas trop bas, sauf au moment du Z home G28 ... mais c'est vraiment la solution du pauvre et qui va entrainer des plantages d'extrudeur dans le plateau le jour ou on oublie !)

autre probleme : comment je connais la valeur de Z quand le bltouch touche ? qu'est ce qui se passe quand le bltouch envoi le signale "Zmin". est ce que je peux faire un M114 pour avoir la valeur précise ? quand j'ai testé rapidement le M114 c'est pas super précis (à 0.1 prêt, pas plus). pour contourner le probleme je peux essayer de descendre "manuellement" doucement et calculer la taille.

je serais bien preneur d'avis ... je ne suis pas expert en BLTouch (je n'en ai jamais eu) et l'alfa u20 est ma 1ere imprimante et comme beaucoup le leveling me  gonfle à fond ...

merci d'avance de vos retours !

Modifié (le) par Oniric
Lien vers le commentaire
Partager sur d’autres sites

Citation

j'utilise octoprint pour controler ma u20 et je me suis dis : et si au lieu d'avoir un bltouch controlé par le firmware de l'imprimante, je le contrôlais par octoprint et que je corrigeais le gcode "on the fly".

Hello,

J'y ai pensé aussi, mais j'ai trouvé que le rapport bénéfice emmerdement maximal/temps de faire le bed à la main n'était pas intéressant. Il s'avère qu'avec l’habitude, faire le niveau s'avère presque comme un reflex et n'a plus rien de terrible.Alors on a peut-être pas 1µm de précision mais le travail est très propre. Habitude que tu prendra surement au final 🙂 

Citation

Techniquement les plugins de octoprint sont capables assez facilement de modifier le gcode avec des "events" et des "hooks", donc cette partie est possible.

Pas tant que ça malheureusement. J'ai passé un certain temps à faire digérer certaines commandes à la CM sans aucun succès.D'ailleurs certaines commandes très standards ne passent pas même avec bidouilles (RTS µOS est hyper verrouillé en l'état sur la U20).

Citation

MAIS j'ai un probleme dans mon raisonnement qui me bloque ... j'ai dis plus tot qu'il fallait remplacer le limite switch Z par le BL Touch .... qu'est qu'il arrive quand je fais ma sequence et que du coup j'envoie à l'imprimante un "home Z" sans arrêt ? ... elle va avoir comme valeur de Z0 la derniere fois que je l'ai touché et non pas le home d'origine ... je me trompe ? et donc mes offsets vont être faux car calculé à partir d'un "Zmin" aléatoire ...

Il faudrait contourner le problème en gardant le Z-limit d'origine, et mettre le BL en parallèle, mais trouver un moyen software de ne pas déclencher le Z d'origine au mauvais moment...

En gros, arriver a séparer le traitement du Z Origine, avec les Z offsets. A ce moment là, autant intégrer le Z origine dans Octopi également avec le GPIO qui va bien (de la même manière qu'on peut rajouter un end-stop en plus contrôlé par le PI). Après le module de contrôle servira encore moins à quelque chose, mais est-ce si grave ?...

En tout cas si tu es motivé je te souhaite bon courage, et je serais très intéressé du résultat 🙂 

Lien vers le commentaire
Partager sur d’autres sites

il y a 42 minutes, CacaoTor a dit :

Hello,

J'y ai pensé aussi, mais j'ai trouvé que le rapport bénéfice emmerdement maximal/temps de faire le bed à la main n'était pas intéressant. Il s'avère qu'avec l’habitude, faire le niveau s'avère presque comme un reflex et n'a plus rien de terrible.Alors on a peut-être pas 1µm de précision mais le travail est très propre. Habitude que tu prendra surement au final 🙂 

agreed, mais mon plateau étant bombé, c'est une tanné. j'ai changé mon plateau et j'ai toujours des difficultés à avoir un bon niveau partout sans avoir a glisser quelques feuilles d'alu plié en dessous de ma vitre ...

Citation

Pas tant que ça malheureusement. J'ai passé un certain temps à faire digérer certaines commandes à la CM sans aucun succès.D'ailleurs certaines commandes très standards ne passent pas même avec bidouilles (RTS µOS est hyper verrouillé en l'état sur la U20).

l'idée que j'ai en tete est de modifier le gcode à la volé par exemple:

en commande d'origine

G1 X205.608 Y172.848 E2661.488

avec la matrice qui disont : M[200,170] = -1.2

remplacer via un hook par :

G1 X205.608 Y172.848 Z-1.2 E2661.488

ou quelque chose du genre (no expert en gcode, il faut que je creuse plus précisement, je pense qu'il faut etre plus subtil vu que le déplacement part de la position précédente etc, il faut que je reflechisse)

je pense que cela doit etre possible sans poser de probleme à l'imprimante vu que se sont des commandes classiques.
il faudra bien entendu catcher le G28 et G29 pour éviter les "z home" en fonction de ce que l'on à fait du "z switch" d'origine et traité le G29 softwarement et completement le supprimer pour l'imprimante en le remplacant par des commandes généré à la volée par l'algo de leveling.

 

Citation

Il faudrait contourner le problème en gardant le Z-limit d'origine, et mettre le BL en parallèle, mais trouver un moyen software de ne pas déclencher le Z d'origine au mauvais moment...

En gros, arriver a séparer le traitement du Z Origine, avec les Z offsets. A ce moment là, autant intégrer le Z origine dans Octopi également avec le GPIO qui va bien (de la même manière qu'on peut rajouter un end-stop en plus contrôlé par le PI). Après le module de contrôle servira encore moins à quelque chose, mais est-ce si grave ?...

En tout cas si tu es motivé je te souhaite bon courage, et je serais très intéressé du résultat 🙂 

c'est une idée ... je pense que je vais incruster la tete de mon extrudeur plusieurs fois dans mon bed en faisant des erreurs mais bon ! 😉

 

est ce que dans l'ensemble ça te semble jouable ? ou j'ai raté quelques choses ? particulierement au niveau du gcode ? je pense aller chercher dans le code de marlin pour essayer de trouver concrètement ce qu'est sensé faire le fireware pour le reproduire de façon software par octoprint. si tu as des pistes la dessus je suis preneur. j'ai trouvé la classe leveling, mais pas l'endroit ou elle est appelé (je n'ai cherché que via l'interface web de github pour le moment à la main 😛 )

 

merci de ton retour en tout cas. j'ai acheté un clone bltouch à 15€ sur amazon que j'aurai début Mars pour faire des tests. d'ici la je vais continuer à chercher et à reflechir. je vous tiendrai au courant évidement si j'arrive à quelque chose.

ps: des news sur le reverse du firmware ou c'est définitivement au placard ou en attente sans fin d'un retour de gearbest ?
 

Modifié (le) par Oniric
Lien vers le commentaire
Partager sur d’autres sites

Le 13/02/2019 at 01:53, Oniric a dit :

agreed, mais mon plateau étant bombé, c'est une tanné. j'ai changé mon plateau et j'ai toujours des difficultés à avoir un bon niveau partout sans avoir a glisser quelques feuilles d'alu plié en dessous de ma vitre ...

l'idée que j'ai en tete est de modifier le gcode à la volé par exemple:

en commande d'origine


G1 X205.608 Y172.848 E2661.488

avec la matrice qui disont : M[200,170] = -1.2

remplacer via un hook par :


G1 X205.608 Y172.848 Z-1.2 E2661.488

ou quelque chose du genre (no expert en gcode, il faut que je creuse plus précisement, je pense qu'il faut etre plus subtil vu que le déplacement part de la position précédente etc, il faut que je reflechisse)

je pense que cela doit etre possible sans poser de probleme à l'imprimante vu que se sont des commandes classiques.
il faudra bien entendu catcher le G28 et G29 pour éviter les "z home" en fonction de ce que l'on à fait du "z switch" d'origine et traité le G29 softwarement et completement le supprimer pour l'imprimante en le remplacant par des commandes généré à la volée par l'algo de leveling.

 

c'est une idée ... je pense que je vais incruster la tete de mon extrudeur plusieurs fois dans mon bed en faisant des erreurs mais bon ! 😉

 

est ce que dans l'ensemble ça te semble jouable ? ou j'ai raté quelques choses ? particulierement au niveau du gcode ? je pense aller chercher dans le code de marlin pour essayer de trouver concrètement ce qu'est sensé faire le fireware pour le reproduire de façon software par octoprint. si tu as des pistes la dessus je suis preneur. j'ai trouvé la classe leveling, mais pas l'endroit ou elle est appelé (je n'ai cherché que via l'interface web de github pour le moment à la main 😛 )

 

merci de ton retour en tout cas. j'ai acheté un clone bltouch à 15€ sur amazon que j'aurai début Mars pour faire des tests. d'ici la je vais continuer à chercher et à reflechir. je vous tiendrai au courant évidement si j'arrive à quelque chose.

ps: des news sur le reverse du firmware ou c'est définitivement au placard ou en attente sans fin d'un retour de gearbest ?
 

Non ça parait pas déconnant.

Mais ça demande un certain boulot et donc surtout du temps 😅

A priori les clones sont vraiment naze et causent des emmerdes. Il faudrait vraiment prendre l'original BL Touch. Mais je n'ai personnellement jamais essayé.

Pour le firmware, en l'état toujours en pause. Je n'ai pas le temps, et pas de news des autres 😕 

Lien vers le commentaire
Partager sur d’autres sites

  • 2 years later...

Salut
Désolé de déterrer ce post mais j'aimerai bien un bltouch sur ma u20 aussi sans souder sur la cm....

Pour revenir au topic, avec un firmware klipper ça doit être beaucoup plus simple car tous les calculs se font dans le pi... Nan ?

Envoyé de mon VOG-L29 en utilisant Tapatalk

Lien vers le commentaire
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
×
×
  • Créer...