Printrbot X Y Z axis and extruder calibration

Problems with your print or projects? talk here

Printrbot X Y Z axis and extruder calibration

Postby plexus » 2013-Jan-Tue-23-Jan

I posted this elsewhere but thought it might be useful here...

The way you calibrate extrusion, is to put a mark on the filament about 10cm up from some reference point. i use the top of the idle arm clasp. then i tell the printer to extrude 10cm and see where the mark ends up. you want it to end up at your reference point. if not you measure how far out it is. hopefully its not too far out but if its too far to measure (say down into the extruder) then estimate. you use the magic forumula:

Code: Select all
( Current calibration factor * Expected value ) / Measured value = New calibration factor


so if you wanted 10cm square but it pulled in 11.2cm in the X axis (after the part cools) and your current X calibration factor is 44.3345 then you do:

Code: Select all
44.3345 * 10 / 11.2 = 39.5844


you use an M92 command. here are my calibration settings in my gcode header:

Code: Select all
M92 X44.3118; calibrate X
M92 Y43.8036; calibrate Y
M92 Z2028.95 ; calibrate Z
M92 E502; calibrate E

this must always be in the header. if not it will use whatever is stored in EEPROM. you can tell it to write the current settings into EEPROM. so once you get a new set of M92 calibrations in there. These commands control the EEPROM on the Printrboard:

Code: Select all
M500: stores parameters in EEPROM
M501: read parameters from EEPROM, this will output them to your host terminal (if you have one)
M502: revert to defaults

so if you had to recalculate your calibration factor for any axis, you have to do a M92 command to write the new factor into memory. but its only in memory until you power cycle. you can write it into memory with an M500 command and then M501 to verify it got written. but either way you also should have a set of X,Y,Z and E M92 commands in the header of your gcode - that will be what is used for the print.

Once you do your first round of calibration, using calipers ideally, you will then want to do it again, and again. i find at least 3 passes are required to narrow down on the right values. also make sure your part cools down to room temperature before you measure it as plastics contract when cooling. its a good idea to print a test piece that has an outside measurement and an inside measurement (such as a cylinder). you will find that the outside might be closer than the inside in which case you have to kind of average them. do a cylinder as well as a linear test part as well.
  • 5

User avatar
plexus
Site Admin
 
Posts: 2116
Joined: 2011-Dec-Mon-16-Dec
Location: Toronto, Canada
Reputation: 95

Printrbot X Y Z axis and extruder calibration

Sponsor

Sponsor
 

Re: Printrbot X Y Z axis and extruder calibration

Postby holmes4 » 2013-Jan-Wed-07-Jan

M502? won't that undo all your changes and go back to what was compiled in?
  • 0

Steve
PB+ Backer 1402
User avatar
holmes4
Bowden extruder
 
Posts: 871
Joined: 2011-Dec-Sun-12-Dec
Location: New Hampshire, USA
Reputation: 14

Re: Printrbot X Y Z axis and extruder calibration

Postby wd5gnr » 2013-Jan-Wed-11-Jan

My calibration spreadsheet (does the math you mention) is linked in this post: viewtopic.php?f=20&t=2011

I really need to spruce it up so it does E and has some button that copies the new cal values to the current cal values automatically ;-)
  • 0

Al Williams
Twitter: @awce_com
FB: http://www.facebook.com/Understanding3dPrinting
User avatar
wd5gnr
Support material...
 
Posts: 491
Joined: 2012-Nov-Thu-10-Nov
Reputation: 22

Re: Printrbot X Y Z axis and extruder calibration

Postby holmes4 » 2013-Jan-Wed-11-Jan

I like the spreadsheet, but I found that if you enter the values exactly as displayed, the Printrboard gets confused as it has a limit on the number of digits it accepts. It seems to end up using the LAST n digits! I would keep it to six significant digits.
  • 0

Steve
PB+ Backer 1402
User avatar
holmes4
Bowden extruder
 
Posts: 871
Joined: 2011-Dec-Sun-12-Dec
Location: New Hampshire, USA
Reputation: 14

Re: Printrbot X Y Z axis and extruder calibration

Postby wd5gnr » 2013-Jan-Wed-12-Jan

Interesting. I haven't noticed that, but will put a note in there and change the format.
  • 0

