Aller au contenu

Messages recommandés

Posté(e)

Bonjour à tous, 

Derniers réglages de ma CR10 maison avec une carte BTT SKR mini E3V2.

J'ai bien indiqué les dimensions ici mais ma buse refuse d'aller plus loin que 290mm, même si avec un G0 X310.

// The size of the printable area
#define X_BED_SIZE 310
#define Y_BED_SIZE 310

// Travel limits (mm) after homing, corresponding to endstop positions.

#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 400

J'utilise un BLtouch et les drivers sont des TMC 2209, j'ai activé le sensorless homing qui fonctionne bien.

J'ai également bien modifié dans le firmware de l'écran TFT 35 les valeurs suivantes qui étaient celles d'une Ender 3 (j'ai fait passer les size_max à 310mm)

#### Machine Size / Build Area
# The TFT will auto-detect the machine size (min and max) in Marlin firmware (requires enabling `M115_GEOMETRY_REPORT`
# in Configuration_adv.h in Marlin firmware).
#   Format: [size_min: X<minimum distance> Y<minimum distance> Z<minimum distance>]
#           [size_max: X<maximum distance> Y<maximum distance> Z<maximum distance>]
#   Unit: [distance in mm]
#   Value range: [min: -2000, max: 2000]
size_min:X0 Y0 Z0
size_max:X310 Y310 Z400

Et je coince un peu !

Ai-je loupé quelque chose ?

Merci pour votre aide si précieuse jusque-là puisque j'arrive presque au bout !

Jeff
 

 
Posté(e) (modifié)
Il y a 1 heure, Jeff40 a dit :

M115_GEOMETRY_REPORT

Bien activé dans le firmware ?

Et si tu te connecte en USB ... avec par exemple pronterface ou un OctoPi,  tu a quoi en résultat de M115 et de M503 ? et a tu aussi cette limite de déplacement avec par exemple un G1 X310 ; suivie d'un M114 https://marlinfw.org/docs/gcode/M114.html pour avoir les positions ?

a tu bien 

#define M115_GEOMETRY_REPORT

et

#define SERIAL_FLOAT_PRECISION 4

Activé dans le Configuration_Adv.h

Modifié (le) par PPAC
Posté(e)

Merci @PPACpour ta réponse.

Je n'avais en effet pas activé M115_GEOMETRY_REPORT ni SERIAL_FLOAT_PRECISION 4 Je viens de le faire mais ça ne change rien pour le moment.

Connecté en USB, voici ce que donne M115 : j'ai l'impression que ça confirme mais comment dépasser les 290 mm ?

>>> M115
SENDING:M115
FIRMWARE_NAME:Marlin bugfix-2.0.x (Jun 23 2021 14:27:21) SOURCE_CODE_URL:github.com/MarlinFirmware/Marlin PROTOCOL_VERSION:1.0 MACHINE_TYPE:3D Jeff #2 EXTRUDER_COUNT:1 UUID:cede2a2f-41a2-4748-9b12-c55c62f367ff
Cap:SERIAL_XON_XOFF:0
Cap:BINARY_FILE_TRANSFER:0
Cap:EEPROM:1
Cap:VOLUMETRIC:1
Cap:AUTOREPORT_TEMP:1
Cap:PROGRESS:0
Cap:PRINT_JOB:1
Cap:AUTOLEVEL:1
Cap:RUNOUT:0
Cap:Z_PROBE:1
Cap:LEVELING_DATA:1
Cap:BUILD_PERCENT:1
Cap:SOFTWARE_POWER:0
Cap:TOGGLE_LIGHTS:0
Cap:CASE_LIGHT_BRIGHTNESS:0
Cap:EMERGENCY_PARSER:1
Cap:PROMPT_SUPPORT:0
Cap:SDCARD:1
Cap:REPEAT:0
Cap:SD_WRITE:1
Cap:AUTOREPORT_SD_STATUS:0
Cap:LONG_FILENAME:1
Cap:THERMAL_PROTECTION:1
Cap:MOTION_MODES:0
Cap:ARCS:0
Cap:BABYSTEPPING:1
Cap:CHAMBER_TEMPERATURE:0
Cap:COOLER_TEMPERATURE:0
Cap:MEATPACK:0
area:{full:{min:{x:-20.0000,y:-8.0000,z:0.3000},max:{x:290.0000,y:302.0000,z:400.3000}},work:{min:{x:-20.0000,y:-8.0000,z:0.3000},max:{x:290.0000,y:302.0000,z:400.3000}}}
 

