Je remplace le capteur inductif (développer par l’équipe de Bq) par un capteur de fin de course mécanique.

Normalement l’imprimante est pilotée via l’écran LCD, une molette cliquable permet d’accéder au différent menu (lancer une impression, changer le filament, étalonnage auto…). Je n’utilise pas cette interface de pilotage, j’utilise le logiciel Octoprint1, mais il ne permet pas de régler la distance entre la buse et le plateau directement via l’interface d’Octoprint.

Dans le cas du capteur inductif, la distance entre la buse et le plateau doit être défini dans le micrologiciel, ce qui implique de le compiler et de le téléverser à chaque étalonnage. Dans l’autre cas avec le capteur de fin de course mécanique il suffit d’ajuster manuellement la position du capteur pour faire le zéro.

Le capteur de fin de course mécanique est monté sur une platine ajustable grâce au deux rainures que j’ai faites. Sur le châssis de l’imprimante il y a deux trous filetés que j’utilise pour fixer la platine.

capteur-inductif Capteur inductif de Bq

Concernant le câble, j’ai simplement branché le nouveau capteur à la place de l’ancien. Si j’avais opté pour un capteur inductif industriel type LJ12A3-4-Z/BX j’aurais connecté le capteur sur la borne IND_S_12V.

carte-bq-ZUM-Mega-3D Carte BQ ZUM Mega 3D

Je branche le capteur, mais cela ne se passe pas comme prévu, l’imprimante ne fait pas le zéro. Finalement je comprends que le nouveau capteur a une logique du type Normalement Fermé qui est différent de l’ancien capteur qui était du type Normalement Ouvert

Pour inverser la logique du capteur j’édite le ficher Configuration.h, je change la valeur Z_MIN_ENDSTOP_INVERTING à true.

const bool Z_MIN_ENDSTOP_INVERTING = true;

J’utilise le micrologiciel de BQ2, qui est une version personnalisée du micrologiciel Marlin Lors du transfert du nouveau micrologiciel vers le microcontrôleur de l’imprimante j’ai l’erreur suivante :

error while loading shared libraries: libreadline.so.6: cannot open shared object file: No such file or directory

Je résous le problème en créant des liens symboliques : Note: the number : 7.0 or 6.0 can be different or not needed les numéros 7.0 ou 6.0 peuvent etre diferrent voir pas necessaire

ln -s /usr/lib/libreadline.so.7.0 /usr/lib/libreadline.so.6
ln -s /usr/lib/libncursesw.so.6.0 /usr/lib/libncurses.so.5
ln -s /usr/lib/libncursesw.so.6.0 /usr/lib/libtinfo.so.5