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

From RepRap
Revision as of 20:45, 24 January 2012 by KtripPSU (talk | contribs) (Progress Blog)
Jump to: navigation, search

The quest for dual extrusion

This page is to document the ongoing project of developing a dual extrusion system (software, firmware, g-code, electronics, extruders). The idea to pursue a dual extrusion system came about from [[this]] thingiverse entry by user ScribbleJ. The idea of a dual extruder system is to create parts using two different materials (differing colors, water soluble support material, etc.). The difficulty comes in the fact that no aspect of a reprap is designed for such a set up, and until recently, no dual extrusion system was commercially available. On this page I will update with the information required to complete a dual extrusion system (or however much I have figured out as the project progresses), as well as keep a blog of my progress. I will upload patches and firmware updates as they are created in hopes of collaboration on the project.


Progress Blog

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.

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.



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.

Aspects

Hardware

Electronics

Firmware

Software

Code