Showing posts with label Dual Extrusion. Show all posts
Showing posts with label Dual Extrusion. Show all posts

Friday, 7 August 2015

New Duet Electronics - Version 0.8.5

RepRap 3D printers with multiple extruders are becoming increasingly common however the majority tend to have dual extruders rather than 3 or more. Released in December 2013, the Duet 0.6 is now an established 32bit 3d printing electronics solution that has proven to be popular and versatile. With this in mind we decided to extend the Duet 0.6 to support two extruders on one board and developed the Duet 0.8.5.

The new features are highlighted below and importantly it features the same expansion header as the Duet 0.6 so it supports a Duex4 expansion boardA Duet 0.8.5 + a Duex4 gives support for 6 extruders. That's 9 stepper channels and 7 heater channels including the heated bed!

Duet V0.8.5 (picture updated 20160111 to show polarised pin headers)

We should thank David Crocker (DC42 on the RepRap forums) upfront for his helpful advice in the development of the Duet 0.8.5.

New Features in Duet 0.85

  • A second extruder channel (E1).
  • A second PWM fan output.
  • E1 motor current controlled by the SAM3X8E DAC0 channel. Thanks to David Crocker for this idea.
  • Two "always on" fan pins.
  • Dedicated header for the PanelDue.
  • Dedicated probe header, supports many different probes including David Crocker's mini IR probe.
  • Additional pins accessed on the SAM3X8E processor to enable the new features.


Improvements from 0.6

  • Lower noise components and circuit layout used for the 5V BUCK circuit.
  • Complete ground plane - reduce noise and potential ground loops.
  • Switches and power indication LEDS moved to the same edge as the SD/USB/Ethernet for simpler access and indication.
  • VSSA now present on the expansion header. This combined with the changes to the Duex4 0.2a mean that analogue ground is now used for all 7 temperature measurement channels.


Other Changes

Not necessarily improvements but changes to simplify the board or reduce component count:
  • USB is now a simple USB 2.0 device, rather than a Host/Device as before. This was never used on the 0.6 and removing it reduces component count.
  • Removed the IDC headers for the heatbed and motor/hotend wiring loom. The footprints took up valuable board space and I am not aware of a printer that used a complex loom terminated in a single IDC.
  • The FAN MOSFETs are now PMV40UN2R FETs which are lower power but more than adequate for fans and other lower current devices. They also don't use a second mosfet to increase turn on voltage, like in the 0.6 design, as that was overkill. This means they are inverting (use M106 I1 to change)
  • Extruder thermistor headers and fan headers moved towards the middle of the board to allow for the same board size as the Duet 0.6 to be used.
  • In order to support a 7th heater channel (Extruder 6) along with two PWM fans the PWM pin had to be shared. This means that you can't run 6 extruders AND 2 PWM fans at the same time.

Board Connections

Duet 0.8.5 Connections


The expansion header pins have changed slightly as shown in the picture below:


Duet 0.8.5 Expansion header pins back view
The pins on the Duex 0.6 that went to the extruder E1 on the Duex4 have been diverted to E1 on the Duet 0.8.5. New pins now go to E5 in place of E1 on the Duex4


Opensource Hardware

In the same manner as the Duet 0.6 the Duet is based on the Arduino Due, and the KiCAD source files are released under the CERN OHL 1.2 license, which means you are free to modify them and distribute products based on them, as long as you share your modifications under the same license. We believe this is a much more appropriate license for Open Hardware than a Creative Commons/GPL or other licence based around copyright.

The Duet 0.8.5 source files are available on GitHub so feel free to fork the project and modify away!

Duet 0.8.5 developed with the Open Source KiCAD EDA suite


KiCAD has continued to improve since I started to develop hardware over 2 years ago. It is a powerful, Open Source design suite which means that the source files for the Duet are open for anyone to use and so is the software needed to modify them.

Firmware & Webinterface

The Duet 0.8.5 runs RepRapFirmware, the linked github page has the Think3dPrint3d latest version based on David Crocker's fork. I have made the changes required to support the additional pins, extruder multiple PWM fans and hopefully this will be merged into David's fork shortly.

