Page 2 of 33

Re: Delta Calibration Program for Very Accurate Bed Leveling

Posted: Mon Jul 20, 2015 6:42 pm
by Jrjones
RollieRowland wrote:Edit: Also, thank you for your gcode, I will test it when I get back in front of my printer!
Just make sure that you edit the Z heights if needed. I used a height of Z0 because I had my dial indicator mounted, but I noticed you used a height of Z2.
JFettig wrote:so I made an assumption but maybe I'm wrong - what is the "Delta Radius A", B and C?
Thats the Delta Radius A(0) etc in the EEPROM, or as shown here:
[img]http://www.repetier.com/firmware/v092/i ... names1.png[/img]

Re: Delta Calibration Program for Very Accurate Bed Leveling

Posted: Mon Jul 20, 2015 6:49 pm
by RollieRowland
JFettig wrote:so I made an assumption but maybe I'm wrong - what is the "Delta Radius A", B and C?
I will make a diagram in a bit, but the delta radius is essentially the horizontal distance between where the diagonal rod meets the effector and where the diagonal rod meets the carriage. So think of the diagonal rod as the hypotenuse of a triangle, the delta radius is essentially the bottom of the triangle.

Edit: Didn't see your post Jrjones

Re: Delta Calibration Program for Very Accurate Bed Leveling

Posted: Mon Jul 20, 2015 7:42 pm
by JFettig
So it is a horizontal radius adjustment as I suspected, independent to each axis rather than the system as a whole? It will definitely effect the parts dimensionally. End stops should always be calibrated first, ignore the value in the center of the bed, level the playing field at the corners then mess with the rest.

ETA- think about this - the greater your end stops are out of adjustment - the greater inaccuracy that you're inducing to correct for it not being flat by changing the radius error. It might create a flat printing plane for the bottom but it definitely won't be accurate in the x-y motions

Re: Delta Calibration Program for Very Accurate Bed Leveling

Posted: Mon Jul 20, 2015 8:12 pm
by Jrjones
JFettig wrote:So it is a horizontal radius adjustment as I suspected, independent to each axis rather than the system as a whole? It will definitely effect the parts dimensionally. End stops should always be calibrated first, ignore the value in the center of the bed, level the playing field at the corners then mess with the rest.

ETA- think about this - the greater your end stops are out of adjustment - the greater inaccuracy that you're inducing to correct for it not being flat by changing the radius error. It might create a flat printing plane for the bottom but it definitely won't be accurate in the x-y motions
What do you think it will do if the endstops are calibrated before running this program?
I had the four points (3 towers and center) at +/-0.01mm before using this. The problem I had (or still have if you think this will affect dimensional accuracy) is that opposite the towers I had the hot end higher than the build plate.

Re: Delta Calibration Program for Very Accurate Bed Leveling

Posted: Mon Jul 20, 2015 8:55 pm
by RollieRowland
JFettig wrote:So it is a horizontal radius adjustment as I suspected, independent to each axis rather than the system as a whole? It will definitely effect the parts dimensionally. End stops should always be calibrated first, ignore the value in the center of the bed, level the playing field at the corners then mess with the rest.

ETA- think about this - the greater your end stops are out of adjustment - the greater inaccuracy that you're inducing to correct for it not being flat by changing the radius error. It might create a flat printing plane for the bottom but it definitely won't be accurate in the x-y motions
What you are saying makes perfect sense, however, in my tests i have not seen an offset in print scaling in the XY plane. I am doing a test currently, a 1, 2, and 4 inch square. So far, the scaling is fractionally off. Since this is a possibility it may be best for a second party to check my results. That way if the calibration does offset scale, we will know that the endstops Do or Do Not need adjusted. Any takers?

Edit: The 4 inch square is finished, the size is 0.5 millimeters smaller than it should be, also the 2 inch square is 0.25 millimeters smaller. Both are corresponding scaling-wise. So since this Does affect the scaling in the XY plane, the XYZ offset will need to be fixed before this calibration is done. This is essentially the virtual endstops. When this is corrected the scaling issue should be corrected I presume.

Double Edit: I am currently fixing the XYZ offset in the program. Once this is done the scaling issue should go away.

Triple Edit: Essentially, I am now trying to bypass the Delta Radius calibration in its entirety. The calibration that is taking its place is the XYZ offset. The XYZ offset was cut previously due to an error in the code, however, I was ignorant in how this would affect the change in scaling in the XY dimension. But I will leave the Delta Radius calibration in the program, as it may be necessary if it is actually off.

