Aller au contenu

Filament ABS

MARLIN 1.1.9 PROBE_BED_POSITION


Messages recommandés

Bonjour,

 

Besoin d'aide sur la configuration de la zone de palpage, ça fonctionne sur MARLIN 1.1.6 mais pas sur MARLIN 1.1.9.

Ma zone d'impression est de X=305 et Y = 305

Mon BL touche est 25 mm en arrière de la buse et 0 en x

#define X_PROBE_OFFSET_FROM_EXTRUDER 0  // X offset: -left  +right  [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER 25  // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]

 

  #define LEFT_PROBE_BED_POSITION 0
  #define RIGHT_PROBE_BED_POSITION 305
  #define FRONT_PROBE_BED_POSITION 25
  #define BACK_PROBE_BED_POSITION 305

cette configuration fonctionne avec MARLIN 1.1.6mais pas avec  1.1.9

static assertion failed: LEFT_PROBE_BED_POSITION is outside the probe region.

idem  avec la configuration auto

 // Set the boundaries for probing (where the probe can reach).
  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE)
  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE)

 

lion02

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

Merci pour ce premier retour, j'ai commenté la ligne mais dans configuration.h, pas trouvé dans adv.h

Maintenant j'ai cette erreur

Arduino : 1.8.1 (Windows 10), Carte : "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

In file included from sketch\MarlinConfig.h:42:0,

                 from sketch\G26_Mesh_Validation_Tool.cpp:27:

SanityCheck.h:947: error: static assertion failed: RIGHT_PROBE_BED_POSITION is outside the probe region.

     static_assert(RIGHT_PROBE_BED_POSITION <= MAX_PROBE_X, "RIGHT_PROBE_BED_POSITION is outside the probe region.");

     ^

SanityCheck.h:949: error: static assertion failed: BACK_PROBE_BED_POSITION is outside the probe region.

     static_assert(BACK_PROBE_BED_POSITION <= MAX_PROBE_Y, "BACK_PROBE_BED_POSITION is outside the probe region.");

     ^

exit status 1
static assertion failed: RIGHT_PROBE_BED_POSITION is outside the probe region.

Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.

 

lion02

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

J'ai mis la ligne à 0

#define MIN_PROBE_EDGE 0

et les valeurs ci dessous.

#define LEFT_PROBE_BED_POSITION 0
  #define RIGHT_PROBE_BED_POSITION 304
  #define FRONT_PROBE_BED_POSITION 25
  #define BACK_PROBE_BED_POSITION 304

 

Plus d'erreur, je pense que la version marlin 1.1.9 n’accepte pas d'avoir le probe x et y =  aux dimension max X Y  du print plateau soit 305.

Marlin 1.1.6 devait faire <ou = et marlin 1.1.9 < seulement.

Bon je pense que 1 mm ne va pas changer grand chose dans le calcul😁

Si quelqu’un a une autre solution ou explication je suis preneur.

donc les paramètres ci dessous ne fonctionnent pas ou alors il faut ajouter -1😉

 #define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
  #define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE)
  #define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
  #define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE)

 

static assertion failed: RIGHT_PROBE_BED_POSITION is outside the probe region.

 

 

lion02

Lien vers le commentaire
Partager sur d’autres sites

Il y a 3 heures, lion02 a dit :

#define LEFT_PROBE_BED_POSITION 0
  #define RIGHT_PROBE_BED_POSITION 305
  #define FRONT_PROBE_BED_POSITION 25
  #define BACK_PROBE_BED_POSITION 305

comme tu as déclaré 25 en Y, change tes valeurs 305 en 280 (305-25), tu verras, ca passe tout seul...

et si tu lis bien, left probe bed outside, ca veut dire que tu es en dehors de la zone...

Lien vers le commentaire
Partager sur d’autres sites

il y a 27 minutes, tomg778 a dit :

comme tu as déclaré 25 en Y, change tes valeurs 305 en 280 (305-25), tu verras, ca passe tout seul...

et si tu lis bien, left probe bed outside, ca veut dire que tu es en dehors de la zone...

Moi aussi je croyais que le calcul de la zone fonctionnait de cette façon mais finalement non, comme dit ci dessus j'ai bien 305 dans marlin 1.1.6. et ça  fonctionne tres bien.

Si tu mets 280 tu te rends compte que le bltouch ne va pas assez loin.

Donc la j'ai  mis 304 avec marlin 1.1.9 et plus de problème, donc cest un problème  de limite dans marlin 1.1.9, il n'accepte pas 305

J'espère que je me suis bien expliqué 😉

