Welcome! Log In Create A New Profile

Advanced

Inconsistant Calibration

Posted by jaeg 
Inconsistant Calibration
January 03, 2014 12:28AM
Hi, I've been spending the last couple of days trying to calibrate my Prusa Mendel i2. However the numbers I end up with after calibration seem weird. I'll be adjusting the numbers to make each unit larger however when I go to measure the X-axis movement it'll have gotten smaller or too large. It's never the same which way it'll go and I'm starting to wonder if it's a mechanical issue.

I've been using the formula: (Expected/Actual) * current_steps

My configuration:
//// MOVEMENT SETTINGS
#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E
#define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0} // set the homing speeds (mm/min)

// default settings

#define DEFAULT_AXIS_STEPS_PER_UNIT {80.2970159,80.104047,2303.9929,760} // default steps per unit for Ultimaker {78.7402,78.7402,2560,760*1.1} , {82.67721,80.7087,2304,760*1.1}, {78.5433,76.6732,2188.8,760*1.1}
#define DEFAULT_MAX_FEEDRATE {500, 500, 5, 25} // (mm/sec)
#define DEFAULT_MAX_ACCELERATION {500,500,100,10000} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.

#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E max acceleration in mm/s^2 for printing moves
#define DEFAULT_RETRACT_ACCELERATION 3000 // X, Y, Z and E max acceleration in mm/s^2 for retracts

// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
// For the other hotends it is their distance from the extruder 0 hotend.
// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
// #define EXTRUDER_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis

// The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
#define DEFAULT_XYJERK 20.0 // (mm/sec)
#define DEFAULT_ZJERK 0.4 // (mm/sec)
#define DEFAULT_EJERK 5.0 // (mm/sec)
Re: Inconsistant Calibration
January 03, 2014 05:57AM
configuring X Y and Z on a Prusa i2 is not usually done by measurement - it is done mathematically. E has to measured though

See here..

[reprap.org]


_______________________________________
Waitaki 3D Printer
Re: Inconsistant Calibration
January 03, 2014 06:55AM
Josef Pursa has a good calculator that will get you close. [calculator.josefprusa.cz] There will always be a need to measure and tweek a bit though.

For me, in theory my x and y should be 80 steps per mm but i need 79.9 to get perfect measurements
Re: Inconsistant Calibration
January 03, 2014 08:03AM
You can certainly calibrate any axis through measurement. Actually, it is the most acurate method. I was having a similiar issue until I realized I was not updating my actual steps after each change. I would calculate the necessary steps, make the change, and remeasure results. In the calculation, I would use the original steps not the ones I had just changed in the firmware.
Re: Inconsistant Calibration
January 03, 2014 08:59AM
All of the math in the firmware is ultimately integer math. Unless you calibrate over large distances, this will drive you a bit crazy.
Re: Inconsistant Calibration
January 03, 2014 11:12AM
I initially used the calculator to get 80 as well. Then afterwards measured the movement to get here. With the current settings I posted I stepped the X axis 70mm to get 69.49mm of actual movement. My Y axis was moved 100mm and gave me 99.89 which I'm happy enough with. I used the same procedure for both the X and Y and don't understand why the X is still so off.
Re: Inconsistant Calibration
January 06, 2014 12:49PM
Belts and gears are not perfect. Even if they are perfect, they don't match each other perfectly. Next you have backlash and after that stretch. Somewhere down the list you have bed level and issues with each axis being at 90 degrees to the others. Blink a few times / change the room temperature / bump the printer and things will change.
Re: Inconsistant Calibration
January 06, 2014 08:47PM
I must be bumping it a lot in between tests during my calibration process when changes that are meant to make it move a little more are causing it to move less. lol


I'm not sure if I'm doing something wrong or if I've built my X-axis wrong causing it to be inconsistent between measurements. Given there is always the possibility that my calipers are wrong and negating my attempts.
Re: Inconsistant Calibration
January 06, 2014 09:25PM
Quote
uncle_bob
Belts and gears are not perfect. Even if they are perfect, they don't match each other perfectly. Next you have backlash and after that stretch. Somewhere down the list you have bed level and issues with each axis being at 90 degrees to the others. Blink a few times / change the room temperature / bump the printer and things will change.

