Aller au contenu

Détecteur fin de filament sur carte SKR MINI E3 V3.0


Messages recommandés

Mon imprimante est une Créality CR10 V2. Sa configuration actuelle est la suivante :

 

·         Détecteur de fin de filament (Contacteur d’origine)

·         2xZ synchro,

·         Cage

·         E3D Titan direct Drive,

·         E3D V6 (Original)

·         SKR MINI E3 V2.0, puis SKR MINI E3 V3.0

·         TFT35 E3 V3.0

·         Marlin 2.0.9.3 (Stable),

·         Cura

Depuis le remplacement de la carte mère d’origine, la Céality V2.5.2 par une carte SKR, le détecteur de fin de filament est inopérant.

J’ai parcouru le forum et il me semble qu’il est possible de le faire fonctionner, actuellemnt c’est un échec, je vais préciser ci-dessous ma configuration.

Carte SKR MINI E3 V3.0

Je n’ai pas modifier le câblage d’origine, je l’ai branché sur le connecteur « EO.STOP »

Le test « M119 » affiche les résultats suivants :

·         Avec filament :

                          Filament : TRIGGERED

·         Sans filament :

                   Filament : open

 

Configuration du firmware :

« Configuration.h »

#define FILAMENT_RUNOUT_SENSOR

#if ENABLED(FILAMENT_RUNOUT_SENSOR)

  #define FIL_RUNOUT_ENABLED_DEFAULT true // Enable the sensor on startup. Override with M412 followed by M500.

  #define NUM_RUNOUT_SENSORS   1          // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each.

  #define FIL_RUNOUT_STATE     LOW        // Pin state indicating that filament is NOT present.

  #define FIL_RUNOUT_PULLUP               // Use internal pullup for filament runout pins.

  //#define FIL_RUNOUT_PULLDOWN           // Use internal pulldown for filament runout pins.

  //#define WATCH_ALL_RUNOUT_SENSORS      // Execute runout script on any triggering sensor, not only for the active extruder.

                                          // This is automatically enabled for MIXING_EXTRUDERs.

  // Override individually if the runout sensors vary

  //#define FIL_RUNOUT1_STATE LOW

  //#define FIL_RUNOUT1_PULLUP

  //#define FIL_RUNOUT1_PULLDOWN

  //#define FIL_RUNOUT2_STATE LOW

  //#define FIL_RUNOUT2_PULLUP

  //#define FIL_RUNOUT2_PULLDOWN

  //#define FIL_RUNOUT3_STATE LOW

  //#define FIL_RUNOUT3_PULLUP

  //#define FIL_RUNOUT3_PULLDOWN

  //#define FIL_RUNOUT4_STATE LOW

  //#define FIL_RUNOUT4_PULLUP

  //#define FIL_RUNOUT4_PULLDOWN

  //#define FIL_RUNOUT5_STATE LOW

  //#define FIL_RUNOUT5_PULLUP

  //#define FIL_RUNOUT5_PULLDOWN

  //#define FIL_RUNOUT6_STATE LOW

  //#define FIL_RUNOUT6_PULLUP

  //#define FIL_RUNOUT6_PULLDOWN

  //#define FIL_RUNOUT7_STATE LOW

  //#define FIL_RUNOUT7_PULLUP

  //#define FIL_RUNOUT7_PULLDOWN

  //#define FIL_RUNOUT8_STATE LOW

  //#define FIL_RUNOUT8_PULLUP

  //#define FIL_RUNOUT8_PULLDOWN

  // Commands to execute on filament runout.

  // With multiple runout sensors use the %c placeholder for the current tool in commands (e.g., "M600 T%c")

  // NOTE: After 'M412 H1' the host handles filament runout and this script does not apply.

  #define FILAMENT_RUNOUT_SCRIPT "M600"

  // After a runout is detected, continue printing this length of filament

  // before executing the runout script. Useful for a sensor at the end of

  // a feed tube. Requires 4 bytes SRAM per sensor, plus 4 bytes overhead.

  #define FILAMENT_RUNOUT_DISTANCE_MM 7

  #ifdef FILAMENT_RUNOUT_DISTANCE_MM

    // Enable this option to use an encoder disc that toggles the runout pin

    // as the filament moves. (Be sure to set FILAMENT_RUNOUT_DISTANCE_MM

    // large enough to avoid false positives.)

    #define FILAMENT_MOTION_SENSOR

  #endif

#endif

 

« Configuration_adv.h »