lion02

Lien vers le commentaire
Partager sur d’autres sites

Il y a 5 heures, lion02 a dit :

#define MIN_PROBE_EDGE 0

Dans Marlin v1.1.9  d'origine avant ce "#define" il y a ces commentaires :

// The Z probe minimum outer margin (to validate G29 parameters).  <=>   La marge extérieure minimale du palpeur Z (pour valider les paramètres G29).
  #define MIN_PROBE_EDGE 10  (valeur par défaut dans Marlin V1.1.9)

Pour faire le cycle ABL , il te faut absolument une distance > 0 pour dégager ton capteur BL entre 2 points de mesure successifs.

Pour mon capteur capacitif 10mm est suffisant, il faut que tu définisses de quel dégagement ton BL  a besoin pour se décontacter  et pour se dégager suffisamment pour assurer des déplacements sans accros.

 

Extrait de ton post initial:

Il y a 5 heures, lion02 a dit :

  #define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE)

Mélange de coordonnées des axes X et Z

 

Il y a 5 heures, lion02 a dit :

  #define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE)

Mélange de coordonnées des axes Y et Z

 

@lion02, sur ton bed de 305mm x 305mm, tu prévois de faire un ABL en 9 pts ou plus ?

Afin de pourvoir mieux suivre, peux-tu indiquer les cordonnées précises X/Y des 9pts (ou plus) sur lequels tu souhaites palper ?

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

Il y a 23 heures, lion02 a dit :

J'espère que je me suis bien expliqué

oui, bien compris, mais alors tu dois avoir des valeurs différentes déclarées dans marlin pour les dimensions de ton bed...

reprend ton fichier config (.cfg) de ta version 1.1.6 et compare le ligne après ligne avec ton config de la v 1.1.9...y a pas de raison...

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

Je vais essayer de donner les explications  pour @tomg778   et @Tfou57  que je remercie.

Mon plateau fait 330x330 mm ma zone de print 305x305mm

Je palpe sur 16 points en partant du bas a gauche et je finis a droite en haut, enfin c'est marlin qui décide.😀

Mon MARLIN 1.1.6 qui fonctionne très bien ci dessous:

Configuration.h

et mon marlin 1.1.9 que je n'ai pas encore essayé mais qui donne ok en vérification par contre je ne peux pas mettre 305x305

Configuration.h

lion02

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

il y a 35 minutes, tomg778 a dit :

oui, bien compris, mais alors tu dois avoir des valeurs différentes déclarées dans marlin pour les dimensions de ton bed...

reprend ton fichier config (.cfg) de ta version 1.1.6 et compare le ligne après ligne avec ton config de la v 1.1.9...y a pas de raison...

Justement j'ai paramétré le 1.1.9 en reprenant ligne a ligne le 1.1.6 .

lion02

Lien vers le commentaire
Partager sur d’autres sites

Il y a 22 heures, Tfou57 a dit :

Dans Marlin v1.1.9  d'origine avant ce "#define" il y a ces commentaires :

// The Z probe minimum outer margin (to validate G29 parameters).  <=>   La marge extérieure minimale du palpeur Z (pour valider les paramètres G29).
  #define MIN_PROBE_EDGE 10  (valeur par défaut dans Marlin V1.1.9)

Pour faire le cycle ABL , il te faut absolument une distance > 0 pour dégager ton capteur BL entre 2 points de mesure successifs.

Pour mon capteur capacitif 10mm est suffisant, il faut que tu définisses de quel dégagement ton BL  a besoin pour se décontacter  et pour se dégager suffisamment pour assurer des déplacements sans accros.

 

Extrait de ton post initial:

Mélange de coordonnées des axes X et Z

 

Mélange de coordonnées des axes Y et Z

 

@lion02, sur ton bed de 305mm x 305mm, tu prévois de faire un ABL en 9 pts ou plus ?

Afin de pourvoir mieux suivre, peux-tu indiquer les cordonnées précises X/Y des 9pts (ou plus) sur lequels tu souhaites palper ?

Moi j'ai un BLtouch donc pas besoin des 10mm je pense.

je suis en 16 points bilinear ci dessous 1.1.9

lion02

Lien vers le commentaire
Partager sur d’autres sites

Il y a 2 heures, lion02 a dit :

et mon marlin 1.1.9 que je n'ai pas encore essayé mais qui donne ok en vérification par contre je ne peux pas mettre 305x305

Configuration.h

Ton configuration.h  V1.1.9 prend toujours ?

// Set the boundaries for probing (where the probe can reach).

#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE

#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE)

