Aller au contenu

Filament ABS

telson

Prusa I3 - Sunhokey

Messages recommandés

Bonjour,

Je souhaiterais mettre en place un système d’auto bed leveling sur ma prusa I3 de marque sunhokey, carte MKS Gen-2Z v1.1.

Dans l’optique d’éliminer tous les doutes et afin d’établir un tutoriel complet j’aimerais aborder les différents aspects de ce système sur le plan du matériel, de la configuration du fichier Configuration.h et des réglages.

Vous trouverez, pour certains, que les questions abordées ici sont simplistes voir même peut être bêbête mais l’objectif final est bien d’éliminer toutes les zones de doute.

1.       La partie mécanique :

Concernant le support du servomoteur j’ai choisi un support très simple :

 

support.png

Source : http://www.thingiverse.com/thing:1162067

La fixation de ce système s’effectue très simplement à l’arrière du chariot de l’extrudeur :

 

fixation support servo.JPG

Si le servomoteur est un SG90 il faudra imprimer plutôt ce modèle de bras:

 

bras sg90.JPG

Source : http://www.thingiverse.com/thing:1335701

2.       Les branchements :

2.1.    Le branchement du servomoteur :

Dans le fichier Configuration.h, à la ligne //#define NUM_SERVOS 3, il est clairement indiqué que la broche sur la carte devra être la broche N° 3.

Compte tenu qu'il existe 4 emplacements, que généralement la numérotation commence à 0 et que cette réflexion est confirmé dans le fichier pin.h :

  #ifdef NUM_SERVOS
    #define SERVO0_PIN         11

    #if NUM_SERVOS > 1
      #define SERVO1_PIN         6
    #endif

    #if NUM_SERVOS > 2
      #define SERVO2_PIN         5
    #endif

    #if NUM_SERVOS > 3
      #define SERVO3_PIN         4
    #endif
  #endif

La connexion du servomoteur s'effectue sur la broche D4  :

broches servo.PNG

broches servomoteurs.png

·                                                                                                                                                 

2.2.    Le branchement du switch :

'' 3 '' possibilités s'offrent à nous :

                   a) dupliquer le switch du endstop Z mini. Autrement dit placer un switch sur le palpeur en parallèle du switch endstop Z mini.

Dans ce cas quelles sont les paramètres du fichier de Configuration.h.  et les caractéristiques du G-code?

endstop Z mini.png

·                      b) déplacer le switch du endstop Z mini sur le palpeur. Personnellement c'est une option dangereuse il me semble au premier abord....

 

Dans ce cas quelles sont les paramètres du fichier de Configuration.h.  et les caractéristiques du G-code?

·                      c) utiliser un switch connecté sur la broche endstop Z max..

 

Dans ce cas quelles sont les paramètres du fichier de Configuration.h. Faut t'il modifier un autre fichier de configuration comme pin.h et quelles sont les caractéristiques du G-code?

 

                  il faudra alors connecter le switch ici : 

endstop.png

Fin de la première partie

Merci par avance pour toutes vos réponses constructives.

 

 

 

 

connecteurs endstop.JPG

Modifié (le) par telson

Partager ce message


Lien à poster
Partager sur d’autres sites

Pour ce qui concerne le branchement du servo moteur sur la carte.

Au centre le + (+5v de couleur rouge)

Au extrémités S (signal PWM de couleur blanc ou jaune) -.(GND de couleur noir)

Je ne sais pas ou se trouvent S et - ce n'est pas grave tu fait le test dans un sens puis dans l'autre. Tu ne risque normalement pas de griller quoi que ce soit puisque le + est au centre.

 

Après vérif le brochage est la suivant :

Haut : D11 D6 D5 D4

Centre : 5v

Bas : GND

Source : MKS_GEN-PIN.PNG

Modifié (le) par nicephore
Ajout PINs

Partager ce message


Lien à poster
Partager sur d’autres sites

Ok, merci pour ces premiers éléments de réponse.

concernant #define NUM_SERVOS 3 et compte tenu qu'il existe 4 broches et que généralement la numérotation commence par 0, je dirais qu'il faut connecter le servomoteur en D4....a tester........

Toutes les réponses aux questions seront éditées dans le premier message au fur et à mesure

encore merci

++

Modifié (le) par telson

Partager ce message


Lien à poster
Partager sur d’autres sites