Al Williams
Twitter: @awce_com
FB: http://www.facebook.com/Understanding3dPrinting
User avatar
wd5gnr
Support material...
 
Posts: 491
Joined: 2012-Nov-Thu-10-Nov
Reputation: 22

Re: Printrbot X Y Z axis and extruder calibration

Postby plexus » 2013-Jan-Wed-12-Jan

Most people will use 4 decimal digits.
  • 0

User avatar
plexus
Site Admin
 
Posts: 2116
Joined: 2011-Dec-Mon-16-Dec
Location: Toronto, Canada
Reputation: 95

Re: Printrbot X Y Z axis and extruder calibration

Postby plexus » 2013-Jan-Wed-12-Jan

holmes4 wrote:M502? won't that undo all your changes and go back to what was compiled in?


yes. i will clarify the instructions. those are a list of eeprom commands. i didnt mean do all those commands in the sequence shown.
  • 0

User avatar
plexus
Site Admin
 
Posts: 2116
Joined: 2011-Dec-Mon-16-Dec
Location: Toronto, Canada
Reputation: 95

Re: Printrbot X Y Z axis and extruder calibration

Postby wd5gnr » 2013-Jan-Thu-01-Jan

Updated the spreadsheet... 4 decimal places and a menu item to copy the new cal to the old cals.

https://docs.google.com/spreadsheet/ccc ... W5vLVJYZmc
  • 0

Al Williams
Twitter: @awce_com
FB: http://www.facebook.com/Understanding3dPrinting
User avatar
wd5gnr
Support material...
 
Posts: 491
Joined: 2012-Nov-Thu-10-Nov
Reputation: 22

Re: Printrbot X Y Z axis and extruder calibration

Postby chad » 2013-Feb-Sat-20-Feb

I am running a printrbot+ and I have been trying to update my extruder calibration for some time. I have been unable to get good prints and I believe this may be the first of many settings that need work. I complete the extrusion test, calculate the new setting and have put the adjusted M92 EXXX setting in the slic3r Start/End GCode but it makes no change to the extrusion amount. I then came across this thread and entered the M92 E5XXX command in the pronterface command line and sent it. I then sent an M501 command to check the setting and it has not changed. If anyone can clue me in to what I am doing wrong it would be greatly appreciated. It seems no matter what I do the calibration settings will not change.
  • 0

chad
Waiting to connect to printer...
 
Posts: 4
Joined: 2013-Jan-Sun-16-Jan
Reputation: 0

Re: Printrbot X Y Z axis and extruder calibration

Postby holmes4 » 2013-Feb-Sat-21-Feb

You don't want to use M501 - it overwrites any changes you made with what is stored in the non-volatile RAM.

The sequence to use is:

M503 - displays current values
M92 (whatever you want)
M500 - stores values in EEPROM
M503 - displays new values

If you use M500, you don't have to put the values in the Slic3r configuration. Otherwise don't use any of the M50x commands and just put the M92 commands in Slic3r.
  • 1

Steve
PB+ Backer 1402
User avatar
holmes4
Bowden extruder
 
Posts: 871
Joined: 2011-Dec-Sun-12-Dec
Location: New Hampshire, USA
Reputation: 14

Re: Printrbot X Y Z axis and extruder calibration

Postby chad » 2013-Feb-Sun-14-Feb

Excellent. Thanks for the help. I was able to get it calibrated properly for the first time. Now on to the rest of the issues...
  • 0

chad
Waiting to connect to printer...
 
Posts: 4
Joined: 2013-Jan-Sun-16-Jan
Reputation: 0

Re: Printrbot X Y Z axis and extruder calibration

Postby JonS » 2013-Jun-Wed-02-Jun

Basic question: how do I get the printer to extrude 10cm (or any other specified length)? I've tried to search for this, but I can't find an answer.

EDIT: Further search results suggest that I need to use Pronterface instead of Repetier for this. Is that correct?
  • 0

Printrbot Metal Plus with:

- Dual Ubis 13S metal hot ends (swapped for original Ubis metals)
- Dual Gear Head extruders
- Heated bed
- PEI print bed film

Printrbot Jr (put out to pasture).
User avatar
JonS
ACME leadscrew
 
Posts: 389
Joined: 2013-May-Fri-22-May
Reputation: 20