If the belts and gears are mismatched, then the main result would be backlash as long as they still mesh with each other. The calibration of the axis can be calculated based on the belt pitch and the number of teeth in the gear. What throws it off is if the belt is at an angle relative to the direction of the axis which happen if the gear and the idler don't match properly.

If the measurement of the travel distance is inconsistent, then it might be that the measurement is in error, something is loose (gear, idler pulley, belt mount to bed), or the motor is skipping steps.
Re: Inconsistant Calibration
January 06, 2014 09:27PM
Quote
uncle_bob
All of the math in the firmware is ultimately integer math. Unless you calibrate over large distances, this will drive you a bit crazy.

I don't think you have to worry about the integer math in the most widely used firmwares. The programmers in the reprap community are competent enough to take care of precision with this respect.
Re: Inconsistant Calibration
January 15, 2014 11:58PM
This is a little insane. So now that I have everything up and running again I'm still having issues calibrating the machine. The issue only presents itself on the X axis.

Here is a run down of what happens:
I print a 20mm test cube. On the x-axis it'll be 20.49mm. So (20/20.49) * 80 = 78.0868716447.
I print another 20mm test cube. On the x-axis it'll be 19.44. (20/19.44) * 78.0868716447 = 80.3362877003

That's over the initial 80 I had before which was causing it to print something too large in the first place. It basically goes in a cycle like this. I should note that the sizes are similar when printed with a particular setting. The surfaces come out smooth with no apparent skipping. If I use calipers on the x-axis directly when the carriage moves to 0.0 after going to 60.0mm the calipers won't read 0mm.

Any ideas what is going on?
Re: Inconsistant Calibration
January 16, 2014 08:15AM
sound like the cube you are trying to print isnt slicing correctly. I find it more accurate the measure axis movement than printed object size. That way you are ruling out slicing problems, extrusion width and all sorts of other potential problems.
Re: Inconsistant Calibration
January 16, 2014 10:45AM
When measuring the movement directly it still has the same issue.

Also I'm not reslicing the cube after every firmware flash.


Edit: Is it possible that 20 is too high for my XY Jerk setting?

Edited 1 time(s). Last edit at 01/16/2014 01:38PM by jaeg.
Re: Inconsistant Calibration
January 17, 2014 12:12AM
A 20 mm cube is too small for calibrating your x, y and z axes. Do yourself a favor and just use the calculated values.
Re: Inconsistant Calibration
January 17, 2014 08:05AM
When I use the calculated values I can't reliably print out things like Raspberry Pi cases or RAMPS board holders. The pegs simply don't line up due to the scaling issues.
Re: Inconsistant Calibration
January 17, 2014 08:22AM
Try experimenting with different values. If you can get 20.49mm and 19.44mm consistently then work it out from there.

they are both about 0.5mm from what you want so work out the step difference between the two. Divide it by 2 and add it to the steps for 19.44mm

basically 79.04343582235

or even more likely to give good results, just use 79
Re: Inconsistant Calibration
January 18, 2014 09:51AM
I ended up recloning the Marlin from Github and reapplying my configuration settings (and lowered the jerk settings a little) and now my cube is only .01mm off in both directions. I'll accept that smiling smiley
Re: Inconsistant Calibration
February 03, 2014 08:48AM
The reason that you can't calibrate your axes accurately with a 20 mm cube is that the size is affected by other factors besides the movement of the axes. If the extruder steps per mm is too high, then your extruded width will be larger and this would increase the size. If too small, it would decrease the size. If the cube is near 100% infill, then a high e steps/mm would make the sides and top will bulge out from the inside and the error will be much larger than the error in extrusion width. Imperfections in the walls, top and bottom surface will change your measurements by a significant amount. z-wobble would also change the dimensions.

If you really want to calibrate the x, y and z by measurement, then you need to attach a caliper in some fashion and measure the displacement over a long distance. If you want to account for shrinkage, then print a larger part (100 mm or larger) after you've calibrated you e steps per mm.

If those cases are not matching the holes in the boards, then you can measure the actual printed part and then scale the STL file in slic3r to compensate for the error before slicing.

Edited 1 time(s). Last edit at 02/03/2014 08:50AM by brnrd.
Sorry, only registered users may post in this forum.

Click here to login