Posted on Leave a comment

Using Duet with Cura and + Diamond Hotend and Firmware Retract

Note: This post is not complete, and the temperature settings in startup.gcode is not correct for use in Cura – I am working on a new, updated, more comprehensive Guide to using Cura for muticolor printing.

In my ongoing project for my 5way Fullcolor Diamond Hotend I’ve had some issues getting Cura to work in the first place and latter again to make it run using Firmware Retract, which is required to make all 5 extruders retract at the same time.

I finally made it all work yesterday, so here comes the setup-recipy for Cura users, once an for all 🙂

Inherent config changes needed for all Cura users using Duet:

Duet is using Relative Extrusion as standard, which Cura does not support. It shows itself in massively overextruding when printing, while at the same time extruding normally when calibrating extruder using Web Interface.

  • Need to comment out M83 in config.g + Use M82 in cura startgcode.

Adding Diamond hotend and we need more changes:

Firmware Retract and Volumetric

Now, in order to use Firmware Retract in Cura we need to use either the Ulticode or RepRap (Volumetric) Gcode Flavor in Machine settings.
We can’t use the Ulticode one, as it removes the startup.gcode option and the second one requires Duet to use Volumetric.

Duet only just supported Volumetric extrusion in 1.19RC/Beta, so you need to upgrade firmware if you havn’t allready.

Extra special important note: Be sure to read upgrade instructions if using 1.18 or earlier as you can not do it through web interface!

To use Volumetric:
We need to use Firmware 1.19 or newer + use the this in config.g

M200 D1.75

To use Firmware retract
Enabled using through config.g

M207 S1.5 F3000

Now it all works but Extruding manually using web interface after enabling Volumetric extrusion via M200 now extrudes only 4/10 though.. guess it’s to consider a firmware bug.

Summary

  • Need to uncomment M83 in config.g + Use M82 in cura startgcode. (This is always the case when using Duet with Cura)
  • Use Duet Firmware 1.19 or newer – Be sure to read upgrade instructions
  • Cura – Use RepRap (Volumetric) Gcode Flavor in machine settings – to support Firmware Retract.
  • Duet Config.g – Enable Firmware Retract using M207 S1.5 F3000   – Diamond hotend retract at 1.5mm is good.
  • Duet Config.g – Enable Volumetric printign using M200 D1.75
Posted on Leave a comment

BeTrue3D Printer – Setting up 5-way Diamond firmware

Wow, been a while since I last wrote… seems like I always start by writing that, hehe.

As always I’ve been through a lot of iterations of various brackets and other mechanics, but this post is going to be about setting up the RepRapFirmware for use with the 5-way Diamond Fullcolor Hotend.

I’ve been building 3D Printers some years, but this is actually my first venture into multi-color printing, which has proven a rather steep learning curve for me.

Luckily for me, I’ve had help and inspiration from the great blogpost Using the Diamond Hotend with DuetWifi found on Think3DPrint3D.

Drives

First I need to setup my Drives and axes, which includes X, Y, Z and all my extruders. There’s not much to this really, once you get to know what’s going on.

The first 3 lines configures X, Y and Z, while the next 5 defines my extruder motors.

Next two lines defines microstepping and steps/mm.

; Drives
M569 P0 S1 ; Drive 0 goes forwards A
M569 P1 S1 ; Drive 1 goes forwards B
M569 P2 S0 ; Drive 2 goes forwards Z-both motor on 1 driver for now.
M569 P3 S0 ; Tool 0
M569 P4 S0 ; Tool 1
M569 P5 S0 ; Tool 2
M569 P6 S0 ; Tool 3
M569 P7 S0 ; Tool 4
M350 X16 Y16 Z16 E16:16:16:16:16 I1 ; Configure microstepping with interpolation
M92 X160 Y160 Z800 E1025:1025:1025:1025:1025 ; Set steps per mm

Heaters

While this section isn’t unique to the Diamond hotend I’m still including it, as it’s really crucial to have done the PID tuning.

As you can see, I like to comment in my config.g file in order to figure out what and how I did what I did.

Notice how the Heated Bed is using a Thermistor, where I needed to include the parameters for it, along with the PID parameters I got from the PID Tuning.

The Diamond Hotend also has PID parameters but is using a Thermocoupler instead of Thermistor, so here I’ve defined the use of the first channel on my Daughterboard.

