Delta Calibration Process
-
Turn printer on >> Home all >> G30 (allow z probe to set z=0) >> G32 >> G92 (M557 is defined in config at 100mm radius every 10 mm) >> M500 (save all the configuration)
Now I have to raise the print via micro-stepping from 0.7-1.0 mm and the prints work fine.
My z probe is configured using JohnSL board and is working fine;
M558 P5 C"!e0stop" H5 I1 F75 ; Set zprobe, p4 is now p5 w 3.x
Changing the G31 Z value is useless, I currently have it set to -0.6 but I can make it 2.0 and it doesn't effect any calibration or print issues the way I am doing configuration. Other than this last issue have a D300VS running great on 3.2 firmware. I suppose this works, it just bothers me the homing height is never right, am I doing something wrong or is the firmware just wonky with delta's and 3.x?
Values saved from M500
M665 L360.310:360.310:360.310 R210.773 H438.588 B140.0 X-0.415 Y-0.448 Z0.000 M666 X2.633 Y-2.306 Z-0.326 A0.00 B0.00
-
@silentcitizen said in Delta Calibration Process:
am I doing something wrong or is the firmware just wonky with delta's and 3.x?
Well, my Duet 3 MB6HC (MB6HC) delta running 3.3 (2021-06-15) firmware has none of these problems, so it's not universally wonky with deltas and 3.x.
I worked through the 'calibrate the z probe trigger height' on https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe and have never needed to use babystepping.
If you
G28 G32 G29 G1 Z1
Is your nozzle consistently 1mm above the bed? Is it consistently something else, or is it variable?
Are you saying that whatever you put in G31 Z this behaviour doesn't change? Mine does. I usually have
G31 P100 X0 Y0 Z-0.04
and then a G1 Z1 gives me 1mm gap (and G1 Z0 gives me a can't slide-my-thinnest-paper-through-it gap). However, if I change it toG31 P100 X0 Y0 Z-2
then a G1 Z0 gives a 2mm gap, as expected.You say your z-probe is 'working fine', but I don't really understand that statement if your nozzle isn't ending up where it's supposed to be - that's surely the definition of not working fine? Can you elaborate? What have you done to check consistency of teh probe trigger height?
-
@silentcitizen said in Delta Calibration Process:
Changing the G31 Z value is useless, I currently have it set to -0.6 but I can make it 2.0 and it doesn't effect any calibration or print issues the way I am doing configuration.
I think you are homing the printer between calibrating it and starting your print. Don't do that.
-
@dc42 My slicer is set up to home then run a G92 calibration before printing so that may be it, although if I understand correctly the calibration should reset the home, but not sure exactly how it relates to the G30 call i have to make or the height map gives warnings. I'll give it a shot and appreciate the help!
@achrn what I'm saying is if I follow that documentation, paper just barely catching g92 z0 then the subsequent calibrations are away too low (G92 = detached printer head from hitting the bed). Don't setup G92 Z0 and it calibrates great. I'll see if checking my probe offset would help but its an FSR setup using the JohnSL board so I don't see that applying here.
If I set G92 z0 i can G30 S-1 until the cows come home, if I do anything the requires a homing then the z value is incorrect. For instance it'd be nice to configure my printer, run the G30, G92 and save with M500 so it's good for next time. But the delta requires you to home before moving the print head, so my Z would be messed up.
Just not to note, this was all fine in 1.6, I just ran through all the updates at once and now we're on 3.2 so not sure where/if when that changed.
-
@silentcitizen said in Delta Calibration Process:
@achrn what I'm saying is if I follow that documentation, paper just barely catching g92 z0 then the subsequent calibrations are away too low (G92 = detached printer head from hitting the bed). Don't setup G92 Z0 and it calibrates great. I'll see if checking my probe offset would help but its an FSR setup using the JohnSL board so I don't see that applying here.
I'm not sure why trigger height would be irrelevant to FSR - even if it had a trigger height of zero it would be relevant that it was zero. With FSR mounted bed I'd expect a small negative trigger height (it will trigger when it has compressed the mounts to the critical degree). I have a small -ve trigger height with a force sensing setup (though in my case it's a smart effector).
Sorry, I still don't understand everything that you're saying - "G92 = detached printer head from hitting the bed" makes no sense to me - G92 doesn't move the head on my machine, it can't hit anything when it doesn't move. G92 is only part of the sequence to test what the trigger height is, I think, it's not part of my printing process.
If I set G92 z0 i can G30 S-1 until the cows come home, if I do anything the requires a homing then the z value is incorrect.
So I think you're saying you G92 Z0 with head at Z0, then when you issue G30 S-1 (repeatedly) it consistently shows the same trigger height (presumably a very small negative, as discused above). However, if you home (G28) then G30 S-1 you get a different value. Is that correct?
Is it a consistent different value?
Does it change to a different consistent different value if you home again?
I don't get that:
So I can home and Z doesn't change (I typically see up to about 0.004mm variation between G30 S-1 calls, whether I home between-times or not).For instance it'd be nice to configure my printer, run the G30, G92 and save with M500 so it's good for next time. But the delta requires you to home before moving the print head, so my Z would be messed up.
Hmm. Well I'm not going to diverge from advice offered by @dc42, but my printer is quite happy if I:
- do a G32 calibrate
- M500 and transfer the M665 and M666 out of config-override.g into config.g
- M999 to reset the machine (or even fully power off and on again)
- G28 to home the axes
- then start a print
...which I think is what you're saying you want to do.
So again, it doesn't help you but v3.3 firmware can do what you want on a delta, in my experience. If your config.g has the M665 and M666 from a calibrate process, I don't know why a homing would mess up the Z - I'm stuck with repetitively saying it doesn't on my delta.
-
@achrn I do have a small trigger height in my G31 Z-0.6. On my delta (and i assume others [sorry meant G32 but still regardless G29 still does hotend movemet] - delta calibration does at a homeall.g then uses the an algorithm to to compensate for the the calibration of the bed. The 3 arms come down and touch the bed at several points activating the FSR sensors, allowing it to calibrate. G92 however also moves the printer head, it does a bed calibration mesh grid in the call defined by 357. Are you talking about a cartesian printer? How else is your hot end not moving on a delta machine?
G31 X0 Y0 Z-.6 P500 M558 P5 C"!e0stop" H5 I1 F75 ; Set zprobe, p4 is now p5 w 3.x
I think you're process works for me too, i just have to micro step up .9-1.0 mm whether or not I just boot it up and start or calibrate then print. Appreciate it btw!
-
@silentcitizen said in Delta Calibration Process:
@achrn On my delta (and i assume others [sorry meant G32 but still regardless G29 still does hotend movemet] - delta calibration does at a homeall.g then uses the an algorithm to to compensate for the the calibration of the bed. The 3 arms come down and touch the bed at several points activating the FSR sensors, allowing it to calibrate. G92 however also moves the printer head, it does a bed calibration mesh grid in the call defined by 357. Are you talking about a cartesian printer? How else is your hot end not moving on a delta machine?
You said "G92 = detached printer head from hitting the bed". G92 doesn't move anything on any printer (as far as I know), delta, cartesian or otherwise. The documentation includes the statement "No physical motion will occur."
I think you are wrong to say "G92 however also moves the printer head, it does a bed calibration mesh grid". That sounds like a G29 to me. I agree G29 moves the printer head, but that's not what you said.
I am very, very certain my printer is a delta, yes.
-
@achrn Ahh yes my bad G29 and G32, sorry was at work but I think my intent was there. The fact that a calibration was running after should have been a hint.
Messing with G92 Z0 at all, screws with subsequent G29 and G32 calls.
-
@silentcitizen OK. Sorry I can't help - my knowledge isn't good enough to be working off intent. I've tried, but failed, to infer what you are actually reporting, and there are still contradictions. (If you intended G92 to refer to a mesh bed level, what does 'G92 Z0' mean? A mesh bed level doesn't ever take a Z0, I think.) Good luck.
-
@achrn said in Delta Calibration Process:
Hmm. Well I'm not going to diverge from advice offered by @dc42, but my printer is quite happy if I:
do a G32 calibrate
M500 and transfer the M665 and M666 out of config-override.g into config.g
M999 to reset the machine (or even fully power off and on again)
G28 to home the axes
then start a print
...which I think is what you're saying you want to do.To clarify: if you run G32 and then before you run the print you run G28 (or you have G28 in your slicer start GCode), then after calibration the Z height will be reset by the G28 command, which will set Z to the M665 homed height parameter when all three endstop switches are triggered. This means that the G31 Z parameter (trigger height) will make no difference to the nozzle height above the bed when printing starts. Getting a good first layer nozzle height will depend on setting the homed height in M665 accurately - but that may vary a little with temperature.
If you really want to home the printer before printing and you don't want to run auto calibration between homing and printing, then you should do a single G30 probe at bed centre between homing and printing.
The best procedure IMO is:
-
Heat the printer to operating bed and nozzle temperatures, or to a lower temperature if you are not comfortable with probing the bed at full operating temperature.
-
Home the printer (not necessary if the printer has already been homed, or if you home it in the bed.g file).
-
Run G32, which runs bed.g to do auto calibration. You can also home the printer at the start of bed.g. My bed.g file homes the printer conditionally if any axes are not flagged as having been homed.
-
Start the print without homing again. This means that the Z height will be correct, also if the endstop switch trigger points vary slightly then auto calibration will take care of that variation.
-
-
@dc42 said in Delta Calibration Process:
The best procedure IMO is:
Thanks, yes, that's the sequence I generally follow (a delta calibration before each print, after heating, no home between calibration and print), but I tried some alternatives when this thread suggested doing otherwise casued things to go wonky.
-
@dc42 Thank you! This is what I needed. I come from the Ultibot days when they gave us a Simplify3D conifugration than ran a G28 every print. I'll give this all a go, I was having all sorts of issue but after microstepping back 0.9mm each print has been perfect so I'll let you know soon.
Did a lot of work upgrading from 1.16, replaced duet wifi 2, re-wrired (and checked my crimps) and checked everything w my multi-meter, installed new PETG tube inside e3d, installed new themistor, replaced my PEI bed, so I wanted to be sure everything was good now that I know more this go around.