RUG/Pennsylvania/State College/Software/Parts/Dual Extruder

From RepRap
Revision as of 05:57, 8 December 2012 by Bbv5002 (talk | contribs) (Development)
Jump to: navigation, search

The Quest for Dual Extrusion

The purpose of this page is to document the Penn State RepRap User Group's progress towards a system that will be capable of dual extrusion. There are many incentives for the pursuit of a dual extruding RepRap. With such a system, the class would be capable of printing much more complex objects by using different colored plastics and different types of materials in the same print. Furthermore, as the capabilities of our systems continue to grow (in terms of being able to print a wider variety of objects), the class' usefulness for both the RepRap community and the Penn State College of Engineering will also continue to increase. There are already many introductory level engineering design classes that utilize the printers to create solid models for their design projects, but with the ability to print in multiple colors and materials, other professors and groups within the university may become interested in utilizing our services rather than having objects printed commercially.

For simplicity's sake, we have chosen to try and construct a dual extruder that is based off of the current single extruder (a derivative of 'Wade's Extruder'). In this way, we would be able to use existing parts and designs to assemble the new extruder, hopefully making few, if any alterations. The only major change that will need to be made is the creation of a new hot plate that will be able to support two extruders. Other than that, the goal is to use exclusively parts from our current extruder design, most likely simply placing two complete extruders side by side on the same OpenX assembly.

Beyond the actual hardware of a dual extruder system, there will also need to be some modifications made to the firmware and software that communicates with the extruders and allows them to communicate back to the computer. Adding a second extruder means calibrating the system so that when one color is finished printing its part of a layer, the second tip can move into the correct position on the layer. This should involve simply compensating for the horizontal distance between the two hot tips, assuming that the two tips will be in line with each other on the carriage. We will also need to find a way to

Progress Blog

December 6, 2012: Based on the SolidWorks Model of the motor-to-motor dual extruder arrangement, a new OpenX carriage has been designed to support the two extruders. In order to make the extruders fit correctly, the carriage had to be redesigned so that the support protrusions weren't conflicting with the mounting holes in the hot plate for each of the extruders. This design should enable both extruders to be supported, while at the same time minimizing the space lost due to the increased length of the carriage.

December 4, 2012: After comparing the digital mock-ups in SolidWorks, it appears that a 'motor-to-motor' configuration will allow for the smallest distance between extruder tips while at the same time keeping the overall width of the extruder down to a minimum. Knowing this, work has begun on creating a hot plate for the extruder configuration, as well as redesigning the OpenX carriage for dual extruder use (the current one is not long enough to support both extruders). Though lengthening the OpenX carriage will reduce the print volume by a small amount, in addition to the reduction in print volume caused by the spacing between the hot tips, it is a necessary sacrifice for the development of a dual extruder.

November 27, 2012: Work has begun on developing mock-ups of potential dual extruders in SolidWorks (using the existing model of the Open Hybrid Mendel extruder currently in use). Our goal is to minimize the distance between the two hot tips, thus the two obvious configurations are to put the extruders on a hot plate either gear-to-gear or motor-to-motor. Most likely, whichever is able to fit on an OpenX carriage the best (i.e. have the tips closest together and maintain the largest print area) will be chosen to continue work on.

In past semesters (before Fall 2012) there had been some research done on a dual extruder setup, but no substantial progress was ever made. The posts below, as well as some of the firmware section, are the results of this research.

1.24.12: It turns out that there was someone else who had the exact same intentions as I did (Dual extrusion, Ramps, Marlin), but he was just quicker to figure it out than I was. Awesome, less work for me. But now that I have the proper firmware (found here), I've changed the proper lines in the configuration.h and pins.h files, and so in theory it should work. The Mondo is almost assembled, and one of my colleagues is looking into the specific build of Skeinforge that supposedly is capable of generating G-code for dual extrusion. The goal is to have the printer running with a single extruder in the next week or two, with the dual setup operational shortly thereafter.

1.17.12: It's a new semester, meaning another attempt at Dual Extrusion. After my short battle with it last semester, I'm back and ready to tackle it once and for all. If MakerBot can produce a commercially successful dual extrusion system, I should be able to figure it out with a little help from my colleagues here at Penn State.

