Wednesday, December 25, 2013

Assembling the Electronics (Videos 18 and 19)

Recap: I'm assembling a Prusa Mendel 3D printer from a kit I purchased from nwreprap.com.  The nwreprap.com web site includes a series of videos which guide me through the assembly process.  The assembly of the electronics is covered in videos 18 and 19.

In a previous blog entry, I explored all of the electronics components that came with my kit.  Now I'm going to go through the electronics assembly process. 

This time around the videos were not as useful in guiding me through assembly, mainly because the electronics used during assembly in the video were made by Printrboard, but the electronics in my kit were RAMPS 1.4. An additional difference was the power supply.  The one used in the video was an ATX form factor, but the power supply provided with my kit was a mystery model with no discernible standard form factor.  However, I do think the videos are still worth watching for pointers on routing the cables and wire crimping techniques.

The general approach in the videos is mount the controller board on a printed mounting plate on the right-front of the machine, route the cables along the threaded rods to the controller board and attach the cables using tie wraps.  Excess wire is trimmed and new connectors are attached via crimping or soldering.  This approach was very neat and I was thinking of following it but I had reservations: all of the crimping looked very labor intensive and once the wires are trimmed, I felt it would not be possible to physically move the controller board or even take it off the mounting plate.

As a first-time builder, I thought it would be better to leave all of the cables at their original length in case I wanted to move the controller board somewhere else - possibly to the top of the X axis threaded rods. 

I divided the electronics assembly process into these steps:
  • Lengthen the fan cable
  • Route The Wires To The Controller Board
  • Solder connectors onto bare ends
  • Special considerations for attaching two Z axis stepper motors to one driver
  • Attach the controller board to the printed mounting plate
  • Connecting the AC power cable to the power supply
  • Mount the heat sinks on the stepper motor drivers
  • Plug everything into the controller board
  • Connecting the power supply to the controller board
Lengthen the fan cable

The original fan cable was 6" long - not nearly long enough to reach the controller board.  I unscrewed the fan from the X carriage to make it easier to work with.  The fan does not plug into the controller but rather the wire ends are inserted into gaps at terminal D9 with a screw, so I cut off the little plastic connector.  Then I added about 12 inches of wire.  Finally, I re-attached the fan to the X carriage.

Route The Wires To The Controller Board

I grouped the wires into four groups according to how the endpoint of each wire moves in space:
  1. X carriage wires (extruder stepper motor, fan, hot end thermistor, hot end resistor) 
  2. Heat bed wires (heat bed, heat bed thermistor)
  3. X end wires (X stepper motor, X limit switch)
  4. Wires that do not move (Y axis stepper motor, both Z axis stepper motors, Y axis limit switch, Z axis limit switch)
Group 2 - wires from the heat bed
Group 3 wires - X end wires
First I made sure all of the wires are long enough to reach the controller board.

For group 1, the farthest distance from the controller occurs when the Z axis is in the topmost position and the X carriage is in the leftmost position.

For group 2, the farthest distance from the controller occurs when the Y axis is all the way back.

For group 3, the farthest distance from the controller occurs when the Z axis is in the topmost position.

Wires in group 4 do not move.

I had to lengthen the heat bed and the hot end resistor wires because they did not reach the controller board when the heat bed / X carriage were moved to the farthest distance.

I had to rotate the extruder stepper motor 180 degrees so that the wires exit the motor on the upper left (previously it was on the lower right) so that there was less chance of wires from group 1 interfering with the X axis belt and less chance of those wires hitting the right front threaded rod when the X carriage was in the uppermost/rightmost position.

Extruder stepper motor has been rotated
Solder connectors onto bare ends

My kit came with an assortment of 2 pin, 3 pin and 4 pin 1/10" connectors.  I soldered the thermistor wire bare ends onto the connector inserts and fit them inside the 2-pin connectors.  I soldered the limit switch wire bare ends onto the connector inserts and fit them inside the 3-pin connectors.  I stripped the hot bed and hot end resistor wire ends, twisted the strands and tinned them with solder.  They do not need to be attached to a connector because they attach to the controller board by inserting them into a gap on a terminal and tightening a screw.  I left the stepper motor connectors unmodified for now.

Soldering the wires was tedious and I messed up quite often and wasted quite a few connector inserts.  One of the things I realized was that if you got too much solder onto the connector inserts, it leaked into the space occupied by the pin and it made it impossible to plug the pin into the insert.

Special considerations for attaching two Z axis stepper motors to one driver

The Prusa Mendel design calls for connecting the two Z axis stepper motors to one driver.  Surprisingly, there is a considerable amount of advice out there against doing this.  The first is the Pololu website which clearly states that each driver is to be used with one bipolar stepper motor.  This post also advises against it.

Despite the advice, the standard Prusa Mendel design requires connecting two stepper motors to one driver.  For this, there are two options: connect in series or in parallel.