Totalement exact :

 

  #ifdef NUM_SERVOS
    #define SERVO0_PIN         11

    #if NUM_SERVOS > 1
      #define SERVO1_PIN         6
    #endif

    #if NUM_SERVOS > 2
      #define SERVO2_PIN         5
    #endif

    #if NUM_SERVOS > 3
      #define SERVO3_PIN         4
    #endif
  #endif

 

chapeau bas !!

Partager ce message


Lien à poster
Partager sur d’autres sites

En fait lorsque nous parlons de carte de contrôle d'imprimante 3D nous parlons Marlin et donc Arduino.
 Donc regarder pin.h qui définit l'attribution des pin.

Partager ce message


Lien à poster
Partager sur d’autres sites

yes.....merci...

Je continu la lecture d'article sur la toile pour compléter mon mode opératoire..........Je dirais tutoriel quand ce sera fini !!! et validé !!

J'éditerai toujours le premier message.

questions en bleu

réponses en rouge

++

Partager ce message


Lien à poster
Partager sur d’autres sites

Effectivement mais l'objectif serait d'utiliser le endstop Z max pour le palpeur...Et garder ainsi en sécurité le endstop Z mini en sécurité.....Est ce possible......

 

Tiens c'est bizarre, je ne peux plus éditer mon premier message ???

Modifié (le) par telson

Partager ce message


Lien à poster
Partager sur d’autres sites

Deuxième partie : la modification du fichier Configuration.h

Compte tenu que je n'ai pas suffisamment d'information, pour le moment pour réaliser l'option :  c) utiliser un switch connecté sur la broche endstop Z max.

La suite de cette procédure sera basé sur l'option : b) déplacer le switch du endstop Z mini sur le palpeur.

La duplication du switch endstop Z mini apporte essentiellement une sécurité supplémentaire et ne change en rien la modification du fichier Configuration.h et les réglages..... enfin me semble t'il pour le moment......

3.       Modification du fichier configuration.h

Commençons tout simplement par ouvrir le fichier Configuration.h avec notepad++, par exemple, et modifions les lignes suivantes :

Dans la section :

//===========================================================================
//=============================Mechanical Settings===========================
//===========================================================================

// ENDSTOP SETTINGS:

#define min_software_endstops false // Si true, impossible de descendre en dessous de la position HOME_POS.

Est t’il indispensable de modifier cette ligne est quelles en sont exactement les conséquences?? 

Dans la section :

//============================= Bed Auto Leveling ===========================

Enlever les deux // de la ligne suivante 

#define ENABLE_AUTO-BED_LEVELING

il existe deux modes d'auto bed leveling. Soit la méthode de la grille soit par une méthode de 3 points. Ici nous prendrons la méthode grille.

Donc laisser la ligne suivante sans aucune modification :

#define AUTO_BED_LEVELING_GRID (Si vous souhaitez la méthode 3 points, rajouté en début de la ligne //).

Il faut ensuite, et selon les dimensions du plateau chauffant, modifier les lignes suivantes. Ce sont les marges à implémenter pour éviter que le palpeur ne soit à l'extérieure du plateau :
 
#define LEFT_PROBE_BED_POSITION 20
#define RIGHT_PROBE_BED_POSITION 180
#define BACK_PROBE_BED_POSITION 180
#define FRONT_PROBE_BED_POSITION 20

J'ai un plateau de 200*200, j'ai donc mis une marge de 20 mmm à gauche,à droite, devant et derrière. C'est uniquement dans cette zone que les points de palpage s'effecturont.

Maintenant le nombre de palpage par dimension sur la grille, j'ai mis 3 et il n'est pas nécessaire d'aller au delà

#define AUTO_BED_LEVELING_GRID_POINTS 3

