Aller au contenu

GO Print

BL Touch et Z Endstop


sputnik

Messages recommandés

Bonjour à tous.

J'ai récemment installé un BL Touch (en réalité un 3D Touch  toruveé à moins de 11€!!) sur une MKS base 1.6 Tornado. Ça marche très bien, du premier coup, mais...

Le FDC du Z est bien sûr débranché, et remplacé par celui du palpeur. Ce qui m'ennuie c'est que le nivelage manuel classique n'est plus possible. J'aimerais pouvoir activer/désactiver le BL Touch, c'est à dire passer de manuel à automatique (et lycée de Versailles) à la demande. Un nivelage mécanique correct me semble indispensable à la base. Mais le câblage de l'unité centrale est une telle daube (quand on est habitué à de l'industriel) que brancher débrancher là dedans est une punition (C'est de la m...de en barre).

En gros, j'aimerais brancher le FDC d'origine de ma Tornado (ou le BL Touch...) sur une autre entrée FDC (X+, Y+ ou Z+), et pouvoir désactiver/activer ces entrées / leur assigner une fonction à la demande, etc. C'est juste du code. En quelques mots : comment switcher d'un FDC mécanique à un FDC électronique. (bien sûr il y a une solution relativement directe : 2 relais miniatures, un interrupteur, et un flash de firmware selon le cas). mais je préfèrerais une soluce plus élégante, bien que tous les composants soient en stock dans les tiroirs de mon petit labo.

Ce genre routine existe-t-elle ? Sinon quel est le forum officiel Marlin ? (anglais ou français, peu importe). Ensuite, je crois qu'un autre firmware pourrait être utilisé : Repetier. pourrait-il résoudre mon problème par un truc de ce style déjà implémenté ?

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

@sputnik à mon avis il y a plus simple... je l'ai fait sur une MKS Sbase...

Tu laisses ton endtop branché sur Z- et tu branches ton bl-touch sur Z+ (par exemple)

ensuite dans le fichier pins.h tu modifies tes entrées

et pour finir tu lances ou pas le déclanchement de ton bl-touch et le palpage dans le script de départ dans ton trancheur...

après je ne peux pas t'en dire plus car je n'ai pas de machine qui tourne sous marlin ou repetier...

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

Merci pour ta réponse. Bon j'ai testé. pins.h renvoie sur pins_MKS_BASE.h qui renvoie sur pins_RAMPS.h. Là sont définis les pins des FDC et des servos. Jusque là tout va bien. J'ai déplacé le BLTOUCH sur le pin Z+, pin 19.

Quand je compile la version pour BLTOUCH, tout va bien comme ça.

Quand je compile la version sans BLTOUCH, le palpeur fait n'importe quoi. Il faut le calmer ! Le FDC fait son boulot, lui.

L'idéal, ce serait une option de plus dans le menu BLTouch de Marlin : désactivation du BLTouch, réactivation du FDC Z-, et chargement des valeurs "normales" d'offsets, etc. Il faudrait que ces valeurs soient stockées dans des variables (ce sont des #define), et dans l'EEPROM. Bref, ce serait cool, mais il faut une bonne connaissance de la structure de Marlin (15000 lignes juste dans Marlin_main.cpp, sans compter la gestion de menu, ça calme)...

Il me reste donc à activer la gestion des servos pour ajouter dans setup() un reset du BLTouch et une remontée du palpeur. C'est touffu, comme code. Juste pour arriver à ce que le palpeur soit en haut en cas de compilation en mode non BLTOUCH. Actuellement, c'est à partir d'un Marlin 1.1.8 téléchargé sur le site Marlin, et que j'ai modifié en comparant Tornado 1.1 avec Marlin 1.1.5 dont il est dérivé ; c'est facile. 2 versions donc, BLTOUCH et non BLTOUCH. je voudrais ensuite les réunir en une seule avec juste une #define et quelques directives de compilation conditionnelle. C'est pas pour un fork, c'est juste une personnalisation.

je précise que je débute en impression 3D, et que je ne connais rien au G-Code. D'où ma préférence pour le firmware plutôt que pour des scripts !

Mais peut-être qu'un autre firmware permet ce genre de chose en natif ?

Ou alors qu'il est possible de gérer cette situation (double Z_MIN) avec OCTOPRINT ? (j'attends un Raspberry Pi). Je ne veux pas de PC vampirisé par l'imprimante.

Lien vers le commentaire
Partager sur d’autres sites

Il y a 19 heures, sputnik a dit :

renvoie sur pins_MKS_BASE.h qui renvoie sur pins_RAMPS.h.

heu moi je te parle de la carte MKS SBASE avec le firmware smoothieware pas d'un fichier de marlin