; Heaters
; M305 Sensor P0 Bed. P1 Hotend
; M307 Heater
; Test Hotend: M303 H1 P0.3 S200
; Test Bed M303 H0 P0.1 S100
; BED
M143 H0 S140 ; set the maximum bed temperature to 140C
M307 H0 A44.1 C127.7 D3.0 S1 B0 ; Heated Bed Pid settings
M305 P0 T100000 B3950 C0 R4700 ; BED Thermistor
; Hotend
M143 S260 ; Set maximum hotend temperature to 240C
M307 H1 A1073.8 C407.8 D3.5 S1 B0 ; PID Heater - 5-way Diamond
M305 P1 X100 ; Use thermocoupler for heater P1/H1 on first channel

BLTouch

Just as a sidenote: I’ve prepared the use of BLTouch Sensor, which I wrote a seperate blogpost about.

In order to free up a PWM channel to controll it, I disabled the last heater as follows:

; Disabled heaters
M307 H7 A-1 C-1 D-1 ; Disable heater 7 for BLTouch

Tools

Now we get down to it; defining all the tools we need.

In a nutshell we need to define each Extruder + an extra, which amounts to 6 in all.

Remember the first tool is Tool 0 so we go from Tool 0-4 for the physical extruders.

What is going on here is that we define each Tool to include all 5 extruders, enable mixing and use 1 extruder as the primary extruder and the other 4 as slight additions.

It really seems odd at first, to mix everything a bit all the time, but unless the colors are moving forward some the same filament end up being retracted back and forth a lot and risk degrading and ultimately clogging up the nozzle, or at least the unused channels.

You can read a larger explanation at the blogpost I mentioned previously. For me it’s just theory so far.

The final Tool has an even mixration which we can override by editing the Gcode files, to create a large variety of colors.

Note: The mixing ratios should be changed – I’m still working on perfect ratio, but the secondary should be down to like 0.005 instead of 0.025 – change primary accordingly.

; Tools
; P tool number
; D Extruder drive
; H Heater
M563 P0 D0:1:2:3:4 H1 ; 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
M568 P0 S1 ; Enable mixing for tool 0
M567 P0 E0.9:0.025:0.025:0.025:0.025 ; Set mixing ratios for tool 0

M563 P1 D0:1:2:3:4 H1 ; Define tool 1
G10 P1 X0 Y0 Z0 ; Set tool 1 axis offsets
G10 P1 R0 S0 ; Set initial tool 1 active and standby temperatures to 0C
M568 P1 S1 ; Enable mixing for tool 1
M567 P1 E0.025:0.9:0.025:0.025:0.025 ; Set mixing ratios for tool 1

M563 P2 D0:1:2:3:4 H1 ; Define tool 2
G10 P2 X0 Y0 Z0 ; Set tool 2 axis offsets
G10 P2 R0 S0 ; Set initial tool 2 active and standby temperatures to 0C
M568 P2 S1 ; Enable mixing for tool 2
M567 P2 E0.025:0.025:0.9:0.025:0.025 ; Set mixing ratios for tool 2

M563 P3 D0:1:2:3:4 H1 ; Define tool 3
G10 P3 X0 Y0 Z0 ; Set tool 3 axis offsets
G10 P3 R0 S0 ; Set initial tool 3 active and standby temperatures to 0C
M568 P3 S1 ; Enable mixing for tool 3
M567 P3 E0.025:0.025:0.025:0.9:0.025 ; Set mixing ratios for tool 3

M563 P4 D0:1:2:3:4 H1 ; Define tool 4
G10 P4 X0 Y0 Z0 ; Set tool 4 axis offsets
G10 P4 R0 S0 ; Set initial tool 4 active and standby temperatures to 0C
M568 P4 S1 ; Enable mixing for tool 4
M567 P4 E0.025:0.025:0.025:0.025:0.9 ; Set mixing ratios for tool 4

M563 P5 D0:1:2:3:4 H1 ; Define tool 5
G10 P5 X0 Y0 Z0 ; Set tool 5 axis offsets
G10 P5 R0 S0 ; Set initial tool 5 active and standby temperatures to 0C
M568 P5 S1 ; Enable mixing for tool 5
M567 P5 E0.20:0.20:0.20:0.20:0.20 ; Set mixing ratios for tool 5

Firmware Retraction

To make it work at all, we need to enable firmware retraction in our firmware and enable it in our Slizer.