The firmware has also improved substantially since the Duet 0.6. The majority of these improvements Think3dprint3d can take no credit for as they are the work of the RepRap community.

David Crocker has done excellent work in optimising the firmware and implementing segmentation free support for Delta printers. Old-style firmwares rely on segmentation to calculate movement but this can add printing artefacts. On David's fork the delta transform is calculated for each step, i.e. it's segmentation free, and thus the quality is higher. This is only possible due to the higher processing speed of 32 bit electronics.

Christian Hammacher (on the RepRap forums as zombiepantslol) has done a fantastic job continuing to improve the web interface:

Updated RepRapFirmware Web Interface with 6 extruders - Large Screen (PC) view
I am now also using the webinterface from my mobile, here are a couple of screenshots of that:

RepRapFirmware Web Interface on Mobile

RepRapFirmware Web Interface on Mobile - Print page


Production & Availability

The Duet 0.8.5 boards are being produced for us in the UK by a local electronics manufacturer. The first batch is finished and available on our website:


Also available as a bundle with the Duex4, and I will be very excited to see someone using all 6 extruders!




Thursday, 31 October 2013

Dual Extruders on the Lasercut Mendel90

The Lasercut Mendel90 was designed with a mount for up to 5 bowden extruders on the "extruder sandwich". So far I have been working with dual extruders: this is what the printer looks like in overview:



Here are some test prints with objects downloaded from thingiverse. The printer is also a remix on thingiverse.


Dual Extrusion dice on the Lasercut Mendel90
Dual extrusion dice by davemenc

Dual Extrusion cat on the Lasercut Mendel90
Two colour standing cat by nervoussystem

Dual Extrusion traffic cones on the Lasercut Mendel90
Traffic Cone for Dual Extrusion by CocoNut
As can be seen there are still some issues with ooze - pretty much like all dual extrusion systems out there but I have managed to counteract a lot of it by building a skirt all the way up the object and cooling the inactive nozzle.


Dual Extruders


The hot ends are the RepRapPro design, specifically meant for 1.75mm bowden systems and well proven on their printers.


RepRapPro hot ends mounted on the Lasercut Mendel90

I have also used RepRapPro mini extruders which are nice and compact with the inner gear mechanism.


RepRapPro mini extruder as mounted on the Lasercut Mendel90

The only changes I have made in the extrusion system as a whole is the bowden tube is more than twice as long to accommodate the difference in extruder mounting position and printer height.


Modified X Carriage


The main change to the Lasercut Mendel90 itself is a modified X carriage to mount the hot ends, including a mount for the breakout circuit board.


Lasercut Mendel90 Dual Extrusion X Carriage


The OpenSCAD render below shows the main components including the locations for the hot ends (in transparent grey).

Lasercut Mendel90 Dual Extrusion X Carriage OpenSCAD Render