le fichier pins_MKS_BASE.h est pour une carte spécifique ... MKS BASE mais ça ne doit pas être utilisable pour une RAMPS...

Lien vers le commentaire
Partager sur d’autres sites

et bien si, curieusement !

-> pins.h :

bla bla bla :

#elif MB(MKS_BASE)
  #include "pins_MKS_BASE.h"          // ATmega1280, ATmega2560
#elif MB(MKS_13)

blablabla

-> pins_MKS_BASE.h :

#include "pins_RAMPS.h"                       (en fin de fichier, sans directives conditionnelles)

-> pins_RAMPS.h :

#ifndef X_MAX_PIN
  #define X_MAX_PIN         2
#endif
#define Y_MIN_PIN          14
#define Y_MAX_PIN          15
#define Z_MIN_PIN          19//18
#define Z_MAX_PIN          -1//19

(avec les modifs que tu m'as indiquées, et qui marchent impec)

Ce sont les mêmes pins ! Il doit y avoir une HAL pour faciliter le portage, ce qui serait logique...

Et absolument aucun risque d'erreur avec l'environnement que j'utilise (Visual Studio que je connais sur le bout des doigts depuis la beta 1 il y a 25 ans, avec Visual Micro depuis quelques années)

Lien vers le commentaire
Partager sur d’autres sites

il y a 3 minutes, sputnik a dit :

et bien si, curieusement !

comme quoi on en apprend tous les jours...

Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

Bonsoir à tous,

Super content de voir un autre propriétaire d'une imprimante à base de MKS Base V1.6.

J'ai une Tevo Tornado et un 3DTouch, mais je me demande bien où connecter le cable à 3 fils. J'ai mis le cable à 2 fils à la place du endstop -Z mais l'autre, ...

Sputnik peux-tu m'expliquer où tu as fait tes branchements ?

 

Merci de ton aide,

Lien vers le commentaire
Partager sur d’autres sites

  • 4 weeks later...

@miel Bonjour, As-tu trouvé une solution?

Je suis dans le même cas avec une MKS 1.6.

J'ai branché les 3 fils orange marron rouge sur le V+ et les 2 fils blanc et noir sur le V-.

au démarrage, le BLT fait son cycle mais n'est pas reconnu après. par exemple, quand je vais dans le menu contrôler/bltouch ce dernier ne réagit à rien.

Si je débranche les 2 fils noir et blanc du V- rien ne change. J'en conclu que ces 2 fils ne sont branchés au bon endroit. Mais alors où?

Si un connaisseur pouvait m'aiguiller...

Lien vers le commentaire
Partager sur d’autres sites

  • 4 weeks later...
Le 25/06/2018 at 23:01, philvara a dit :

@miel Bonjour, As-tu trouvé une solution?

Je suis dans le même cas avec une MKS 1.6.

J'ai branché les 3 fils orange marron rouge sur le V+ et les 2 fils blanc et noir sur le V-.

au démarrage, le BLT fait son cycle mais n'est pas reconnu après. par exemple, quand je vais dans le menu contrôler/bltouch ce dernier ne réagit à rien.

Si je débranche les 2 fils noir et blanc du V- rien ne change. J'en conclu que ces 2 fils ne sont branchés au bon endroit. Mais alors où?

Si un connaisseur pouvait m'aiguiller...

Bonsoir @philvara ,

 

Désolé pour ma réponse si tardive, le message du forum était arrivé dans mes spams :(

En fait c'était tout bête l'erreur, le cable était bon, mais j'avais un souci de couleur des cables entre mon BL touch et la rallonge qui va jusqu'à la carte pour le couple rouge/noir !

 

Bonne soirée,

 

Miel

Lien vers le commentaire
Partager sur d’autres sites

  • 3 months later...

Bonjour,

Vous pouvez définir votre propre menu dans Marlin avec votre GCode dedans. C'est dans le fichier Configuration_adv.h à la section :

 
 
/**
* User-defined menu items that execute custom GCode
*/

//#define CUSTOM_USER_MENUS

Il y a plusieurs exemples :

 
#define USER_DESC_1 "Home & UBL Info"
#define USER_GCODE_1 "G28\nG29 W"

#define USER_DESC_2 "Preheat for PLA"
#define USER_GCODE_2 "M140 S" STRINGIFY(PREHEAT_1_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_1_TEMP_HOTEND)

#define USER_DESC_3 "Preheat for ABS"
#define USER_GCODE_3 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_2_TEMP_HOTEND)

#define USER_DESC_4 "Heat Bed/Home/Level"
#define USER_GCODE_4 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nG28\nG29"

#define USER_DESC_5 "Home & Info"

#define USER_GCODE_5 "G28\nM503"
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
  • Sur cette page :   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
  • YouTube / Les Imprimantes 3D .fr

×
×
  • Créer...