Welcome! Log In Create A New Profile

Advanced

define FILAMENT_END_SWITCH

Posted by myo900 
define FILAMENT_END_SWITCH
February 05, 2015 08:15PM
Ciao a tutti, mi trovo a settare la funzione in oggetto , ho una scheda Rumba con firmware MarlinKimba, ho attivato la funzione in configuration.h poi in Pins2tool.h ho settato il pin di riferimento , ho scelto il pin 36 che sulla rumba è dedicato a X-MAX che non uso , collegato lo switch in modo che se il filo è presente il circuito è aperto e se il filo viene tolto il circuito è chiuso, ho provato con un testi di stampa ad attivare l'ho switch ma nulla la stampa non si ferma , ho sbagliato qualcosa nel settaggio o mi sfugge qualcosa?
allego codice pins2tool.h
//============================================================================
//==================== Change PIN width Configurator Tool ====================
//============================================================================
#define STAT_LED_RED 5
#define STAT_LED_BLUE 4
#define PAUSE_PIN 36

//============================================================================
Re: define FILAMENT_END_SWITCH
February 06, 2015 02:04AM
Hai un LCD, perché la funzione pausa per ora si attiva solo se hai un lcd, questo perché ha bisogno del encoder per poi dargli il consenso di ripartire....


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: define FILAMENT_END_SWITCH
February 06, 2015 03:04AM
Si ho un LCD

Edited 1 time(s). Last edit at 02/06/2015 03:05AM by myo900.
Re: define FILAMENT_END_SWITCH
February 06, 2015 07:10AM
Hai disattivato i max endstop?
Lo hai collegato con la massa si?
Mi fai anche una prova dando il comando m600


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: define FILAMENT_END_SWITCH
February 06, 2015 07:54AM
Avevo disattivato X-max mettendo -1 in pin.h , ma non andavo comunque , si ho collegato massa e segnale allo switch. Appena rientro provo il comando M600 , posso anche lanciarlo da display, tramite cambio filamento?
Re: define FILAMENT_END_SWITCH
February 06, 2015 10:17AM
ho provato il comando M600 funziona sia da display che da Pronterface
allego codice endstop di configuration.cartesian.h
// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
const bool X_MIN_ENDSTOP_INVERTING = true;      // set to true to invert the logic of the endstop.
const bool Y_MIN_ENDSTOP_INVERTING = true;      // set to true to invert the logic of the endstop.
const bool Z_MIN_ENDSTOP_INVERTING = true;      // set to true to invert the logic of the endstop.
const bool E_MIN_ENDSTOP_INVERTING = true;      // set to true to invert the logic of the endstop.
const bool X_MAX_ENDSTOP_INVERTING = true;      // set to true to invert the logic of the endstop.
const bool Y_MAX_ENDSTOP_INVERTING = true;      // set to true to invert the logic of the endstop.
const bool Z_MAX_ENDSTOP_INVERTING = true;      // set to true to invert the logic of the endstop.
//#define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS
ho dovuto attivare tutti gli endstop altrimenti risultavano innescati

Edited 1 time(s). Last edit at 02/06/2015 10:32AM by myo900.
Re: define FILAMENT_END_SWITCH
February 06, 2015 12:29PM
Scaricati solo marlin_main.cpp e riprova, c'era un errore nella routine di controllo del pin....


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: define FILAMENT_END_SWITCH
February 06, 2015 02:10PM
Ok procedo con questa prova, c'è una cosa che non capivo , ho dei led collegati al pin 8 uscita della seconda ventola, che dovrebbe essere spenta ma ad inizio stampa i led si accendono , provo la sostituzione del file e ti dico .
Grazie mille Enzo
Re: define FILAMENT_END_SWITCH
February 07, 2015 04:27AM
sostituito marlin_main.cpp, il pin 8 che prima si accendeva da solo ora non si accende , si accende solo se comandato , ma lo switch non va , ho messo -1 su x-max in pins.h , gli switch li ho collegati in parallelo .

