MK4duo

Più estrusori con un solo driver con il sistema MKR4.

2 votes, average: 5,00 out of 52 votes, average: 5,00 out of 52 votes, average: 5,00 out of 52 votes, average: 5,00 out of 52 votes, average: 5,00 out of 5 (2 votes, average: 5,00 out of 5)
You need to be a registered member to rate this post.
Loading...
Shares

ATTENZIONE!!! Questo articolo è vecchio. Il sistema MKR4 è stato sostituito con il più nuovo sistema MKR6 che permette l’uso di 6 estrusori con due driver e soli 2 pin d’abilitazione, sempre con l’uso di una scheda a 8 relé. A presto la guida.

 

Questo articolo spiega come si può far funzionare fino a 6 estrusori con una normalissima scheda che ha un solo driver per estrusori.

Prima cosa bisogna acquistare una scheda arduino da 6 o più relè. Verificare che sia optoisolata e funzionate a 5v.

Esempio:

SainSmart-8-Channel-DC-5V-Relay-01[1]

Una volta fatto questo abilitiamo MarlinKimbra o MK4due a questa funzione, per prima cosa diciamo al FW che abbiamo 4 estrusori:

/***********************************************************************
************************** Extruders number ***************************
***********************************************************************/
// This defines the number of extruder real or virtual
#define EXTRUDERS 4

Poi definiamo che abbiamo un solo driver per gli estrusori:

// This defines the number of Driver extruder you have and use
#define DRIVER_EXTRUDERS 1

A questo punto andiamo in Configuration_Feature.h e abilitiamo MKR4:

/***********************************************************************
************************* Multiextruder MKR4 **************************
***********************************************************************
* *
* Setting for more extruder width relay system *
* See Configuration_pins.h for pin command relay *
* *
* Uncomment MKR4 to enable this feature *
* *
* Uncomment INVERTED_RELE_PINS if your relay switches with GND *
***********************************************************************/
#define MKR4
//#define INVERTED_RELE_PINS
/***********************************************************************/

C’è anche la possibilità di invertire il segnale per far scattare i relè se per caso si attivano con livello basso…

Dobbiamo anche dire al Firmware che pur avendo 4 estrusori però abbiamo un solo Hotend, quindi sempre in Configuration_Feature.h abilitiamo Singlenozzle:

/***********************************************************************
**************************** Single nozzle ****************************
***********************************************************************
* *
* This is used for single nozzle and multiple extrusion configuration *
* *
* Uncomment SINGLENOZZLE to enable this feature *
* *
***********************************************************************/
#define SINGLENOZZLE
/***********************************************************************/

Tutto questo lo possiamo fare in maniera semplice e rapida con il configuratore on line che trovate qui sul blog.

Ora per concludere la parte Firmware andiamo in Configuration_Pins.h e diciamo al Firmware quali sono i pin che servono per far scattare i relè. Per ogni estrusore oltre E0 ci vuole 1 pin, quindi nel nostro caso abbiamo bisogno di 3 pin per E1, E2 e E3:

#define E0E1_CHOICE_PIN 4
#define E0E2_CHOICE_PIN 5
#define E0E3_CHOICE_PIN 6

Questi tre pin sono un esempio, ma cambiano da scheda in scheda. Per la Ramps 1.4 si possono usare i pin per i servo lasciando il pin 11 per un eventuale servo bed level.

Ora passiamo al cablaggio, prendiamo i 4 fili che escono dal driver E0 e li colleghiamo in questa maniera:

MKr4 collegamenti new

Come vedete è abbastanza semplice. Il nero che esce dal driver lo colleghiamo in parallelo su tutti i cavi neri dei vostri 4 motori, stessa cosa facciamo per il rosso. Il nero e il rosso sono l’uscita A1 e B1 del driver, quindi 1 di una coppia e l’altro dell’altra coppia.

Mentre A2 il verde e B2 il blu li andiamo a mettere sul centrale dei due primi relè. I Normalmente Chiusi dei due primi relè li andiamo a collegare al verde e blu del primo motore che sarebbe E0, in questo modo quando i relè sono nella situazione tutti non eccitati il motore che andremo a controllare sarà appunto E0.

