Bed Compensation - G29 Problems



  • I have just installed a 3DTouch sensor and am having trouble getting G29 to work properly.

    Each time i run G29, it seams to increment the bed height. The first 5 images are back to back bed mesh compensations without printing or touching anything. After the 5th one I issued M561 to clear the data and ran G29 again with the attached result (image 6)

    All below result are from the bed at 50c and hotend at 215c, 3DTouch sensor.
    Firmware is 2.02RC4(RTOS) (2018-11-18b5)

    Any Ideas?

    First G29
    0_1543303799931_1.JPG

    Second G29
    0_1543303804209_2.JPG

    Third G29
    0_1543303808378_3.JPG

    Fourth G29
    0_1543303812639_4.JPG

    Fifth G29
    0_1543303816598_5.JPG

    M561 and then G29
    0_1543303822071_6.JPG

    Config.g

    ; Configuration file for Duet WiFi (firmware version 1.20 or newer)
    ; General preferences
    
    G90				; Send absolute coordinates...
    M83				; ...but relative extruder moves
    M667 S1				; Select CoreXY mode
    
    ; Network
    M550 PLinBot				; Set machine name
    M552 S1					; Enable network
    M587 S"ASUS" P"Fe7awrEpMade2race"	; Configure access point. You can delete this line once connected
    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 X80 Y80 Z2395 E849			; Set steps per mm
    M566 X900 Y900 Z100 E120		; Set maximum instantaneous speed changes (mm/min)
    M203 X12000 Y12000 Z800 E1200		; Set maximum speeds (mm/min)
    M201 X800 Y5800 Z100 E250		; Set accelerations (mm/s^2)
    M906 X1500 Y1500 Z800 E1000 I30		; Set motor currents (mA) and motor idle factor in per cent
    M84 S30					; Set idle timeout
    M574 X1 Y2 S1				; set endstops to use motor stall
    
    ; Axis Limits
    M208 X2 Y0 Z0 S1			; Set axis minima
    M208 X370 Y285 Z305 S0			; Set axis maxima
    
    ; Endstops
    M574 Z1 S0				; Set active low endstops
    
    ; Z-Probe
    M558 P9 H10 F3000 T1000			; Set Z Probe to type Switch or Digital output where Z probe connector 
    is used. Used for z only.
    M574 Z1 S2				; Use zprobe and home to Z Min.
    G31 X20 Y0 Z0.95 P10			; Set Z probe trigger value, offset and trigger height
    M557 X30:330 Y0:250 S50			; Define mesh grid
    
    ; Heaters
    M307 H3 A-1 C-1 D-1			; Disable Heater 7 to use the pin for BLtouch
    M307 H0 B0 S1.00			; Disable bang-bang mode for the bed heater and set PWM limit
    M305 P0 T100000 B4138 C0 R4700		; Set thermistor + ADC parameters for heater 0
    M143 H0 S120				; Set temperature limit for heater 0 to 120C
    M305 P1 T100000 B4138 C0 R4700		; Set thermistor + ADC parameters for heater 1
    M143 H1 S300				; Set temperature limit for heater 1 to 300C
    
    ; Fans
    M106 P0 S0 I0 F100			; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F250 H1 T40		; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S0.5 I0 F250 H1 T45		; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on
    
    ; Tools
    M563 P0 D0 H1 F0			; 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
    M501					; read stored parameters

  • administrators

    Thanks, this is on my list to look at later today.


  • administrators

    I've tried to reproduce this, but failed. I even created a deliberate Z error so that the height map started off with an overall height error correction, and I can't make it go wrong.

    Also, the firmware calls the same function that M561 does before it probes. So running M561 before running G29 should make no difference.

    Please confirm that you obtained those height maps by running G29 and nothing else between them, except for the last one when you ran M561 then G29.



  • Hi dc42,

    Thanks for the reply, yes I can confirm I ran nothing but G29 in between each one, the last one I ran M561 and then G29.

    My hotend was at 215c and bed at 50c at each one, I'm wondering if my new probe is too close to the hotend and the cause is EMI. I've read some vague mentions of this from a few google results.

    I will test again tomorrow night with a cold hotend and report back.


  • administrators

    I've heard that EMI from some low-voltage high-current bed heaters in particular can interfere with the BLTouch. You can add the B1 parameter to your M558 command in config.g to turn off the heaters during probing.

    Another possible explanation for the rising height map and the slope in the Y direction is that you are probing too fast, so that when the probe triggers and the probing move is commanded to stop abruptly, the Z motor skips some steps. If this is the cause, then using a lower probing speed (F parameter in M558) should fix it.

    However, neither of these explains why the last height map obtained when you sent M561 followed by G29 was OK again.



  • @ajcraig99 said in Bed Compensation - G29 Problems:

    M558 P9 H10 F3000 T1000
    G31 X20 Y0 Z0.95 P10

    A probing speed of 3000 will definitely mess up the BlTouch probe. Try F100. The value can be increased to 6000 to get the travel moves between probing to be quicker. H10 may be an unnecessarily high dive height. 5 or even 3 could work just as well and save you some probing time. Also try G31 P25 instead of 10.


  • administrators

    @phaedrux said in Bed Compensation - G29 Problems:

    @ajcraig99 said in Bed Compensation - G29 Problems:

    M558 P9 H10 F3000 T1000
    G31 X20 Y0 Z0.95 P10

    A probing speed of 3000 will definitely mess up the BlTouch probe. Try F100. The value can be increased to 6000 to get the travel moves between probing to be quicker. H10 may be an unnecessarily high dive height. 5 or even 3 could work just as well and save you some probing time. Also try G31 P25 instead of 10.

    That's sound advice; but I think you meant "The T value can be increased to 6000..."



  • @dc42 yes you're right. I think auto correct got me on that one.



  • Ok so I ran G29 another 5 times with the bed and hotend off and still got an incrementing error as before.

    Changed the probing speed to F100 as suggested and this has solved the problem, have also changed to P25 from P10 in the G31 line.

    Thanks for your help.

    New lines:

    M558 P9 H3 F100 T6000    ; Set Z Probe to type Switch or Digital output where Z probe connector is used.
    G31 X20 Y0 Z1.35 P25     ; Set Z probe trigger value, offset and trigger height

 

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