Bonjour à tous,
Voici donc le détail de ma procédure d'upgrade, je vais essayer de ne pas en oublier
En reprenant une partie de mon précédent post aussi.
Alors depuis le début :
Côté firmware :
- Télécharger Marlin firmware 2.0.5.3 et Configurations-release-2.0.5
- Copier et remplacer das le dossier marlin, les 3 fichiers de config (_Bootscreen.h, Configuration_adv.h, Configuration.h) correspondant à l'Hephestos 2.
- Installer Arduino et le configurer avec Arduino Mega ou Mega 2560.
- Toujours dans Arduino télécharger/installer la librairie U8glib, actuellement 1.19.1, menu Outils/Gérer les bibliothèques
- Pour le problème d'affichage du LCD décalé, ça se passe dans le fichier ultralcd_st7920_u8glib_rrd_AVR.h
Il faut dé commenté trois lignes, ça donne ça (J'ai mis le 400 d'après l’exemple du forum et ça a fonctionné directement):
#define ST7920_DELAY_1 DELAY_NS(0)
#define ST7920_DELAY_2 DELAY_NS(400)
#define ST7920_DELAY_3 DELAY_NS(0)
Passons à la config maintenant :
Dans le Configuration.h, pour faire simple je vais juste écrire ci-dessous les lignes que j'ai modifiées, commentées ou décommentées, Ctrl+F est ton ami

, le reste ne bouge pas du tout :
#define Z_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop.
//#define FIX_MOUNTED_PROBE
#define BLTOUCH
#define NOZZLE_TO_PROBE_OFFSET { -26, -35, 0 } // Jacques, c'est ici que je définis l'offset de la buse par rapport à la pointe du BLTouch, l'info est fourni par le créateur du support que j'utilise trouvé sur thingiverse.
#define MULTIPLE_PROBING 2 // pour réaliser un double test de Z
#define Z_MIN_PROBE_REPEATABILITY_TEST // permet d'utiliser la commende M48 pour tester le BLTouch, le mien donne une variation de 0,0001256 sur 10 répétitions
#define PROBING_HEATERS_OFF // Facultatif
//#define NO_MOTION_BEFORE_HOMING // Facultatif peut être utile pour le réglage
#define X_BED_SIZE 205 // j'ai réduit un tout petit peu la taille du lit par sureté
#define Y_BED_SIZE 290
#define Z_MAX_POS 200 // idem sécu
#define AUTO_BED_LEVELING_LINEAR
//#define AUTO_BED_LEVELING_BILINEAR
#define GRID_MAX_POINTS_X 3 // nombre de points de test, ca fait 9 bien suffisant pour le plateau en verre.
C'est tout pour le Configuration.h
Pour le Configuration_adv.h :
#define HEPHESTOS2_HEATED_BED_KIT // parce que j'ai la lit chauffant
#define BLTOUCH_SET_5V_MODE // parce que j'ai un BLTouch V3.1
#define BLTOUCH_LCD_VOLTAGE_MENU // permet d'ajuster le voltage depuis le LCD, mais je ne m'en suis pas servi.
Reste à définir les pins de connexion du BLTouch, avant ça je vais détailler la partie hardware avec les branchements.
Moi, j'ai donc complétement viré le capteur à induction et j'ai utilisé son câble pour raccorder le câble à trois fils du BLTouch contrôlant l'alimentation et les mouvements du solénoïde de ce dernier.
Voici la manipe la plus périlleuse à mon goût car je ne suis pas électronicien, j'ai récupéré la terre, les 5V et un pin de contrôle (D44) sur l'emplacement AUX2 de la carte ZUM, malheureusement la mienne, était vierge de connexion, j'ai du souder deux connecteurs pour venir brancher mes câbles.
Voici un schéma et des photos de la connexion réalisée.
Le schéma de AUX2, ce sont les emplacements 1, 2 et 7 qui nous intéresse.

Le branchement pour le solénoïde (SERVO0) sur AUX2 avec les deux connecteur soudés

Le branchement pour le signal sur l'ancienne prise du capteur à induction
Ensuite, j'ai ajouté un câble à deux fils pour les fils noir et blanc du BLTouch, qui transmettent les infos de probing et qui vont se brancher à la place des terre et signal de l'ancien capteur à induction (IND_S_...), je n'utilise plus son pin 5V du coup.
Pour le support, je l'ai trouvé là :
https://www.thingiverse.com/thing:2608435
C'est celui qui me semblait le plus classe
Par contre bien penser à l'imprimer avant de tout démonter...
Voilà pour la partie hard.
Reste à régler l'assignation des PINS, là ça se passe dans le dossier Marlin/src/pins/ramps
Il faut modifier les fichiers pins_BQ_ZUM_MEGA_3D.h et pins_RAMPS.h
Dans pins_BQ_ZUM_MEGA_3D.h :
//#define SPINDLE_LASER_PWM_PIN 44 // Hardware PWM // on récupère le 44 pour le BLTouch
On ajoute cette ligne pour assigner le pin 44
#define SERVO0_PIN 44 // on l'assigne au SERVO0_PIN qui correspond au solénoïde du BLTouch
On ajoute ces deux lignes pour coupler le Z_min_prob_pin et Z_min_pin sinon le homing ne marche pas car le Z_min reste toujours open, ne me demandé pas pourquoi, j'ai trouvé ça en bidouillant
Je mets un peu de contexte pour savoir où les insérer :
//
// Z Probe (when not Z_MIN_PIN)
//
#undef Z_MIN_PROBE_PIN
//************* ICI *******************************
#undef Z_MIN_PIN
//*************************************************
#define Z_MIN_PROBE_PIN 19 // IND_S_5V
//************* ICI *******************************
#define Z_MIN_PIN 19
//*************************************************
Dernière chose à modifier dans le pins_RAMPS.h, commenter l'assignation du SERVO0_PIN sinon erreur à la compile ( j'ai fais ça pour pouvoir mettre ça au même endroit avec les autres assignations dans pins_BQ_ZUM_MEGA_3D.h ):
//
// Servos
//
//#ifndef SERVO0_PIN
// #ifdef IS_RAMPS_13
// #define SERVO0_PIN 7
// #else
// #define SERVO0_PIN 11
// #endif
//#endif
Et voilà, tout est là, pas mal de tâtonnement et de recherches pour en arriver là mais au final, la manipe n'est pas si compliquée une fois qu'on sait où aller
Une petite démo en prime
https://youtu.be/zdubLOiG2Ow