The nwreprap video and the reprap.org (item #13) site advise you to wire them in parallel.  However a couple opinions (one two) disagree. 

It is a fact that the physical loads on the two Z axis stepper motors are different.  The right motor bears the weight of the X axis stepper motor hanging below it which is greater than the weight of the X axis idler that hangs below the left motor.  Different loads result in different impedance of the coils.  In parallel mode, the same voltage will be applied to both motors, but because the impedance is different, the current through the coils will be different and can result in non-uniform performance.

I think the user ElmarJongerius hit the nail on the head in the 2nd post here: wiring them in series will ensure that the current going through both motors is identical which will result in more uniform performance.

The series approach appears to have been accepted by the RepRap community - here is a product offering for two stepper motors pre-wired in series.

I drew a little diagram for myself before I started wiring the Z stepper motors in parallel.
Wiring up two stepper motors in parallel.
Diagram shows 3 connectors - 2 for the motors and
1 for the pig-tail
I built a "pig-tail" which is a 4-pin connector with wires attached to it.  The colors of the wires match the colors on the stepper motor connectors.  I fashioned the ends of the wires into pin-like ends that plug into the Z stepper motor connectors.  The way I built these "pins" is to strip about a 1/4 inch from the end of the wire, remove 5 strands of wire, twist the remaining strands and tin them with solder.  Once the solder is applied to the end, the whole bundle becomes stiff like a pin.  In addition to the "pig tail", I needed two short wires to connect Blue on motor 1 to Yellow on motor 2 and Green on motor 1 to Red on motor 2.

The "pig tail" for the Z stepper motors

The 2 Z stepper motor connectors wired up to the "pig tail"
Attach the controller board to the printed mounting plate
There is a printed controller mounting plate included in the kit.  The controller board is supposed to attach to it and it attaches to some of the threaded rods.  Unfortunately the holes on the mounting plate did not line up with the holes on the controller.  So I got a 3.2 mm drill bit and drilled some new holes in the mounting plate. I made a paper template of the Arduino and marked the holes on the template.  After I drilled them, I realized two things which made me wish I planned ahead a little more thoroughly:

  1. The spacing on the Arduino does not allow enough space for the heads of M3 bolts, so you have to pass the bolts through the RAMPs 1.4.
  2. The RAMPS 1.4 has just 3 holes for mounting, so I could not use one of the holes.

So I attached the controller board to the mounting plate with three 25 mm M3 bolts and M3 locknuts.

Mounting plate with holes that I drilled marked with white arrows.
Upper right hole could not be used because RAMPS board did not have corresponding hole.
RAMPS and Arduino mounted to printed mounting plate front (1).
RAMPS and Arduino mounted to printed mounting plate front (2).
RAMPS and Arduino mounted to printed mounting plate rear.

Connecting the power cable to the power supply

My power supply has a 110V/220V selector switch. First thing is to check that the selector switch is set to the right voltage for your area. Mine was initially set to the wrong voltage.  My power supply has screw terminals for both line voltage and for 12V output.  The kit came with a typical power cord which has a NEMA 5-15P connector that plugs into the wall and a C-13 connector that plugs into equipment.

The power cord that came with my kit.  NEMA 5-15P male to C-13 female

Power supply, power cord and nylon cable clamps
Since the power supply has screw terminals, I had to cut off the C-13 connector and connect the wires to the screw terminals.  The wires are connected as follows:

Green Wire -> Ground Terminal - labelled with the Ground symbol which looks like an upside down tree
White Wire -> Neutral Terminal - labelled "N"
Black Wire -> Hot/Live Terminal - labelled "L"

I found some 1/4" Nylon Cable clamps in my basement and used them to firmly attach the power cable to the power supply, so that an accidental pull will not cause the ends to come loose.

Strain relief for the power cord
When it was all done, I plugged it in.  The LED on the power supply came on and I heard the fan.  I measured the DC output voltage and it looked correct!  Of course this is not very meaningful because there is no load on the power supply.

Power supply has been wired up and is putting out 12V DC under no load

Mount the heat sinks on the stepper motor drivers

My kit came with 4 heat sinks and some two-sided tape.  I peeled the cover off, cut it into little squares and used it to attach the 4 heat sinks to the 4 controller chips on the Pololu drivers.

Heat sinks ready to be attached to Pololu drivers


Two sided tape has been attached to Pololu drivers
Heat sinks have been attached to Pololu drivers
Plug everything into the controller board

Attach the mounting plate to the Prusa.

Controller mounting plate has been attached to the Prusa Mendel
Here is the wiring diagram and some photos of the assembled RAMPS 1.4 controller ( photo1 photo2 ).  The fan connection does not appear in the diagram, but does appear in some of the photos - the fan is plugged into D9.

Everything has been plugged into the controller except power supply.

Connecting the power supply to the controller board

Using 2 sets of 18 gauge wires, connect the +V and -V terminals on the power supply to the designated power terminal on the RAMPS.


Wiring the power supply to the connector on the RAMPS 

At this point, assembly is complete!  

The next step is to power it on!


Assembly is complete (1)
Assembly is complete (2) 


No comments:

Post a Comment