Re: Delta Calibration Program for Very Accurate Bed Leveling

Posted: Mon Jul 20, 2015 8:57 pm
by RollieRowland
Also, Jrjones, if the endstops were previously calibrated the program should still work. Actually, it will work better since the XYZ offset/endstops need to be calibrated to fix the scaling issue.

Re: Delta Calibration Program for Very Accurate Bed Leveling

Posted: Mon Jul 20, 2015 10:58 pm
by RollieRowland
duvdev requested close-up pictures of my setup earlier. Definitely need to get a Z-probe.

On a second note, I am currently testing the new XYZ offset which will replace the Delta Radius "calibration". I am sure this is not the only mistake I have made, so if you notice one please let me know. Also, thank you JFettig! Please dig for more errors!

I do plan on actually calibrating the Delta Radius, I just have not figured out how to do it at the moment.

Re: Delta Calibration Program for Very Accurate Bed Leveling

Posted: Mon Jul 20, 2015 11:19 pm
by JFettig
Jrjones wrote:
JFettig wrote:So it is a horizontal radius adjustment as I suspected, independent to each axis rather than the system as a whole? It will definitely effect the parts dimensionally. End stops should always be calibrated first, ignore the value in the center of the bed, level the playing field at the corners then mess with the rest.

ETA- think about this - the greater your end stops are out of adjustment - the greater inaccuracy that you're inducing to correct for it not being flat by changing the radius error. It might create a flat printing plane for the bottom but it definitely won't be accurate in the x-y motions
What do you think it will do if the endstops are calibrated before running this program?
I had the four points (3 towers and center) at +/-0.01mm before using this. The problem I had (or still have if you think this will affect dimensional accuracy) is that opposite the towers I had the hot end higher than the build plate.
Properly calibrated with 4 point calibration, diagonal rod length(for x-y calibration), horizontal radius, and tower rotations you can get it dialed in perfectly. I do believe the delta a, b, c adjustment could further calibrate it but we don't have good enough tools to actually know that we're getting things dialed in better. With these my printer prints flat and to proper size.

I haven't touched your program, just the theory. While you can make it give you flat build plate, you need to do so without greatly effecting other factors.

Take your pick, anything is better than a zip tied rubber banded depth measuring caliper :P
http://www.amazon.com/TEKTON-7169-0-1-I ... +indicator
http://www.amazon.com/Vktech-Indicator- ... +indicator
http://www.harborfreight.com/1-inch-tra ... r-623.html

Re: Delta Calibration Program for Very Accurate Bed Leveling

Posted: Mon Jul 20, 2015 11:42 pm
by RollieRowland
JFettig wrote:
Jrjones wrote:
JFettig wrote:So it is a horizontal radius adjustment as I suspected, independent to each axis rather than the system as a whole? It will definitely effect the parts dimensionally. End stops should always be calibrated first, ignore the value in the center of the bed, level the playing field at the corners then mess with the rest.

ETA- think about this - the greater your end stops are out of adjustment - the greater inaccuracy that you're inducing to correct for it not being flat by changing the radius error. It might create a flat printing plane for the bottom but it definitely won't be accurate in the x-y motions
What do you think it will do if the endstops are calibrated before running this program?
I had the four points (3 towers and center) at +/-0.01mm before using this. The problem I had (or still have if you think this will affect dimensional accuracy) is that opposite the towers I had the hot end higher than the build plate.
Properly calibrated with 4 point calibration, diagonal rod length(for x-y calibration), horizontal radius, and tower rotations you can get it dialed in perfectly. I do believe the delta a, b, c adjustment could further calibrate it but we don't have good enough tools to actually know that we're getting things dialed in better. With these my printer prints flat and to proper size.

I haven't touched your program, just the theory. While you can make it give you flat build plate, you need to do so without greatly effecting other factors.

Take your pick, anything is better than a zip tied rubber banded depth measuring caliper :P
http://www.amazon.com/TEKTON-7169-0-1-I ... +indicator
http://www.amazon.com/Vktech-Indicator- ... +indicator
http://www.harborfreight.com/1-inch-tra ... r-623.html
Thank you for the links, I am going to order one tonight!

I just completely bypassed the Delta Radius, now that I know that it affects more! And not just theoretically, once I had corrected the XYZ offset, it worked flawlessly.
The actual XYZ offset when changed 80 steps
The actual XYZ offset when changed 80 steps
The values for the diagonal rod, horizontal radius, and tower rotation all changed in more believable ways, i.e. by lesser amounts.