Et voici ce que donne M503:

>>> M503
SENDING:M503
echo:  G21    ; Units in mm (mm)
echo:  M149 C ; Units in Celsius
echo:; Filament settings: Disabled
echo:  M200 S0 D1.7500
echo:; Steps per unit:
echo: M92 X100.0000 Y100.0000 Z400.0000 E93.0000
echo:; Maximum feedrates (units/s):
echo:  M203 X500.0000 Y500.0000 Z12.0000 E120.0000
echo:; Maximum Acceleration (units/s2):
echo:  M201 X9000.0000 Y9000.0000 Z500.0000 E10000.0000
echo:; Acceleration (units/s2): P<print_accel> R<retract_accel> T<travel_accel>
echo:  M204 P1500.0000 R1500.0000 T1500.0000
echo:; Advanced: B<min_segment_time_us> S<min_feedrate> T<min_travel_feed000
echo:  G29 W I2 J0 Z0.21000
echo:  G29 W I0 J1 Z0.03000
echo:  G29 W I1 J1 Z-0.04750
echo:  G29 W I2 J1 Z0.24250
echo:  G29 W I0 J2 Z0.02250
echo:  G29 W I1 J2 Z0.00500
echo:  G29 W I2 J2 Z0.22750
echo:; Material heatup parameters:
echo:  M145 S0 H190.0000 B50.0000 F255
echo:  M145 S1 H240.0000 B110.0000 F255
echo:; PID settings:
echo:  M301 P29.2925 I2.9230 D73.3887
echo:  M304 P15.6184 I2.7057 D60.1048
; Controller Fan
echo:  M710 S255 I0 A1 D60 ; (100% 0%)
echo:; Z-Probe Offset (mm):
echo:  M851 X-42.0000 Y-12.0000 Z-0.3500
echo:; Stepper driver current:
echo:  M906 X650 Y650 Z900
echo:  M906 T0 E560
echo:; StallGuard threshold:
echo:  M914 X40 Y40
echo:; Driver stepping mode:
echo:  M569 S1 X Y Z
echo:  M569 S1 T0 E
echo:; Linear Advance:
echo:  M900 K0.0000
echo:; Filament load/unload lengths:
echo:  M603 L350.0000 U400.0000

Posté(e)
il y a 22 minutes, Jeff40 a dit :

area:{full:{min:{x:-20.0000,y:-8.0000,z:0.3000},max:{x:290.0000,y:302.0000,z:400.3000}},work:{min:{x:-20.0000,y:-8.0000,z:0.3000},max:{x:290.0000,y:302.0000,z:400.3000}}}

20+290 = 310 😉 )idem pour y (8+302=310) .

Pourquoi as-tu ce x à -20 ? idem pour le Y à -8 et le Z à 0.3 ? On dirait les paramètres de décalage utilisés pour les offsets lors de l'installation d'un système ABL (Bltouch, Touchmi, …) 🤔

Mets le fichier configuration.h qu'on y jette un œil.

🙂

  • +1 1
Posté(e) (modifié)

Dans configuration.h pourquoi tu fixes ces valeurs, normalement c'est désactivé (comme pour le Z ci-dessous) :

Citation

// Manually set the home position. Leave these undefined for automatic settings.
// For DELTA this is the top-center of the Cartesian print volume.
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0

//#define MANUAL_Z_HOME_POS 0

Ta structure n'est pas d'équerre ? Tu utilises le «skew compensation» donc tu as effectué tous les calculs ?

Citation

