Z probe inconsistent dive speed



  • Hi all! I recently converted from a BLTouch to a Piezo Z probe. I use it as my Z endstop and for mesh bed leveling. I have it working, technically. I probably still need to tune the sensitivity. Anyway, I have noticed that while homing and while probing, the dive speed is wildly inconsistent. Even just homing Z repeatedly one time I will I get the expected smooth descent to the bed and the next will drop suddenly. RRF 3.0.

    Here's my config.g and other relevant files:

    ; Configuration file for Duet WiFi (firmware version 1.21)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2 on Wed Mar 20 2019 11:55:35 GMT-0600 (Mountain Daylight Time)
    
    ; General preferences
    G90						; Send absolute coordinates...
    M83						; ...but relative extruder moves
    
    ; define pins 
    M950 H0 C"BED_HEAT" T0				; heater 0 uses BED_HEAT pin
    M950 H1 C"E1_HEAT" T1				; heater 1 uses E1_HEAT 
    M950 F2 C"FAN2" Q100				; create fan2 on fan2 pin (board cooler)
    M950 F3 C"E0_HEAT"				; make fan3 on heater 7 (LED strip)
    
    ; Network
    M550 P"Mean Green"				; Set machine name
    M551 P"reprap"					; Set password
    M552 S1						; Enable network
    
    M586 P0 S1					; Enable HTTP
    M586 P1 S0					; Disable FTP
    M586 P2 S0					; Disable Telnet
    
    ; Drives
    M569 P0 S0; was 1 before redup                  ; X Drive 0 goes backwards
    M569 P1 S0                                      ; Y Drive 1 goes backwards
    M569 P2 S1                                      ; Z Drive 2 goes forwards
    M569 P3 S1                                      ; E Drive 3 goes forwards
    M350 X16 Y16 Z16 E16 I1				; x16 microstepping with interpolation
    M92 X80.00 Y80.00 Z400.00 E837			; Steps per mm
    M906 X1100.00 Y1100.00 Z375.00 E1050.00 I30	; Set motor currents (mA) and motor idle factor in percent
    M84 S30						; Set idle timeout
    
    ; Axis Limits
    M208 X0 Y0 Z0 S1				; Set axis minimal
    M208 X215 Y215 Z205 S0				; Set axis maximal
    
    ; Endstops
    M574 X1 S1 P"!xstop"   	; x at low end, use endstop switch
    M574 Z1 S2		; z at low end, use z probe
    M574 Y1 S1 P"!ystop"	; y at low end, use endstop switch                                                  
    
    ; Z-Probe - BLTouch
    ;M558 P9 C"^zprobe.in" H4 F120 T12000		; Set Z probe type to bltouch and the dive height + speeds                                       
    ;M557 X10:200 Y5:210 S20:20			; Define mesh grid
    ;G31 P500 X-16 Y-42 Z2.52			; offsets for reduplicator aero bltouch mount
    
    ; Z-Probe - Piezo
    M558 P1 C"!^zprobe.in" H4 R0.4 F900 T12000	; Set Z probe type to analog, set dive height and speeds
    M557 X10:210 Y10:210 S20:20			; Define mesh grid
    G31 X0 Y0 Z-0.165 P600				; set probe offsets
    
    ; define temperature sensors
    M308 S0 A"Bed" P"BED_TEMP" Y"thermistor" T100000 B4092 R4700
    M308 S1 A"HotEnd" P"E1_TEMP" Y"thermistor" T100000 B4725 C7.060000e-8 R4700
    
    ; temperature sensors drivers and MCU
    M308 S2 Y"drivers" A"DRIVERS"  			; configure sensor 2 as temperature warning and overheat flags on the TMC2660 on Duet
    M308 S3 Y"mcu-temp" A"MCU" 			; configure sensor 3 as MCU temp
    
    ; max temps 
    M143 H0 S120					; max bed temp                                                                                     
    M143 H1 S286					; max hotend temp
    
    ; Fans
    M106 P0 C"Part Cooler" S0 I0 F500 H-1		; Set fan 0 (part cooler)value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 C"Cold End" S255 I0 F500 H1 T60		; Set fan 1 (heatsink fan) value, PWM signal inversion and frequency. Thermostatic control is turned on
    
    ; board cooler fan
    M106 P2 C"Board Cooler" H2:3 L0.75 X1 B0.3 T40:70 	; board cooler - thermostatic control for drivers and MCU temp
    
    ; LED strip on E0_HEAT (technically a fan)
    M106 P3 S0.25 H-1 C"LEDs"
    
    M563 P"E1_HEAT" S"E3D" D0 H1			; Define tool 1
    G10 P0 X0 Y0 Z0					; Set tool 1 axis offsets
    G10 P0 R0 S0					; Set initial tool 1 active and standby temperatures to 0C
    
    ; set up bed screw positions & pitch
    M671 X4:4:212:212 Y2:213:213:2 P0.5
    
    M572 D0 S0					; default pressure advance - disable
    
    ; axis speeds
    M203 X12000.00 Y12000.00 Z600.00 E12000.00	; Set maximum speeds (mm/min)
    
    ; jerk & accel
    M566 X720.00 Y720.00 Z24 E2400.00 		; jerk
    M201 X2500.00 Y2500.00 Z150 E400.00 		; accel
    
    M912 P0 S-3.8					; MCU temp calibration
    
    M501						; process config-override.g
    
    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool v2 on Wed Mar 20 2019 11:55:37 GMT-0600 (Mountain Daylight Time)
    
    ; zprobe only:
    G1 Y110 X110
    G30
    
    ; bed.g
    ; called to perform automatic bed compensation via G32
    ;
    ; generated by RepRapFirmware Configuration Tool v2 on Wed Mar 20 2019 11:55:35 GMT-0600 (Mountain Daylight Time)
    M290 R0 S0 ; disable babystep
    M913 X80
    G28
    M913 X100
    M561                ; clear any bed transform
    G29                 ; probe the bed and enable compensation
    

    I've lowered my Z speed/jerk/acceleration with no improvement. Does anyone have any ideas? I think the inconsistent dive speed is causing my height map to be all over the place.

    Thanks!!


  • Moderator

    You're using the analogue probe type in M558, try switching to digital. P8



  • @Phaedrux said in Z probe inconsistent dive speed:

    You're using the analogue probe type in M558, try switching to digital. P8

    I am using analog so that I can tune the sensitivity. When I try P8 it triggers immediately as soon as the Z motor starts turning. Would the probe type affect the dive speed? If it does, then I suppose I will need to mess with the little potentiometers on the Precision Piezo PCB to make it less sensitive.


  • Moderator

    Yes I've seen people using the analogue mode so they don't have to fiddle with the pot, but I'm not sure it was ever intended to be used with probe that aren't actually providing an analogue signal. The point of the analogue mode is to slow down when it's approaching the surface as the signal changes.



  • @Phaedrux said in Z probe inconsistent dive speed:

    The point of the analogue mode is to slow down when it's approaching the surface as the signal changes.

    Ah! Perfect, thanks!



  • Well I've been playing with the pots. How many times do these things turn? I've been measuring resistance across PZ+ and PZ-. It seems like VR1 does large adjustments and VR2 also adjusts, but just a lot more granular. I've tried with an overall resistance of 500k all the way to 300k. I'm wondering if my 27mm disc is just moving around too much. I'm using this Titan Aero mount. I could drop a bit of hot or CA glue on it and stick it down in its slot, would that hurt anything?


  • Moderator

    I have no idea really. I never got very far with my piezo kit sadly. I also have a titan aero and at the time the mounts for it weren't great so I gave up and went to a BLTouch.

    There is a rather large piezo thread you may want to try and find and take a look.



  • This is a known issue.
    My normal z homing speed is 6mm/s. Using P1 mode (analogue) it only reaches 2mm/s at the moment. I am putting up with it for now until @dc42 makes his changes. Like you I like the analogue mode as you don't need to fiddle with the crappy pots on the PP pcb as they are prone to falling apart if you keep adjusting them 🙂


Log in to reply