After 4 iterations, with the 7 point calibration, the build plate was 0 all around. So this time, in theory, the XY dimensions should have correct values. Not only that, the calibration took a fraction of the time because I was able to skip the whole Delta Radius portion!

Thank you again by the way!

Re: Delta Calibration Program for Very Accurate Bed Leveling

Posted: Tue Jul 21, 2015 12:27 am
by DGBK
Would it be possible to run this program without a dial indicator? What I imagine is that we could still use a sheet of paper under the nozzle like the manual calls for, and then get our height offset using the manual z-height adjustment on the LCD at each of the 7 points.

Thanks for adding to the knowledge base on these forums.

Re: Delta Calibration Program for Very Accurate Bed Leveling

Posted: Tue Jul 21, 2015 12:34 am
by RollieRowland
DGBK wrote:Would it be possible to run this program without a dial indicator? What I imagine is that we could still use a sheet of paper under the nozzle like the manual calls for, and then get our height offset using the manual z-height adjustment on the LCD at each of the 7 points.

Thanks for adding to the knowledge base on these forums.
So you would set the center, then go to the six other points checking the grip on the paper and adjusting the z-height until it gripped the same amount and then record what the offset is? I suppose you could but that sounds tedious! Go for it, let me know how it turns out!

Re: Delta Calibration Program for Very Accurate Bed Leveling

Posted: Tue Jul 21, 2015 12:43 am
by DGBK
RollieRowland wrote:
DGBK wrote:Would it be possible to run this program without a dial indicator? What I imagine is that we could still use a sheet of paper under the nozzle like the manual calls for, and then get our height offset using the manual z-height adjustment on the LCD at each of the 7 points.

Thanks for adding to the knowledge base on these forums.
So you would set the center, then go to the six other points checking the grip on the paper and adjusting the z-height until it gripped the same amount and then record what the offset is? I suppose you could but that sounds tedious! Go for it, let me know how it turns out!
Yep. That is my plan. It does sound tedious, but both taking off the hot end to mount a dial indicator and rigging up a caliper sound even more tedious to me.

Re: Delta Calibration Program for Very Accurate Bed Leveling

Posted: Tue Jul 21, 2015 12:59 am
by RollieRowland
DGBK wrote:
RollieRowland wrote:
DGBK wrote:Would it be possible to run this program without a dial indicator? What I imagine is that we could still use a sheet of paper under the nozzle like the manual calls for, and then get our height offset using the manual z-height adjustment on the LCD at each of the 7 points.

Thanks for adding to the knowledge base on these forums.
So you would set the center, then go to the six other points checking the grip on the paper and adjusting the z-height until it gripped the same amount and then record what the offset is? I suppose you could but that sounds tedious! Go for it, let me know how it turns out!
Yep. That is my plan. It does sound tedious, but both taking off the hot end to mount a dial indicator and rigging up a caliper sound even more tedious to me.
Ok I can see why you want to do it then! Let me know if it works for you, I just uploaded a new version.

Re: Delta Calibration Program for Very Accurate Bed Leveling

Posted: Tue Jul 21, 2015 1:58 am
by DGBK
I tried the program during my lunch break, but I was getting errors from firefox on my mac. It seems to be working on my windows work computer using both firefox and chrome. I'll enter the new values when I get home this evening and let you know how it goes.

Re: Delta Calibration Program for Very Accurate Bed Leveling

Posted: Tue Jul 21, 2015 2:48 am
by RollieRowland
DGBK wrote:I tried the program during my lunch break, but I was getting errors from firefox on my mac. It seems to be working on my windows work computer using both firefox and chrome. I'll enter the new values when I get home this evening and let you know how it goes.
I am using Chrome to test the program, I will start to use Firefox as well, should minimize possible issues. I don't have a mac, although it shouldn't be very different. And ok.

Re: Delta Calibration Program for Very Accurate Bed Leveling

Posted: Tue Jul 21, 2015 7:23 am
by duvdev
if we use dial insted of the clipers we can only know the dots where the head it pressing too much.

what will happend if the head is too high? how can I tell how much?

Re: Delta Calibration Program for Very Accurate Bed Leveling

Posted: Tue Jul 21, 2015 7:57 am
by DGBK
Do you find that you need to adjust your z=0 with each pass?

Re: Delta Calibration Program for Very Accurate Bed Leveling

Posted: Tue Jul 21, 2015 9:04 am
by geneb
I'd use a thin feeler gauge instead of paper...

g.

Re: Delta Calibration Program for Very Accurate Bed Leveling

