Unreliable Z height calibration on V-Core 3 w/BLtouch & Mini 5+
-
You are correct, there is no G28 inserted in the slicer.
Yes, the variations are present between different runs of the same print.
-
@juliann said in Unreliable Z height calibration on V-Core 3 w/BLtouch & Mini 5+:
Thank you @fcwilt
This is the result:
G32 bed probe heights: -0.079 -0.077 -0.077 -0.078 -0.078 -0.076 -0.078 -0.078 -0.078 -0.077, mean -0.078, deviation from mean 0.001
I'm a bit late to the party so if I repeat what you have already been told I apologize.
When you use a single G30 at a fixed XY location you are setting the Z=0 Datum.
For the fixed XY location I suggest using the center of the bed.
It is important to do this when creating your height map and when loading your height map.
Now setting the Z=0 Datum can be done as part of homing Z or homing ALL as long as it occurs before creating the height map or before loading the height map.
If you change Z probe settings in either M558 or G31 it would be best to create a new height map.
If you change the XY point you use when setting the Z=0 Datum you should also create a new height map.
Frederick
-
@juliann ok so quite a lot of variation across the bed is shown by the height map.
Try adding a single G30 at the bed centre into your start gcode before you load the height map and see if it if makes it more consistent (it might not be exactly right and still need baby stepping. its more about seeing if the amount of baby stepping needed changes.
-
-
-
After following your instructions I think I got an improvement because now there is not a baby stepping variation anymore between different runs of the same print.
But... always there is a but... if I turn off and on the printer and then try to print anything, all the calibration is gone, so I need to recalibrate the baby steps again to get those nice first layers that I used to have.Thanks again!
Julián. -
@juliann said in Unreliable Z height calibration on V-Core 3 w/BLtouch & Mini 5+:
After following your instructions I think I got an improvement because now there is not a baby stepping variation anymore between different runs of the same print.
But... always there is a but... if I turn off and on the printer and then try to print anything, all the calibration is gone, so I need to recalibrate the baby steps again to get those nice first layers that I used to have.Thanks again!
Julián.If you find you need to adjust baby-stepping once at power on and then it works fine you should be able change the Z Trigger Height parameter in G31 by the same amount.
If you are baby-stepping closer (a negative value) add the absolute of that value to the Z Trigger height parameter.
If you are baby-stepping away (a positive value) subtract that value from the Z Trigger height parameter.
Recall that increasing the Z Trigger Height parameter will result in the nozzle ending up closer to the bed.
In any case when you change G31 you need to be sure it is executed to have the changes take effect.
Frederick
-
Sorry for the delay, I did a lot of tests! After applying all the tweaks you gave me the Z height improved a lot, I have a new printer!
There is just one specific and persistent issue which is only present after powering on the printer.
Its behaviour is the following:
- The printer is already calibrated and all previous prints were perfectly fine.
- Power off and power on the printer
- I try to print anything and the first layer is much more closer to the bed that usual.
- Cancel that print (Emergency stop on DWC) and clean the bed
- so I print again the same file without touching any setting and now the first layer is perfect again.... (and of course I can continue printing without issues)
What I am missing?
Thanks a lot for all the help!
Julián. -
Hi,
Well clearly something is being done under those circumstances that is not being done on power up and thus some setting is not getting set correctly.
Do you have any of the following files in your Sys folder:
- cancel.g
- pause.g
- stop.g
If you do please post them here using the </> tag.
Frederick
-
Thank you very much Frederick!
No, I don't have any of these files in my system folder.
Julián.
-
@juliann said in Unreliable Z height calibration on V-Core 3 w/BLtouch & Mini 5+:
Thank you very much Frederick!
No, I don't have any of these files in my system folder.
Julián.
Hmm...
I don't know all the "side effects" of hitting "Emergency Stop".
It's possible that, in the code executed at the start of a print, the order of execution is incorrect.
Here is a very simple, artificial example of what I am getting at using just two commands:
M703 T0
The command M703 will fail if a tool is not selected but the tool is not selected by the T0 command until after the M703 command has already failed.
If I execute that same pair of commands a second time the M703 will work since the tool is now selected.
So if you could post the first 20 lines or so of a file that doesn't print after power on but prints the second time perhaps we can see something.
Frederick
-
Hi Frederick,
This is a fragment of the file I am printing today, of course the behaviour is still the same, after cancelling the first try now it is printing perfectly.
About M703 and T0, I executed them but I didn't get any event or error.
Thanks again!
Julián.; ; external perimeters extrusion width = 0.45mm ; perimeters extrusion width = 0.45mm ; infill extrusion width = 0.42mm ; solid infill extrusion width = 0.42mm ; top infill extrusion width = 0.40mm ; first layer extrusion width = 0.42mm M140 S80 ; set bed temperature G10 P0 R265 ; sets the standby temperature G10 P0 S267 ; set temperature ;TYPE:Custom G28 ; home all axes G1 Z5 F5000 ; lift nozzle M107 G21 ; set units to millimeters G90 ; use absolute coordinates M82 ; use absolute distances for extrusion G92 E0 ; Filament gcode G1 X250 Y250 G30 M290 R0 S-0.12 G29 S1 G10 P0 S267 ; set temperature M116 ; wait for temperature to be reached M190 S80 ; set bed temperature and wait for it to be reached M107 ;LAYER_CHANGE ;Z:0.25 ;HEIGHT:0.25 ; 0.2mm layer, 8 bands 5mm each, total height 40mm ; G1 Z0.25 F18000 G1 E-0.3 F3600 G1 X225.081 Y213.029 F18000 G1 E0 F3000 ;TYPE:Skirt ;WIDTH:0.42 G1 F600 G1 X226.211 Y211.864 E0.05129 G1 X226.84 Y211.385 E0.07628 G1 X227.733 Y210.982 E0.10725 G1 X228.699 Y210.814 E0.13823 G1 X271.124 Y210.809 E1.47905 G1 X271.771 Y210.864 E1.49958 G1 X272.401 Y211.025 E1.52011
-
I didn't mean for you to do anything with the T0 and M703 commands, it was just to illustrate that the order of code can lead to things failing the first time but working after that.
Thanks for the code you posted.
Since that code executed G28 could you post your homeall.g file.
Where did the setup code (the code before the layer change comment) come from? It's a bit unusual.
That code also includes a M290 to set baby-stepping. What is that there?
Thanks.
Frederick
-
Oh I got it, sorry, I am still in the beginner area of 3d printing
Superslicer Filament start and end gcodes:
G1 X250 Y250 G30 M290 R0 S-0.12 G29 S1
Superslicer end gcode
; Filament-specific end gcode ;END gcode for filament
Superslicer Printer Custom gcodes:
Start gcode
G28 ; home all axes G1 Z5 F5000 ; lift nozzle
End gcode
M104 S0 ; turn off temperature M140 S0 ; turn off bed G28 X0 ; home X axis M84 ; disable motors M999
As I can't find all other commands on the settings pages of the SuperSlicer 2.3.57, honestly I am not sure if they were generated by the slicer itself.
homeall.g
; BLTouch ;M280 P0 S160 ; Precautionary alarm release M280 P0 S160 ; Ensure the pin is raised G91 ; relative positioning G1 H2 Z10 F6000 ; lift Z relative to current position ;G91 ; relative positioning ;G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-505 Y505 F3600 ; move quickly to X and U axis endstops and stop there (first pass) G1 H1 X-505 F1800 ; move quickly to X and U axis endstops and stop there (first pass) G1 H1 Y505 F1800 ; move quickly to X and U axis endstops and stop there (first pass) ;G1 H2 X5 Y-5 F6000 ; go back a few mm G1 H1 X-505 Y505 F360 ; move slowly to X and U axis endstops once more (second pass) G1 H1 X-505 F360 ; move slowly to X and U axis endstops once more (second pass) G1 H1 Y505 F360 ; move slowly to X and U axis endstops once more (second pass) G90 ; absolute positioning G1 X250 Y250 F10000 ; go to first probe point G30 ; home Z by probing the bed G91 ; relative positioning G1 Z10 F1800 ; lift Z relative to current position G90 ; absolute positioning G1 X0 Y35 F10000 ;G29 S1
Thank you very much!
Julián. -
Thanks.
Now I am even more confused.
Where did that code come from? Did you create it yourself?
You mentioned different sections of SuperSlicer code. Did you decide what code went into what section?
The code in the Filament Start and Start sections doesn't seem right.
This is what I think your homeall.g file should look like but it's hard to be sure as what you posted was a mixture of approaches to homing.
M402 ; Ensure pin is raised - when you use M402 the firmware knows the pin should be raised G91 ; relative positioning G1 H2 Z10 F6000 ; lift Z relative to current position G1 H1 X-505 F1800 ; move to X endstop (fast) G1 X5 ; backup a bit G1 H1 X-10 F360 ; move to X endstop (slow) G1 H1 Y505 F1800 ; move to Y endstop (fast) G1 Y-5 ; backup a bit G1 H1 Y10 F360 ; move to Y endstop (slow) G90 ; absolute positioning G1 X250 Y250 F10000 ; move probe to XY position for probing G30 ; home Z by probing the bed G1 Z10 F1800 ; move Z to "done homing" position G1 X0 Y35 F10000 ; move X and Y to "done homing" positions
-
Thank you @fcwilt
All slicer configurations were created based on findings that I came across on forums and Internet, I mean, they are there just by doing copy and paste...
Where should I start fixing or organising it?
-
@juliann said in Unreliable Z height calibration on V-Core 3 w/BLtouch & Mini 5+:
Thank you @fcwilt
All slicer configurations were created based on findings that I came across on forums and Internet, I mean, they are there just by doing copy and paste...
Where should I start fixing or organising it?
I'm about to have lunch. So give me a bit of time and I will create some basic code you can put into the slicer as a starting point.
Frederick
-
Thank you so much Frederick for taking the time, please enjoy your lunch
-
@juliann said in Unreliable Z height calibration on V-Core 3 w/BLtouch & Mini 5+:
Thank you so much Frederick for taking the time, please enjoy your lunch
There has been a bit of disruption of my work as the local authorities have been out and about near my home looking for a missing person. They asked if I would review my security camera recordings to see if anything was picked up.
They are gone now and I am back to work.
Sorry for the delay.
Frederick
-
@juliann said in Unreliable Z height calibration on V-Core 3 w/BLtouch & Mini 5+:
Thank you so much Frederick for taking the time, please enjoy your lunch
I installed SuperSlicer and had it slice a simple cube object so I could set what code it generated with default settings.
I have posted the code below with all generated "junk" removed.
; SuperSlicer print start code using RepRap setting M140 S60 ; set bed temperature G10 P0 R190 ; sets the standby temperature G10 P0 S190 ; set temperature G28 ; home all axes G1 Z5 F5000 ; lift nozzle *** THE POSITIONING MODE (absolute or relative) IS NOT KNOWN *** M107 ; disable fan G21 ; set units to millimeters G90 ; use absolute coordinates M83 ; use relative distances for extrusion G10 P0 S190 ; set temperature M116 ; wait for temperature to be reached M190 S60 ; set bed temperature and wait for it to be reached M107 ; disable fan
; SuperSlicer print end code using RepRap setting M486 S-1 ; object cancelation M107 ; disable fan M104 S0 ; turn off temperature G28 X0 ; home X axis M84 ; disable motors
With the updated homeall.g file I posted earlier this SuperSlicer generated code is basically OK and should work - although it does have a a minor flaw or two.
So I would update your homeall.g file and make sure it works.
Then slice a simple file and see if the start/end code matches what I posted here.
If it does try to print with it.
Frederick