• Tags
  • Documentation
  • Order
  • Register
  • Login
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.
  • undefined
    Qdeathstar
    last edited by 28 Nov 2016, 01:05

    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
    • undefined
      DjDemonD
      last edited by 28 Nov 2016, 17:43

      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
      • undefined
        Qdeathstar
        last edited by 28 Nov 2016, 18:35

        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
        • undefined
          DjDemonD
          last edited by 28 Nov 2016, 18:51

          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
          • undefined
            Qdeathstar
            last edited by 28 Nov 2016, 19:28

            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
            • undefined
              Qdeathstar
              last edited by 28 Nov 2016, 19:29

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

              1 Reply Last reply Reply Quote 0
              • undefined
                DjDemonD
                last edited by 28 Nov 2016, 20:01

                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
                • undefined
                  kraegar
                  last edited by 29 Nov 2016, 16:28

                  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
                  • undefined
                    dc42 administrators
                    last edited by 29 Nov 2016, 16:45

                    @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
                    • undefined
                      kraegar
                      last edited by 29 Nov 2016, 17:17

                      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
                      • undefined
                        StephenRC
                        last edited by 29 Nov 2016, 17:27

                        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
                        • undefined
                          dc42 administrators
                          last edited by 29 Nov 2016, 19:10

                          @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
                          • undefined
                            kraegar
                            last edited by 29 Nov 2016, 20:04

                            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
                            • undefined
                              Qdeathstar
                              last edited by 29 Nov 2016, 22:22

                              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
                              • undefined
                                Qdeathstar
                                last edited by 30 Nov 2016, 02:05

                                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
                                • undefined
                                  dc42 administrators
                                  last edited by 30 Nov 2016, 07:17

                                  @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
                                  • undefined
                                    Qdeathstar
                                    last edited by 12 Jan 2016, 01:24 1 Dec 2016, 00:32

                                    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 1 Dec 2016, 01:10

                                      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
                                      • undefined
                                        Qdeathstar
                                        last edited by 1 Dec 2016, 01:16

                                        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 1 Dec 2016, 01:30

                                          Glad to hear you got it solved

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