10.18.11: Firmware night, and I must say, it's going to be quite the task. I spend the night familiarizing myself with the firmware language and editor, as well as locating the sections of code that will need modification. The actual firmware rework will have to wait though, as I need to see exactly what sort of code will be sent to the machine with regard to tool (extruder) selection. This will happen as soon as I can learn Skeinforge and begin generating the code that will be sent to the machine.

10.11.11: Today marks the beginning of the project. I assessed the feasibility of the project and determined which software, electronics, and hardware to use. The selections can be found in each of the respective sections below.

Development

The development of an Open Hybrid Mendel dual extruder is based upon the current extruder used on the completed OHM machines. This extruder can be viewed below:

OHM Single Extruder Isometric.jpg

The goal for the development of a dual extruder was to use two of these single extruders and mount them both to the same hot plate and OpenX carriage. There were two configurations that seemed to be most plausible for this goal: a gear to gear configuration and a motor to motor configuration. These two configurations can be viewed below:


Gear to Gear Configuration

OHM Dual Extrusion GearToGear.jpg

OHM Dual Extrusion GearToGear Measurement.jpg

This configuration resulted in a horizontal distance between the hot tips of roughly 61mm.


Motor to Motor Configuration

OHM Dual Extrusion MotorToMotor.jpg

OHM Dual Extrusion MotorToMotor Measurement.jpg

This configuration resulted in a horizontal distance between the hot tips of roughly 59mm.


Based on these configurations, it was decided that the configuration with the smallest distance between the hot tips, the motor to motor configuration, would be further developed. This was the configuration that was used to redesign a the OpenX carriage. In order to cram both extruders onto a hot plate that would fit on a single carriage, the carriage needed to be elongated by 30mm. Two of the notches that extend the width of the carriage in order to better support the weight needed to be moved slightly to allow the extruders to properly mount to the hot plate, and the hot plate to properly mount to the carriage.

Ben's OpenX Dual Extruder Carriage

Bens OpenX Dual Carriage Isometric.jpg

Bens OpenX Dual Carriage Top.jpg


Full dual extruder assembly, including both extruders, hot plate, OpenX carriage, and all hardware:

Isometric

OHM Dual Extruder Assembly Isometric.jpg

Bottom

OHM Dual Extruder Assembly Bottom.jpg

Side

OHM Dual Extruder Assembly Side.jpg

Aspects

Hardware

Electronics

In order to drive a dual extrusion configuration, the use of Rambo electronics is likely a good choice. RAMBo electronics are essentially an arduino Mega and RAMPS electronics combined onto a single board. Furthermore, RAMBo electronics, unlike RAMPS, come almost fully assembled and include support for two extruders (as well as a fan per extruder, a heated bed, and a plethora of other goodies). It is likely possible to utilize the RAMPS electronics that are on many of the other recently assembled machines, but it may take more work to get the system to work together properly.

Firmware

We've made a few decisions as to the configuration of the system. We are going to be using RAMPS electronics, a shield that attaches to an Arduino unit, to drive the machine. Tentatively, the firmware used will be Marlin, a derivative of sprinter but with a few upgrades that make it a step above. All of this will be mounted on a Mondo RepRap, allowing for more room and hopefully some really big and cool prints.

Changes of the day:

Under configuration.h

#define EXTRUDERS 1 becomes #define EXTRUDERS 2 (to specify 2 extruders instead of 1)

#define MOTHERBOARD 7 becomes #define MOTHERBOARD 33 (to load the pin configuration for RAMPS 1.3 and 1.4)

I commented this line #define DEFAULT_AXIS_STEPS_PER_UNIT   {78.7402,78.7402,200*8/3,760*1.1}
and uncommented this line #define DEFAULT_AXIS_STEPS_PER_UNIT   {80.3232, 80.8900, 2284.7651, 757.2218}

This was to bring the parameters to what is specified for the SAE Prusa specs, I'll need to check on these for our current machines.

Thoughts to work with for next time.


This line was located about 3/4 of the way down on the Marlin.h tab.

#if (EXTRUDERS > 1) && defined(E1_ENABLE_PIN) && (E1_ENABLE_PIN > -1)
  #define enable_e1() WRITE(E1_ENABLE_PIN, E_ENABLE_ON)
  #define disable_e1() WRITE(E1_ENABLE_PIN,!E_ENABLE_ON)

I believe that tracking down these other parameters will help me figure out more about how to tackle the firmware.

Software

Code

Files