G31 Confusion

  • I'm having an issue setting the Z zero position using the G31 statement. I've gone through the calibrating delta section as well as the Smart Effector commissioning section but I'm still confused. After performing all the steps of trapping the paper, etc. I arrive at a value to put into my G1 such as G31 X0 Y0 Z-.27 P100. I then reboot, do a G28 followed by a G1 Z0. I end up no where near trapping the paper. It seems that no matter what value I enter into G31 the zero point stays the same. This must be something I'm doing wrong or I just don't understand the process. I'll include the config.g and config-override.g in hopes someone may see what I've done wrong.
    Thanks, Dave

    ; Configuration file for Duet Ethernet and Wifi

    ; Communication and general
    M111 S0 ; Debug off
    M550 PDuet-Delta ; Machine name and Netbios name (can be anything you like)
    M551 Preprap ; 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

    M575 P1 B57600 S1

    ;*** Networking - Enable for both WiFi and Ethernet boards.
    M552 S1 ; Turn network on

    ;*** Ethernet networking: Adjust the IP address and gateway in the following 2 lines to suit your network
    M552 P0.0.0.0 ; (0 = DHCP)
    M554 P192.168.1.255 ; Gateway
    M553 P255.255.255.0 ; Netmask

    M555 P2 ; Set output to look like Marlin
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates…
    M83 ; ...but relative extruder moves

    ; Axis and motor configuration
    M569 P0 S1 ; Drive 0 goes forwards (X)
    M569 P1 S1 ; Drive 1 goes forwards (Y)
    M569 P2 S1 ; Drive 2 goes forwards (Z)
    M569 P3 S1 ; Drive 3 goes forwards
    M569 P4 S1 ; Drive 4 goes forwards
    M574 X2 Y2 Z2 S1 ; set endstop configuration (all endstops at high end, active high)

    M350 X16 Y16 Z16 E16:16 I1 ; Set 16x microstepping with interpolation
    M92 X80 Y80 Z80 E96.0 ; Set axis steps/mm

    M906 X1000 Y1000 Z1000 E800 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 B3950 R4700 H30 L0 ; Typical Chineese bed thermistor (ATC Semitec 104GT-2)
    M305 P1 T100000 B4725 R4700 H30 L0 ; E3D v6 hotend

    M570 S180 ; Hot end may be a little slow to heat up so allow it 180 seconds

    ; Fans
    M106 P0 H-1 ; Not used - bad MOSFET
    M106 P1 T45 H1 ; Hot end fan
    M106 P2 H-1 ; Part cooling fan
    M563 P0 D0 H1 F2 ; tool 0 uses extruder 0,heater 1 and fan 2

    ; Tool definitions
    G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures

    ; Z probe and compensation definition
    M208 S1 Z-2.0 ; set minimum Z
    M558 P5 R0.4 H20 F1000 T8000 ; Z probe is a Smart Effector probe
    G31 X0 Y0 Z-.27 P100 ; 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
    M557 R95 S20 ; G29 probing grid
    T0 ; select first hot end
    M501 ; Load contents of config.override

    ; This is a system-generated file - do not edit
    ; Delta parameters
    M665 L289.218 R139.922 H206.869 B116.0 X-0.112 Y-0.194 Z0.000
    M666 X0.034 Y0.739 Z-0.773 A0.00 B0.00
    ; Heater model parameters
    M307 H0 A142.5 C439.2 D0.4 S1.00 B0
    M307 H1 A190.7 C101.3 D3.3 S1.00 B0
    M307 H2 A340.0 C140.0 D5.5 S1.00 B0
    M307 H3 A340.0 C140.0 D5.5 S1.00 B0
    M307 H4 A340.0 C140.0 D5.5 S1.00 B0
    M307 H5 A340.0 C140.0 D5.5 S1.00 B0
    M307 H6 A340.0 C140.0 D5.5 S1.00 B0
    M307 H7 A340.0 C140.0 D5.5 S1.00 B0

  • which firmware are you running?

    Unless you are using the latest beta firmware then you need have your G31 line in your config-override.g file.

    Welcome to the forums!

  • I'm using 1.20Beta7 but I'll try moving the G31 anyway just in case.

  • That is odd. 1.20beta2 is when the G31 moved out of config-override and only into config.g meaning yours should have been setup correctly as much as I can see.

    I am pretty sure if you put it back into your override, that it will be removed from that file automatically next time you run an M500.

  • For me, I have G31 P100 X0 Y0 Z-0.1 in config.g, on each boot I press home all and then a calibrate bed and I usually get a good first layer.

    I tend to have a bed offset in slic3r of 0.15 for PLA.

  • You are right. A G31 in config-override will be removed by the next M500. A took a clue from DADIY and tried the following:
    Set the G31 to the offset I wanted.
    G1 Z0 -> offset at zero was not what I wanted.
    G32 let it calibrate
    G1 Z0 -> offset at zero IS what I wanted

    Is it possible that the G31 is only an input to the G32 routine? I notice that every time I calibrate there are subtle differences in the M665 and M666 entries but I assume that's to be expected. I suppose I could try different G31 values and then look at M665 and try to find a pattern.

  • The G31 is the probe offset, not setting Z=0. If you were to have ran a G92 Z0 (this sets Z=0), homed, G1 Z0, you would have went back to holding the paper. Without running the G32 after figuring out the number to put into G31, you weren't finding your corrected homed height. You can expect slight variances in config-override.g after running G32 and saving. If you are happy with the results, you can always lower the S factor at the end of your bed.g file.

  • I wasn't very clear in my original post when I mentioned running through the steps in calibrating the delta. I was using
    https://www.duet3d.com/wiki/Calibrating_a_delta_printer as a guide and in "Measuring the trigger height" step 6 is doing a G92 Z0. This was done several times as I ran through the process.


Looks like your connection to Duet3D was lost, please wait while we try to reconnect.