/**
 * Bed Skew Compensation
 *
 * This feature corrects for misalignment in the XYZ axes.
 *
 * Take the following steps to get the bed skew in the XY plane:
 *  1. Print a test square (e.g., https://www.thingiverse.com/thing:2563185)
 *  2. For XY_DIAG_AC measure the diagonal A to C
 *  3. For XY_DIAG_BD measure the diagonal B to D
 *  4. For XY_SIDE_AD measure the edge A to D
 *
 * Marlin automatically computes skew factors from these measurements.
 * Skew factors may also be computed and set manually:
 *
 *  - Compute AB     : SQRT(2*AC*AC+2*BD*BD-4*AD*AD)/2
 *  - XY_SKEW_FACTOR : TAN(PI/2-ACOS((AC*AC-AB*AB-AD*AD)/(2*AB*AD)))
 *
 * If desired, follow the same procedure for XZ and YZ.
 * Use these diagrams for reference:
 *
 *    Y                     Z                     Z
 *    ^     B-------C       ^     B-------C       ^     B-------C
 *    |    /       /        |    /       /        |    /       /
 *    |   /       /         |   /       /         |   /       /
 *    |  A-------D          |  A-------D          |  A-------D
 *    +-------------->X     +-------------->X     +-------------->Y
 *     XY_SKEW_FACTOR        XZ_SKEW_FACTOR        YZ_SKEW_FACTOR
 */
#define SKEW_CORRECTION

#if ENABLED(SKEW_CORRECTION)
  // Input all length measurements here:
  #define XY_DIAG_AC 282.8427124746
  #define XY_DIAG_BD 282.8427124746
  #define XY_SIDE_AD 200

  // Or, set the default skew factors directly here
  // to override the above measurements:
  #define XY_SKEW_FACTOR 0.0

  //#define SKEW_CORRECTION_FOR_Z
  #if ENABLED(SKEW_CORRECTION_FOR_Z)
    #define XZ_DIAG_AC 282.8427124746
    #define XZ_DIAG_BD 282.8427124746
    #define YZ_DIAG_AC 282.8427124746
    #define YZ_DIAG_BD 282.8427124746
    #define YZ_SIDE_AD 200
    #define XZ_SKEW_FACTOR 0.0
    #define YZ_SKEW_FACTOR 0.0
  #endif

  // Enable this option for M852 to set skew at runtime
  //#define SKEW_CORRECTION_GCODE
#endif

 

Après flashage tu réinitialises bien l'EEPROM ( M502 + M500 ) ?

 

Autre chose: les valeurs pour les pas X et Y ne correspondent pas à une CR10 (poulie de 16 20 dents, courroie GT2), tu as 100 alors que normalement c'est 80.

Tes accélérations sont «ÉNORMES» 😱

Le 23/06/2021 at 14:39, Jeff40 a dit :

echo:; Maximum Acceleration (units/s2):
echo:  M201 X9000.0000 Y9000.0000 Z500.0000 E10000.0000

Dernière chose: pourquoi être parti sur un Marlin «bugfixes» (ancien qui plus est) ?

EDIT: correction du nombre de dents des poulies d'entrainement des moteurs X et Y d'une CR10: 20 dents (et pas 16 sinon les pas moteurs doivent être de 100 au lieu de 80).

🙂

Modifié (le) par fran6p
  • Merci ! 1
Posté(e)

Merci @fran6ppour ta réponse et pour tes questions constructives auxquelles je vais essayer de répondre.

Mes compétences sont en également en construction, voila pourquoi il y a quelques éléments bizarres dans ma configuration.

il y a une heure, fran6p a dit :

Dans configuration.h pourquoi tu fixes ces valeurs, normalement c'est désactivé (comme pour le Z ci-dessous) :

Je n'ai pas fais attention à ce paramètre, je vais donc re-commenter ces lignes.

il y a une heure, fran6p a dit :

Ta structure n'est pas d'équerre ? Tu utilises le «skew compensation» donc tu as effectué tous les calculs ?

J'avais configuré le skew sur mon ancienne I3 maison, je l'ai donc gardé ici au cas où ma structure ne serait pas d'équerre mais je ne l'ai pas encore utilisé.

il y a une heure, fran6p a dit :

Après flashage tu réinitialises bien l'EEPROM ( M502 + M500 ) ?

Je ne l'ai jamais fait... Je croyais que je ne devais le faire que si je modifiais une valeur depuis l'écran tactile de mon imprimante !