I’ve put in a lot of notes here, but I’ve really only setup length and speed and of course enabled it by issuing the M207 Gcode command.

We need to enable firmware retract as all our extruders must retract at the same time instead of just the active one. If only one of the extruders are extracting, it will just suck up the filament in the melting chamber/from the other colors, but not the filament at the tip of the nozzle.

By enabling firmware retracting in firmware and in slizer, the Slizer is going to insert G10 to retract and G11 to unretract, which triggers the firmware retract option.

; Enable Firmware retraction
; https://duet3d.com/wiki/G-code#M207:_Set_retract_length
; Snnn positive length to retract, in mm
; Rnnn positive or negative additional length to un-retract, in mm
; Znnn additional zlift/hop
M207 S1.5 F3000 ;set firmware retraction

Heating and Standby temperature

Aside from the firmware settings we need to do a large deal of changes in our Slizer profile. I can’t go into all of them obviously, but one of the universal ones are defining Standby temperature in the startup gcode file using the G10 G-command.

G10 P0 S205 R205     ; Set tool 0 Active and standby temperatures
G10 P1 S205 R205     ; Set tool 1 Active and standby temperatures
G10 P2 S205 R205     ; Set tool 2 Active and standby temperatures
G10 P3 S205 R205     ; Set tool 3 Active and standby temperatures
G10 P4 S205 R205     ; Set tool 4 Active and standby temperatures
G10 P5 S205 R205     ; Set tool 5 Active and standby temperatures

Setup up Cura

Be sure to read my new blog-post to correctly setup Cura for this.

Posted on 2 Comments

BeTrue3D Printer build part 8 – Carriage for 5way Diamond Hotend

Putting the 5way Diamond together.

Aside from this one having 5 heatsinks and the previous version had 3 heatsinks, the method of assembly is the same.

I’m using some high temperature paste to coat on the Heater Cartridge, and fill up the hole for the Thermistor (I’m using a Thermocoupler).

The 5way Diamond will ship with a 60w heater cartrdige, but since they havn’t landed in Denmark yet, I’m using a 12v 30w E3D cartridge which will magically turn into a 60w 120w heater as I’m running my BeTrue3D Printer as a 24v system.

I have contacted E3D to hear about quality of their cartridges – wheter it can sustain the increased voltage/current through it. I can limit the voltage in firmware and hit the recommended 60w, but still need to hear from E3D wheter it’s ok or not.

I’m coating the heater cartridge in the paste, and insert it into the middle hole. At first I had no paste coming up, so I applied a good deal more and inserted it once again, while rotating it.

 

This time I had a deal of excess paste coming up, which I cleaned away using a cotton tip, and then inserted into the hole for thermistor/thermocoupler.

Putting the wires through the heatbarrier and opted to fixate the Thermocoupler wires onto the Heater wires

Screwing on the individual heatsinks, while making sure the Thermocoupler and Heater Cartridge stays in place.

 

Attaching 5way Diamond to Carriage

I’m first going to put a ø2,5mm drill through the holes I made to mount my 40mm fan. I then tapped the holes with an m5 tap to make it easier to mount the fan later on.

 

Afterwards I start by inserting a plastic zip-tie to hold the cables in place, once I clip on the entire assembly onto the Carriage.

Carefully putting the wire through the Carriage, without uprooting the Heater and Thermocoupler, and clip on the assembly. Making sure all 5 heatsinks has clipped on.

   

Securing the cables in place. The insulation is taking too much space, so had to remove some of it.

 

Once I’ve fixed the cables and made sure the heatsinks are all in place, I use a zip-tie to fasten each heatsink to the Carriage.

Attaching a fan

Normally you might use a 50mm fan, but I had this nice 40mm 20mm thick fan lying around, and made my carriage to fit.

  

 

Fasten Carriage to Y Sliders

Finally got the 5way Diamond hotend mounted on my printer and put the bowden tubes in it 🙂

Struds and wirework

I’m printing some struds to fasten the two X sliders on both sides as I write this, which are needed to make it work.

Here’s some images of the struds and some tidying of the wires and bowden tubes.

Future changes

I think I’m going to combine the Carriage with belt fastener. Not entirely sure yet.

My overall plan has always been to make a Carriage system where I can drop in change between the 5way Diamond and and E3D hotend and such, but not entirely decided yet, how it should work.

Regardless though, I need to make some mounting points for fans on either side of the nozzle.