Sunday, February 23, 2014

Calibration

Calibration

Here comes the fun part…. not. This is normally the part where most of your time is spent and frustration is build up. On my original Rostock it took me numerous evenings (and parts of the night) to get decent results. The Kossel took me about an hour or so and gave way better results. Here goes…

Open Pronterface and connect to the printer.

First home the printer using the G28 command. Now make it go down by giving the G1 X0 Y0 Z10 command. This should position the tip of the hotend about 1cm from the bed. Gently move the head further down by decreasing the Z value. So give go to Z5 (5mm from bed) to Z1 (1mm). Now be careful. Your hanging very close to the bed. Put a piece of normal paper under the tip of the hotend. Gently bring it down until in just touches the paper. You should be able to still move the paper and lightly feel some resistance from the hotend. If you can’t move the paper you’ve gone to far. Increase the number and try again.

If you’ve gone to Z0 and the tip is still to far from the paper then you need to increase the #define MANUAL_Z_HOME_POS value in configuration.h, re-upload the firmware and try again.
You can not use Pronterface and the Arduino program at the same time. So if your connected to your printer with Printerface and want to make an adjustment then first disconnect before you start an upload. After the upload is done, reconnect in Pronterface.
So now you’re barely above the surface at Z0 in the center. Great! But when you would go to another location you wil probably float way above the surface or try to bury through it. Here’s where the auto-level comes in.

First give the G28 command to home the printer. The command to do an auto-level is G29. There is one initial catch. When you issue a G29, it will first go to a position near the back leg and then moves sideways. This action is to deploy the probe (the Allen key on the platform) by gently pushing the angled part of the Allen key against the belt until it clicks into place.

You’re Allen key is probably to short to reach that so you need to lengthen it. I used a piece of heatshrink to make it longer. If you do a G29 and your probe is not correctly deployed it will keep going down and slam into the bed. So if it doesn’t click into the position and the head starts to go down, cut the power immediately. Make it so that it will click into position every time you run it.

If this process is going well then let it go down and probe the surface. It will go to various positions and each time lower the tip until it touches the surface and triggers the switch. At the end of that it will move up and go to a position in the far left corner and lower itself again. This is the point where it tries to retract the tip again. You will want to place a screw there or print something like this to make it retract automatically.

If for some reason this position is not OK for you then you can change it in the marlin_main.cpp file. Find void retract_z_probe() and just below that line there are these lines:

destination[X_AXIS] = -55;
destination[Y_AXIS] = 63;
destination[Z_AXIS] = 30;

These are the coordinates where it should go to for retracting the probe. If you need it to go lower or higher than change destination[Z_AXIS] = current_position[Z_AXIS] - 20 to a higher or lower number. After your done, re-upload the firmware and test it until you’re happy.

Now the last part. As you can see, there is a distance between the tip of the hotend and the tip of the deployed probe. This distance should be as accurate as possible.

A simple way to determine it is doing the following. First start with an actual measurement. Open Configuration.h in the Arduino program and locate the line:
#define Z_PROBE_OFFSET {0, 16, -2.45, 0}

There are 4 sets of numers in there. The first (0 in the example) is the X offset, the second is the Y offset, the third is the Z offset and the last is for the extruder and should always be 0. What does this mean. You need to tell the firmware how far the tip of the deployed probe is removed from the tip of the hotend. In most cases the X offset will be 0 meaning that the probe is directly behind the hotend.

The Y value will probably be OK but check it anyway. This should be how far behind the tip is from the hotend center. Off course it’s important but not crucial to know this to 1/10th of a mm. The third however is very important. This is the height difference (Z offset) between the probe and the hotend.

The easiest way to get this accurate is to do the following procedure:
  • G28 to home the printer
  • G29 to auto-level
  • G1 X0 Y0 Z5 to go to center and 5mm above the bed
  • Place a piece of paper under the hotend
  • Gently lower the hotend by decreasing the Z value in steps to 0 (G1 X0 Y0 Z0)
If the hotend hits the bed before it reaches 0 then increase the value in the firmware by the height you have left and try again.

If the hotend isn’t low enough at Z0 then decrease the number. Repeat this until you can just move the paper and feel a slight drag from the hotend.

When you’re done with this than the hard part is over! This may sound like a lot of work but it’s really quite easy and way less then traditional calibrating.

Now your ready to actually print something!