Vai al contenuto

Filament detection


varse

Messaggi raccomandati

niente da fare, sensore senza "toccare" il marlin, funziona al contrario.

se abilito o disabilito qualcosa la compilazione non va a buon fine.

nessun altro ha qualche idea?

grazie, ciao

in alcuni video di installazione di maker base, c'è da abilitare il sensore dal display.

Ho controllato, ma in quello che ho io non c'è nessuna voce al riguardo.

il display è un MKS T35

Link al commento
Condividi su altri siti

In tutta onestà nn saprei più cosa suggerirti. Nel mio caso ho abilitato o decommentato quello che hai riportato tu negli screenshot. La cosa ha funzionato sia per il sensore stock della Ender 5 plus (molto simile a quello da te descritto) che per il btt smart filament sensor. Alla fine ho disinstallato il sensore stock xchè ogni tanto mi dava falsi positivi e l'ho sostituito con quello di btt, ma ad ogni modo funzionava nel modo "corretto". Appena rientro vedo di postati la mia config

Link al commento
Condividi su altri siti

Ecco la mia config:

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

 

  // 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 15

 

  #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

la parte in rosso nn nel mio caso e' attiva xche' ho uno smart filament sensor, nel tuo caso dovrebbe essere commentata

 

 * Advanced Pause for Filament Change

 *  - Adds the G-code M600 Filament Change to initiate a filament change.

 *  - This feature is required for the default FILAMENT_RUNOUT_SCRIPT.

 *

 * Requirements:

 *  - For Filament Change parking enable and configure NOZZLE_PARK_FEATURE.

 *  - For user interaction enable an LCD display, HOST_PROMPT_SUPPORT, or EMERGENCY_PARSER.

 *

 * Enable PARK_HEAD_ON_PAUSE to add the G-code M125 Pause and Park.

 */

#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     30  // (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      700  // (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   10  // (mm/s) Slow move when starting load.

  #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH     10  // (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   40  // (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   670  // (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       8  // (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         15  // (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

 

 

Link al commento
Condividi su altri siti

5 minuti fa, varse ha scritto:

Ma è tutto nel config.h o c'è qualcosa anche nel .adv?

in effetti ho omesso questa parte.....

il primo pezzo e' config.h, il secondo e' conf_adv.h. Come gia' detto, io monto un Filament smart sensor quindi il mio sensore rileva sia filamento mancante che filamento bloccato. Se ho ben capito, il tuo rileva solo filamento mancante, quindi tutta la parte di conf.h relativa alla definizione dei MM a te non serve (parte in rosso) e se la lasci attiva (almeno x mia esperienza) ti da problemi di falsi positivi.

la parte in config_adv.h serve allo script m600 x sapere quanto filamento caricare/scaricare, a che velocita'. Anche se metti parametri non corretti non fai tanto danno, puoi sempre correggere in un secondo momento.

Link al commento
Condividi su altri siti

Ho copiato tutto come uno studente all'esame di maturità, nonostante tutto da sempre errore.

non so dove andare a correggere, mi apre il file draw_dialog.cpp

sinceramente è troppo mi basta i due config per impazzire.

grazie in anticipo

foglio6.thumb.png.2dc203cb794b5b396d367a49908e768d.png

Link al commento
Condividi su altri siti

Il 5/8/2023 at 16:40, varse ha scritto:

Cioè con il filo presente la stampa si blocca, mentre senza filo la stampa continua.

la logica del sensore è invertita, da qualche parte scrivi che metti i fili al contrario ma non è questo il problema.

torna alla configurazione dove funzionava al contrario poi ti basta invertire la logica del sensore.

 

in cofnig h. queste righe dovrebebro essere sufficienti a coprire tutte le opzioni possibili:

 

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

 

è impostato su LOW (off) con PULLUP attivo di base.

 

 

 

 

Modificato da FoNzY
  • Like 1
Link al commento
Condividi su altri siti

Partecipa alla conversazione

Puoi pubblicare ora e registrarti più tardi. Se hai un account, accedi ora per pubblicarlo con il tuo account.

Ospite
Rispondi a questa discussione...

×   Hai incollato il contenuto con la formattazione.   Rimuovere la formattazione

  Sono consentiti solo 75 emoticon max.

×   Il tuo collegamento è stato incorporato automaticamente.   Mostra come un collegamento

×   Il tuo contenuto precedente è stato ripristinato.   Pulisci editor

×   Non puoi incollare le immagini direttamente. Carica o inserisci immagini dall'URL.

×
×
  • Crea Nuovo...