#define ADVANCED_PAUSE_FEATURE

#if ENABLED(ADVANCED_PAUSE_FEATURE)

  #define PAUSE_PARK_RETRACT_FEEDRATE         60  // (mm/s) Initial retract feedrate.

  #define PAUSE_PARK_RETRACT_LENGTH            2  // (mm) Initial retract.

                                                  // This short retract is done immediately, before parking the nozzle.

  #define FILAMENT_CHANGE_UNLOAD_FEEDRATE     10  // (mm/s) Unload filament feedrate. This can be pretty fast.

  #define FILAMENT_CHANGE_UNLOAD_ACCEL        25  // (mm/s^2) Lower acceleration may allow a faster feedrate.

  #define FILAMENT_CHANGE_UNLOAD_LENGTH       70  // (mm) The length of filament for a complete unload.

                                                  //   For Bowden, the full length of the tube and nozzle.

                                                  //   For direct drive, the full length of the nozzle.

                                                  //   Set to 0 for manual unloading.

  #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE   6  // (mm/s) Slow move when starting load.

  #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH     0  // (mm) Slow length, to allow time to insert material.

                                                  // 0 to disable start loading and skip to fast load only

  #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE  60  // (mm/s) Load filament feedrate. This can be pretty fast.

  #define FILAMENT_CHANGE_FAST_LOAD_ACCEL     25  // (mm/s^2) Lower acceleration may allow a faster feedrate.

  #define FILAMENT_CHANGE_FAST_LOAD_LENGTH    70  // (mm) Load length of filament, from extruder gear to nozzle.

                                                  //   For Bowden, the full length of the tube and nozzle.

                                                  //   For direct drive, the full length of the nozzle.

  //#define ADVANCED_PAUSE_CONTINUOUS_PURGE       // Purge continuously up to the purge length until interrupted.

  #define ADVANCED_PAUSE_PURGE_FEEDRATE        3  // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate.

  #define ADVANCED_PAUSE_PURGE_LENGTH         50  // (mm) Length to extrude after loading.

                                                  //   Set to 0 for manual extrusion.

                                                  //   Filament can be extruded repeatedly from the Filament Change menu

                                                  //   until extrusion is consistent, and to purge old filament.

  #define ADVANCED_PAUSE_RESUME_PRIME          0  // (mm) Extra distance to prime nozzle after returning from park.

  //#define ADVANCED_PAUSE_FANS_PAUSE             // Turn off print-cooling fans while the machine is paused.

 

                                                  // Filament Unload does a Retract, Delay, and Purge first:

  #define FILAMENT_UNLOAD_PURGE_RETRACT       13  // (mm) Unload initial retract length.

  #define FILAMENT_UNLOAD_PURGE_DELAY       5000  // (ms) Delay for the filament to cool after retract.

  #define FILAMENT_UNLOAD_PURGE_LENGTH         8  // (mm) An unretract is done, then this length is purged.

  #define FILAMENT_UNLOAD_PURGE_FEEDRATE      25  // (mm/s) feedrate to purge before unload

 

  #define PAUSE_PARK_NOZZLE_TIMEOUT           45  // (seconds) Time limit before the nozzle is turned off for safety.

  #define FILAMENT_CHANGE_ALERT_BEEPS         10  // Number of alert beeps to play when a response is needed.

  #define PAUSE_PARK_NO_STEPPER_TIMEOUT           // Enable for XYZ steppers to stay powered on during filament change.

  //#define FILAMENT_CHANGE_RESUME_ON_INSERT      // Automatically continue / load filament when runout sensor is triggered again.

  //#define PAUSE_REHEAT_FAST_RESUME              // Reduce number of waits by not prompting again post-timeout before continuing.

 

  #define PARK_HEAD_ON_PAUSE                      // Park the nozzle during pause and filament change.

  #define HOME_BEFORE_FILAMENT_CHANGE             // If needed, home before parking for filament change

 

  #define FILAMENT_LOAD_UNLOAD_GCODES           // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu.

  //#define FILAMENT_UNLOAD_ALL_EXTRUDERS         // Allow M702 to unload all extruders above a minimum target temp (as set by M302)

#endif

« Pins_BTT_SKR_MINI_E3_V_0.h »

//

// Filament Runout Sensor

//

#ifndef FIL_RUNOUT_PIN

  #define FIL_RUNOUT_PIN                    PC15  // E0-STOP

#endif

 

FIL_RUNOUT_PIN    PC15 s’exécute si la condition « FIL_RUNOUT_PIN » est satisfaite.

