Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Unreliable Z height calibration on V-Core 3 w/BLtouch & Mini 5+

    Scheduled Pinned Locked Moved Solved
    Tuning and tweaking
    7
    50
    3.2k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • juliannundefined
      juliann @T3P3Tony
      last edited by

      Thank you very much @t3p3tony @fcwilt

      I am checking it right now, I will be back as soon as I finish the tests 🙂

      juliannundefined 1 Reply Last reply Reply Quote 0
      • juliannundefined
        juliann @juliann
        last edited by

        Hi @fcwilt and @T3P3Tony

        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.

        fcwiltundefined 1 Reply Last reply Reply Quote 0
        • fcwiltundefined
          fcwilt @juliann
          last edited by

          @juliann said in Unreliable Z height calibration on V-Core 3 w/BLtouch & Mini 5+:

          Hi @fcwilt and @T3P3Tony

          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

          Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

          juliannundefined 1 Reply Last reply Reply Quote 1
          • juliannundefined
            juliann @fcwilt
            last edited by

            Hi @fcwilt and @T3P3Tony

            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.

            fcwiltundefined 1 Reply Last reply Reply Quote 0
            • fcwiltundefined
              fcwilt @juliann
              last edited by fcwilt

              @juliann

              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

              Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

              juliannundefined 1 Reply Last reply Reply Quote 0
              • juliannundefined
                juliann @fcwilt
                last edited by

                @fcwilt

                Thank you very much Frederick!

                No, I don't have any of these files in my system folder.

                Julián.

                fcwiltundefined 1 Reply Last reply Reply Quote 0
                • fcwiltundefined
                  fcwilt @juliann
                  last edited by

                  @juliann said in Unreliable Z height calibration on V-Core 3 w/BLtouch & Mini 5+:

                  @fcwilt

                  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

                  Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                  juliannundefined 1 Reply Last reply Reply Quote 0
                  • juliannundefined
                    juliann @fcwilt
                    last edited by

                    @fcwilt

                    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
                    
                    fcwiltundefined 1 Reply Last reply Reply Quote 0
                    • fcwiltundefined
                      fcwilt @juliann
                      last edited by

                      @juliann

                      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

                      Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                      juliannundefined 1 Reply Last reply Reply Quote 0
                      • juliannundefined
                        juliann @fcwilt
                        last edited by

                        @fcwilt

                        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.

                        fcwiltundefined 1 Reply Last reply Reply Quote 0
                        • fcwiltundefined
                          fcwilt @juliann
                          last edited by

                          @juliann

                          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
                          
                          

                          Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                          juliannundefined 1 Reply Last reply Reply Quote 0
                          • juliannundefined
                            juliann @fcwilt
                            last edited by

                            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? 🙂

                            fcwiltundefined 1 Reply Last reply Reply Quote 1
                            • fcwiltundefined
                              fcwilt @juliann
                              last edited by

                              @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

                              Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                              juliannundefined 1 Reply Last reply Reply Quote 0
                              • juliannundefined
                                juliann @fcwilt
                                last edited by

                                @fcwilt

                                Thank you so much Frederick for taking the time, please enjoy your lunch 🙂

                                fcwiltundefined 2 Replies Last reply Reply Quote 1
                                • fcwiltundefined
                                  fcwilt @juliann
                                  last edited by

                                  @juliann said in Unreliable Z height calibration on V-Core 3 w/BLtouch & Mini 5+:

                                  @fcwilt

                                  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

                                  Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                                  1 Reply Last reply Reply Quote 0
                                  • fcwiltundefined
                                    fcwilt @juliann
                                    last edited by

                                    @juliann said in Unreliable Z height calibration on V-Core 3 w/BLtouch & Mini 5+:

                                    @fcwilt

                                    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

                                    Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                                    juliannundefined 2 Replies Last reply Reply Quote 0
                                    • juliannundefined
                                      juliann @fcwilt
                                      last edited by

                                      Hi Frederick @fcwilt

                                      No problem at all, thanks again for taking all this time helping me. 🙂

                                      I am checking and updating all the settings following your instructions and I will try another print. I will let you know the results tomorrow for sure.

                                      Thank you very much!
                                      Julián.

                                      1 Reply Last reply Reply Quote 1
                                      • juliannundefined
                                        juliann @fcwilt
                                        last edited by

                                        @fcwilt

                                        Hi Frederick

                                        Sorry for the delay, but the tests didn't result very well, basically I am getting a similar issues.
                                        Just to re-confirm: have I to remove the previous start/ end code on the slicer?

                                        So the right configuration should be based on a combination between homeall.g and the slicer settings?

                                        Thank you very much
                                        Julián.

                                        fcwiltundefined sinned6915undefined 2 Replies Last reply Reply Quote 0
                                        • fcwiltundefined
                                          fcwilt @juliann
                                          last edited by

                                          @juliann said in Unreliable Z height calibration on V-Core 3 w/BLtouch & Mini 5+:

                                          @fcwilt

                                          Hi Frederick

                                          Sorry for the delay, but the tests didn't result very well, basically I am getting a similar issues.
                                          Just to re-confirm: have I to remove the previous start/ end code on the slicer?

                                          So the right configuration should be based on a combination between homeall.g and the slicer settings?

                                          Thank you very much
                                          Julián.

                                          Aside from the homeall.g file I posted the other code was generated by SuperSlicer. I posted here as it was other than removing lines that were just comments.

                                          The file you are trying to print should have code that looked like what I posted.

                                          Please post as before up until "layer 1" starts.

                                          Thanks.

                                          Frederick

                                          Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                                          juliannundefined 1 Reply Last reply Reply Quote 0
                                          • sinned6915undefined
                                            sinned6915 @juliann
                                            last edited by sinned6915

                                            @juliann you have too many balls in the air. rule one of diganostics and trouble shooting is simplify.

                                            1. from your your bedmap, i suspect that your rails are not in alignment- i think that your back right (Xmax,Ymax) rail is HIGH. It appears high in the map because the Z is inverted. re-read the v-core docs on rail alignment and see if its right. if we know that its off, we can take that into account.

                                            2. In your start gode, you are settin z-o, then adjusting the nozzle -0.12mm realtive, then mesh the bed?? what is the purpose of that?
                                              M290 R0 S-0.12
                                              in the fragment of what you were printing, you had a standby temp of 265 and print temp of 267. What are you printing with?

                                            3. Consider tramming you bed with 4 points, not 3. save your beg.g and make a SIMPLER one. you have to crawl before you can run. once you see this works, then go back and add in the iteration stuff if yo want it. i dont think you do if you have a quality bed that is made well.
                                              bed.g-

                                            M290 R0 S0    ;  clear baby stepping
                                            M561               ;  reset all bed adjustments
                                            M400               ;  flush move queue
                                            
                                            if !move.axes[0].homed or !move.axes[1].homed or !move.axes[2].homed
                                              echo "not all axes homed, homing axes first"
                                              G28
                                            
                                            G30 X250 Y250                               ; set middle of bed
                                            
                                            G30 P0 X10 Y10 Z-99999              ; Front Left
                                            G30 P1 X10 Y470 Z -9999             ; BL
                                            G30 P2 X460 Y470 Z-99999         ; BR
                                            G30 P3 X460 Y10 Z-99999 S3      ; FR autolevel 3 screws 
                                            
                                            G30 X250 Y250                              ; reprobe middle of bed in case it shifted
                                            
                                            1. prove to yourself that it level - move Z to a height you can check you nozzle with a feeler gauge of some kind. paper, cardboard, anything. jog the nozzle till you can just feel it dragging on the feeler and move the head around. you can use a M18 X Y to disable the steppers but keep power to the Z motors.

                                            2. print something WITHOUT the heightmap, only bed tram. this want to be like 4 squares, 1 layer thick, 50x50 x0.3mm high, one at each corner and one in the middle.

                                            3. Aftter you print something w/o heightmap, THEN perform a height map and reprint.

                                            4. if you want to slice a simple cube in superslicer and save the config bundle, you should be able to zip it and attach to this thread. those of us who use super slicer can open it and see exactly what is in there for gcodes and settings.

                                            sinneD

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA