MK4duo

New Version 4.3.9

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...
  • EEROM Version MKV72
  • New graphic for Nextion 4.3, 5.0 or 7.0 Normal and Enanched v1_2_0
  • Add support 6 Hotends, 4 Beds and 4 Chambers
  • Add Support for TMC2130 – TMC2208 – TMC2660 – TMC2160 – TMC5130 – TMC5160 motor driver
  • Add command M228 for setting axis limit min/max
  • Add Tool change Park
  • Add Tool change filament swap
  • Add Prompt support for host
  • Rewrite filament runout
  • Add support for BLTouch V3.0/V3.1
  • Add Prusa MMU2 Support
  • Add support thermocouples for hotend. and bed
  • Add menu axis limit to menu advanced
  • Add Double-Quad Stepping to command M569 Q and save it into EEPROM.
  • Add Option for Safety Timer in configuration_temperature.h
  • Add Game menu
  • Add DHT menu
  • Add DHT disply Dew Point
  • Add SPI Endstop with TMC2130
  • Add Slow Homing
  • Add G34 and M422 Z Steppers Auto-Alignment (Cartesian and CORE)
  • Add G34 I[iterations] [accuracy] A[amplification]
  • Add M86 M[min] set safety timer expiration time in minute. M86 M0 will disable safety timer
  • Add M16 Expected printer check
  • Add M504 – Validate EEPROM Contents
  • Add M505 – Clear EEPROM and RESET Printer
  • Add M575 – Change serial baud rate
  • Add M217 – Set Park position and tool change parameters
    • S[linear] Swap length
    • E[linear] Purge length
    • P[linear/m] Purge speed
    • R[linear/m] Retract speed
    • X[linear] Park X (Requires NOZZLE_PARK_FEATURE)
    • Y[linear] Park Y (Requires NOZZLE_PARK_FEATURE)
    • Z[linear] Park Z Raise
  • M301 – Set PID parameters P I D and C.
    • H[heaters] 0-5 Hotend, -1 BED, -2 CHAMBER, -3 COOLER
    • T[int] 0-3 For Select Beds or Chambers (default 0)
    • P[float] Kp term, I[float] Ki term, D[float] Kd term
    • With PID_ADD_EXTRUSION_RATE: C[float] Kc term, L[int] LPQ length
  • M303 – PID relay autotune.
    • H[heaters] 0-5 Hotend, -1 BED, -2 CHAMBER, -3 COOLER
    • T[int] 0-3 For Select Beds or Chambers (default 0)
    • S[temperature] sets the target temperature (default target temperature = 150C), C[cycles], U[Apply result],
    • R[Method] 0 = Classic Pid, 1 = Some overshoot, 2 = No Overshoot, 3 = Pessen Pid
  • M305 – Set thermistor and ADC parameters.
    • H[heaters] 0-5 Hotend, -1 BED, -2 CHAMBER, -3 COOLER
    • T[int] 0-3 For Select Beds or Chambers (default 0)
    • A[float] Thermistor resistance at 25°C, B[float] BetaK, C[float] Steinhart-Hart C coefficien, R[float] Pullup resistor value,
    • L[int] ADC low offset correction, O[int] ADC high offset correction, P[int] Sensor Pin
    • Set DHT sensor parameter: D0 P[int] Sensor Pin, S[int] Sensor Type (11, 21, 22).
  • M306 – Set Heaters parameters.
    • H[heaters] 0-5 Hotend, -1 BED, -2 CHAMBER
    • T[int] 0-3 For Select Beds or Chambers (default 0)
    • A[int] Pid Drive Min, B[int] Pid Drive Max, C[int] Pid Max,
    • L[int] Min temperature, O[int] Max temperature, U[bool] Use Pid/bang bang,
    • I[bool] Hardware Inverted, T[bool] Thermal Protection, P[int] Pin
  • M352 – Set Driver pins and logic
    • X E[Enable pin] D[Dir pin] S[Step pin] L[enable logic] M[step logic]
    • X2 E[Enable pin] D[Dir pin] S[Step pin] L[enable logic] M[step logic]
    • Y E[Enable pin] D[Dir pin] S[Step pin] L[enable logic] M[step logic]
    • Y2 E[Enable pin] D[Dir pin] S[Step pin] L[enable logic] M[step logic]
    • Z E[Enable pin] D[Dir pin] S[Step pin] L[enable logic] M[step logic]
    • Z2 E[Enable pin] D[Dir pin] S[Step pin] L[enable logic] M[step logic]
    • Z3 E[Enable pin] D[Dir pin] S[Step pin] L[enable logic] M[step logic]
    • T0-5 E[Enable pin] D[Dir pin] S[Step pin] L[enable logic] M[step logic]
  • Fix MBL
  • Rewrite filament runout
  • Rewrite Restart reduce size memory cost
  • Rewrite all driver, now are object
  • Driver pins now save in eeprom
  • Fix and clear code

New Version 4.3.8

5 votes, average: 4,80 out of 55 votes, average: 4,80 out of 55 votes, average: 4,80 out of 55 votes, average: 4,80 out of 55 votes, average: 4,80 out of 5 (5 votes, average: 4,80 out of 5)
You need to be a registered member to rate this post.
Loading...