Je n’ai pas trouvé comment ni où le contrôler.

 

« Config.ini pour BTT TFT35 V3.0 »

                

#--------------------------------------------------------------------

# Filament Runout Settings (only if connected to TFT controller)

#--------------------------------------------------------------------

# NOTES for users having a filament sensor connected to the mainboard:

#   1) Define "fil_runout:0" below to disable the sensor handling on the TFT.

#   2) Configure the sensor in the firmware of your mainboard.

#   3) Add M75 to "start_gcode" and M77 to "end_gcode" of the TFT (or your slicer).

#### Filament Runout Sensor

# Select the type of filament runout sensor and its default enabled/disabled state.

#   Options: [Normal Disabled: 0, Normal Enabled: 1, Smart Disabled: 2, Smart Enabled: 3]

fil_runout:3

#### Inverted Filament Runout Sensor Logic

# The sensor uses an inverted logic.

# Disable it in case filament runout is triggered by a LOW signal.

# Enable it in case filament runout is triggered by a HIGH signal.

#   Options: [disable: 0, enable: 1]

fil_runout_inverted:0

#### NC (Normal Close) Filament Runout Sensor

# The sensor is of type NC.

#   Options: [Normal Open: 0, Normal Close: 1]

fil_runout_nc:1

 

#### Filament Runout Noise Threshold

# Pause print when filament runout is detected at least for this time period.

#   Unit: [time in milliseconds]

#   Value range: [min: 10, max: 1800]

fil_runout_noise_threshold:100

#### Smart Filament Runout Detection

# Used in conjunction with an SFS (Smart Filament Sensor) based on an encoder disc that

# toggles runout pin as filament moves.

#   Unit: [distance in mm]

#   Value range: [min: 1, max: 50]

fil_runout_distance:7

Paramètres M75 et M77 dans gcode

G-code de démarrage

M75

M201 X500.00 Y500.00 Z100.00 E5000.00 ;Setup machine max acceleration

M203 X500.00 Y500.00 Z10.00 E50.00 ;Setup machine max feedrate

M204 P500.00 R1000.00 T500.00 ;Setup Print/Retract/Travel acceleration

M205 X8.00 Y8.00 Z0.40 E5.00 ;Setup Jerk

M220 S100 ;Reset Feedrate

M221 S100 ;Reset Flowrate

 

G-code de fin

 

M104 S0 ;Turn-off hotend

M140 S0 ;Turn-off bed

 

M77

 

M84 X Y E ;Disable all steppers but Z

 

L’Eeprom, de l’imprimante est réinitialisée.

Conclusion :

L’imprimante commence par détecter une fin de filament au démarrage avec ou sans filament, puis plus aucune détection en cas de fin de filament.

Si quelqu’un peut m’orienter sur l’erreur qui se trouve sur ma configuration, merci.

Je possède le capteur de filament Bigtreetech. (Il ne fonctionnement pas sur la carte)

Je vais tester la solution du branchement sur le TFT35 E3 V3.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Avec le config.ini configuré comme ci-dessous, le détecteur de filament ne transmet pas d'information avec ou sans filament.

#--------------------------------------------------------------------
# Filament Runout Settings (only if connected to TFT controller)
#--------------------------------------------------------------------

# NOTES for users having a filament sensor connected to the mainboard:
#   1) Define "fil_runout:0" below to disable the sensor handling on the TFT.
#   2) Configure the sensor in the firmware of your mainboard.
#   3) Add M75 to "start_gcode" and M77 to "end_gcode" of the TFT (or your slicer).

#### Filament Runout Sensor
# Select the type of filament runout sensor and its default enabled/disabled state.
#   Options: [Normal Disabled: 0, Normal Enabled: 1, Smart Disabled: 2, Smart Enabled: 3]
fil_runout:0

#### Inverted Filament Runout Sensor Logic
# The sensor uses an inverted logic.
# Disable it in case filament runout is triggered by a LOW signal.
# Enable it in case filament runout is triggered by a HIGH signal.
#   Options: [disable: 0, enable: 1]
fil_runout_inverted:0

#### NC (Normal Close) Filament Runout Sensor
# The sensor is of type NC.
#   Options: [Normal Open: 0, Normal Close: 1]
fil_runout_nc:1

#### Filament Runout Noise Threshold
# Pause print when filament runout is detected at least for this time period.
#   Unit: [time in milliseconds]
#   Value range: [min: 10, max: 1800]
fil_runout_noise_threshold:100

