RepRapPro Huxley commissioning

From RepRap
Revision as of 10:58, 7 January 2012 by Jmgiacalone (talk | contribs) (Hot end)
Jump to: navigation, search

| Introduction | Frame assembly | Y axis assembly | X axis assembly | Z axis assembly | Heated bed assembly |

| Extruder drive assembly | Hot end assembly | Wiring | Commissioning | Printing | Maintenance | Troubleshooting |


Goal

By the end of this stage, your machine will be ready for its first print.

Tools

  • An object with a measured height (we use a length of 6mm diameter silver steel)

Step 1: Communication

Before you start trying to talk to your machine, you need Python and the dependencies. If you know how to do this, you can install the dependencies listed here. If you need more instructions, go to the link below and follow the instructions (4 items to download and install in order for Windows):

https://github.com/kliment/Printrun/blob/master/README.md

And go here for Windows 7:

http://www.emakershop.com/forum?vasthtmlaction=viewtopic&t=238

You may need to go into the pyreadline-1.7 folder and click setup, which will made a command window pop up for a moment; this may or may not be needed.

The first thing to establish is that you can communicate with your machine. You will need to install and run the RepRappro Pronterface software, which you will find in our github repo here. The button to download a ZIP file is near the upper left.

Connect your RepRapPro Huxley to a USB port on your computer, then run pronterface.py and select the active serial port in the upper left. Click Connect, wait a moment, and the software will confirm when the printer is online.

Pronterface main.png

Press the GET POS button, and if the machine returns a position of X0.00 Y0.00 Z0.00 your serial communication is functioning correctly.

NOTE: If your pronterface window does not display the custom buttons (GET TEMP, GET POS, ... ), you most likely have another copy of .pronsolerc in your home folder. Delete this file and reload the software. You should now see the extra buttons.

Step 2: Axes

Motor movement

DO NOT CONTINUE WITHOUT CHECKING CURRENT LIMITS!

If limits are not set, the driver boards will most likely be destroyed.

You should already have done this when you installed the electronics, but now is the time to double check:

The current to each motor is controlled by the miniature potentiometer (or trimpots, circled below) beside the stepper-driver chips on the left of the controller board. Use a small screwdriver to turn each one fully anticlockwise (don't force them - they should turn freely). Then turn them clockwise by about 30o.

Reprappro-huxley-trimpots.jpg

Using a multimeter, tune the trimpots to provide 1Amp to each of the stepper motors. The trimpot dial is connected to the REF pin on the A4988 stepper driver ic. The Huxley's stepper motors are rated to 1Amp, which equates to 0.4v on the REF pin of the A4988 stepper drivers. You can connect the ground probe (usually black) of you mutlimeter to the GND pin of the power input screw terminal (green, with the GND screw circled in red), and connect the positive probe (usually red) to each of the trimpot dials in turn.

Now type:

G1 X5 F500

in the field below the log window and click Send. The X-motor should move to 5mm in the positive direction (X5) at 500mm/min (F500).

Now type:

G1 X0 F500

and send. The X-motor should move back to its starting location (X0). If you find that your machine will not move in the negative direction, your endstops are probably not wired correctly. Refer to the wiring page to check your wiring.

Repeat the above test for the other three axes. For each axis test, replace the X in the above command with the relevant axis letter (Y,Z,E), but for Z make the feedrate 200 mm/minute:

G1 Z5 F200

You may find that some axes judder, or whine but don't move. This means that their current is set a little too low.

Turn off the power, then rotate the appropriate potentiometer just a little clockwise. Put the power back on and repeat the tests above.

Motors going backwards

RepRap works with right-handed Cartesian coordinates. That is to say that looking down on the bed from the front of the machine X runs from left to right, and Y runs from front to back (like a graph). Z runs up towards the top of the machine.

Remember that it is the movement of the printing head that counts: when Y increases, the bed will move towards you.

If you find that an axis is backwards, it is simple to reverse its motor: just reverse the order of its wires into the controller, so, for example, [black, green, blue, red] goes to [red, blue, green, black]. Don't forget to turn the power off before disconnecting and connecting wires.

Endstops

To test the endstops, repeat the above test for the X, Y and Z axes in turn, this time with a much slower feed and a larger negative distance, for example

G1 X-20 F100

As soon as you press Send and the axis begins to move, activate the relevant limit switch to halt movement of the axis. If activating the switch does not halt your axis, check your wiring.

Homing

You are almost ready to home your machine. Before doing so, ensure the Z endstop is high enough on the Z smooth rod to trigger the switch without the head ploughing into your heatbed.

Press the HOME ALL button and your machine will find its reference position at X0 Y0 Z0.

Step 3: Alignment

Level the X axis

A 150mm steel rule is best for this step. Place the rule on top of each X end in turn and measure the distance to the Z motor mount. Rotate the Z motors until both X ends are the same distance from their respective Z motor mount.

Level the bed

One of the major differences between the standard pronterface and the eMAKER version is the way the machine is manually controlled. You have five buttons which enable you to position the head above the four corners of the bed and over the centre. The Z axis can be moved in increments of 0.1mm, 1mm and 10mm. The E axis can be moved by the amount specified in the distance spin control. The speed of manual moves can be specified in the spin controls above the manual move buttons.

To level the bed, move the head up such that you have at least the height of your measured object between the head and the bed. Then position the head in the centre and bring it down gradually until it is almost touching the object. Moving the head to each corner, adjust the three M3x30mm cap head screws by which the heatbed is mounted in order to level the bed. The nuts on the M3 screws need to be tight against the spring mounts.

After you have leveled the bed you should add a drop of superglue to the outside of each of the levelling nuts to minimize the shaking as the bed moves. Its actually good if some gets into the threads; you can still adjust be bed height, but it won't creep around by itself.

Set your Z height

With the head at Z0, the tip of the nozzle should be within a paper thickness away from the surface of the bed. To achieve this, follow the sequence:

  • HOME ALL
  • Send the following command: G1 Zz F200, where z=the height of your measured object.
  • CENTRE
  • Check that the head is within 0.3mm of your object.
  • Adjust the height of the Z axis endstop, and repeat until your height is set.

Step 4: Heaters

Tick the monitor check box to report the temperatures of your heatbed and nozzle. Ensure that the readings are similar to the ambient temperature of the room.

Heatbed

Command the heatbed to 45C (warm), tick the monitor checkbox and verify that the heatbed temperature reading rises and stabilises around 45C, and that the heatbed is actually warm.

Hot end

Command the nozzle to 100C and watch the temperature rise, overshoot and eventually settle around 100C. Keep an eye on the nozzle during this test. If you see lots of smoke come out of the hot end, turn off the heater. Repeat the test with a target temperature of 200C. The nozzle should reach the target temperature in about 1 minute or less and settle within a couple of degrees of 200C.

The nozzle heater resistor has a lot more power than is necessary, so the the control parameters are set to limit the available power. For the nozzle to reach a target temperature quickly, with minimal overshoot and fast settling time, the integral windup must be tuned for the target temperature. By default, this is set to 80 by the firmware, but the start_PLA.gcode and start_ABS.gcode files should set the appropriate value for that material. This is achieved by the following line:

M301 Ww, where w = 0-255. A higher value means more power available to the nozzle heater.

So, if your nozzle does not reach the target temperature, gradually increase W until the desired performance is reached. W=120 is not uncommon for PLA, and W=180 for ABS.

Once you have tuned this value to your print material, enter it into the relevant start.gcode file

Step 5: Extruder

Once you have verified the nozzle behaves as expected, you can carry out a test extrusion by hand. Remove the brass bowden start piece from the extruder block and feed some PLA into the tube until it reaches the nozzle (beware of the filament snagging on the short piece of PTFE tube inside the barrel). Command the nozzle to 205C, and once it has reached and settled there, push the filament through and watch it extrude. The extrusion should be maintained with a steady but not excessive force.

Pull out the filament and reassemble the bowden tube for a test of the extruder drive mechanism. This time, click on IDLE or send an M84 command, and rotate the gears whilst feeding some PLA filament in through the extruder drive mechanism. Repeat the extrusion test, this time by manually rotating the large gear.

Finally, try extruding material by commanding the E axis. 200mm/min is a good speed.

Next step

PRINT!