Although the carriage belt attachment points have been moved slightly closer together the same length of belt will still fit. The new printed parts required are shown below: the belt fixings, bearings and breakout PCB can all be reused. The fan mount is very simple and not particularly effective - it uses a 40mm fan which only blows in the general area of the object being extruded.

 I have forked the Lasercut Mendel90 code on Github as "dual" and uploaded the changes (the stls that have "RRPE" in their files names.

Lasercut Mendel90 Dual Extrusion X Carriage OpenSCAD Plate

Wiring and Firmware changes

The extruders wired into the existing PCB utilizing the original E motor connections to carry the second heater current and the probe connection for the second thermistor:

Update for ease of understanding:
For reference the circuit board is labelled as follows, where the red numbers are not printed on the PCB



On the connector it should look like this:


More detail in the table below:

Description
RAMPS
Wire
PCB (marking & red numbering)
E0 Thermistor GND
T0 (pin1)
Ribbon 4
T Pin 2
E0 Thermistor Signal
T0 (pin2)
Ribbon 3
T Pin 1
E1 Thermistor GND
NC
Ribbon 4
P Pin 1
E1 Thermistor Signal
T2 (pin6)
Ribbon 5
P Pin 2
E0 switched GND
D10  -
Ribbon 9, 10, 11
H Pin 2
E0 +12V
D10 +
Ribbon 6, 7, 8
H Pin 1
E1 +12V
D9 +
Ribbon 13
MR Pin
E1 +12V
D9 +
Ribbon 14
MB Pin
E1 switched GND
D9 -
Ribbon 15
MG Pin 3
E1 switched GND
D9 -
Ribbon 16
MK Pin 4
E0, E1 always on Fan +
NC
Ribbon 6, 7, 8
H Pin 1
E0 always on Fan -
NC
Ribbon 3
T Pin 2
E1 always on Fan -
NC
Ribbon 4
P Pin 1

The Lasercut Mendel90 kits use 26 AWG ribbon cable, rather than 28 AWG, which means the cabling can carry a higher current and is more than capable of the additional requirements of a hot end rather than a motor.

As there are already ground and +12V connections on the PCB the extruder cooling fans which are "always on" can be wired in, sharing the screw terminal spaces with the thermistor GND and hotend +12V. I was initially concerned that this arrangement might add significant noise to the thermistor circuits and degrade performance but I have noticed no adverse effects.

At the RAMPS end I took the software controlled fan cable from D9, put a plug on it and plugged it into T1 on the Panelolu2 adapter board. In addition the previously unconnected "probe" cable (wire 5 in the ribbon cable) has a plug put on it and then plugged into pin 6 on the T0-T1-T2 6 pin strip.

The firmware needs to be changed to use dual extruders on RAMPS (set "#define MOTHERBOARD 34 in Configuration.h and "#define EXTRUDERS 2" in Configuration_adv.h.


Filament management


The parametric spool holder comes in useful, although the bearings are not required for these light spools:


Lasercut Mendel90 Dual Extrusion Filament

I have also used some PTFE tubing as filament guides from the spools to the mini extruders.


How to implement it on your Mendel90

As this is still a work in progress I will not go into the fine detail of how to do it but hopefully this summary and the pictures will set anyone who wants to give it a go on the right track.
  • Print the parts for the X carriage and RepRapPro mini extruder.
  • Get hold of a two hotend kits. (a link to the RepRapPro eMakershop listing - similar hotend kits may be available elsewhere). You will need ptfe tube about 300mm long for each one, id 2.0mm od 4.0mm
  • Get hold of the vitamins needed for the mini extruders.
  • Assemble the mini extruders and mount on the Mendel90. If you have a laser cut Mendel90 this is straightforward. Any two positions will work:
  • Change the existing X carriage and extruder for the new x carriage. The fixings, belt and PCB can be re-used, and the E motor can be re-used on one of the mini extruders.
  • Wire it up according to the wiring information above.
  • RepRapPro has a good tutorial on slicing multi material files and setting the extruder heights and offsets, although I simply used a single walled cube, added twice to a multi material file and adjusted the offset until both walls printed on top of one another in X and Y.

Next Steps

The printer is working well in dual extrusion mode and the files are on github. I am really looking forward to see more Mendel90s out there with dual extrusion mods.  That said I have no intention of stopping here. Still on the todo list:
  • A better fan bracket that focuses the air on the extruded part, like the original Mendel90 one.
  • Improve the tool change gcode I use in Slic3r and tune the hot ends' PID, ooze temperature, etc to improve print quality and reduce print time.
  • 4 or 5 extruder carriage design - I will probably common the "cold" part of the hotend to reduce the number of fans and get the nozzles closer together.
  • New cabling plan for a 4 or 5 extruder setup.
  • Demonstrate the new electronics - more to follow on this in a couple of weeks.
  • Finish off the filament management with a guide incorporating a sponge cleaner
  • Design some 4 or 5 colour objects.
  • Ask RichRap for his "ultra easy dual mixer hotend" design!
All this will take some time so don't hold your breath! If you are just starting with 3D printing, or looking to make largely functional objects then I recommend staying with a single extruder system such as that on the standard Lasercut Mendel90.