#### Smart Filament Runout Detection
# Used in conjunction with an SFS (Smart Filament Sensor) based on an encoder disc that
# toggles runout pin as filament moves.
#   Unit: [distance in mm]
#   Value range: [min: 1, max: 50]
fil_runout_distance:7

 

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Si tu veux que le détecteur de filament soit opérationnel lorsqu'il est branché sur l'écran, il faut:
- le désactiver dans le firmware de la carte-mère en commentant cette ligne du fichier configuration.h : #define FILAMENT_RUNOUT_SENSOR
- le paramétrer dans le fichier de configuration de l'écran comme tu l'as fait dans ton 1er message
- supprimer les M75 et M77 des gcodes de démarrage et de fin du trancheur

En passant:

Le 08/02/2023 at 18:34, Avibrer a dit :

FIL_RUNOUT_PIN    PC15 s’exécute si la condition « FIL_RUNOUT_PIN » est satisfaite.

 

Je n’ai pas trouvé comment ni où le contrôler.

#ifndef FIL_RUNOUT_PIN
  #define FIL_RUNOUT_PIN                    PC15  // E0-STOP
#endif

ça veut dire que SI la constante FIL_RUNOUT_PIN n'est pas déjà définie, dans le fichier configuration.h par exemple, alors, elle prend la valeur PC15.

Lien vers le commentaire
Partager sur d’autres sites

Merci beaucoup pommeverte pour ta réponse. J’effectuerai le transfert des modifications sur mon imprimante dans deux ou trois Jours.
Je copie ci-dessous les modifications que j’ai apportées.
J’aurais bien aimé comprendre pourquoi les détecteurs ne fonctionnent pas sur la carte SKR MINI E3 V3, enfin peut-être un jour ….
Je reviendrai pour communiquer les résultats de mes modifications.

Encore merci beaucoup


Fichier « configuration.h »

// #define FILAMENT_RUNOUT_SENSOR
Fichier « Config.ini »

#--------------------------------------------------------------------

# NOTES for users having a filament sensor connected to the mainboard:
#   1) Define "fil_runout:0" below to disable the sensor handling on the TFT.
#   2) Configure the sensor in the firmware of your mainboard.
#   3) Add M75 to "start_gcode" and M77 to "end_gcode" of the TFT (or your slicer).

#### Filament Runout Sensor V3
# Select the type of filament runout sensor and its default enabled/disabled state.
#   Options: [Normal Disabled: 0, Normal Enabled: 1, Smart Disabled: 2, Smart Enabled: 3]
fil_runout:3

#### Inverted Filament Runout Sensor Logic
# The sensor uses an inverted logic.
# Disable it in case filament runout is triggered by a LOW signal.
# Enable it in case filament runout is triggered by a HIGH signal.
#   Options: [disable: 0, enable: 1]
fil_runout_inverted:0

#### NC (Normal Close) Filament Runout Sensor
# The sensor is of type NC.
#   Options: [Normal Open: 0, Normal Close: 1]
fil_runout_nc:1

#### Filament Runout Noise Threshold
# Pause print when filament runout is detected at least for this time period.
#   Unit: [time in milliseconds]
#   Value range: [min: 10, max: 1800]
fil_runout_noise_threshold:100

#### Smart Filament Runout Detection
# Used in conjunction with an SFS (Smart Filament Sensor) based on an encoder disc that
# toggles runout pin as filament moves.
#   Unit: [distance in mm]
#   Value range: [min: 1, max: 50]
fil_runout_distance:7

Fichier « Gcode »

J’ai supprimé : les M75 et M77 des gcodes de démarrage et de fin du trancheur

 

Lien vers le commentaire
Partager sur d’autres sites

Salut 🙂

Je suis aussi en train de chercher comment correctement configurer le capteur de fin de filament sur ma Ender 5 + avec carte BTT SKR mini E3 V3.0.

J'ai un classique capteur de fin de course dans un boitier et lorsque je le câble sur la carte, il fonctionne comme un arrêt d'urgence. En gros, si plus de filament, la machine s'éteint complètement au lieu de stopper l'impression. Si je n'ai pas de filament d'insérer, je ne peux même pas allumer la machine.

Bref, je me doute qu'il s'agit d'une configuration dans Marlin mais comme je débute dans cet environnement je n'ai pas encore prit le temps de comprendre comment ça fonctionne.

Du coup je plante mon drapeau ici pour suivre 😉

D.

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