Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Installing E3D Hemera Extruder on FFCP (+Duet WiFi)

    Scheduled Pinned Locked Moved
    Third-party add-ons
    4
    5
    1.1k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Guyarosundefined
      Guyaros
      last edited by Guyaros

      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:4173393

      Original Box
      20200210_174110-0001.jpg

      20200210_174116-0002.jpg

      Extruder out of the box
      20200210_174252-0006.jpg 20200210_174240-0005.jpg 20200210_174214-0003.jpg

      Included parts
      20200210_210049-0008.jpg !20200210_174422-0007.jpg

      Installation process begins
      20200210_210413-0009.jpg
      20200210_210958-0012.jpg
      Thermistor
      20200210_211229-0014.jpg
      Heater
      20200210_211419-0015.jpg
      20200210_211726-0016.jpg

      Fan threads
      20200210_213541-0017.jpg
      20200210_213546-0018.jpg
      Thermal paste
      20200213_102345-0020.jpg
      20200213_102537-0021.jpg

      Installing Hotend - Heat block and Nozzle
      20200213_103948-0000.jpg

      Mounting the extruder on teh XY carrige
      20200213_122418-0022.jpg
      Wiring the extruder to Duet board
      20200213_135129-0023.jpg
      20200213_135136-0024.jpg

      Finally, all set
      20200213_135627-0025.jpg

      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)
      
      1 Reply Last reply Reply Quote 3
      • Guyarosundefined
        Guyaros
        last edited by

        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%
        
        1 Reply Last reply Reply Quote 1
        • Zebbleundefined
          Zebble
          last edited by

          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!

          MauDibundefined 1 Reply Last reply Reply Quote 0
          • MauDibundefined
            MauDib @Zebble
            last edited by

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

            1 Reply Last reply Reply Quote 0
            • garyd9undefined
              garyd9
              last edited by

              I wonder how feasible it would be to do a dual extruder version of this conversion. Is there a mirrored version of the Hemera?

              "I'm not saying that you are wrong - I'm just trying to fit it into my real world simulated experience."

              1 Reply Last reply Reply Quote 1
              • First post
                Last post
              Unless otherwise noted, all forum content is licensed under CC-BY-SA