Edited 1 time(s). Last edit at 02/07/2015 06:09AM by myo900.
Re: define FILAMENT_END_SWITCH
February 10, 2015 12:22PM
Ho riscontrato altri problemi, il comando gcode M300 non funziona, il controllo dei led funziona in modo anomalo , in pratica il led blu è acceso indicando la temperatura inferiore a 54 gradi , se si alza la temperatura a 60 il led blu resta acceso ed il rosso non si accende, dando il comando M42 e spegnendo il blu ed accendendo il rosso, quando la temperatura scende a 54 il rosso si spegne ed il blu si accende, per quando riguarda lo switch per fine filamento non vuole funzionare, ho cercato varie soluzioni anche sul web ma nulla.
Re: define FILAMENT_END_SWITCH
February 10, 2015 12:46PM
M600 non M300.
Guarda che il filament end switch c'è solo nel mio firmware quindi trovi ben poco sul web. A me funziona perfettamente, se usi un pin normalmente usato per endstop spostalo su end stop e provalo con il comando m119.


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: define FILAMENT_END_SWITCH
February 10, 2015 01:13PM
Il comando M600 funziona correttamente, intendevo proprio il comando M300 per far emettere bip al cicalino dell'lcd, end filament l'ho messo su x-max ho provato il comando m119, rileva l'inesco, durante la stampa di prova attivo lo switch ma la stampante non si ferma , sai dirmi anche il comportamento anomalo dei led rgb ?
Re: define FILAMENT_END_SWITCH
February 10, 2015 03:48PM
Che versione di Arduino ide hai?


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: define FILAMENT_END_SWITCH
February 10, 2015 04:43PM
La 1.54
Re: define FILAMENT_END_SWITCH
February 10, 2015 04:52PM
Scarica la 1.6 perché ci sono funzioni nuove e non so se compila bene!


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: define FILAMENT_END_SWITCH
February 11, 2015 06:53AM
ho compilato con arduino ide 1.6 , ricevo questa serie di errori:
Arduino:1.6.0 (Mac OS X), Scheda:"Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"

temperature.cpp: In function 'void manage_heater()':
temperature.cpp:766:1: error: unable to find a register to spill in class 'POINTER_REGS'
 }
 ^
temperature.cpp:766:1: error: this is the insn:
(insn 95 94 97 4 (set (reg/vconfused smileyF 103 [ pid_input ])
        (memconfused smileyF (post_inc:HI (reg:HI 147 [ ivtmp.206 ])) [4 MEM[base: _113, offset: 0B]+0 S4 A8])) temperature.cpp:550 99 {*movsf}
     (expr_list:REG_INC (reg:HI 147 [ ivtmp.206 ])
        (nil)))
temperature.cpp:766: confused by earlier errors, bailing out
Errore durante la compilazione

  Questo report potrebbe essere più ricco
di informazioni con
  "Mostra un output dettagliato durante la compilazione"
  abilitato in "File > Impostazioni"
poi ho provato con la versione 1.0.5 compilazione eseguita e la funzione end switch funziona perfettamente,
per la gestione led temperatura ho trovato questo codice che ho sostituito in marlin.main.ccp
ifdef TEMP_STAT_LEDS
static bool blue_led = false;
static bool red_led = false;
static uint32_t stat_update = 0;
static bool temp_stat_leds_output = false;



void handle_status_leds(void) {
float max_temp = 0.0;
if(millis() > stat_update) {
stat_update += 500; // Update every 0.5s
for (int8_t cur_extruder = 0; cur_extruder < EXTRUDERS; ++cur_extruder) {
max_temp = max(max_temp, degHotend(cur_extruder));
max_temp = max(max_temp, degTargetHotend(cur_extruder));
}
#if defined(TEMP_BED_PIN) && TEMP_BED_PIN > -1
max_temp = max(max_temp, degTargetBed());
max_temp = max(max_temp, degBed());
#endif

// Ziggy 10 October 2014

if (temp_stat_leds_output == false) {
pinMode(STAT_LED_BLUE, OUTPUT);
pinMode(STAT_LED_RED, OUTPUT);
temp_stat_leds_output = true;
}

if((max_temp > 55.0) && (red_led == false)) {
digitalWrite(STAT_LED_RED, 1);
digitalWrite(STAT_LED_BLUE, 0);
red_led = true;
blue_led = false;
}
if((max_temp < 54.0) && (blue_led == false)) {
digitalWrite(STAT_LED_RED, 0);
digitalWrite(STAT_LED_BLUE, 1);
red_led = false;
blue_led = true;
}
}
}
#endif
sostituendo con questo codice funziona quasi bene, sotto i 54 gradi il led blu è acceso , se do il comando per portare hot-end a 60 gradi il led rosso si accende immediatamente senza aspettare che l'hot-end superi i 55 gradi come impostato
Re: define FILAMENT_END_SWITCH
February 11, 2015 07:19AM
Scusa intendevo la 1.0.6, poi guarda caso è uscita la 1.6 definitiva..
Cmq con la 1.0.6 ti funziona giusto? Quel codice serve per la gestione dei led RGB, dove l'hai trovato?


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: define FILAMENT_END_SWITCH
February 11, 2015 08:54AM
Mi funziona la 1.0.5 , provo a scaricare la 1.0.6 , come vedi la 1.6 non compila mi da gli errori che vedi su, il codice l'ho trovato qui [forums.robo3dprinter.com]
Re: define FILAMENT_END_SWITCH
February 11, 2015 09:04AM
Setta bene in arduino ide il tipo di scheda, perché funziona perfettamente...


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: define FILAMENT_END_SWITCH
February 11, 2015 11:14AM
ok grazie di tutto provo
Re: define FILAMENT_END_SWITCH
February 11, 2015 01:04PM
ho compilato con arduino 1.6 , io uso 2 estrusori, se dichiaro 2 estrusore ho errori di compilazione se metto 1 estrusore la compilazione si conclude senza errori, con 2 estrusori da questo errore:
Arduino:1.6.0 (Mac OS X), Scheda:"Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"

