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

    Improving auto-calibration.

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    6
    26
    4.9k
    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.
    • Qdeathstarundefined
      Qdeathstar
      last edited by

      Hello,

      I think i have gotten the auto-calibration as good as I can by myself, however im sure there is more to do. As you can see in the pictures the nozzle ends up too high in between X and Y to the Y carriage.

      Currently I am running auto-calibration every time i start the print by sending a G32 command. I am printing on a 1/8" sheet of PEI painted black on the bottom, glued to 1/8" glass, on top of an aluminum heats spreader and an onyx heater.



      Here are is my config.g

      ; Configuration file for Mini Kossel kit from Think3DPrint3D for testing Duet WiFi
      
      ; Communication and general
      M111 S0                             	; Debug off
      M552 S1
      M550 Mr. Green Romax		; Machine name and Netbios name (can be anything you like)
      M551 turdliwink                  	; Machine password (used for FTP)
      ;*** If you have more than one Duet on your network, they must all have different MAC addresses, so change the last digits
      M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xED 	; MAC Address
      ;*** Wifi Networking
      
      M555 P2                           	; Set output to look like Marlin
      M575 P1 B57600 S1			; Comms parameters for PanelDue
      
      G21                                 	; Work in millimetres
      G90                                	; Send absolute coordinates...
      M83                                 	; ...but relative extruder moves
      
      ; Axis and motor configuration
      M569 P0 S1				; Drive 0 goes forwards
      M569 P1 S0				; Drive 1 goes forwards
      M569 P2 S1				; Drive 2 goes forwards
      M569 P3 S0				; Drive 3 goes forwards
      M569 P4 S0				; Drive 4 goes forwards
      M574 X2 Y2 Z2 S1			; set endstop configuration (all endstops at high end, active high)
      ;*** The homed height is deliberately set too high in the following - you will adjust it during calibration
      M665 R141.729 L290.8 B170 H376.166	; set delta radius, diagonal rod length, printable radius and homed height
      M666 X0 Y0 Z0				; put your endstop adjustments here, or let auto calibration find them
      M350 X16 Y16 E16 I1    			; Set 16x microstepping with interpolation
      M92 X82.5 Y82.5 Z82.5				; Set axis steps/mm
      M906 X950 Y950 Z950 E1200 I60		; Set motor currents (mA) and increase idle current to 60%
      M201 X1000 Y1000 Z1000 E1000		; Accelerations (mm/s^2)
      M203 X20000 Y20000 Z20000 E3600		; Maximum speeds (mm/min)
      M566 X1200 Y1200 Z1200 E1200		; Maximum instant speed changes mm/minute
      
      ; Thermistors
      M305 P0 T100000 B5500 R4700 H30 L0	; Put your own H and/or L values here to set the bed thermistor ADC correction
      M305 P1 T100000 B3800 R4700 H30 L0	; Put your own H and/or L values here to set the first nozzle thermistor ADC correction
      M305 P2 T100000 B6000 R4700 H30 L0	; Put your own H and/or L values here to set the second nozzle thermistor ADC correction
      M307 H1 A310.1 C147.3 D15 B0 S0.60;PIbD setting for hot end
      M307 H0 A45.7 C917.2 D32.7 B0 S1 ;PID settting for heat bed
      
      M570 S180				; Hot end may be a little slow to heat up so allow it 180 seconds
      
      ; Fans
      M106 P1 T45 H1				; disable thermostatic mode for fan 1
      
      ; Tool definitions
      M563 P0 D0 H1                       	; Define tool 0
      G10 P0 S0 R0                        	; Set tool 0 operating and standby temperatures
      ;*** If you have a single-nozzle build, comment the next 2 lines
      ;M563 P1 D1 H2                      	; Define tool 1
      ;G10 P1 S0 R0                       	; Set tool 1 operating and standby temperatures
      
      M92 E0492.45                       	; Set extruder steps per mm
      
      ; Z probe and compensation definition
      ;*** If you have a switch instead of an IR probe, change P1 to P4 in the following M558 command
      M558 P1 X0 Y0 Z0			; Z probe is an IR probe and is not used for homing any axes
      G31 X0 Y-8 Z2.5 P500	; Set the zprobe height and threshold (put your own values here)
      
      ;*** If you are using axis compensation, put the figures in the following command
      M556 S78 X0 Y0 Z0                   	; Axis compensation here
      
      M208 S1 Z-20				; set minimum Z
      ;
      T0					; select first hot end
      
      

      and my bed.g

      ; Auto calibration routine for delta printers
      ; Before running this, you should have set up your zprobe Z offset to suit your build, in the G31 command in config.g.
      
      M561						; clear any bed transform, otherwise homing may be at the wrong height
      G31 X0 Y0					; don't want any probe offset for this
      G28							; home the printer
      
      ;*** Remove the following line if your Z probe does not need to be deployed
      ;M98 Pdeployprobe.g			; deploy the mechanical Z probe
      
      ; The first time the mechanical probe is used after deployment, it gives slightly different results.
      ; So do an extra dummy probe here. The value stored gets overwritten later. You can remove this if you use an IR probe.
      ;G30 P0 X0 Y0 Z-99999
      
      ; Probe the bed and do 6- or 7-factor auto calibration
      G30 P0 X0.00 Y110.00 Z-99999
      G30 P1 X70.71 Y84.26 Z-99999
      G30 P2 X108.33 Y19.10 Z-99999
      G30 P3 X95.26 Y-55.00 Z-99999
      G30 P4 X37.62 Y-103.37 Z-99999
      G30 P5 X-37.62 Y-103.37 Z-99999
      G30 P6 X-95.26 Y-55.00 Z-99999
      G30 P7 X-108.33 Y19.10 Z-99999
      G30 P8 X-70.71 Y84.26 Z-99999
      G30 P9 X0.00 Y55.00 Z-99999
      G30 P10 X47.63 Y27.50 Z-99999
      G30 P11 X47.63 Y-27.50 Z-99999
      G30 P12 X0.00 Y-55.00 Z-99999
      G30 P13 X-47.63 Y-27.50 Z-99999
      G30 P14 X-47.63 Y27.50 Z-99999
      G30 P15 X0 Y0 Z-99999 S6
      M665
      M666
      
      ;*** Remove the following line if your Z probe does not need to be retracted
      ;M98 Pretractprobe.g				; retract the mechanical Z probe
      
      G1 X0 Y0 Z150 F15000			; get the head out of the way of the bed
      
      
      1 Reply Last reply Reply Quote 0
      • DjDemonDundefined
        DjDemonD
        last edited by

        What deviation values do you get after auto calibration? I can get 0.006 but still my nozzle to bed gap over 330mm is not exactly right. Now using grid levelling and its perfect can print anywhere on the bed with a very nice first layer.

        I notice you don't have any H values, you're using an IR probe, yes? Are you sure there is no effector tilt affecting trigger points?

        Grid levelling might be worth a try. David is going to enable a load height map function so you wont have to probe every time. The probing is a bit tedious if you add it to your bed.g as it takes longer than my hot end takes to heat up.

        Simon. Precision Piezo Z-Probe Technology
        www.precisionpiezo.co.uk
        PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

        1 Reply Last reply Reply Quote 0
        • Qdeathstarundefined
          Qdeathstar
          last edited by

          What are H values, and no, I'm not sure about the effector tilt, it seeks like it would be very difficult to put a level on the effector…

          It says my deviation is .03

          1 Reply Last reply Reply Quote 0
          • DjDemonDundefined
            DjDemonD
            last edited by

            So H values are used to compensate for effector tilt. Unless your mechanicals are very, very precise you'll get some effector tilt at some x,y coordinates.

            The further from the nozzle your IR sensor is mounted the more exaggerated this will be. H values are derived by going to each of your probing points and manually measuring the distance between probe trigger point and the bed. They are then added to each of your G30 commands to compensate for tilt.

            You might see your auto calibration jump up a bit in accuracy by doing this, or you might have no effector tilt. I just mounted my IR very close to the nozzle, as close as I dare.

            If this isnt the issue then try grid levelling by installing the beta of 1.17 firmware.

            Simon. Precision Piezo Z-Probe Technology
            www.precisionpiezo.co.uk
            PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

            1 Reply Last reply Reply Quote 0
            • Qdeathstarundefined
              Qdeathstar
              last edited by

              The trigger height should be the same at each location, correct?

              Am I measuring the distance between the nozzle and the bed, of the irprobe and bed?

              My ir probe is situated 5mm away from my heat block.

              1 Reply Last reply Reply Quote 0
              • Qdeathstarundefined
                Qdeathstar
                last edited by

                How can I get the probe to stop at its trigger?

                1 Reply Last reply Reply Quote 0
                • DjDemonDundefined
                  DjDemonD
                  last edited by

                  So the trigger height will be the same distance above the bed at each location but if your effector has tilted the nozzle to bed distance at the trigger height will be different. This difference is what you are measuring relative to the trigger height at bed centre where effector tilt should be zero. Your IR probe according to your config.g is pretty close to your nozzle so these will be small values.

                  You are measuring the distance between the trigger height and the nozzle hitting the bed. So go to a coordinate, send G30 the head will descend and stop when triggered OR lower the head manually until the LED comes on, on the IR sensor board. Then manually lower until you grip a piece of paper or actually make contact with the bed whichever is easier to measure. Do this at bed centre, and each of the autocalibration probing points.

                  H = (trigger height measured at the point) - (trigger height at the bed center)

                  So enter for each of your points in bed.g the H value i.e.

                  G30 P0 X0.00 Y110.00 Z-99999 H0
                  G30 P1 X70.71 Y84.26 Z-99999 H0.3
                  G30 P2 X108.33 Y19.10 Z-99999 H-0.4
                  G30 P3 X95.26 Y-55.00 Z-99999 H-0.6

                  See how you get on with that.

                  Simon. Precision Piezo Z-Probe Technology
                  www.precisionpiezo.co.uk
                  PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

                  1 Reply Last reply Reply Quote 0
                  • kraegarundefined
                    kraegar
                    last edited by

                    I too likely need to add H values to my probe points. My main issue is with the variability of the test for when the nozzle is gripping a sheet of paper. There's some subjectivity there.

                    What increments are you moving when you're calibrating those H values? 0.1mm, or lower?

                    I'm also a bit confused about how you determine the H value. Do you do a paper test like is outlined for configuring Z0 in the IR Probe setup? (Move to that point, lower the head until it grips a sheet of paper, set that as Z0, move up 5mm, then probe and then subtract the height at the bed center from that new value?

                    Co-Creator of the RailcoreII CoreXY printer
                    https://www.thingiverse.com/thing:2407174

                    1 Reply Last reply Reply Quote 0
                    • dc42undefined
                      dc42 administrators
                      last edited by

                      @kraegar:

                      I too likely need to add H values to my probe points. My main issue is with the variability of the test for when the nozzle is gripping a sheet of paper. There's some subjectivity there.

                      What increments are you moving when you're calibrating those H values? 0.1mm, or lower?

                      I'm also a bit confused about how you determine the H value. Do you do a paper test like is outlined for configuring Z0 in the IR Probe setup? (Move to that point, lower the head until it grips a sheet of paper, set that as Z0, move up 5mm, then probe and then subtract the height at the bed center from that new value?

                      I use 0.025mm increments on my delta with 160 steps/mm. If you have 100 or 200 steps/mm then you should use 0.020mm instead. The procedure I use is:

                      1. Move the head to over the probe point.

                      2. Lower the head until it just grips a sheet of paper (this is where I use 0.025mm increments near the end).

                      3. Send G92 Z0.

                      4. Raise the head 5mm.

                      5. Send G30 S-1 to lower the probe until it triggers.

                      6. Read off the Z height in the web interface.

                      I usually repeat steps 4-6 a few times to make sure the trigger height is consistent. The H parameter for each point is (trigger height at that point) - (trigger height at centre of bed).

                      HTH David

                      Duet WiFi hardware designer and firmware engineer
                      Please do not ask me for Duet support via PM or email, use the forum
                      http://www.escher3d.com, https://miscsolutions.wordpress.com

                      1 Reply Last reply Reply Quote 0
                      • kraegarundefined
                        kraegar
                        last edited by

                        David, that's exactly what I was looking for - thank you!

                        (You might consider adding those steps to the wiki for clear instructions on setting an H value for each point)

                        Is there a way to set the web interface to jog at 0.020? I have the "half move rate" checked, which took it down to 0.05mm

                        Co-Creator of the RailcoreII CoreXY printer
                        https://www.thingiverse.com/thing:2407174

                        1 Reply Last reply Reply Quote 0
                        • StephenRCundefined
                          StephenRC
                          last edited by

                          You could make a macro with a relative move. Something like this for going down:
                          G91 ; relative moves
                          G1 Z-0.020 ; go down a bit
                          G90 ; absolute moves

                          1 Reply Last reply Reply Quote 0
                          • dc42undefined
                            dc42 administrators
                            last edited by

                            @StephenRC:

                            You could make a macro with a relative move. Something like this for going down:
                            G91 ; relative moves
                            G1 Z-0.020 ; go down a bit
                            G90 ; absolute moves

                            That's exactly what I do, except I use 0.025mm because that is an exact number of microsteps on my printer.

                            Duet WiFi hardware designer and firmware engineer
                            Please do not ask me for Duet support via PM or email, use the forum
                            http://www.escher3d.com, https://miscsolutions.wordpress.com

                            1 Reply Last reply Reply Quote 0
                            • kraegarundefined
                              kraegar
                              last edited by

                              Mine's at 80 steps/mm

                              As an aside, I'm only calibrating down to 0.06 now, so hoping this makes a big improvement 🙂

                              Co-Creator of the RailcoreII CoreXY printer
                              https://www.thingiverse.com/thing:2407174

                              1 Reply Last reply Reply Quote 0
                              • Qdeathstarundefined
                                Qdeathstar
                                last edited by

                                When you say, "just gripping a piece of paper, is that until the paper can't move, or until we feel some resistance?

                                1 Reply Last reply Reply Quote 0
                                • Qdeathstarundefined
                                  Qdeathstar
                                  last edited by

                                  One thing i found out while doing this was that my endstops were loosely goosey… i tightened them up and now at least i can get repeatable results 😉

                                  1 Reply Last reply Reply Quote 0
                                  • dc42undefined
                                    dc42 administrators
                                    last edited by

                                    @Qdeathstar:

                                    When you say, "just gripping a piece of paper, is that until the paper can't move, or until we feel some resistance?

                                    I lower the nozzle until i can feel a significant resistance. The important thing is to be consistent.

                                    Duet WiFi hardware designer and firmware engineer
                                    Please do not ask me for Duet support via PM or email, use the forum
                                    http://www.escher3d.com, https://miscsolutions.wordpress.com

                                    1 Reply Last reply Reply Quote 0
                                    • Qdeathstarundefined
                                      Qdeathstar
                                      last edited by

                                      What do you guys think about my H-values… most of them are negative... i'd expect for them to be centered around zero, not mainly negative?

                                      1 Reply Last reply Reply Quote 0
                                      • Jackalundefined
                                        Jackal
                                        last edited by

                                        Qdeathstar, in what way does the auto calibration got worse?
                                        Your H values seems ok to me, I am probing 32 points and my H values add up to 1.6
                                        I don't think the effect of the end effector tilt would simply make them center around 0

                                        1 Reply Last reply Reply Quote 0
                                        • Qdeathstarundefined
                                          Qdeathstar
                                          last edited by

                                          Sorry, i did not find the real trigger height, i subtracted z-values (which made the h-values the inverse of what they needed to be)… I think i have the issue fixed, im testing now. The z-height overall was a little low on the first go.

                                          1 Reply Last reply Reply Quote 0
                                          • Jackalundefined
                                            Jackal
                                            last edited by

                                            Glad to hear you got it solved

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