Testing Resolution / accuracy , Your results wanted! Z Probe Results
-
so i want to design some other kind of Z probe. so i decided to test a bunch of micro switches. here is the result:
https://www.youtube.com/watch?v=BLzCeH1hS9g
excel work book here:
http://open-source-energy.org/rwg42985/russ/Projects/3D%20printer/micro%20switch%20Z%20probe%20Data/Z%20probe%20Testing,%20Micro%20switch%20&%20Others%20Data%20RWGresearch.xlsxSo the results for contact to contact were: Total Deviation From Mean: 1.24 um Total max / min : 3 um
what is interesting to me is that most of the values were always in increments of .003mm
so basically my Z resolution is the best i can measure… with the way the firmware works.
ok, hope this is interesting / helpful.
I would love to see others try this simple test with there Z probe.
[h]Micro Right Click Save As[/h]
Here is the micro's:
36 probes 1 point. (Run 2 times and post results for each! )This moves the endefector around then probes back to the same point. ( also run 2 times and post your results)
I ran each of those 2 times and calculated the deviation and total max / min difference with all the data ( so a total of 122 probes)
if yo post your results here i can add it to my chart, I'd be interested to build a database of probes and results,
just run the above and post you data like this :
10:14:57 AM
M98 P0:/macros/probetesting/Probe Testing moving 100 -100 probe 0,0 25 Point.p values .gcode
Bed probe heights: -0.078 -0.075 -0.078 -0.078 -0.078 -0.075 -0.075 -0.075 -0.072 -0.072 -0.072 -0.072 -0.072 -0.072 -0.075 -0.072 -0.075 -0.072 -0.072 -0.072 -0.075 -0.075 -0.072 -0.072 -0.078, mean -0.074, deviation from mean 0.002
10:10:11 AM
M98 P0:/macros/probetesting/Probe Testing moving 100 -100 probe 0,0 25 Point.p values .gcode
Bed probe heights: -0.078 -0.069 -0.069 -0.069 -0.069 -0.072 -0.072 -0.075 -0.072 -0.072 -0.072 -0.072 -0.072 -0.072 -0.072 -0.072 -0.072 -0.072 -0.072 -0.072 -0.072 -0.075 -0.072 -0.075 -0.072, mean -0.072, deviation from mean 0.002
10:05:41 AM
M98 P0:/macros/probetesting/Probe Testing Single Point 36 probes P values .gcode
Bed probe heights: -0.078 -0.078 -0.075 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078 -0.078, mean -0.078, deviation from mean 0.001
10:02:31 AM
M98 P0:/macros/probetesting/Probe Testing Single Point 36 probes P values .gcode
Bed probe heights: -0.053 -0.063 -0.063 -0.066 -0.066 -0.066 -0.069 -0.069 -0.069 -0.069 -0.069 -0.066 -0.069 -0.069 -0.069 -0.072 -0.069 -0.072 -0.072 -0.072 -0.072 -0.072 -0.075 -0.069 -0.075 -0.075 -0.075 -0.075 -0.072 -0.078 -0.075 -0.075 -0.075 -0.075 -0.078 -0.075, mean -0.071, deviation from mean 0.005and i will add the rest to my work book for you.
give a short description of what your using for probing!
Thanks!
~Russ
-
With my FSR's there is apparently a big difference between cold and hot.
Here is the cold data with no autolevel done:M98 P0:/macros/Probe Testing Single Point 36 probes P values
Bed probe heights: 0.155 0.173 0.180 0.173 0.180 0.192 0.180 0.180 0.186 0.186 0.180 0.186 0.186 0.192 0.186 0.186 0.192 0.192 0.180 0.192 0.192 0.186 0.192 0.192 0.186 0.186 0.186 0.186 0.186 0.186 0.192 0.192 0.186 0.186 0.192 0.192, mean 0.185, deviation from mean 0.007M98 P0:/macros/Probe Testing Single Point 36 probes P values
Bed probe heights: 0.186 0.192 0.192 0.205 0.198 0.192 0.198 0.198 0.192 0.205 0.198 0.192 0.205 0.198 0.192 0.198 0.198 0.192 0.198 0.198 0.198 0.205 0.205 0.192 0.198 0.205 0.192 0.192 0.198 0.192 0.198 0.198 0.198 0.198 0.205 0.205, mean 0.198, deviation from mean 0.005(I did not do the moving test cold only hot and after autolevel)
Hot tests:
M98 P0:/macros/Probe Testing Single Point 36 probes P values
Bed probe heights: 0.006 0.019 0.013 0.006 -0.012 0.000 -0.012 0.013 0.019 0.025 0.025 0.025 0.031 0.044 0.038 0.031 0.019 0.006 0.006 -0.012 0.013 0.000 0.019 0.031 0.013 0.031 0.044 0.019 0.044 0.031 0.019 0.013 0.000 0.006 0.025 0.019, mean 0.017, deviation from mean 0.015M98 P0:/macros/Probe Testing Single Point 36 probes P values
Bed probe heights: 0.000 -0.025 -0.006 -0.019 0.013 0.006 0.019 0.038 0.019 0.038 0.013 0.031 0.063 0.013 0.025 0.000 -0.012 -0.006 0.025 0.019 0.025 0.031 0.038 0.038 0.044 0.050 0.044 0.031 0.000 0.006 -0.012 0.025 0.025 0.025 0.044 0.019, mean 0.019, deviation from mean 0.020M98 P0:/macros/Probe Testing moving 100 -100 probe 0,0 25 Point.p values
Bed probe heights: 0.006 0.050 0.013 0.025 0.019 0.025 0.025 0.019 0.019 0.025 0.019 0.025 0.013 0.050 0.006 0.031 0.025 0.019 0.038 0.019 0.019 0.044 0.013 0.056 0.025, mean 0.025, deviation from mean 0.013M98 P0:/macros/Probe Testing moving 100 -100 probe 0,0 25 Point.p values
Bed probe heights: 0.044 0.019 0.050 0.056 0.038 0.069 0.025 0.056 0.063 0.031 0.069 0.025 0.044 0.063 0.044 0.075 0.019 0.050 0.050 0.044 0.088 0.025 0.069 0.031 0.056, mean 0.048, deviation from mean 0.018Guess the FSR's aren't very repeatable, but my first layers always look good lol.
-
Itching to have a go with the piezo probe but 3 hours left on current print, rest assured I will post some data very soon.
-
Itching to have a go with the piezo probe but 3 hours left on current print, rest assured I will post some data very soon.
great! i was hoping you would post your results!
Thanks!~Russ
-
I have got quite a lot of data collected using my test rig, but its made from the bones of a deceased i3 and it really isnt that precise. I built it to test modules when making them up rather than pin down the real accuracy/repeatability of the piezo system. That being said most runs show 10microns accuracy and 0.002 std deviation but I was using marlin and it will only read out to 2 decimal places. However my duetwifi equipped kossel XL should be up to the job of at least giving the system a fair result..
-
@Alexander:
With my FSR's there is apparently a big difference between cold and hot.
Guess the FSR's aren't very repeatable, but my first layers always look good lol.
Thanks for your data! Ill add it to my workbook!
Looks good though, we are talking 50um here so that's still quite good!
I was allays wondering how well those work! now we know!!
what board and steps are you using?
what stranded layer height to you print at for your first layer?
( higher rez) http://open-source-energy.org/rwg42985/russ/Projects/3D%20printer/micro%20switch%20Z%20probe%20Data/Bed%20Probes%20accuracy%20others%20added.jpg
Thanks!Keep em coming guys and gals!
~Russ
-
Duet Wifi, 160 steps/mm, 250mm round bed.
First layer is usually .1 with .25 and .3 nozzles, .2 with .35 and .4 nozzles, .3 with .6 nozzle, and .4 with .8 nozzle.
I use the .4 nozzle 90% of the time. -
Been thinking about the Piezo when I try a cable drive extruder instead of the geared drive one I am using on the effector so that info will be nice to see. (I want my effector to go on a diet)
-
@Alexander:
(I want my effector to go on a diet)
yes, I'm with you!!
I think that the micro switch is the most compact, Cheep, And Easy to use…
I love the idea of the Piezo, the problem arises with price, not sure how much theses thing cost.
what i dont like about the micro switch is that you have to move a lot to "release" it where the Piezo or even the FSR you dont really need to do that, so things can be mounted quite secure and still give you good readings.
like i said in my video, i do not like the idea of ramming your nozzle in to the bed. but it's its really gentle, then cool!
also, i wonder if mounting the FSR on the hotend rather than the Bed makes sense...
David, can you post your results of your optical sensor with the above Micros please.
Thanks!!
~Russ
-
If you have not seen this.
-
Fascinating video - thanks for the link Tony.
-
@Russ:
@Alexander:
(I want my effector to go on a diet)
yes, I'm with you!!
I think that the micro switch is the most compact, Cheep, And Easy to use…
I love the idea of the Piezo, the problem arises with price, not sure how much theses thing cost.
what i dont like about the micro switch is that you have to move a lot to "release" it where the Piezo or even the FSR you dont really need to do that, so things can be mounted quite secure and still give you good readings.
like i said in my video, i do not like the idea of ramming your nozzle in to the bed. but it's its really gentle, then cool!
also, i wonder if mounting the FSR on the hotend rather than the Bed makes sense...
David, can you post your results of your optical sensor with the above Micros please.
Thanks!!
~Russ
Tony - shame that Thomas only tested quite a small range of sensor modalities.
Hi Russ,
I think I can answer some of your questions here:
- cost - very little for piezo, PCB is £10 assembled but you can make your own, Piezo disc 40p (that's for a fancy brand name one)
- It is very gentle, I have probed a set of scales and it takes around 15g of force, FSR's take around 50g, I used to use them.
- FSR's can be mounted in the hot end, but since there are none with holes in them, they have to be mounted one on either side of the hotend, which is much less direct, the hotend piezo probe as I have implemented it works so well as the force transmits directly up the hotend to where the piezo is.
- compliance in the sensor module, the eternal battle is between a unit with enough "give" to trigger clearly, above the mechanical noise of the belts, motors, bearings and movement of the carriages/axes, and a unit that is stiff enough that the nozzle is not wobbly. This is where the piezo I think wins hands down. It can be pre-tensioned inside a module, but further pressure on it generates a signal anyway. That way the module can be quite stiff and the nozzle firm. FSR's can only be pre-tensioned so far, then they won't give more signal after that. So I suspect an fsr hotend assembly will be a little wobbly. Print beds suspended on FSR's were always wobbly when I had them.
- PIezo discs are robust (and cheap to replace if you ever kill one - I have not so far after 4 months of testing them)
-
I am using thin film pressure sensor on the hotend which can only do cold leveling
https://ae01.alicdn.com/kf/HTB1J7l3LpXXXXc3XFXXq6xXFXXXY/3D-printer-accessories-set-kit-thin-film-pressure-sensor-leveling-pressure-sensor-kossel-delta-leveling-baseplate.jpg_640x640.jpgM32 Probe_Testing_moving_100-100_probe_0-0_25_Point_p_values_.gcode
Bed probe heights: -0.003 -0.015 -0.021 -0.021 -0.021 -0.028 -0.028 -0.021 -0.009 -0.003 -0.009 -0.015 -0.015 -0.009 -0.003 -0.009 -0.015 -0.015 -0.015 -0.021 -0.021 -0.015 -0.009 -0.009 -0.015, mean -0.015, deviation from mean 0.007M32 Probe_Testing_moving_100-100_probe_0-0_25_Point_p_values_.gcode
Bed probe heights: -0.021 -0.034 -0.034 -0.021 -0.009 -0.009 -0.009 -0.015 -0.009 -0.003 -0.003 -0.009 -0.009 -0.015 -0.015 -0.009 -0.009 -0.009 -0.015 -0.015 -0.015 -0.015 -0.009 -0.003 -0.003, mean -0.013, deviation from mean 0.008M32 Probe_Testing_Single_Point_36_probes_P_values
Bed probe heights: -0.028 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021 -0.021, mean -0.021, deviation from mean 0.001M32 Probe_Testing_Single_Point_36_probes_P_values
Bed probe heights: -0.009 -0.009 -0.009 -0.015 -0.009 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015 -0.015, mean -0.014, deviation from mean 0.002I am also looking forward to the piezo sensors
-
I wonder what is the error threshold generated by this rig and if we really can be talking about micron repeatability using aparature that is not made of steel.
I wonder if probing can have a greater impact on print precision on delta printers.
We use tempered glass surface and probing just like in Fisher delta, the heat pushes the glass bed and disconnects circuit.
The deviation is almost always between 0.009 - 0.03, we always use raft, which after good setup is really ok and prints are vey nice too.
So the bed is not really flat because it's being tempered after cutting, the delta deflects a bit when probing and it probes on different height in every point.On the first printer I used to calibrate probing very precisely, check repeatability, add carefully tested H override value to each point in bed.g
But since we test a dozen of deltas, every one with differently crooked surface and deflecting a bit differently due to some minor changes, I just copied config and bed.g files to the rest of the printers.The probing results are the same as in their very mother, carefully prepared.
I wonder if probing on deltas is crucial due to first layer beauty or does it also affect overall dimensions of a print and can introduce dimensional errors?
-
My take on the issue of validity of results is the same as youtube Thomas' in that an aluminium bed should be used as a control, with direct electrical contact (the most accurate probe possible) between nozzle and bed. That should be as accurate as your mechanics/electrics/electronics and firmware (your printer/rig in short) can manage.
Then stick your probe on there and do it again, now you have the measure of your probe. Otherwise you are measuring your printer/probe at the same time and some printers/rigs are more accurate than others.
My test rig is not great for accuracy testing as I said above, but it is great for making sure a newly made piezo module can do 1000 probes reliably and not breakdown mechanically or electrically. A really scientific rig, which I'd love to build, would have linear guides, ball screws, be made of thick aluminium with bracing etc… and be run from a 1/256 microstepping motor/controller.
And yes probing is more of an issue on a delta. But only because manually calibrating one is tedious and time consuming and the awesomeness of delta autocal is available to us with RRF, to use it we need the best probe we can muster. On a cartesian or corexy, if the bed is truly mechanically level and flat you just need 3 endstops and off you go. This is an age old (for 3d printing anyway) debate between those of us with super high precision machines with all metal build (or deltas as they need more calibrating) and those with slightly less perfect machines which benefit from auto/grid levelling.
-
It could be the best to use aluminium bed and the nozzle - bed contact method to make a dead flat calibration for reference, then swap the bed for the one to actually print on and manually adjust the nozzle offset with babystepping (I totally adore babystepping and it's persistency !)
Then the probing would be more precise and delta calibration better.
I'd give it a go but have to write down some testing procedure just to be sure what to look for.Even Stratasys machines use plastic bed which is all but flat and level then they melt in the first layer of raft following by two more.
As soon as delta geometry is correctly measured, this way of laying down first layer is fool proof and easier on final user.I'm not sure if it's not a thread hijack I do here, perhaps it should be in another thread.
-
Separating probe accuracy from printer build accuracy is tough to do. On my delta I'm fighting a mechanical issue right now which makes any sort of probe repeatability tests futile, as it quickly falls into the noise of the printer itself (I have a bearing or something that's gone out, makes a grinding noise during some moves, but for the life of me I can't track it down yet)
In addition, if you're probing two points at any distance apart, then you're actually adding your current calibration accuracy into the probe data, since you're really comparing against the currently calculated plane.
-
If Russ doesn't mind a discussion here about how to test probes (since it is pertinent to his project) then lets continue otherwise yes lets make a new thread.
DuetUser yes adding an aluminium bed surface to do a sample probing on is valid, but as kraegar said only if you are probing over and over at bed centre, for example, since calibration will affect accuracy of your result if moving around the bed. Since calibration accuracy (for deltas) is determined by probe accuracy in part then it can become a difficult loop to break out of. I can see the effect in my calibration deviation from one probe to the next on my kossel XL but its got linear rails, 0.9 deg motors, 16t pulleys, duetwifi and 6mm tooling plate for a bed (with printbite bonded evenly on top). It should be a quite precise platform to test probes on, but its also my main printer so I built a rough and ready rig to free my main machine up to print client parts.
So I'd propose as a "scientific" test, probe 30 times onto aluminium, electrically with a pullup enabled for z_probe, and the aluminium and nozzle connected to GND and Signal on the probe connector. Make sure there is no voltage from anything else on the hot end first, to avoid any damage to the controller though their shouldn't be. That's your baseline. It should produce very low numbers.
Now install your probe and do another 30. Your range and standard deviation here will be higher but if you subtract the first set of values from the second, you have your probe's accuracy and repeatability measured minus the inherent accuracy of your setup.
-
If Russ doesn't mind a discussion here about how to test probes (since it is pertinent to his project) then lets continue otherwise yes lets make a new thread.
DuetUser yes adding an aluminium bed surface to do a sample probing on is valid, but as kraegar said only if you are probing over and over at bed centre, for example, since calibration will affect accuracy of your result if moving around the bed. Since calibration accuracy (for deltas) is determined by probe accuracy in part then it can become a difficult loop to break out of. I can see the effect in my calibration deviation from one probe to the next on my kossel XL but its got linear rails, 0.9 deg motors, 16t pulleys, duetwifi and 6mm tooling plate for a bed (with printbite bonded evenly on top). It should be a quite precise platform to test probes on, but its also my main printer so I built a rough and ready rig to free my main machine up to print client parts.
So I'd propose as a "scientific" test, probe 30 times onto aluminium, electrically with a pullup enabled for z_probe, and the aluminium and nozzle connected to GND and Signal on the probe connector. Make sure there is no voltage from anything else on the hot end first, to avoid any damage to the controller though their shouldn't be. That's your baseline. It should produce very low numbers.
Now install your probe and do another 30. Your range and standard deviation here will be higher but if you subtract the first set of values from the second, you have your probe's accuracy and repeatability measured minus the inherent accuracy of your setup.
ill let you hijack this thread but only if you run my macros and give me your results..
hehehe!!! ( I run my own forums so i sure know how this hijacking can happen (http://open-source-energy.org/)
so here's the thing. I'm not looking for the best of the best, I'm looking to find out what people are using and how accurate there probe + printer is…
If you watch my video at the top of this thread i go in to talking about tom's video and how he did it and what i wanted different Ect.
so yes, we can test probes like Tom did and do it even better as you mentioned DjDemonD. however i think that's not necessary. Tom did a good job with the exception of Davids optical senor (any one got one please test it!!)
we are looking at 2 things here,
1. using a contact to contact test ( I did not do this in my video but did do this after and posted the results)
This test will give you your current configuration base line for your printer its self.
2. Test your Z probe like you normally use it. this value will be a +/- of what your contact contact test was.From my tests it seems that trying to achieve a contact contact Z probe is silly. most of us do not print directly on an AL bed. I use to use glass and still do but the PEI works the Treat! so all my tests show that most of the micro switches I tested are about 2x the error of my printer any how. and at .003mm that's not much to worry about...
my problem is that I'm using my delta to CNC and so i need something that i can be used in more than just the printing.
OK, now do post some more Z probe values!!! i'm quite interested to just see what everyone is probing at!! ( i want to build a small database of tests. so do post them!)
~Russ
-
I am using thin film pressure sensor on the hotend which can only do cold leveling
https://ae01.alicdn.com/kf/HTB1J7l3LpXXXXc3XFXXq6xXFXXXY/3D-printer-accessories-set-kit-thin-film-pressure-sensor-leveling-pressure-sensor-kossel-delta-leveling-baseplate.jpg_640x640.jpgI am also looking forward to the piezo sensors
Jackal,
your data added to the workbook.
Higher rez http://open-source-energy.org/rwg42985/russ/Projects/3D%20printer/micro%20switch%20Z%20probe%20Data/Bed%20Probes%20accuracy%20others%20added.jpgcan you give me a few more details like motor steps and the Duet Board your using?
also, do you have any photos / drawings of your setup? It seems that your getting quite a good result. so that answers my question on how a SFR will do on the hotend.
but how you have it set up is also important. so the more details the better
It also seems that your single point is way more accurate than when you move around first. Theses are the kinda results i would expect if your parameters change when things slightly shift. and it makes sense. if your looking at force, and your hot-end shifts even slightly, then the force will change. and that's why your results better with a single probe no move.
This is where a solid setup is needed. However even with that, its VERY good.
total deviation from mean 25 move
7.46 umtotal max / min 25 move
28 umtotal deviation from mean single point only
1.79 umtotal max / min single point only
10.5 um~Russ