temperature.cpp: In function 'void manage_heater()':
temperature.cpp:766:1: error: unable to find a register to spill in class 'POINTER_REGS'
 }
 ^
temperature.cpp:766:1: error: this is the insn:
(insn 95 94 97 4 (set (reg/vconfused smileyF 103 [ pid_input ])
        (memconfused smileyF (post_inc:HI (reg:HI 147 [ ivtmp.206 ])) [4 MEM[base: _113, offset: 0B]+0 S4 A8])) temperature.cpp:550 99 {*movsf}
     (expr_list:REG_INC (reg:HI 147 [ ivtmp.206 ])
        (nil)))
temperature.cpp:766: confused by earlier errors, bailing out
Errore durante la compilazione

  Questo report potrebbe essere più ricco
di informazioni con
  "Mostra un output dettagliato durante la compilazione"
  abilitato in "File > Impostazioni"
Re: define FILAMENT_END_SWITCH
February 11, 2015 01:36PM
Ho provato anche io e da lo stesso errore, sia con marlin originale sia con il mio, solo se si mettono più di un estrusore con hotend, io avevo il singlenozzle attivato per questo non mi dava il problema.. ora indago ma penso sia qualche impostazione del nuovo ide che non va con la gestione dei timeout delle temperature...
Torna alla versione 1.0.6 che va...


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: define FILAMENT_END_SWITCH
February 11, 2015 03:55PM
dovrei aver risolto.. Prova a scaricarti da github solo temperature.cpp e riprova, ho fatto una configurazione simile alla tua e non mi da più errore...


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: define FILAMENT_END_SWITCH
February 12, 2015 06:22PM
ok provo immediatamente, grazie.........

Fatto, tutto ok compilato e caricato, funziona, tutto, mi resta solo il comando M300 che non ne vuol sapere di andare , forse è una incompatibilità con il buzz dello schermo , strano perché al cambio filo il buzz funziona, sai da cosa può dipendere?
Grazie ancora per il tuo supporto, senza non saprei come fare

Edited 2 time(s). Last edit at 02/12/2015 06:39PM by myo900.
Re: define FILAMENT_END_SWITCH
February 13, 2015 02:36AM
E di che!!! Ci mancherebbe stai usando il mio FW è il minimo darti una mano.....


Il comando M300 va usato in questa maniera M300 S P. Quindi M300 S500 P1000.... Con alcuni pannelli la frequenza non va, quindi puoi usare solo la durata..


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: define FILAMENT_END_SWITCH
February 13, 2015 11:00AM
ok faro diverse prove con le gamme di frequenza , vediamo che succede
Re: define FILAMENT_END_SWITCH
October 30, 2015 10:09AM
ciao a tutti, anzitutto sono nuovo quindi metto le mani avanti e mi scuso se dico o faccio fesserie... io ho una scheda alligator 2.0 come posso implementare la funzione del fine filo?
grazie in anticipo a tutti
Sorry, only registered users may post in this forum.

Click here to login