Bed not square?
I've been playing with a large delta and trying to get autocalibrate to work for the last couple of weeks. No matter what I do, it almost always converges to about 0.4, which is terrible. I've checked all the obvious things (rods are perfectly the same length, parallel from effector to carriage, not rotated, etc), but the issue persists. I am starting to suspect there is a serious frame geometry issue somewhere that autocalibrate can't figure out, or that my bed is physically not square to the frame. I made a bed check probe file to see what the probe offsets were at various points around the bed (215mm radius) and here's what I got for offsets (listedin the H values below). Of course, feeding in these H values makes it converge perfectly, but that's cheating and doesn't actually make anything level. I checked to see if there was something on the surface of my print bed that would make the probe return strange values, but that wasn't it either. Any thoughts or pattern to this anyone can see?
G30 P0 X0.00 Y150.00 Z-99999 H.837
G30 P1 X75.00 Y129.90 Z-99999 H-.052
G30 P2 X129.90 Y75.00 Z-99999 H-.712
G30 P3 X150.00 Y0.00 Z-99999 H-.122
G30 P4 X129.90 Y-75.00 Z-99999 H.685
G30 P5 X75.00 Y-129.90 Z-99999 H.125
G30 P6 X0.00 Y-150.00 Z-99999 H-.774
G30 P7 X-75.00 Y-129.90 Z-99999 H.025
G30 P8 X-129.90 Y-75.00 Z-99999 H.621
G30 P9 X-150.00 Y-0.00 Z-99999 H-.037
G30 P10 X-129.90 Y75.00 Z-99999 H-.742
G30 P11 X-75.00 Y129.90 Z-99999 H.002
G30 P12 X0.00 Y75.00 Z-99999 H.2
G30 P13 X64.95 Y-37.50 Z-99999 H.085
G30 P14 X-64.95 Y-37.50 Z-99999 H.114
G30 P15 X0 Y0 Z-99999 H-.303 S6
Some of those H values are very large. When you say "probe offsets", can you confirm that these H values are (probe trigger height at that point) - (probe trigger height at bed centre) ?
If the bed were not square to the frame then you would not get that pattern and the auto calibration would be able to make an approximate correction for it. If you are using the IR probe or some other probe that is offset from the nozzle, then my guess is that you have effector tilt that varies with XY position. See https://www.duet3d.com/forum/thread.php?pid=2607#p2607 for my suggestions.
DjDemonD last edited by
I can highly recommend making sure you mount your probe as close to the nozzle as possible (bearing in mind thermal considerations). Then the effect of tilt is minimised. I initially had my probe around 40mm from the nozzle in y, the improvement in calibration now it is only 13mm from the nozzle is quite large.
I'm using your mini IR probe, and it's about 10mm or so from the nozzle. I had it further away (around 30mm), but the result didn't change much at all when I moved it closer in. My workflow was to set initial trigger height (2.22mm is what it came out to), then run autocalibration a few times. I got it to converge to about .45. Then I updated config.g, then made a duplicate of bed.g but changed the last command to S-1 and read off all the probe trigger heights - that's what I got all those H values from above. Tried feeding those values in turn back into bed.g, which made it converge to almost zero, but the actual result isn't "real" (that's what I mean by cheating with the H values). I'll go back and manually measure trigger height at each point and see if I get something different, if that would help. I've tried two different bed surfaces and get pretty much the same thing (one straight aluminum tooling plate, and another spraypainted black PEI surface).
peridot last edited by
Maybe try getting "real" H values by using a paper test to measure real height above the bed at each probe point? That might tell you something about where the problem arises.
I'll run it that way and compare in a day or two… and then I'm going to reprint the vertexes and reassemble. About the only thing left I haven't tried. I stuck one of those tiny spirit bullseye levels on the effector, and while it's not perfect side to side, it's really close (bubble stays in the center circle, moves a tiiiiny bit). I don't think effector tilt accounts for all of the weirdness.
As peridot says, to see whether you need H corrections and what they should be, you should measure the probe trigger height at each probe point. This applies whether you are using the IR sensor, FSRs or some other probe technology. It's tedious but effective. The way I do it is:
1. Put the nozzle over a probe point.
2. Jog the head down until it just grips a sheet of paper.
3. Send G92 Z0.
4. Send G1 Z5 then G30 S-1. Read off the Z height at that point from the web interface or PanelDue.
5. Repeat step 4 a couple of times to make sure you have a consistent result. Take the average Z height as the trigger height. Subtract the trigger height at bed centre to get the H correction for that point.
You can set up macros to speed this up somewhat.
I still haven't really been able to get to the bottom of this. There is almost no effector tilt (I checked using a 66mm bullseye level after I removed the nozzle).
I have the exact same height reading at the point nearest each tower (all three towers read the same).
I have the exact same height reading at the points furthest along the perimeter equally distant from the tower (all three read the same).
The difference between the three points underneath the towers and the three points midway along the perimeter between each tower is almost 1.5mm.
Can you share your height readings? How does the reading at the centre compare with the others?
Ok, I probed every point exactly as described above. Center was 2.07, the rest are below:
G30 P0 X0.00 Y150.00 Z-99999 H0 ;Trigger height 2.1
G30 P1 X129.90 Y75.00 Z-99999 H0 ; trigger height 2.18
G30 P2 X129.90 Y-75.00 Z-99999 H0 ; trigger height 2.16
G30 P3 X0.00 Y-150.00 Z-99999 H0 ; trigger height 2.05
G30 P4 X-129.90 Y-75.00 Z-99999 H0 ; trigger height 2.16
G30 P5 X-129.90 Y75.00 Z-99999 H0 ; trigger height 2.12
G30 P6 X0.00 Y75.00 Z-99999 H0 ; th 2.14
G30 P7 X64.95 Y37.50 Z-99999 H0 ; th 2.06
G30 P8 X64.95 Y-37.50 Z-99999 H0 ; th 2.18
G30 P9 X0.00 Y-75.00 Z-99999 H0 ; th 2.10
G30 P10 X-64.95 Y-37.50 Z-99999 H0 ; th 2.12
G30 P11 X-64.95 Y37.50 Z-99999 H0 ; th 2.08
G30 P15 X0 Y0 Z-99999 S-1 ; th 2.07 in center
I updated bed.g with H to be the read off value minus the 0,0 trigger height (2.07). So my file looks like this:
G30 P0 X0.00 Y150.00 Z-99999 H.03
G30 P1 X129.90 Y75.00 Z-99999 H.11
G30 P2 X129.90 Y-75.00 Z-99999 H.09
G30 P3 X0.00 Y-150.00 Z-99999 H-.02
G30 P4 X-129.90 Y-75.00 Z-99999 H.09
G30 P5 X-129.90 Y75.00 Z-99999 H.05
G30 P6 X0.00 Y75.00 Z-99999 H.07
G30 P7 X64.95 Y37.50 Z-99999 H-.01
G30 P8 X64.95 Y-37.50 Z-99999 H.11
G30 P9 X0.00 Y-75.00 Z-99999 H.03
G30 P10 X-64.95 Y-37.50 Z-99999 H.05
G30 P11 X-64.95 Y37.50 Z-99999 H.01
G30 P12 X0 Y0 Z-99999 S6
Then I ran autocal again, updated config.g, etc. Now when I run my bed test file with S-1, I get this:
Bed probe heights: 0.699 -0.671 0.703 -0.643 0.694 -0.700 0.104 -0.015 0.052 -0.082 0.124 -0.039, mean 0.019, deviation from mean 0.487
It's almost the same as before.
What I don't understand is the huge difference between P0,2,4 and P1,3,5. I'm using 1.8 degree steppers, is there some chance that it's causing the problem by not having fine enough control?
I fixed it!
Wow. I feel dumb. But the root cause was the wrong steps/mm in the config.g file - I had it set to 80 vice 100. Don't know why I didn't think of that earlier. Now it converges to .019 with NO h offsets. I knew my mechanics weren't that bad
jrlederer last edited by
@firebug : this is very interesting to me, your issue then apparent solution from above. I am a little unclear and a lot curious about :
the results of your probing via bed.g after adding in the determined H could values you entered being similar in the range of about.4 (since as I understand it ought to converge at a value in the low hundredths of a mm. I, too, continue to have results that seem out of range despite the confidence that my mechanics are spot on due to attention to detail whilst assembling my delta –,not as far off as your numbers, but still in the low tenths of mm as opposed to hundredths of a mm.
your adjustment of the steps per mm from 80 to 100.
The question these bring up is, what lead you to adjusting the steps per mm as a possible solution, how you came up with the number differential, and ultimately why it made the difference it did? I'm hoping you could she some light on these points if you've got the spare time to help out a fellow board member.
Edit : almost forgot to clarify, when you say figured it out!, do you mean to say that using all the H calculations in conjunction with your revelation to assist the steps per mm restored in such small variances in leveling, or that simply the step adjustment alone resolved all of your issues?
Just changing to the correct steps/mm fixed it. I didn't have to do anything with H values as my machine was pretty structurally accurate, and I didn't have any noticible effector tilt. It's printing pretty well without me doing any additional tweaking.
When I thought about it some more it made sense - if the carriages aren't where they're supposed to be due to the wrong steps/mm, there will be more or less travel for each carriage required to lower the probe down to the point where it triggers. I stumbled onto it because I was checking everything to do with how I set up the stepper drivers - 80 steps/mm was the default and I just never changed it. I used the stepper calculator here: http://prusaprinters.org/calculator/ and put in my belt (GT2) and 16 tooth pulley, it said 100, I swapped that into my config file, and it now probes correctly. Double check your pulley and belt info with that calculator - it might be your issue too.