Extruder Pluggable Wiring Convention
Please note this is a proposal so far.
This page is here to document a proposed wiring convention to enable interchangeable extruders. The idea is that if you have a convention for your plug interface, you could readily swap out your entire extruder and replace it with another one without much effort at all. One of the key ideas behind this is to leverage existing affordable connectors that are suited to pulling the current that an extruder uses. The existing PCI-e power cabling standard can be leveraged. One can cheaply order an extension cable such as this from many sources, cut it in half and splice the wires into it between your microcontroller and your extruder, thermistor, and extruder motor. This prevents people from having to crimp these cables themselves, saving labor, and the need for a crimping tool. These plugs are very easily detachable, yet lock into each other to keep them securely connected as the extruder moves. They also are keyed so that you don't accidentally plug in the wrong component in, or plug it in the wrong direction when swapping extruders. The above PCI-e power cable has two 4-pin plugs called 41 and 42. We propose using 41 for the thermistor and heater and 42 for the extruder stepper motor. The exact wiring is as follows.
F41 (female) - reprap side - thermistor & heater
F42 (female) - reprap side - stepper motor
M41 (male) - extruder side - thermistor & heater M42 (male) - extruder side - stepper motor
LOOKING AT WHITE FEMALE F41 (Heater & Thermistor)
|-------------------------| | | | | Heater | Heater | | | | | (GND) |\ /| |------------+------------| | | | | Thermistor | Thermistor | | | | |\ (GND) /| | \-------------------------|
LOOKING AT WHITE FEMALE F42 (Stepper Motor) (RR = RepRap ribbon cable, Mtr = Stepper Motor wires)
|-------------------------| | | | | Motor A- | Motor A+ | | | | |\ /| | |------------+------------| | | | | Motor B- | Motor B+ | | | | | |\ /| \-------------------------|
The only reason the polarity of the heater or thermistor cables matter is if you try doing something like what Adrian did with the RepRap Universal Mini Extruder, where he powered an extruder fan (to cool the extruder, not to cool printed parts) with the +12V wire from the heater and the GND wire from the thermistor.. His diagram of that is [here]. The polarity was ambiguous in this specification until now, September 7, 2013 - if you wired your RepRap via this spec before then, check whether you're compatible with the polarity specifications too if you want to power a extruder-fan in the fashion mentioned above.
On RAMPS 1.4, the GND pin of the thermistor is to the left. The GND pin of the heater is the top of D10 (the one without the +). On RAMBo, the GND pin of the thermistor is on top (closer to the power connectors - X27 pin 1). The GND pin of the heater is clearly labeled - it's the one on the left (X16 pin 1).
Coil A (a pair) is made up of the top two wires. Coil B (another pair) is the bottom two wires. For more information on finding the pairs on your motor, see the Stepper wiring page. Swapping the +/- of one pair changes direction, or swapping the two pairs with each other changes direction. (Or swapping the +/- of each pair AND swapping the two pairs changes the direction, which is why with a 4x1 connector you can just turn over the cable to switch directions. This approach however sets a standard for which wires need to be which, so you don't have to worry about motor directions when swapping out extruders.
The goal here is to have the RepRap side of the cable (the white female side) be wired up such that any extruder connected to it will turn its motor in the appropriate direction to extrude. This lets you wire the black side of your Wade's extruder one way, and the black side of your Greg's extruder the opposite way (those extruders need their motors to spin in different directions to extrude), all without having to change any settings, etc.
The only downside is that without some base reference, you can't know which way is "correct" for the standard. For instance, you could wire up your RepRap and 5 extruders all consistently and be happy, then go to a friend's house and find that he wired up his first extruder differently, and his extruders aren't compatible with your RepRap.
So to try to provide a reference, here are the "correct" wirings for the boards I've used (note there are four possible valid wirings for each board - the first of each is what I've used):
|Motor A-||Motor A+||Motor B-||Motor B+|
|RAMPS 1.4 (default)||"1A"||"1B"||"2A"||"2B"|
|RAMPS 1.4 (alt 1)||"1B"||"1A"||"2B"||"2A"|
|RAMPS 1.4 (alt 2)||"2A"||"2B"||"1B"||"1A"|
|RAMPS 1.4 (alt 3)||"2B"||"2A"||"1A"||"1B"|
|RAMBo (alt 1)||pin1||pin2||pin4||pin3|
|RAMBo (alt 2)||pin3||pin4||pin1||pin2|
|RAMBo (alt 3)||pin4||pin3||pin2||pin1|
(In the table above, the RAMPS pins are labeled on the board. The RAMBo pins aren't labeled, so looking at the board right-side-up (so the RAMBo logo can be read), pin1 is on the left, then pin2, pin3, and pin4 is on the right)
This wiring idea was first used by jkeegan and devzero in their repraps. We've posted it in the hopes that others might find it useful. If more people adopt this convention, it will enable folks to swap out components in their repraps more easily. This is especially useful as the idea of using different tooling heads on a reprap moves forwards.
Here's an illustrative video I (jkeegan) made about this early on: RepRap Extruder Connector Standard