Peux-tu me confirmer si cette procédure est la bonne :

  1. Je paramètre et modifie mon Marlin avec VS Code sur mon PC. Je compile et copie le fichier firmware.bin sur ma carte SD
  2. Je mets la carte SD dans le lecteur de la carte mère.
  3. J'allume l'imprimante et je laisse charger : est-ce que le firmware remplace déjà celui qui était dans la carte ou faut-il faire l'opération suivante ?
  4. Je fais M502 suivi de M500 (dans cet ordre) depuis l'écran tactile.
Il y a 1 heure, fran6p a dit :

Autre chose: les valeurs pour les pas X et Y ne correspondent pas à une CR10 (poulie de 16 dents, courroie GT2), tu as 100 alors que normalement c'est 80

Là, j'ai la réponse : j'ai essayé avec 100 au départ, j'ai flashé à ma manière (c'est à dire mal). J'ai vu que le rapport n'était pas bon alors j'ai modifié directement depuis l'écran tactile à 80. Je viens de vérifier, c'est toujours à 80. 

Il y a 1 heure, fran6p a dit :

Tes accélérations sont «ÉNORMES» 😱

Alors là, je prends tous les conseils, je ne maîtrise pas. Mes moteurs sont des  Nema 17HS4401  avec un courant de 1,7A.

Quelles sont les valeurs raisonnables ?

Il y a 1 heure, fran6p a dit :

Dernière chose: pourquoi être parti sur un Marlin «bugfixes» (ancien qui plus est) ?

 

Parce que j'ai suivi un tuto de Kamino KGY sur sa chaine Youtube, il disait de faire comme ça et vu que j'avais la même carte, j'ai suivi. Je me suis dit que Bugfixes devait vouloir dire quelque chose comme " dernière version exempte d'erreurs" mais ce n'est peut-être pas ça.

Tu vois, j'ai encore du chemin à parcourir...

Merci en tous cas pour ton attention qui me fait progresser.

Jeff

Posté(e) (modifié)
Il y a 1 heure, Jeff40 a dit :

Je me suis dit que Bugfixes devait vouloir dire quelque chose comme " dernière version exempte d'erreurs" mais ce n'est peut-être pas ça.

La «bugfixes» est une version mise à jour tous les jours, voire parfois plusieurs fois dans une journée. C'est celle utilisée par les développeurs ou les plus téméraires (borderline ?) alors certains bogues sont régulièrement corrigés mais généralement en en introduisant d'autres pour lesquels i faut attendre que ce soit corrigé 😉

Je n'ai jamais compris ces «youtubeurs» qui donnent comme conseil de partir sur cette version et ce n'est pas, je pense @remibora qui me contredira. Pour faire une analogie, si ton système d'exploitation est Windows10, tu peux également te déclarer auprès de Microsoft pour passer sur le  canal «développeur» mais en sachant que ton OS pourra ou pas fonctionner correctement. Ce type de version sert principalement à faire évoluer le logiciel (c'est toi le produit testeur) et tester de nouveaux matériels.

Donc, on part toujours d'une version stable, elle même mise à jour régulièrement à partir des corrections du «bugfixes» (à ce jour la v2.0.9).

Il y a 1 heure, Jeff40 a dit :

Peux-tu me confirmer si cette procédure est la bonne :

  1. Je paramètre et modifie mon Marlin avec VS Code sur mon PC. Je compile et copie le fichier firmware.bin sur ma carte SD OUI
  2. Je mets la carte SD dans le lecteur de la carte mère. OUI
  3. J'allume l'imprimante et je laisse charger : OUI est-ce que le firmware remplace déjà celui qui était dans la carte OUI (normalement si le processus de flashage s'est correctement passè) ou faut-il faire l'opération suivante ?
  4. Je fais M502 suivi de M500 (dans cet ordre) depuis l'écran tactile. C'est recommandé de réinitialiser l'EEPROM (l'idéal est avant de le faire d'avoir une trace des modifications déjà réalisées (Zoffset, pas de l'extrudeur après calibration, …). Le résultat d'un M503 copié dans un fichier texte permet d'en garder une trace 😉 .

 

Il y a 1 heure, Jeff40 a dit :

Quelles sont les valeurs raisonnables ?