Posted: Tue Jul 21, 2015 10:11 am
by DGBK
I seemed to have gotten it calibrated within 0.01 all the way around, but my first attempt at a massive circle failed. I think that is more user error than your script. The paper method just seems to have too much inherent error. I don't know what a feeler gauge is, but I suppose I will look for one.

One note about the algorithm used to calibrate the end stop offset. It seems odd that it always adds to the offset and never subtracts. At some point I would have expected it to compensate in the other direction.

Re: Delta Calibration Program for Very Accurate Bed Leveling

Posted: Tue Jul 21, 2015 10:28 am
by KAS
Feeler gauges are thickness calibrated strips of metal used to measure and gap various objects.

http://www.autozone.com/clamps-and-meas ... /1927_0_0/

Re: Delta Calibration Program for Very Accurate Bed Leveling

Posted: Tue Jul 21, 2015 10:53 am
by DGBK
KAS wrote:Feeler gauges are thickness calibrated strips of metal used to measure and gap various objects.

http://www.autozone.com/clamps-and-meas ... /1927_0_0/
Thanks. I probably should have done that before I asked. Now my next question. What is the perfect distance off the glass plate for the nozzle? I assumed 0 was 0, and it would just lift up the .2mm (or whatever the layer thickness you have dialed in). This seems to be incorrect, as I'm getting 0 extrusion on my attempts at calibration circles.

Re: Delta Calibration Program for Very Accurate Bed Leveling

Posted: Tue Jul 21, 2015 11:07 am
by RollieRowland
DGBK wrote:One note about the algorithm used to calibrate the end stop offset. It seems odd that it always adds to the offset and never subtracts. At some point I would have expected it to compensate in the other direction.
Yes, this may seem as if it is an error, however, is not. If the height map values for the X, Y or Z towers are negative, the two opposite towers are changed as opposed to the tower that is off. This prevents the steps per millimeter from going to a negative value, which is an illegal value.

After looking back at my diagram, I do however see that the code can be corrected to have better accuracy. I am going to check if the value is greater than zero, and if it is then if the amount of change that the program wants to change by is less than the amount it is currently set to. then it can decrease the value. For instance, if the X is set to 400 steps, and it wants to decrease this amount by 200, then it can. As long as it does not go below zero.

The code works as is, although, this will be more efficient.


Also, DGBK, since I corrected the XYZ offset to calibrate bed height, the central Z-height WILL change through each iteration of the program. I forgot to mention that.

New post just came in when I clicked submit, when I calibrate the Z-height, I always use a folded over piece of paper and if you can feel it grip the paper but you can still move it easily, then you are fine. This does depend on the layer height that you print at, I always use low resolution - 0.3mm.

I am assuming, I don't know for sure, that the printer starts laying plastic AT zero. I haven't tested this, nor have I looked into it, so if this is wrong then someone correct me.

Re: Delta Calibration Program for Very Accurate Bed Leveling

Posted: Tue Jul 21, 2015 11:09 am
by KAS
I use a .06mm gauge and lower the nozzle till it can barely be felt when passing under the nozzle. That gives me a good base for the remaining .15mm layers of the print.

I'm sure everyone else has their preferences, it's sort of trial & error till you find something you like.

Re: Delta Calibration Program for Very Accurate Bed Leveling

Posted: Tue Jul 21, 2015 12:52 pm
by RollieRowland
Version 1.0.3 is now up on GitHub - https://github.com/RollieRowland/Delta- ... ation-Tool

Updates include:
Inversion Control - will help if your dial gauge/measurement tool reads the opposite of mine
Accuracy Control - will allow you to set the desired accuracy of the program, i.e. no more lag on my behalf - you choose how much you want
XYZ Offse Changest - now has the ability to decrease the offset if necessary, i.e. drop from 400 to 200
More expert settings - with this you can calibrate your bed in ONE iteration, however, it takes just as long.

With using expert settings, I had a bed tolerance of +/- 5 microns in one iteration. Without using expert settings, it took 6 iterations for the same results.

This week I am going to order a Z-probe, that way I can begin to work on a version with Auto-Calibration.

Note: In the current version if you Do Not enter any values, the program will lag, as it is trying to calibrate with no variables. So do not leave any fields blank, or you will have to restart. This fix will be in the next update.

Re: Delta Calibration Program for Very Accurate Bed Leveling

Posted: Tue Jul 21, 2015 12:56 pm
by duvdev
Hi'
thanks for the update. jusk got myselt the dial indicator. should be set to 0 when the hotend touch the center of the palte with the paper? and then start the calibration process?

thanks