Re: Printrbot X Y Z axis and extruder calibration

Postby Mooselake » 2013-Jun-Wed-18-Jun

No, you don't have to switch from Pronterface to Repetier-Host. That's a religious argument, they both do basically the same things differing in a few bells and whistles, and some people have formed strong opinions about which is best. For now, learn how to make the printer work correctly, then experiment with both and see what's most to your liking. I use both.

The extrude buttons in Pronterface are in the lower left corner, below the heater (extruder) and bed temperatures. If you don't see them make sure you're in full (and not mini) mode, and drag the bottom of the window to make it taller. There's a picture of the screen here.

Kirk
  • 0

Modified KickStarter Classic Plus 7/2012
KS Thingybot Delta Pro 10/31/16
User avatar
Mooselake
My next printer is...
 
Posts: 3591
Joined: 2011-Dec-Tue-23-Dec
Location: Moose Swamp, Upper Michigan, USA
Reputation: 172

Re: Printrbot X Y Z axis and extruder calibration

Postby JonS » 2013-Jun-Wed-18-Jun

Mooselake wrote:The extrude buttons in Pronterface are in the lower left corner, below the heater (extruder) and bed temperatures.


Kirk,

It's the other way around. I'm using Repetier, not Pronterface. I've not managed to find any manual extrude controls. Any ideas?

EDIT: Oh, I think it's there under the "Heat Extrude" button in the manual controls. Now that I had the right search turn for Google, I see it. I'll try it once I get home tonight.
  • 0

Printrbot Metal Plus with:

- Dual Ubis 13S metal hot ends (swapped for original Ubis metals)
- Dual Gear Head extruders
- Heated bed
- PEI print bed film

Printrbot Jr (put out to pasture).
User avatar
JonS
ACME leadscrew
 
Posts: 389
Joined: 2013-May-Fri-22-May
Reputation: 20

Re: Printrbot X Y Z axis and extruder calibration

Postby UndCon » 2013-Jun-Sun-14-Jun

I also found out that you need .(dot) not ,(comma) in the numbers...regional settings alert!


Now my printer came out with a cube X 20.0mm - Y 20.5mm and Z 5.7mm so some calibration still needed as the cube is supposed to be 20mm by 20mm and 5 mm high

//UndCon
  • 0

Google + 107184389782024957964
UndCon
Waiting for extruder temp...
 
Posts: 75
Joined: 2013-May-Sat-18-May
Reputation: 1

Re: Printrbot X Y Z axis and extruder calibration

Postby esn » 2013-Aug-Mon-15-Aug

Is it unfair to use eprom calibration function in settings tab in repetier host?

There you just set number of steps /mm. I kind'a like it
  • 1

Bengt Erik Eriksson
Printrbot single v2 owner since july213.

repstrap in make since 2011 that now start moving. sanguinloloiu 1.3a and nema 17 in that one...the ftdichip soldering is my hedache !
esn
I'm an end stop.
 
Posts: 66
Joined: 2013-Jul-Sun-01-Jul
Reputation: 3

Re: Printrbot X Y Z axis and extruder calibration

Postby Cyberchipz » 2015-Jul-Thu-12-Jul

holmes4 wrote:I like the spreadsheet, but I found that if you enter the values exactly as displayed, the Printrboard gets confused as it has a limit on the number of digits it accepts. It seems to end up using the LAST n digits! I would keep it to six significant digits.

As a metrologist, I doubt anyone who is not a professional Metrologist with access to a laboratory can do six significant digits, as only the last digits are considered significant as far as error is concerned, and even that is limited to certain things like gauge block. However, it is also limited by the step size of the motor turning the screw or belt. If by six significant digits, you also refer to the digits to the left of the decimal, I do not consider these with respect to the errors of the system. Of course, they are significant.

So, this my be a bit off topic; if so, just ignore it; but, I'll present some sound measurement information for ensuring that the process is understood.

Personally I wouldn't fret with precision or accuracy smaller than +/-0.001mm or the step size in the X & Y axes. Once one gets to 0.0001mm, just holding the calipers in your hand, ambient and transfer temperatures will have more of an effect on error if one even has a caliper that has that degree of accuracy. The digital calipers also have steps that limit the accuracy.