Pour ma CR10V2 (c'est très semblable pour la CR10) on est plutôt dans les «#define DEFAULT_MAX_ACCELERATION      { 2000, 2000, 100, 5000 }»

Citation

/**
 * Default Axis Steps Per Unit (steps/mm)
 * Override with M92
 *                                      X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]]
 */
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 400, 97 }

/**
 * Default Max Feed Rate (mm/s)
 * Override with M203
 *                                      X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]]
 */
#define DEFAULT_MAX_FEEDRATE          { 750, 750, 15, 75 }

//#define LIMITED_MAX_FR_EDITING        // Limit edit via M203 or LCD to DEFAULT_MAX_FEEDRATE * 2
#if ENABLED(LIMITED_MAX_FR_EDITING)
  #define MAX_FEEDRATE_EDIT_VALUES    { 600, 600, 10, 50 } // ...or, set your own edit limits
#endif

/**
 * Default Max Acceleration (change/s) change = mm/s
 * (Maximum start speed for accelerated moves)
 * Override with M201
 *                                      X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]]
 */
#define DEFAULT_MAX_ACCELERATION      { 2000, 2000, 100, 5000 }

//#define LIMITED_MAX_ACCEL_EDITING     // Limit edit via M201 or LCD to DEFAULT_MAX_ACCELERATION * 2
#if ENABLED(LIMITED_MAX_ACCEL_EDITING)
  #define MAX_ACCEL_EDIT_VALUES       { 6000, 6000, 200, 20000 } // ...or, set your own edit limits
#endif

/**
 * Default Acceleration (change/s) change = mm/s
 * Override with M204
 *
 *   M204 P    Acceleration
 *   M204 R    Retract Acceleration
 *   M204 T    Travel Acceleration
 */
#define DEFAULT_ACCELERATION           800    // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION  1000    // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION    800    // X, Y, Z acceleration for travel (non printing) moves

 

 

Il y a 1 heure, Jeff40 a dit :

Merci en tous cas pour ton attention qui me fait progresser.

De rien, c'est le principe du forum: aider si / quand on le peut (en plus j'aime partager ce que je pense connaitre)

🙂

Modifié (le) par fran6p
Posté(e)

J'avais donc compris pile l'inverse pour le bugfix !

C'est bien M502 qui ré-initialise l'EEPROM avant que M500 sauvegarde ce que je viens de mettre dans la carte SD ?

Si avec tout ça je n'y arrive pas ...

Encore un grand merci, je m'y colle ce soir et je te dis.

Jeff

Posté(e) (modifié)
il y a 57 minutes, Jeff40 a dit :

C'est bien M502 qui ré-initialise l'EEPROM avant que M500 sauvegarde ce que je viens de mettre dans la carte SD ?

Oui et non 🙂

M502 https://marlinfw.org/docs/gcode/M502.html permet de charger les valeurs en dure du code du firmware (les factory settings, ce que tu a mis dans les fichier Configuration*.h) comme paramètres actuel d'impression (paramètres actuel = espace mémoire volatil considéré comme perdu lors de la coupure de courant).

M500 https://marlinfw.org/docs/gcode/M500.html permet d’écrire dans l'eeprom (espace de sauvegarde non volatile) les valeurs actuel des paramètres (l'eeprom qui se trouve être lu au démarrage de l'imprimante pour initialiser les paramètres de l’imprimante ) 

Donc faire un M502 suivie d'un M500 permet de réinitialiser les paramétré en cour (avec les valeurs en dure dans le firmware(des sources).), puis d'écrire dans l'eeprom les paramétrés en cours.

Donc souvent (comme le rappel fran6p) on conseil de garder une copie (dans un fichier texte) d'un retour d'un M503 avant cela(M502 suivie de M500), pour au besoins retrouver des paramétrés (manuellement modifié via l’écran ou provenant du précédant firmware ou de commande g-codes ...) qui seront là forcement écrasé.

Modifié (le) par PPAC
Posté(e)

Je crois avoir compris pas mal de choses.

Merci !

Posté(e)

Une explication que j'espère complète sur les subtilités des gcodes M50{0|3} :

 

🙂

  • Merci ! 1
Posté(e)

