Welcome! Log In Create A New Profile

Advanced

comando al cambio estrusore

Posted by rosmarc 
comando al cambio estrusore
April 19, 2015 05:44AM
Ciao a tutti,
sto tentando di comandare un servo che si attivi al cambio dell'estrusore e per farlo ho creato un comando ( M970) che vado a inserire nel "postSwitchExtruder" in cura.
nel firmware ( MarlinKimbra) in marlin_main ho inserito i comandi per l'attivazione del servo prima del "case 49;"
Quello che non riesco a capire è perchè il comando viene eseguito prima dell'effettivo cambio dell'estrusore, in pratica il servo si aziona 4/5 secondi prima dell'effettivo cambio di estrusore.
Avete qualche idea?
Buona giornata a tutti
Marco
Re: comando al cambio estrusore
April 19, 2015 06:07AM
Perché i comandi che non siano di movimento non vengono eseguiti in sequenza... C'è un buffer e se può anticipa i tempi...

Fammi capire tu hai un servo che sposta lo spingi filo da un filo ad un altro, mantenendo lo stesso motore giusto?
Quindi la cosa da fare attivare MKR4 con il sistema a relé, in modo che il fw lavori su più estrusori, ma singolo driver. Poi nel punto dove si attiva il relé si fa spostare il servo da una posizione ad un'altra.

#elif (EXTRUDERS == 2) && (E0E1_CHOICE_PIN >1) && (DRIVER_EXTRUDERS == 1)
              st_synchronize(); // Finish all movement
              disable_e();
              switch(target_extruder)
              {
              case 0:
                WRITE(E0E1_CHOICE_PIN,LOW);
                active_driver = 0;
                delay(500); // 500 microseconds delay for relay
                enable_e0();
                break;
              case 1:
                WRITE(E0E1_CHOICE_PIN,HIGH);
                active_driver = 0;
                delay(500); // 500 microseconds delay for relay
                enable_e0();
                break;
              }
            #endif // E0E1_CHOICE_PIN E0E2_CHOICE_PIN E1E3_CHOICE_PIN

Al posto del WRITE(E0E1_CHOICE_PIN,LOW); metti il comando enqueuecommands_P(PSTR("M970") con relativi sotto comandi che non conosco
Stessa cosa nel case 1


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: comando al cambio estrusore
April 19, 2015 06:20AM
Grazie Alberto,
come al solito sempre disponibile a dare una mano.
Quello che sto tentando di fare è una sorta di meccanismo che alzi alternativamente l'hotend non attivo.
Sono nelle prime fasi del test e il tutto è abbastanza approssimativo ma la parte del codice aveva dato un bel colpo d'arresto al progetto.
Provo a studiare la parte di codice che hai inserito, se riuscirò a farlo funzionare decentemente e se interesserà posterò il tutto sul forum,
Buona domenica
Marco

Edited 1 time(s). Last edit at 04/19/2015 06:23AM by rosmarc.
Re: comando al cambio estrusore
April 19, 2015 08:07AM
Aspetta allora la cosa è diversa... Quindi hai due estrusori veri e due hotend veri???


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: comando al cambio estrusore
April 19, 2015 08:44AM
Si Alberto ho due estrusori veri,
Grazie al tuo suggerimento ho comunque risolto inserendo " st_synchronize(); // Finish all movement" prima del comando al servo e adesso si attiva al momento giusto.
Mi restano ancora qualche centinaia di cosa da definire quali la stabilità, la taratura fine dell'altezza degli hotend e il sistema di "pulizia" ma a parte i momenti di depressione quando le cose non vogliono funzionare come ti aspetti, il divertimento di sperimentare è sempre vincente.
ciao
Marco
Re: comando al cambio estrusore
April 19, 2015 08:47AM
Si anche quello può andare 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
Sorry, only registered users may post in this forum.

Click here to login