#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE

#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE)

 

Le configuration.h  V1.1.9 que tu as posté est ta dernière version à l"heure de ton post ?

Communique nous à chaque fois tes derniers fichiers pour qu'on puisse suivre !

 

Il y a 2 heures, lion02 a dit :

Moi j'ai un BLtouch donc pas besoin des 10mm je pense

Je n'utilise pas de BL Touch , à toi de voir ce point....!

 

Le ‎18‎/‎11‎/‎2018 at 18:25, lion02 a dit :

#define LEFT_PROBE_BED_POSITION 0

Tes points de palpage de gauche ont en une coordonnée X = 0 ?

Avec ta version 1.1.6 les 4 points situés aux 4 coins du carré formé par tes 16 points de palpage avaient quelles coordonnées X / Y ?

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

Désolé je n'avais pas enregistré la dernière version, ci dessous la version qui est déclaré correct par arduino

Le croquis utilise 147768 octets (58%) de l'espace de stockage de programmes. Le maximum est de 253952 octets.
Les variables globales utilisent 5212 octets (63%) de mémoire dynamique, ce qui laisse 2980 octets pour les variables locales. Le maximum est de 8192 octets.

Configuration.h

Sur le palpage actuel avec marlin 1.1.6 j'ai cette configuration ci dessous.

Lien vers le commentaire
Partager sur d’autres sites

franchement, 16 points, je trouve ca énorme...et v'la le temps que ca doit mettre...

moi ca palpe en 9 points et c deja pas mal...

sinon, pour ton soucis, baisse tes valeurs jusqu'a ce que ca passe, et suivant les valeurs trouvées, tu devrais en déduire une distance qui devrait t'aiguiller sur ton erreur...

Lien vers le commentaire
Partager sur d’autres sites

Il y a 14 heures, lion02 a dit :

image.png.d27fb52f76775e135193ca82c7cbd769.png

Ah , la position d'origine X de ton BL Touch de ton imprimante est haut dessus du bed !

Comme ton BL Touch est 25mm derrière la buse, lorsque tu probes avec ton BL Touch et comme tu déclares:

#define FRONT_PROBE_BED_POSITION 25, lors du palpage de ton point 4 la buse est donc pile à la verticale du bord avant du bed.