I Normalmente Aperti dei due primi relè andranno sui centrali della prossima coppia di relè, mi raccomando non invertite le coppie, mantenete la connessione a due a due…

I Normalmente Chiusi della seconda coppia andranno al verde e blu del secondo motore E1.

I Normalmente Aperti andranno a servire la successiva coppia sempre sul centrale.

I Normalmente Chiusi della terza coppia andranno al verde e blu del terzo motore E2.

I Normalmente Aperti andranno al quarto motore E3, nel caso avessimo più estrusori ripeteremo l’operazione dei precedenti, quindi non andranno al motore bensì ai centrali della prossima coppia…

E’ facilmente intuibile che a secondo di quanti estrusori vogliamo montare basta diminuire o aumentare di due i relè.

La prima coppia serve per commutare tra E0 e seconda coppia.

La seconda coppia serve per commutare tra E1 e terza coppia. Nel caso volessimo solo 3 estrusori ci possiamo fermare qui mettendo al posto della terza coppia i fili al terzo motore.

La terza coppia serve per commutare tra E2 e E3 o quarta coppia per andare avanti con gli estrusori.

I relè vanno alimentati con una 12v fissa da prendere dall’alimentatore, poi hanno degli ingressi per farli commutare, in questo caso visto che dovranno commutare a coppie dovremmo collegarli tra loro l’in 1 e 2, l’in 3 e 4, l’in 5 e 6. Poi dobbiamo portare i 3 pin scelti per farli scattare E0E1_CHOICE_PIN, E0E2_CHOICE_PIN e E0E3_CHOICE_PIN.

Fatto tutto ciò possiamo alimentare la nostra scheda e dopo aver compilato e scaricato il fw passiamo alla fase di test.

Se abbiamo fatto tutto come si deve dovremmo avere questo risultato: Se ci colleghiamo con Host i relè dovrebbero rimanere tutti nello stato di quiete, ma se passiamo da E0 a E1 dovremmo sentire commutare i primi due relè, ce ne possiamo accorgere dai led che di solito sono montati sulla schedina relè.

Se passiamo da E1 a E2 vedremo scattare anche la seconda coppia di relè e infine come passiamo da E2 a E3 scatterà l’ultima coppia di relè.

A questo punto possiamo provare il tutto. disabilitiamo il controllo di temperatura con il comando M302, questo fa in modo che possiamo estrudere anche se la temperatura dell’hotend non è al di sopra del minimo…

Proviamo a estrudere con ogni singolo estrusore, sentirete i relè commutare ogni qualvolta cambiate estrusore.

Di seguito un video che mostra la scheda Alligator che senza la piggy controlla 3 Bulldog XL. Buon divertimento.

MagoKimbra.

Comments are closed.

Comments (3)

  1. rsenas

    Good evening MagoKimbra, I can use this system as automatic change of filament between two filament coils? Two sensors max not used that report when it was over a roll and there is the thread of return on hotend and there enters another new roll in the tube y ? They have a Brazilian who did but did not pass the secret. Link video: https://www.youtube.com/watch?v=jgHsnX3qs7Y
    Thanks.

  2. jirby

    ciao non si rischia di sovraccaricare il driver e di bruciarlo

    • MagoKimbra MagoKimbra

      Questo sistema è stato messo a punto circa due anni fa, Davide di Immagina e Crea lo ha usato per non so quanto tempo senza mai un problema..
      Il driver non se ne accorge nemmeno perché la procedura che fa il fw è semplice.
      Primo disattiva il driver, in questo modo non arriva più corrente al motore. Il driver in questo modo non sa nemmeno che c’è attaccato un motore sulla sua uscita.
      Poi commuta il relè.
      Inserisce un delay di mezzo secondo per dare il tempo al Relè meccanico di finire completamente la commutazione.
      Riattiva il driver che ridà corrente al motore, il driver in questo modo non si è minimamente accorto del cambio.
      E’ inutile sottolineare che con questa soluzione i motori devono essere tutti uguali, per ovvi motivi di corrente e vref sempre uguale.
      Ti assicuro che non c’è alcun problema per il driver.

Shares