Anotherone confused by G31 and Homed Height.



  • (Delta with Smart effector on Duet Wifi)

    If i run a G30, the printer finds the bed nicely. But, if i after doing that do a G28, and then tell the printer to go to Z0 it comes to hover about 0.7mm above the bed.

    I have searched the forum, but I have not been able to fix this. I do realize i am making some silly error after getting the Smart Effector in place.

    Initially i had "G31 P100 X0 Y0 Z-0.1" But i have also tried Z-0.05, and Z-0.01 but it seem to make no difference.

    So, how do I best use a smart effector to find the true Z-height of the machine?

    [c]config.g

    ; Configuration file for Duet WiFi (firmware version 1.20 or newer)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Sat Mar 10 2018 00:14:59 GMT+0100 (W. Europe Standard Time)

    ; General preferences
    G90 ; Send absolute coordinates…
    M83 ; ...but relative extruder moves
    M665 R179.489 L360.2 B120 H477 X0.746 Y0.761 Z0 ; Set delta radius, diagonal rod length, printable radius and homed height
    M666 X0.85 Y-0.81 Z-0.04 A0 B0 ; Put your endstop adjustments here, or let auto calibration find them

    ; Network
    M550 PFull Metal Delta ; Set machine name
    M552 S1 ; Enable network
    ;*** Access point is configured manually via M587
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Drives
    M569 P0 S1 ; Drive 0 goes forwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S1 ; Drive 3 goes forwards
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M92 X200 Y200 Z200 E418.5 ; Set steps per mm
    M566 X1200 Y1200 Z1200 E1200 ; Set maximum instantaneous speed changes (mm/min)
    M203 X18000 Y18000 Z18000 E1200 ; Set maximum speeds (mm/min)
    M201 X1000 Y1000 Z1000 E1000 ; Set accelerations (mm/s^2)
    M906 X1000 Y1000 Z1000 E800 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 Z0 S1 ; Set minimum Z

    ; Endstops
    M574 X2 Y2 Z2 S1 ; Set active high endstops

    ; Z-Probe
    M558 P5 R0.4 F1000 H10 ; Smart Effector
    G31 P100 X0 Y0 Z-0.2
    M557 R125 S20 ; Define mesh grid

    ; Heaters
    M305 P0 T99670 B4471 C8.262085e-8 R4700 ; Set thermistor + ADC parameters for heater 0
    M143 H0 S120 ; Set temperature limit for heater 0 to 120C
    M305 P1 T100000 B4725 C7.060000e-8 R4700 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280 ; Set temperature limit for heater 1 to 280C

    ; Fans
    M106 P0 S0.3 I0 F10 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Tools
    M563 P0 D0 H1 ; Define tool 0
    G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
    G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C

    M572 D0 S0.1 ; Pressure advance

    ; Automatic saving after power loss is not enabled

    ; Custom settings are configured
    M501[/c]

    [c]config-override.g
    ; This is a system-generated file - do not edit
    ; Delta parameters
    M665 L360.200 R179.534 H462.487 B120.0 X0.164 Y-0.002 Z0.000
    M666 X0.877 Y-0.903 Z0.026 A0.00 B0.00
    ; Heater model parameters
    M307 H0 A241.5 C325.9 D1.5 S1.00 V12.1 B0
    M307 H1 A263.0 C111.3 D6.3 S1.00 V12.1 B0
    M307 H2 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H3 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H4 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H5 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H6 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H7 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    [/c]

    ; homedelta.g
    ; called to home all towers on a delta printer
    ;
    ; generated by RepRapFirmware Configuration Tool on Sat Mar 10 2018 00:14:59 GMT+0100 (W. Europe Standard Time)
    G91 ; relative positioning
    G1 S1 X555 Y555 Z555 F1800 ; move all towers to the high end stopping at the endstops (first pass)
    G1 X-5 Y-5 Z-5 F1800 S2 ; go down a few mm
    G1 S1 X10 Y10 Z10 F360 ; move all towers up once more (second pass)
    G1 Z-5 F6000 ; move down a few mm so that the nozzle can be centred
    G90 ; absolute positioning
    G1 X0 Y0 F6000 ; move X+Y to the centre


  • administrators

    G28 resets the Z=0 position based on the trigger positions of the homing switches and the M665 and M666 parameters. Since the homing switch trigger positions may vary, and thermal expansion may change the homed height slightly, between homing and starting to print it's best to run either auto calibration or at least do a single G30 probe. Doing 3-point or greater auto calibration is best, because that takes out any variation in the homing switch trigger positions.

    If the 0.7mm offset is consistent, that sounds like your M665 H parameter isn't quite right. Are your M665 parameters ones you obtained by auto calibration? Did you auto calibrate with the printer at or close to printing temperature?



  • It would seem to me that after doing a G30 which is effectively homing Z, I would not be doing a G28 and moving the three carriages back to the endstops quite far away, I'd be getting on with printing something. Perhaps your endstops are not very repeatable, or your steps/mm is just a tiny fraction off, for example, 0.7mm error over 400mm of movement (height of my delta) is only 0.175% error in steps/mm!

    I do G28, then auto-calibrate, then print. I home at the end of a print and find I can skip autocalibration next time, but I have optical endstops, and my steps/mm is I believe spot on. But I wouldn't trust it to hold its calibration for a long period of time. This is the beauty of smarteffector or piezo probe, the convenience and accuracy to do autocalibration routinely.

    I have a smart effector on one machine. If you set your G31 offset to z0 and do G30 (use the latest firmware with multitouch and set fairly tough tolerance of 0.01, so you get a very accurate probing result) then go up to z10 and back down to Z0. Can you get a piece of paper in there between the nozzle and bed? Try it, then you can determine the actual z offset which is usually -0.1. Or print an object and babystep to the perfect layer height, usually by going up 0.1 - i.e. z offset -0.1. Then you have your z offset verified.



  • Ah.. Ooh… I thought that a G30 with probe automatically reset the Height.

    Well, it seem that i have found where my problem is. And I will heed the advice to include a quick calibration mor often.


  • administrators

    @janjoh:

    Ah.. Ooh… I thought that a G30 with probe automatically reset the Height.

    It does reset the height… until you home again. Whereas auto calibration resets the M665 parameters too, therefore it affects the height even after homing again.



  • @dc42:

    @janjoh:

    Ah.. Ooh… I thought that a G30 with probe automatically reset the Height.

    It does reset the height… until you home again.

    Ooooooohhhhh, that explains all.

    I am converting from smoothieware, which needs a G28 before new calibration parameters are used.

    Edit: Just re-ran in that sequence, and now all is spot on. As for my end stops, i did a series of calibrations, and got around 0.02mm deviation. So, i think that is good enough for now.

    Thank you!



  • So … I too have been fighting with first kayer height issues that have been driving me batty ... but if I understand this thread correctly ... If Ive homed all right after power up - so I can run a fresh new Mesh Bed Level routing to save to the SD card ... if Im doing a G28 in my start GCode then Im resetting the Z height all over again and essentialy negating the seemingly endless mesh bed leveling probe?

    BUT ... not sure that is right because .... If I must home all [ Cartesian \ Prusa style ] in order to get to the Run Mesh Bed Leveling probe routine … Ive reset z again ?

    Im not sure what the issue is with my setup - but Im having to baby sit the first layer on every print ... and adjusting the first layer height + and - from .10 thru .25 - last night I had to raise Z by baby steps by .25+ to get decent 1st layers ... and its different every day I print....


  • administrators

    If you are homing Z using the Z probe, then if you home again after running mesh bed compensation, homing shouldn't affect the Z height, assuming the Z probe triggers at a consistent height. The difficulty comes when you use an endstop switch for Z homing, because the endstop switch and the Z probe probably have slightly different ideas about where Z=0 is.

    If you home using a switch and use G29 S1 to load a pre-generated height map, then it's a good idea to do a single G30 Z probe at bed centre after homing, to re-establish where Z=0 is using the probe.



  • If you are homing Z using the Z probe, then if you home again after running mesh bed compensation, homing shouldn't affect the Z height, assuming the Z probe triggers at a consistent height. The difficulty comes when you use an endstop switch for Z homing,

    OK TY …

    Then now Im even more baffled as to what my actual issue could be...


 

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