(si vous n'avez pas choisi la méthode grille voici les coordonnées des 3 points)

#else  // not AUTO_BED_LEVELING_GRID
      #define ABL_PROBE_PT_1_X 15
      #define ABL_PROBE_PT_1_Y 180
      #define ABL_PROBE_PT_2_X 15
      #define ABL_PROBE_PT_2_Y 20
      #define ABL_PROBE_PT_3_X 170
      #define ABL_PROBE_PT_3_Y 20

  #endif // AUTO_BED_LEVELING_GRID

Enfin, passons maintenant à l'offset (en mm), décalage en X, Y et Z, du switch du palpeur par rapport à la buse. Ce sont ces valeurs qu'il faudra absolument régler.

ATTENTION, pas question de prendre ces valeurs. Il faut les rechercher. Elles sont spécifiques à chaque machine et ce même pour des modèles identiques!! voir dans partie à venir les réglages.
  #define X_PROBE_OFFSET_FROM_EXTRUDER -25
  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29
  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35

Hauteur d’élévation en Z avant le homing (G28)

  #define Z_RAISE_BEFORE_HOMING 5      

ATTENTION. L'utilisation du switch endstop Z mini sur le palpeur peut t'il, en cas d'un G28 Z, venir faire frotter la buse sur le plateau ?....Merci pour vos retours d'information sur le sujet. 

La vitesse (mm/min) de déplacement sur l'axe X et Y entre deux palpages : 

#define XY_TRAVEL_SPEED 4000 

Les hauteurs de déplacement en Z avant le premier palpage et entre deux palpages.

  #define Z_RAISE_BEFORE_PROBING 15
  #define Z_RAISE_BETWEEN_PROBINGS 5

Le délai de désactivation du servomoteur pour éviter les vibrations de ce dernier.

Faut t'il l'activer? Faut t'il modifier le délais...Certains disent oui, d'autres non.... Merci pour vos retours d'information sur le sujet. 
//  #define PROBE_SERVO_DEACTIVATION_DELAY 300

Alors nous y voici. c'est ma grande question :

  • Si l'auto bed est activé il est fortement recommandé de laisser le Z_SAFE_HOMING enabled!!! Mais nous utilisons le switch du endstop Z mini sur le palpeur. Existe t'il un risque, lors d'une mauvaise manipulation de voir la buse frotter contre le plateau? Merci pour vos retours d'information sur le sujet. 

  #define Z_SAFE_HOMING  

Maintenant allons à la section : 

/*********************************************************************\
* R/C SERVO support
* Sponsored by TrinityLabs, Reworked by codexmas
**********************************************************************/

Supprimer les deux // devant les lignes ci-dessous pour activer le servomoteur qui devra être connecté à la broche N°3 soit D4, voir première partie. 

#define NUM_SERVOS 3

#define SERVO_ENDSTOPS {-1, -1, 0} // Servomoteur pour l'axe Z, actif = 0, inactif = -1
#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 70,0} // angle du servo, ici 70° et 0°

 

     Merci par avance à tous ceux qui voudront bien apporter des informations constructives à cette nouvelle partie...

 

+++

 

Modifié (le) par telson
pas doué en mise en page et rédaction tuto ...

Partager ce message


Lien à poster
Partager sur d’autres sites

oui merci c'est effectivement l'angle du servo .....

Par contre il ne faut pas connecter le servomoteur en D4 mais en D11 et la commande M280 P3 Sxxx ne fonctionne pas mais M280 P0 sxxx

Étonnant avec #define NUM_SERVOS 3

Partager ce message


Lien à poster
Partager sur d’autres sites

En fait si tu dois utiliser 0 c'est que #define NUM_SERVOS 3 est le 1er index donc P0; si tu utilise #define NUM_SERVOS 1 alors tu utilisera P1

Partager ce message


Lien à poster
Partager sur d’autres sites

Ha !!??

Fallait le savoir......

Quoi qu'il en soit j'ai essayé sur plusieurs broches et j'ai fini par trouver que sur D11 ça marchait....

Merci

Modifié (le) par telson

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui donc le 1er élément du tableau suivant :

#ifdef NUM_SERVOS
    #define SERVO0_PIN         11

    #if NUM_SERVOS > 1
      #define SERVO1_PIN         6
    #endif

    #if NUM_SERVOS > 2
      #define SERVO2_PIN         5
    #endif

    #if NUM_SERVOS > 3
      #define SERVO3_PIN         4
    #endif
  #endif

 et M280 en P0 (donc sur ce 1er élément de tableau).

Partager ce message


Lien à poster
Partager sur d’autres sites

Mouais ::

#define NUM_SERVOS 3 c'est le 1er index donc P0 .......

 

Trop rapidement j'avais conclu :

#define NUM_SERVOS 3  = #define SERVO3_PIN         4 ....mais non mais non......

Ok alors.

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

  • Sur cette page :   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×