Merci @fran6ppour ce complément, je regarde ça plus en détails ce soir. J'ai souri en parcourant très vite ce post dans lequel tu mets les choses au point, vu de ton expérience dans l'Education nationale. Je souscris, cher collègue !

Pour le moment, je suis en train de tenter de refaire un firmware.bin propre avec la dernière version de Marlin V2.0.9 (non bugfix !) comme tu me l'as conseillé. 

Je descends tout le déroulé des fichiers Configuration.h et Configuration_adv.h sans méthode précise, en vérifiant ou modifiant ce qui me saute aux yeux et en faisant un essai de compilation après chaque modif pour ne pas accumuler les erreurs. Tu penses que c'est un bonne stratégie ?

Merci encore.

Jeff

 

Je viens de trouver ceci ! et je vais l'utiliser.

Décidemment, merci !

Marlin 2.0.x guide pour CR10-V2, carte mère originelle (v2.5.2)

Posté(e) (modifié)

Bonjour à tous, 

Avec tous les conseils recueillis, je viens de passer quelques heures à configurer mon Marlin V2.0.9 (non bugfix !).

A chaque modif, j'ai pris des notes et effectué systématiquement une compilation.

Toutes les compilations fonctionnent sauf quand je tente de modifier #define Z_MIN_PROBE_ENDSTOP_INVERTING false // Set to true to invert the logic of the probe.

Je comprends qu'il doit être passé en true si on utilise un BLtouch mais la compilation échoue à chaque fois. 

@fran6p, j'ai trouvé ceci sur ton post CR10-V2, carte originelle (2.5.2), Marlin 2.0.8.2 (stable)

  • C #define Z_MIN_ENDSTOP_INVERTING true

  • C #define Z_MAX_ENDSTOP_INVERTING true

  • C #define Z_MIN_PROBE_ENDSTOP_INVERTING true

Penses-tu que ça peut venir de là ? Je viens d'essayer, ça ne compile pas non plus.

Merci pour votre aide.

Jeff

Je joins mes fichiers de config au cas où.

 

 

 

Configuration_adv.h Configuration.h

Modifié (le) par Jeff40
Modif texte
Posté(e) (modifié)
Il y a 1 heure, Jeff40 a dit :

ça ne compile pas non plus.

Je n'ai pas de BLTouch mais j'ai fait qq testes chez moi avec tes fichiers de Configuration*.h 

compilation ok "STM32F103RC_btt" sans rien modifier de tes fichiers Configuration*.h

si je modif cela

#define Z_MIN_PROBE_ENDSTOP_INVERTING false

en

#define Z_MIN_PROBE_ENDSTOP_INVERTING true

error: #error "BLTOUCH requires Z_MIN_PROBE_ENDSTOP_INVERTING set to false. Please update your Configuration.h file."

Si je remet 

#define Z_MIN_PROBE_ENDSTOP_INVERTING false

et que je fait

#define Z_MIN_ENDSTOP_INVERTING true

compilation ok. STM32F103RC_btt  SUCCESS   00:02:05.734

Donc il nous faut comme le dit billedeclown01 (dans un bloc de citation si très long) l'erreur de compilation ! merci !

Modifié (le) par PPAC
Posté(e)

Salut @Jeff40,

Il y a 3 heures, Jeff40 a dit :

quand je tente de modifier #define Z_MIN_PROBE_ENDSTOP_INVERTING false // Set to true to invert the logic of the probe.

Je comprends qu'il doit être passé en true si on utilise un BLtouch

Ben... non en fait 😅. Dans le fichier Marlin\src\inc\Conditionals_LCD.h, tu trouveras ça:

// Always disable probe pin inverting for BLTouch
  #if Z_MIN_PROBE_ENDSTOP_INVERTING
    #error "BLTOUCH requires Z_MIN_PROBE_ENDSTOP_INVERTING set to false. Please update your Configuration.h file."
  #endif

En français courant: "touche pas à ça p'tit..." 😜 donc tu laisses: #define Z_MIN_PROBE_ENDSTOP_INVERTING false

Je te conseille de dé-commenter la ligne 4143 du fichier configuration_adv.h.

//#define PINS_DEBUGGING

