G29 Vs G32



  • Hi all I'm having issues trying to achieve good first layer, presumably because my bed is not flat enough. I can manual level using G32 and have the following results:

    G32
    Manual corrections required: 0.00 turn up (0.00mm) 0.06 turn up (-0.03mm) 0.11 turn up (-0.06mm) 0.19 turn up (-0.09mm)
    

    Yes I can repeat the above G32 and repeat bed leveling in the 4 corners until I get a better set of results. However since the bed is not flat enough I want to use mesh bed compensation G29.
    When I run G29 the height map does not match the results from G32 as follows:

    Height map data:
     -0.115, -0.237
     -0.140, -0.205
    

    Surely I should get 1st probe point from G32 (0.00mm) to match the G29 1st probe point (-0.115mm) etc etc.

    From the G32 by bed slopes from 0.00 mm to 0.03mm, total 0.03 mm. But G29 says it's sloping from -0.115 mm to -0.237 mm total -0.352 mm.

    As a result the mesh compensation is working against me.

    Any help appreciated..



  • @lyndon said in G29 Vs G32:

    Height map data:
    -0.115, -0.237
    -0.140, -0.205

    mesh bed leveling does not work well with just 4 points.
    you want a spacing of about 10-15 mm



  • Hi Veti.
    Yes mate I do run a fuller mesh, those values were extracted as they are located same positions as the points in the G32 data.



  • the height data is relative to the position of your position where the G30 z is probing.



  • I assumed both G29 and G32 would use G30 single probe for each of their probing points. Hence I expected the same reults point per point. Or perhaps I miss understand ?



  • the g30 determines the position of z=0.

    each of the points probed by G29 is relative to this position.
    i.e. -0.115 means that point is -0.115mm below the established z=0 plane.

    please post a picture of the g29 resulting heighmap.



  • Here you go Just done this 9 point mesh for explanation.
    map.PNG



  • is the probe point that establishes z=0 inside that plane?



  • Yes Home Z probes the first point front left of bed, which should be Z 0.
    But the height map from G29 says its -0.115. But G32 says it's 0



  • please post your config and homing files.

    do you run G30 before each G29 or G32 ?



  • Here you go these are the latest, hope they shed some light.
    homeall.g config.g

    Thanks for your help so far



  • Sorry, I don't call G30 as an action myself, I do home all G28 before the G32 or G29.



  • @lyndon
    is there a g30 in your homeall?



  • Yes mate

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v2 on Fri Apr 19 2019 13:18:31 GMT+0100 (British Summer Time)
    G91                     ; relative positioning
    G1 Z5 F6000 S2          ; lift Z relative to current position
    G1 S1 X-325 Y-325 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
    G1 X5 Y5 F6000          ; go back a few mm
    G1 S1 X-325 Y-325 F360  ; move slowly to X and Y axis endstops once more (second pass)
    G1 X15 Y6 F6000
    G30 ; Do a single probe to home our Z axis
    G90 ; Make sure we are in absolute mode
    G1 X0 Y0 F5000
    T-1
    


  • Config.g

    ; Configuration file for Duet Maestro (firmware version 1.21)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2 on Fri Apr 19 2019 13:18:31 GMT+0100 (British Summer Time)
    
    ; General preferences
    G90                                      ; Send absolute coordinates...
    M83                                      ; ...but relative extruder moves
    
    ; Network
    M550 P"A30"                              ; Set machine name
    M552 P192.168.1.60 S1                        ; Enable network and acquire dynamic address via DHCP
    M586 P0 S1                               ; Enable HTTP
    M586 P1 S0                               ; Disable FTP
    M586 P2 S1                               ; Enable 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
    M569 P4 S1                               ; Drive 4 goes forwards
    M584 X0 Y1 Z2 E3:4                              ; set drive mapping
    M350 X16 Y16 Z16 E16:16 I0                ; set drive interpolation
    M92 X80.00 Y80.00 Z400.00 E430.00:430         ; Set steps per mm
    M566 X600.00 Y600.00 Z24.00 E150.00:150      ; Set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z180.00 E1200.00:1200.00  ; Set maximum speeds (mm/min)
    M201 X900.00 Y900.00 Z100.00 E10000.00:10000.00      ; Set accelerations (mm/s^2)
    M906 X800.00 Y800.00 Z800.00 E700.00:700.00 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30                                  ; Set idle timeout
    
    ; Axis Limits
    M208 X-15 Y-65 Z0 S1                         ; Set axis minima
    M208 X285 Y285 Z380 S0                   ; Set axis maxima
    
    ; Endstops
    M574 X1 Y1 S0                            ; Set active low and disabled endstops
    M574 Z1 S2                               ; Define Z to use Probe. Home to Min
    
    ; Z-Probe
    M558 P9 H10 F120 T6000                    ; Set Z probe type to bltouch and the dive height + speeds
    G31 P500 X-30 Y50 Z2.90                    ; Set Z probe trigger value, offset and trigger height
    M557 X15:250 Y6:320 P3                 ; Define mesh grid
    M671 X15:250:250:15 Y6:6:240:240 P0.5
    ; Heaters
    M305 P0 T100000 B4138 R2200              ; Set thermistor + ADC parameters for heater 0
    M143 H0 S120                             ; Set temperature limit for heater 0 to 120C
    M305 P1 T100000 B4138 R2200              ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280                             ; Set temperature limit for heater 1 to 280C
    M305 P2 T100000 B4138 R4700             ; set thermistor + ADC parameters for heater 2
    M143 H2 S280                            ; set temperature limit for heater 2 to 280C
    
    ; Fans
    M106 P0 S0 I0 F500 H-1                   ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P2 I-1
    ; Tools
    M563 P0 D0 H2                            ; Define tool 0
    G10 P0 X-9 Y0 Z0.0                          ; Set tool 0 axis offsets
    G10 P0 R0 S0
    M563 P1 D1 H1 ; define tool 1
    G10 P1 S0 R0 X9 Y0 Z0.0 ; set tool 0 temperatures and offsets 
    M501					 ; use head pid override
    ; Automatic saving after power loss is not enabled
    ; Custom settings are not configured
    


  • @lyndon said in G29 Vs G32:

    G31 P500 X-30 Y50 Z2.90 ; Set Z probe trigger value, offset and trigger height

    is the probe really to the left and behind the first nozzle?

    G10 P0 X-9 Y0 Z0.0 ; Set tool 0 axis offsets

    why do you have a tool 0 offset? on a Cartesian printer there should not be an offset.

    M305 P0 T100000 B4138 R2200 ; Set thermistor + ADC parameters for heater 0
    M305 P1 T100000 B4138 R2200 ; Set thermistor + ADC parameters for heater 1
    M305 P2 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 2

    This is wrong. 2200 is for maestro not 4700. 4138 is the default and very likely wrong for your thermistors.

    M557 X15:250 Y6:320 P3 ; Define mesh grid

    P3 is not enough for such a large bed.

    M671 X15:250:250:15 Y6:6:240:240 P0.5
    M350 X16 Y16 Z16 E16:16 I0 ; set drive interpolation

    why are you not using interpolation?

    from the configuration i am deducting that you are not using this feature.
    https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors

    in that case ignore G32 and just use G29.





  • @lyndon said in G29 Vs G32:

    G1 X15 Y6 F6000

    Ideally you should probe the center of the bed in your homeall.



  • @Veti Thanks for your replies.
    is the probe really to the left and behind the first nozzle?
    A: It is yes.
    why do you have a tool 0 offset? on a Cartesian printer there should not be an offset.?
    A: I have a duel switching extruder and each nozzle when engaged are 18mm X appart. So I set center of head as 0. Hence nozzles ate -9mm and +9mm from center.
    This is wrong. 2200 is for maestro not 4700. 4138 is the default and very likely wrong for your thermistors?
    A: my bad I have changed to 2200.
    P3 is not enough for such a large bed.
    A: total agree this grid is temporary for the purpose of trying to figure out my mesh issues as a direct comparison to the G32 results/locations.
    why are you not using interpolation?
    A: I was but had issues with extruder. My error was:

    M350 X16 Y16 Z16 E16:16 I0 ; set drive interpolation
    

    Should have been:

    M350 E16:16 I0                                  ; configure microstepping without interpolation
    M350 X16 Y16 Z16 I1                             ; configure microstepping with interpolation
    

    Corrected now.
    from the configuration i am deducting that you are not using this feature?
    A: Yes this is true, I only used the G32 to manually level the bed. As a result I was able to level the bed well. Following this I ran a G28 then G29 then print and the resulting print was terrible, as mentioned earlier the nozzle was above he bed by 0.3mm rear left but digging into the bed front right. Exactly as G29 mesh bed height maps says it should. HOWEVER the bed was almost perfect according to the results of G32.

    This is my issue?? When the bed is as level as results of G32 does G29 seem to apply a multiple of 10 ?

    in that case ignore G32 and just use G29.
    A: totally agree, and I have never used G32 in the past, but I can print reasonably well NOT using G29. HOWEVER my bed is not flat enough so I wan't to uses G29 again.



  • @Phaedrux said in G29 Vs G32:

    Ideally you should probe the center of the bed in your homeall.

    Hi, I do normally, I have just changed that so the X Y of home Z is on the same point as the G32 and G29 in the hope it would help me understand what's going on with the G29 mesh bed levelling.


Log in to reply