Ai-je bien compris ? ( ton croquis ne positionne pas le BL Touch par rapport au bord du bed lorsqu'il est au point 4)

 

#define FRONT_PROBE_BED_POSITION 25   ne devrait pas être #define FRONT_PROBE_BED_POSITION 0   ?

Ton offset BL Touch / buse devrait être  défini dans les lignes "PROBE_OFFSET_FROM_EXTRUDER"

Pourquoi tu as commenté cette déclaration d'offset ci-dessous ?

//X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle]

//Y_PROBE_OFFSET_FROM_EXTRUDER 25 // Y offset: -front +behind [the nozzle]  (Décalage Y : -avant la buse +arrière la buse: c'est bien +25)

//Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]

 

16 points de palpage ?

Parce que ton bed est si déformé que cela à chaud ?

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

Il y a 7 heures, Tfou57 a dit :

Ah , la position d'origine X de ton BL Touch de ton imprimante est haut dessus du bed !

Comme ton BL Touch est 25mm derrière la buse, lorsque tu probes avec ton BL Touch et comme tu déclares:

#define FRONT_PROBE_BED_POSITION 25, lors du palpage de ton point 4 la buse est donc pile à la verticale du bord avant du bed.

Ai-je bien compris ? ( ton croquis ne positionne pas le BL Touch par rapport au bord du bed lorsqu'il est au point 4)

il est a 25mm en arriere

 

#define FRONT_PROBE_BED_POSITION 25   ne devrait pas être #define FRONT_PROBE_BED_POSITION 0   ?

25 correspond au 25mm de mon BL touch derrière la buse à 0 j'ai une erreur

Ton offset BL Touch / buse devrait être  défini dans les lignes "PROBE_OFFSET_FROM_EXTRUDER"

oui j'ai bien ça : #define Y_PROBE_OFFSET_FROM_EXTRUDER 25

Pourquoi tu as commenté cette déclaration d'offset ci-dessous ?

c'est  comme ça dans marlin avec les commentaires, j'ai copié et déplacé ces lignes pour avoir les informations sous les yeux au même endroit.

Ces lignes sont bien activées plus haut dans marlin

//X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle]

//Y_PROBE_OFFSET_FROM_EXTRUDER 25 // Y offset: -front +behind [the nozzle]  (Décalage Y : -avant la buse +arrière la buse: c'est bien +25)

//Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]

 

16 points de palpage ?

Parce que ton bed est si déformé que cela à chaud ?

Non j'imprime avec une buse de 0.3mm et en couche de 0.1 en ABS donc je dois avoir une correction au top.

Configuration.h

Lien vers le commentaire
Partager sur d’autres sites

Il y a 2 heures, lion02 a dit :

Ai-je bien compris ? ( ton croquis ne positionne pas le BL Touch par rapport au bord du bed lorsqu'il est au point 4)

il est a 25mm en arriere

Tu nous avais déjà dit que le BL Touch  était 25mm ( Y ) derrière la buse : OK

Il y a 2 heures, lion02 a dit :

il est a 25mm en arriere 

Le BL Touch  est donc au point 4  qui a les coordonnées X=0/Y=25  

Bizarre , car cela semble pas conforme à ton dessin du bed.

 

Tu as des incohérences sur 2 ensembles de déclarations et ton dessin:  Je m'y perds !!!!

// The size of the print bed

#define X_BED_SIZE 305

#define Y_BED_SIZE 305

....

#define LEFT_PROBE_BED_POSITION 0

#define RIGHT_PROBE_BED_POSITION 304        // Sur ton dessin du bed , entre les points 8 et 9 , tu indiques 305 ( forcement par rapport à X=0)

304 mettrait les points 1,8,9 et 16 à 1mm du bord droit du bed

#define FRONT_PROBE_BED_POSITION 25

#define BACK_PROBE_BED_POSITION 304         // Sur ton dessin du bed ,  entre les points 14 et 15 , tu indiques 305 (forcement par rapport à Y=0)

304 mettrait les points 13,14,15et 16 à 1mm du bord arrière du bed

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

@lion02 et @tomg778 , il semble que j'ai dis une bêtise , la variable MIN_PROBE_EDGE est utilisable sur tous les axes.

J'apprends et corrige mon mince savoir sur l'impression 3D en permanence grâce à ce forum et aux interventions de Tous!

N'hésiter donc à intervenir lorsque des dires ne sont pas totalement justes !

 

J'ai également un manque de compréhension Marlin à propos de l'ABL Bilinéaire:

Comment Marlin connaît le positionnement du bed par rapport aux origines X et Y de l'imprimante ?

Je pense que cela provient de la déclaration du capteur ABL au centre du bed (M206 X0 Y0 Z0 puis M500), mais je ne sais pas quelles lignes dans Marlin positionne le bed déclaré par  les 2 lignes #define X_BED_SIZE 305 et #define Y_BED_SIZE 305

Cet extrait de  code sert peut-être à la définition de la position du bed , mais je ne sais pas quelles lignes de code font le calcul:

#define Z_SAFE_HOMING

#if ENABLED(Z_SAFE_HOMING)

#define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2) // X point for Z homing when homing all axes (G28).

#define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2) // Y point for Z homing when homing all axes (G28).

#endif

Avez-vous des informations à me donner à ce sujet ? Cela fonctionne mais j'aime bien comprendre le code Marlin à ce sujet !

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

Bonsoir,

Merci @Tfou57 pou ces informations, pour l'instant  par encore eu le courage de mettre marlin 1.1.9 sur mon hypercube, je suis en plein redesign des chariots x et y.

Donc  jai une version 1.1.9 qui est confirmé par arduino on verra dans quelques semaine en fonctionnement sur mon hypercube.

lion02

Lien vers le commentaire
Partager sur d’autres sites

Le ‎21‎/‎11‎/‎2018 at 14:04, Tfou57 a dit :

Cet extrait de  code sert peut-être à la définition de la position du bed , mais je ne sais pas quelles lignes de code font le calcul:

#define Z_SAFE_HOMING

#if ENABLED(Z_SAFE_HOMING)

#define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2) // X point for Z homing when homing all axes (G28).

#define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2) // Y point for Z homing when homing all axes (G28).

#endif

J'étais dans l'erreur , il utilise en plus pour positionner le bed en X/Y

// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS 0
#define Y_MIN_POS 0

#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE

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

il y a 17 minutes, Tfou57 a dit :

J'étais dans l'erreur , il utilise en plus pour positionner le bed en X/Y

// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS 0
#define Y_MIN_POS 0

#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE

Bonsoir,

Je vais regarder pour ces 4 lignes mais pas avant demain, merci.

Je ne me rapelle pas avoir vu ces deux lignes

#define X_MIN_POS 0
#define Y_MIN_POS 0

lion02

Modifié (le) par lion02
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...