Installing E3D Hemera Extruder on FFCP (+Duet WiFi)
-
Sharing my Extruder installation.
Hope it will helps others who are considering to install Hemera extruder.Custom designed parts:
https://www.thingiverse.com/thing:4165038
https://www.thingiverse.com/thing:4173393Original Box
Extruder out of the box
Included parts
!Installation process begins
Thermistor
Heater
Fan threads
Thermal paste
Installing Hotend - Heat block and Nozzle
Mounting the extruder on teh XY carrige
Wiring the extruder to Duet board
Finally, all set
Editing config file:
(showing only relevant commands, not the entire config file)M569 P3 S1; Set (E0) motor drive 3 (P3) goes Forward (S1) M350 E16 I1; Set microstepping to x16 step, Interpolation enabled (I1) M92 E409; Set axis steps/mm M906 E1000 I20; Set motor currents [mA] and motor idle factor in percent (20%) M84 S30; Set idle timeout to 30[sec] (S10) ; Axis kinematics M201 E600; Set axis maximum accelerations [mm/s^2] M566 E120; Set axis maximum instantaneous speed changes [mm/min] M203 E1200; Set axis maximum speeds [mm/min] ; Heaters & Thermistors M305 P1 T100000 B4725 C7.06e-8; Set thermistor and ADC parameters M143 S285; Set maximum heater temperature to 285C M307 H1 A346.2 C189.8 D4.3 S1.0; Set heating process parameters, Heater1 (H1),Gain (A), time constant (C), Dead time (D), Max PWM 100% (S1.0) ; Fans M106 P1 S0 I0 F250 H1 T35 L1; Set fan 1 value, PWM signal inversion and frequency, Thermostatic control is turned on (Extruder0 Fan) ; Tools M563 P0 D0 H1 F0; Define tool 0 (P0), uses Extruder 0(E0) (D0), uses Heater 1 (Actually Heater E0), uses Fan 0 (F0)
-
As requested, here is an update, with the new config file, to match RepRap Firmware V3.0
Note: I completely removed the Z-axis endstop, and I am using Stall detection to home the Z axis.
; Configuration file for Duet WiFi V1.0 ; Executed by the firmware on start-up ; Firmware Version 3.0 ; Duet Web Control 2.1.4 ; Last edited on 26.04.2020 by Guyaros ; General preferences G90 ; Set absolute coordinates M83 ; Set relative extruder moves M550 P"Guyaros Creator Pro" ; Set printer name ; Network M552 P"ABCD" S1 ; Set SSID of network to connect to (P) ,Enable networking as a client (S1) M586 P0 S1 ; Enable HTTP M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet ; Motor Drives M569 P0 S1 ; physical drive 0 goes forwards M569 P1 S1 ; physical drive 1 goes forwards M569 P2 S1 ; physical drive 2 goes forwards M569 P3 S1 ; physical drive 3 goes forwards M584 X0 Y1 Z2 E3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X94.12 Y94.11 Z400.00 E409.00 ; Set axis steps/mm (Z axis 8x8 TR, XY Pulley 10.82[mm]) M566 X840.00 Y840.00 Z600.00 E120.00 ; set maximum instantaneous speed changes (Jerk) (mm/min) M203 X9000.00 Y9000.00 Z720.00 E1200.00 ; set maximum speeds (mm/min) M201 X5000.00 Y5000.00 Z300.00 E600.00 ; set accelerations (mm/s^2) M204 P1200 T1800 ; Set print and travel accelrations [mm/s^2] M906 X750 Y750 Z400 E1000 I20 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout to 30[sec] ; Axis Limits M208 X-115 Y-70 Z0 S1 ; set axis minima M208 X137.6 Y67 Z175.6 S0 ; set axis maxima M564 H0 ; Allow axis movement before homing ; Endstops M574 X2 S1 P"xstop" ; Configure active-high endstop for high end on X via pin xstop M574 Y2 S1 P"^!ystop" ; Configure active-low endstop for high end on Y via pin ystop, Pull up resistor, Invert pin, M574 Z2 S3 ; Configure sensorless endstop for high end on Z M915 P2 Z S10 F0 ; Configure motor stall detection, Z motor, Stall detection threshold, Stall detection filter mode disabled ; Z-Probe ;M558 P0 H10 F120 T5400 ; disable Z probe but set dive height, probe speed and travel speed ;M557 X-100:130 Y-50:60 S20 ; define mesh grid ; Heaters ; Bed M308 S0 P"bedtemp" Y"thermistor" T94573 B4230 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M307 H0 A242.2 C901.9 D1.5 S1.0 ; Set heating process parametersheater, Heater0 (H0), Gain (A242.2), time Constant (C901.9), Dead time (D1.5), maximum PWM 100% (S1.0) ; Extruder E0 Hotend (E3D Hemera) M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M143 H1 S285 ; set temperature limit for heater 1 to 285C M307 H1 B0 A346.2 C189.8 D4.3 S1.0 ; Set heating process parameters, Heater1 (H1),Gain (A), time constant (C), Dead time (D), Max PWM 100% (S1.0) ; CPU Temp M912 P0 S-16.1 ; Calibrate CPU temp sensor ; Fans M950 F0 C"fan0" Q250 ; create fan 0 on pin fan0 and set its frequency M106 P0 C"BlowerLayerCooling" S0 H-1 ; set fan 0 name and value. Thermostatic control is turned off M950 F1 C"fan1" Q250 ; create fan 1 on pin fan1 and set its frequency M106 P1 C"HemeraExtruderFan" S1 H1 T40 ; set fan 1 name and value. Thermostatic control is turned on M950 F2 C"fan2" Q250 ; create fan 2 on pin fan2 and set its frequency M106 P2 C"DuetBoardFan" S0 H-1 ; set fan 2 name and value. Thermostatic control is turned off M950 F3 C"!e1heat" Q250 ; create fan 3 on pin Heater E1 and set its frequency M106 P3 C"RearCoolingFans" S0 H-1 ; set fan 3 name and value. Thermostatic control is turned off ; Resurrect routine (Power failure) M911 S23 R25 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss ; Tools M563 P0 S"ExtruderE0" D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C T0 ; select first tool
; homex.g ; called to home the X axis ; Edited by Guyaros on 25.04.2020 G91 ; Set Relative positioning M913 X30 ; Set X motor current to 30% of its normal current, to avoid ramming in case of crash ; First pass (Corse movement) G1 H1 X290 F3600 ; Move quickly to X axis endstop and stop there (first pass) G1 H2 X-5 F600 ; Go back a few mm ; Second pass (Fine movement) G1 H1 X10 F300 ; Move slowly to X axis endstop once more (second pass) ; Finish G90 ; Set bsolute positioning M913 X100 ; Reset X motor current to normal current 100%
; homey.g ; called to home the Y axis ; Edited by Guyaros on 25.04.2020 M913 Y40 ; Set Y motor current to 40% of its normal current, to avoid ramming in case of crash ; First pass (Coarse movement) G91 ; Set Relative positioning G1 H1 Y165 F3600 ; Move quickly to Y axis endstop and stop there (first pass) G1 H2 Y-5 F600 ; Go back a few mm ; Second pass (Fine movement) G1 H1 Y10 F300 ; Move slowly to Y axis endstop once more (second pass) ; Finish G90 ; Set Absolute positioning M913 Y100 ; Reset Y motor current to normal current 100%
; homez.g ; called to home the Z-axis ; Edited by Guyaros on 25.04.2020 M98 P"homeZMaxUsingStallDetection.g"; Call to script
; Script homeZMaxUsingStallDetection.g ; Edited by Guyaros on 25.04.2020 M913 Z70 ; Reduce current of Z motor to 70% G91 ; Switch to Relative positioning G1 H1 Z200 F1200 ; Lower bed all the way down, untill motor stalls M913 Z100 ; Reset motor currents back to normal 100%
-
Thanks Guyaros,
I was able to do the same conversion on my newer FFCP. Installed the Hemera and Duet Wifi and your configs worked very well. I ended up adding a BLTouch as well which has made homing the Z-axis more accurate plus adds all the benefits of bed levelling and mesh.
I remixed your Hemera mount to add a mount for the BLTouch and a 5cm post to tie the wiring to. Seems to work very well. I’ll post the remix on Thingiverse.
Thanks so much for your efforts. Much appreciated!
-
@Zebble any chance you can link to your remix? I'm getting ready to add a Hemera to my FFCP, and I'd like the option of BLtouch.
-
I wonder how feasible it would be to do a dual extruder version of this conversion. Is there a mirrored version of the Hemera?