Ainsi tu pourras tester le fonctionnement du BLTouch en suivant l'étape 1 de ce message.

  • Merci ! 1
Posté(e)

Depuis la version 2.0.9 des vérifications lors de la compilation du firmware ont été «renforcées» (voir ici et ), le Z_MIN_PROBE_ENDSTOP_INVERTING en fait partie 😉

renforcer-tests-blt-v209.jpg.45c23e64ce78cd7236c7e0d0b879dec1.jpg

Mon bloc de {XYZ}_MIN|MAX_ENDSTOP_INVERTING est désormais :

Citation
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#define X_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define I_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define J_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define K_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING DISABLED(CR10V2_BLTOUCH) // Set to true to invert the logic of the probe.

La directive «CR10V2_BLTOUCH» est activée (ou pas 😉 ) au début du fichier configuration.h (ça permet en activant / désactivant uniquement cette directive d'avoir des fichiers configuration.h et configuration_adv.h fonctionnels pour une CR10-V2 basique ou avec Bltouch 🤭

Citation
/**
 * Creality CD-10 V2 options
 */
 
// Is the BLTouch option installed?
#define CR10V2_BLTOUCH

Les fichiers de mon dépôt github sont à jour, pas forcément la documentation de mon sujet (je fais un nœud à mon mouchoir pour le faire )😞

🙂

  • Merci ! 1
Posté(e) (modifié)

Merci à tous pour votre aide et votre réactivité.

Dans l'ordre,

  1. voici pour @billedeclown01 et @PPAC :

Processing STM32F103RC_btt (platform: ststm32@~12.1; board: genericSTM32F103RC; framework: arduino)
----------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via `-v, --verbose` option
In file included from c:\marlin-2.0.x\marlin\src\inc\MarlinConfigPre.h:49,
                 from c:\marlin-2.0.x\marlin\src\inc\marlinconfig.h:28,
                 from buildroot/share/PlatformIO/scripts/common-dependencies.h:29:
c:\marlin-2.0.x\marlin\src\inc\Conditionals_LCD.h:738:6: error: #error "BLTOUCH requires Z_MIN_PROBE_ENDSTOP_INVERTING set to false. Please update your Configuration.h file."
  738 |     #error "BLTOUCH requires Z_MIN_PROBE_ENDSTOP_INVERTING set to false. Please update your Configuration.h file."        
      |      ^~~~~
CalledProcessError: Command '"C:\.platformio\packages\toolchain-gccarmnoneeabi@1.90201.191206\bin\arm-none-eabi-g++.exe" -D__MARLIN_FIRMWARE__ -DNDEBUG -DUSBCON -DUSBD_USE_CDC -DTIM_IRQ_PRIO=13 -DADC_RESOLUTION=12 -DDEBUG_LEVEL=0 -DTIMER_SERVO=TIM5 -D__MARLIN_DEPS__ -w -dM -E -x c++ buildroot/share/PlatformIO/scripts/common-dependencies.h' returned non-zero exit status 1.:
  File "C:\.platformio\penv\lib\site-packages\platformio\builder\main.py", line 175:
    env.SConscript(item, exports="env")
  File "C:\.platformio\packages\tool-scons\scons-local-4.1.0\SCons\Script\SConscript.py", line 591:
    return _SConscript(self.fs, *files, **subst_kw)
  File "C:\.platformio\packages\tool-scons\scons-local-4.1.0\SCons\Script\SConscript.py", line 280:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "C:\Marlin-2.0.x\buildroot\share\PlatformIO\scripts\common-dependencies.py", line 309:
    apply_features_config()
  File "C:\Marlin-2.0.x\buildroot\share\PlatformIO\scripts\common-dependencies.py", line 136:
    if not env.MarlinFeatureIsEnabled(feature):
  File "C:\.platformio\packages\tool-scons\scons-local-4.1.0\SCons\Util.py", line 658:
    return self.method(*nargs, **kwargs)
  File "C:\Marlin-2.0.x\buildroot\share\PlatformIO\scripts\common-dependencies.py", line 285:
    load_marlin_features()
  File "C:\Marlin-2.0.x\buildroot\share\PlatformIO\scripts\common-dependencies.py", line 273:
    define_list = subprocess.check_output(cmd, shell=True).splitlines()
  File "C:\.platformio\python3\lib\subprocess.py", line 411:
    **kwargs).stdout
  File "C:\.platformio\python3\lib\subprocess.py", line 512:
    output=stdout, stderr=stderr)