Repeatedly measuring a part over and over, at least 6 times to find your precision using the FRRF (Forward Reverse Revers Forward) method I explain below and taking the mean and standard deviation as an indication of precision. If one is going to be truthful, this error will get added to the manufacturer's stated error of the instrument being used to take the measurement. Unofficially, the error of the instrument without a statement from the manufacturer is 1/2 the smallest division. In the case of the digital caliper, showing 0.001mm accuracy, this would be +/-0.0005, however other mitigating factors will make the instrument better at measuring than the technique; problems with parallax and such both in the placement of the calipers and reading the vernier marks.

For best results, use a working standard gauge block that has been calibrated, this can be used to confirm the accuracy and precision of the calipers, though it's doubtful you'll get much better than +/- 0.0005mm with the best of techniques, which could be interpreted as +/- 0.001mm, plus precision errors. Still, a nice vernier caliper is the best choice; other manufactured and machined parts could be used as working standard for reference having a very high degree of reliability and national standard requirements for accuracy and precision, for those not wanting to invest in a gauge block, let alone pay for its calibration.

Because of the belt material, and the step size, these two parameters are the worst enemies of precision and accuracy.

Taking into account the thermal expansion of the material that makes up the caliper, probably aluminum, would also be a consideration. However, one method of making measurements in the standards industry is the FRRF method, which can help eliminate ambient and transferred thermal problems due to thermal expansion. Objects being handled are at an ambient temperature, and also absorbing heat and expanding from contacts. By taking measurements in the following fashion we can reduce these thermal errors; and by using a standard, we can improve on accuracy.

First, taking four measurements one after the other, with a time interval that is close to the same we take our first reading of a working standard (gauge block or other similarly known object); then the working piece (item made on the printer), then working standard, then last the standard once again. So, we write these measurements as S1, M1, M2, S2. By averaging S1 & S2 we get the size of the Standard measured, and the same with M1 & M2's average. Most measurement machines have a linear precision which is better then the stated accuracy. By referencing a standard at a known value, close to the value of the item being measured, we ensure the error is a linear precision error, and not one of accuracy related to the instrument. We find the difference of the two means, (S1+S2)/2-(M1+M2)/2 gives one the actual difference between the standard and the piece being measured and accounts for linear thermal expansion. So, to get the actual value of the measured piece it is "the actual value of your standard" minus the difference in the FRRF measurement, producing a very high degree of accuracy and precision within the limits of skill and the measuring device's linear precision, not related to its accuracy. The Z probe is the best instrument for this at small distances, and is considered to have infinitesimal linearity errors only related to the accuracy of the voltage and its measurement. Therefore, the accuracy of this probe for measure zero is extremely accurate and precise within the stability of the power supply, and the voltage or current being measured. The X & Y axes are not nearly so good.

Though truth be told, we should be happy to take that last digit on most digital or vernier calipers +/-0.001mm and use that without any other need to go for greater accuracy or precision. Manufacturing processes being what they are today, the caliper is probably as accurate as a working standard needed, and any errors appearing due to technique. That, and using hex bolt head specifications are probably one of the best working standards very little money can buy and come in the lengths needed.