Version 4.3.8

  • Add TMC settings to menu LCD
  • Add Adaptive Fan speed
  • Add Request pause to Host
  • Rewrite TMC files
  • Add M92 Subcommand H[microstep] L[Layer wanted]
  • Add to all nextion scroll message By MrGoblin
  • Clear code

New Version 4.3.7

4 votes, average: 3,50 out of 54 votes, average: 3,50 out of 54 votes, average: 3,50 out of 54 votes, average: 3,50 out of 54 votes, average: 3,50 out of 5 (4 votes, average: 3,50 out of 5)
You need to be a registered member to rate this post.
Loading...

### Version 4.3.7
* Add Command:
* G34: Set Delta Height calculated from toolhead position (only DELTA)
* M930: TMC set blank_time.
* M931: TMC set off_time.
* M932: TMC set hysteresis_start.
* M933: TMC set hysteresis_end.
* M934: TMC set fast_decay_time.
* M935: TMC set disable_I_comparator.
* M936: TMC set stealth_gradient.
* M937: TMC set stealth_amplitude.
* M938: TMC set stealth_freq.
* M939: TMC switch stealth_autoscale.
* M940: TMC switch StealthChop.
* M941: TMC switch ChopperMode.
* M942: TMC switch interpolation.
* M524: Abort the current SD print job (started with M24). (Requires SDSUPPORT)
* M223: T[extruder] S[bool] set Filrunout Logic.
* M224: T[extruder] S[bool] set Filrunout Pullup.
* M666: L delta segment per line.
* M851: Set X Y Z Probe Offset in current units, set speed [F]ast and [S]low, [R]epetititons. (Requires Probe)
* M413: S[bool] Enable / Disable Restart Job. (Requires SD_RESTART_FILE)
* M800: S goto to lcd menu. With no parameters run restart commands. (Requires SD_RESTART_FILE)
* Add Text Menu to Nextion Display
* Add sound function
* Add LCD menu for switch Sound [on – silent – off]
* Add pause before deploy/stow for user confirmation
* Add second serial for arduino due
* Add PCF8574 Expansion IO for pin 120 – 121 – 122 – 123 – 124 – 125 – 126 – 127
* Fix M800 for restart job
* Fix error with lcd 44780 with progress bar active
* Fix M205 with Delta and Junction active
* Fix Dogm LCD
* Add Status menu anim option for graphic display
* Add progress bar to heater when heating
* Add Text Menu SD to Nextion
* Add Support USB FLASH DRIVE such as SD
* Fixed GFX overlay with Nextion when printing from USB
* Fix and clear code

New Version 4.3.6

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

### Version 4.3.6
* Make class Mechanics to static
* Add Junction Deviation instead of traditional Jerk limiting
* Add Adaptive multiaxis step smoothing
* Add M205 J – Set Junction Deviation mm
* Add Bézier Jerk Control
* Add Safety Timer, after 30 minutes if not printing (SD or M530 S1) the heaters switch off.
* Rewrite SD Restart for auto restart when power loss and return.
* Add command gcode M569 for Stepper driver control: Dir, minimum pulse and maximum rate.
* Add Hysteresis in EEPROM
* Fix and clear code

Sistema multi estrusore MKR6 – Multi Extruder system MKR6

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

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

Un ringraziamento speciale a angelos del forum reprap Italia.

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

Esempio:

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

Una volta fatto questo abilitiamo nel firmware MK4duo la funzione MKR6, per prima cosa diciamo al FW che abbiamo 6 estrusori:

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

Poi definiamo che abbiamo 2 driver per gli estrusori:

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

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

/***********************************************************************
************************* Multiextruder MKR6 **************************
***********************************************************************
* *
* Setting for more extruder width relay system *
* This is new system for 6 extruder width 2 driver and 6 relay. *
* See Configuration_pins.h for pin command relay *
* *
* Uncomment MKR6 to enable this feature *
* *
* Uncomment INVERTED_RELE_PINS if your relay switches with GND *
***********************************************************************/
#define MKR6
//#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 6 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è. I pin da settare sono EX1_CHOICE_PIN e EX2_CHOICE_PIN:

#define EX1_CHOICE_PIN 5
#define EX2_CHOICE_PIN 6

Questi 2 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 quelli di E1 e li colleghiamo in questa maniera:

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 della seconda coppia andranno al verde e blu del terzo motore E2.

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

La seconda coppia serve per commutare tra E1 e E2.

Ripetiamo lo stesso identico concetto sugli altri 4 relè collegati però con il driver E1 per cosi collegare i motori di E3, E4 e E5.

I relè vanno alimentati con una 5v fissa, 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 con in 5 e 6, l’in 3 e 4 con in 7 e 8. Poi dobbiamo portare i 2 pin scelti per farli scattare EX1_CHOICE_PIN e EX2_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 la prima coppia di relè e anche la terza coppia, 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è insieme alla quarta.

Se passiamo da E2 a E3 vedremo di nuovo tutti i relè tornare nella posizione di quiete, ma verrà usato il driver E1.

Se passiamo da E3 a E4 vedremo scattare di nuovo la prima e la terza coppia, ma usando il driver E1 si muoverà solo il motore di E4.

Se passiamo da E4 a E5 vedremo scattare di nuovo tutti i relé, ma visto che stiamo usando sempre il driver E1 si muoverà solo il motore E5.

A questo punto possiamo provare il tutto. disabilitiamo il controllo di temperatura con il comando M302 P1, 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.

MagoKimbra.