=================================================== [FAILED] Took 2.89 seconds ===================================================
Environment      Status    Duration
---------------  --------  ------------
STM32F103RC_btt  FAILED    00:00:02.894
============================================= 1 failed, 0 succeeded in 00:00:02.894 ============================================= 
Arrêt du processus de terminal "C:\.platformio\penv\Scripts\platformio.exe 'run'". Code de sortie : 1.

2. @remibora

J'ai bien compris, pas touche au False de la ligne en question et j'ai décommenté //#define PINS_DEBUGGING

Il y a 7 heures, remibora a dit :

Ainsi tu pourras tester le fonctionnement du BLTouch en suivant l'étape 1 de ce message.

Ok, je teste. Génial ce post, je le copie/colle dans mes notes. J'ai cru comprendre qu'il résulte de ta collaboration avec @fran6p. Bravo à tous les deux.

3. @fran6p

il y a 55 minutes, fran6p a dit :

La directive «CR10V2_BLTOUCH» est activée (ou pas 😉 ) au début du fichier configuration.h (ça permet en activant / désactivant uniquement cette directive d'avoir des fichiers configuration.h et configuration_adv.h fonctionnels pour une CR10-V2 basique ou avec Bltouch 🤭

Je ne comprends pas bien. Ma configuration est celle de la carte BTT SKR mini E3V2, je l'ai téléchargé depuis le dossier Ender 3 du github Creality. Est-ce que la directive "CR10V2_BLTOUCH" sont tu parles, c'est #define BLTOUCH (ligne 1059) dans mon fichier ? Si oui, je l'ai activée en décommentant la ligne.

Merci pour tout !

Jeff

Modifié (le) par Jeff40
Posté(e)

En gros l'erreur vient du fait qu'il y a une protection au niveau de la compilation. Tu ne peux pas inversé la Logic du endstop Z si tu n'as pas décommenté la ligne du Bltouch. Vu que tu fais chaque ligne une par une ça bloque.

Envoyé de mon One Plus Nord en utilisant Tapatalk

Posté(e)

Ok, je crois avoir compris : je dois faire toutes les modifs, y compris décommenter le ligne du Bltouch pour pouvoir compiler sans erreur. C'est bien ça ?

Merci pour ton aide.

Jeff

Posté(e) (modifié)

Pour répondre à ton point n°3, @fran6p faisait référence à ses propres fichiers de configuration disponibles sur son dépot github . Il a ajouté une directive au début de son fichier "#define CR10V2_BLTOUCH " pour faciliter la configuration d'autres paramètres, notamment le "Z_MIN_PROBE_ENDSTOP_INVERTING" . Tu pourrais donc t'inspirer de ces fichiers en changeant notamment la définition de la carte et en commentant:

#if ENABLED(CR10V2_BLTOUCH)
  #define Z_MIN_PROBE_PIN 19
#endif

puisque les broches du microcontrôleur sont différentes. Si tu branches le BLtouch sur le connecteur dédié, tu n'auras rien à spécifier.

Modifié (le) par remibora
Posté(e)

A s'arracher les cheveux ...

Ce matin, je voulais peaufiner mes réglages, j'ai, d'un seul coup l'anomalie suivante : 

Je demande un déplacement en X de 100 mm, je n'obtiens que 80, idem pour Y.

Je vérifie avec M501 ou M503, j'ai pourtant bien DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 400, 93 }. Mes poulies ont bien 16 dents et mes courroies un pas de 2mm.

Quand je demande G0 X310, le déplacement amène la buse à environ 240mm, pour un lit et une dimension déclarée de 310mm. En butée, je suis à X-20 et j'ai X0 à 5mm du bord gauche du lit.

Connaissez-vous ce genre de déboire ?

Merci @remibora, , @billedeclown01, @fran6p et @PPAC de voler une fois de plus à mon secours !

Jeff

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...