One of the primary needs in a print is that the hole made needs to be the size needed for the bolt or screw to work, all other parameters being arbitrary (as long as they're the same) depend upon form and function of the pieces made. Like in a table leg, being off a half inch is not a problem, as long as they're all the same. For a hole though, a half inch is intolerable.

This being said, probably one of the most important features of a 3D printer is it's ability to be very precise within short distances (linear), and fairly accurate over longer distances. Understanding how to make accurate and precise measurements can help ensure you get the best quality possible within the limitations of the printer, circuit and software.

Any questions, I'll be glad to help. Regarding my background, I've worked for DOD, NIST and NASA in the capacity as a Metrologist, and I've been working with digital electronics and as a programmer and developer since 1969. Cheers! I hope this helps.
  • 2

Cyberchipz
Waiting to connect to printer...
 
Posts: 5
Joined: 2015-Jun-Thu-23-Jun
Reputation: 2

Re: Printrbot X Y Z axis and extruder calibration

Postby Mooselake » 2015-Jul-Thu-13-Jul

3D printer hole sizes are affected by other factors than accurate step sizes. Circles are approximated with multiple segments (just how many depends on the software used to design the object). Slicers don't quite get the geometry of the extruded plastic correct (square edges instead of rounded and the effect of adjacent lines, for example). Filament diameter varies, with an accuracy of a whole lot less than 6 decimal places. There's been a number of discussions of hole size accuracy in a number of 3D printer blogs and forums (Google, BadaBing, etc.), and with your background you might find them interesting. I just keep a set of drill bits and variable reamers and follow the old aircraft mechanic approach - hammer to fit, paint to match.

Back in the old days (that would be a year or two ago), when 3D printers were built from mostly 3D printed parts, calibration was mostly a print/measure/recalibrate/print/measure/recalibrate rinse/repeat process that was rarely close to accurate due to the improper understanding of the multiple factors involved. Today, rather than printed belt sprockets we use commercially produced metal ones, and the calculated values are much more accurate than most of us could measure. Extruder calibration is about the only exception since you're also dealing with how far the drive mechanism digs into the filament as it extrudes, along with the variable nature of our hobby filament, so the extrude and measure approach is about the best we've got It's still followed by tweaking the filament diameter (or extrusion factor, depending on the slicer) so it'll work. Hence the drill bit set.

Sounds like we both started our careers at the same time and worked at (in my case for contractors) some of the same organizations; I got my first programmer paycheck in late 1969, and my first full time job was as a mainframe systems programmer at the MSC just before it became the JSC. Back then mass storage was serious stuff; Univac Fastrands were rumored to require careful placement to avoid interfering with the Earth's spin.

Kirk
  • 0

Modified KickStarter Classic Plus 7/2012
KS Thingybot Delta Pro 10/31/16
User avatar
Mooselake
My next printer is...
 
Posts: 3591
Joined: 2011-Dec-Tue-23-Dec
Location: Moose Swamp, Upper Michigan, USA
Reputation: 172

Re: Printrbot X Y Z axis and extruder calibration

Postby RetireeJay » 2015-Jul-Thu-15-Jul

Hole size is strongly affected by the tendency of cooling plastic to shrink (two factors, actually: thermal shrinkage and "die swell"). So even with a PERFECTLY calibrated motion in X and Y, with an INFINITE number of steps around the hole, and a PERFECTLY calibrated extruder delivering exactly the demanded amount of plastic (and assuming, of course PERFECT software in the slicer, except that it ignores thermal shrinkage and die swell) - you STILL will get holes smaller than specified.

I attended an on-line seminar presented by the Big Guys (Stratasys) who sell commercial machines in the $100K Plus department the size of big refrigerators. They have their materials and geometries all so perfectly well worked out that they "never" have problems with bed adhesion, warping, etc. and they can even more-or-less guarantee the mechanical integrity of their parts. But even these guys build their holes undersize and drill them out if the holes need to be really precise.

I posted about this here.viewtopic.php?f=26&t=4270
  • 0

Printrbot Plus operational January 2013
Brass threaded rods (5/16" X 18) & nuts for Z axis
GT2 belts & pulleys
Cable chain to reduce probability of fatigue failure in wires
E3D V5 Hot End, 0.4mm nozzle, also 0.8 and 0.25 in use occasionally
PB fan mount + 40mm fan -- using printed mount adapter, not the E3D supplied fan
Injection molded extruder gears
Optical Z "endstop" (custom designed and built)
Have used many pounds of T-Glase filament. Now also doing some work with Ninjaflex SemiFlex
Print on glass with Scotch Craft Stick or other glue stick
"My next printer is..." Prusa i3 MK3
User avatar
RetireeJay
My next printer is...
 
Posts: 4941
Joined: 2013-Jan-Wed-13-Jan
Location: Greenville, SC
Reputation: 496

Re: Printrbot X Y Z axis and extruder calibration

Postby Mooselake » 2015-Jul-Fri-09-Jul

Cyberchipz got me thinking about calibration (never a good thing...) and question in another topic prompted another rant from the land of the eternal moose (some might add manure pile to that...).

While steppers will have exactly 200 steps per mm, the step size can vary (+/- 5% iirc, but it's usually in the specific motor's datasheet). Some of those 200 steps will be bigger, and some smaller, then the average. In addition microstepping (which is an analog, not digital process) isn't particularly accurate and also has a tolerance that's probably bigger than you think. Each real step will occur in the motor's physical (again, +/- 5% or so) step size, but those 16 (or whatever) microsteps will be all over the place.

In real life, unless you're still using 3D printed belt pulleys or the string drive (and if you are it's way past time to do the GT2 upgrade), calculate the step size from the pulley tooth count and microstep ratio (16:1 is the default). For the extruder you'll be lucky to get two significant places - if you're obsessive make sure the distances extruded and measured are multiples of exactly 200 steps if you want to try for a few more. Of course, your filament's diameter tolerance will make that futile anyway.

If you're using GT2 belts and pulleys with 80 steps per mm then just use the 80; most of us can't measure more accurately than the manufacturer's tolerances (or have a digital caliper that's as accurate as Cyberchipz, read your spec sheet. Does it say 0.001mm +/- 2% and 3 counts?). Plus if your prints are off at 80 steps/mm it's very likely it's not the stepper motor step size that's the cause. Did you calibrate your extrusion width (not the same as calibrating the filament into the extruder, there's directions in the slic3r manual that will apply to any slicer - it's not responding right now or I'd link to it, but search this forum as I've linked to it before), for example. What about the backlash in your mechanics?

Chasing the mythical extreme 3D printer calibration is a chimera. Every mechanical device (or electrical for that matter) has a tolerance, it's departure from perfect values. Besides step sizes your pulley's aren't perfectly round, your belt teeth aren't perfectly formed, belts stretch and bounce back, plywood and metal flex plus expand and contract, and even lunar gravity will interfere. Just because your calculator will figure things out to a couple hundred decimal places more than 2 significant digits are likely smoke.

Kirk
  • 1

Modified KickStarter Classic Plus 7/2012
KS Thingybot Delta Pro 10/31/16
User avatar
Mooselake
My next printer is...
 
Posts: 3591
Joined: 2011-Dec-Tue-23-Dec
Location: Moose Swamp, Upper Michigan, USA
Reputation: 172

Re: Printrbot X Y Z axis and extruder calibration

Postby Jamie_K » 2015-Jul-Sun-12-Jul

I agree completely with the comments on difficulties of getting precision because there are so many factors and all the imprecise components stack up into a big mess to a point where where it's remarkable that these things are as accurate as they are.

I have sometimes wondered if some of these problems could be overcome using a 'servo' style approach. This is in contrast to what I think of as a 'machine shop' style approach where everything is as stiff as possible (which is at odds with size and cost) and it runs open loop. If each axis had a dial indicator, and the extruder had a follower with an optical encoder, then those could be used as feedback into a servo system for precise positioning even with a not-so-stiff mechanical setup.

For a machine shop you need stiffness no matter what because the loads generated by the cutter are large and change suddenly, so a servo can't work. What's worse, poor stiffness can introduce bad dynamic behavior. But for a FDM printer, loads from extrusion should be low, so I see no fundamental reason why a servo drive wouldn't be able to get x/y/z position accuracy to be as high as, say, 0.05mm over moderate distances. I don't have a good intuition at small scales so I don't know how far it would take you.

This wouldn't fix filament diameter, thermal expansion, circles-as-polygons, or naive slicers, so it may not have much effect in the end, but if the problem is that the components are not infinitely stiff or infinitely accurate, it may be a way around the problem without spending infinite money.
  • 0

Jamie_K
I'm an end stop.
 
Posts: 52
Joined: 2014-Nov-Wed-19-Nov
Reputation: 3

Re: Printrbot X Y Z axis and extruder calibration

Postby getSurreal » 2015-Dec-Mon-14-Dec

On my printrbot metal plus the default for the extruder is M92 E96. When trying to print a solid cube there is too much material with each additional layer, but the 10cm calibration test gives me even higher values. I've had to lower it to M92 E94 to get a good solid cube. The layer heights come out good. I'm using kisslicer and the flow is 1.0.

Any suggestions why the 10cm calibration isn't working for me?
  • 0

getSurreal
Waiting to connect to printer...
 
Posts: 6
Joined: 2013-Jun-Tue-10-Jun
Reputation: 0


Return to Project troubleshooting

Who is online

Users browsing this forum: No registered users and 1 guest