Z probe issues with piezo after updating to 1.21

  • Hello, I'm trying to get PP v2 board to run on a custom CoreXY. Currently, I have the piezo tuned to activate beautifully on a slight tap of the nozzle. The piezo is sandwiched between the X carriage and the hotend bracket which holds a Titan. I'm trying to mesh compensate a polycarbonate bed by M557 X30:190 Y30:190 S40 and then G29 but I get "Error: Z probe was not triggered during probing move". Using 1.21.
    My homez:
    ; homez.g
    ; called to home the Z axis
    G91 ; relative positioning
    G1 Z5 F6000 S2 ; lift Z relative to current position
    G90 ; absolute positioning
    G1 X30 Y30 F6000 ; go to first probe point
    G30 ; home Z by probing the bed
    G92 Z0 ; set Z0
    G91 ; relative positioning
    G1 Z5 F6000 ; lift Z relative to current position
    G90 ; absolute positioning

    and my probe:
    M558 P8 I1 R0.4 F600 X0 Y0 Z1
    G31 X0 Y0 Z-1.0 P600

    What am I not doing properly?


  • administrators

    You have I1 in your m558 command. Does the piezo require that?

  • I don't have a categorical answer to that. I'm a bit new to RRF and I followed DjDeamon's instructions to setting up the piezo.

    I gave it a go without I1 and the firmware reads the z probe as triggered before I try to home z. It gives me "G28 Z Error: Z probe already triggered at start of probing move". It homes fine but when I try mesh compensating the previous error shows up.

  • administrators

    Did the head move right down to the bed, or did it stop short of the bed? If it stopped short then you can increase the H parameter in the M558 command.

  • The head stops short about 1mm. I added H-1 which made the bed touch the head but I still get the error, despite the probe being triggered. I can verify trigger both on the piezo pcb and the web control.
    Although quite messy, this is my config:
    ; Configuration file for Duet WiFi (firmware version 1.20 or newer)
    ; executed by the firmware on start-up

    ; General preferences
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves

    M667 S1 ; Select CoreXY mode

    ; Network
    M550 PPrinter CoreXY Rods ;machine name
    M552 S1 ;start wifi module

    ; 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 Z1600 E456 ; Set steps per mm
    M566 X900 Y900 Z12 E120 ; Set maximum instantaneous speed changes (mm/min)
    M203 X6000 Y6000 Z240 E1200 ; Set maximum speeds (mm/min)
    M201 X500 Y500 Z250 E250 ; Set accelerations (mm/s^2)
    M906 X1000 Y1000 Z1000 E1000 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; Set axis minima
    M208 X200 Y220 Z500 S0 ; Set axis maxima

    ; Endstops
    M574 X1 Y1 S1 ; Set active high endstops

    ; Z-Probe
    M558 P8 I1 R0.4 F600 X0 Y0 Z1
    G31 X0 Y0 Z-1.0 P600

    ; Heaters
    M140 H-1 ; Disable heated bed
    M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280 ; Set temperature limit for heater 1 to 280C

    ; Fans
    M106 P1 H-1 ; set fan 1 to be gcode controlled
    M106 P2 S1 I0 T45 H1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off
    ;M106 P0 S1 I0 F500 H-1 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off
    ;M106 P2 S1 I0 F500 H-1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off

    ; 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

    ; Automatic saving after power loss is not enabled

    ; Custom settings are not configured

  • administrators

    M558 values should be positive. The default is 5mm and you should increase that if the probe stops before it touches the bed and says "probe was not triggered".

    Test the Z probe first to make sure that it will stop a probing movement when triggered.

  • I tried with H5 and H10. In both cases the nozzle stops clear from the bed at (eyeballed) the same distance and the Z coordinate value in Web Control shows the offset I have entered in H which is 5 or 10, respectively. In both cases I reboot the machine because I change config, home x then y then z and then start the mesh compensation from a macro. In previous attempts I tried pasting the same gcode in the gcode console and saw no difference between that and the macro.
    M557 X30:190 Y30:190 S40

    When initiating mesh compensation and manually triggering the piezo the compensation works as expected.

  • Hi equanimity8,

    Please let me know what piezo controller board you have.

    So the I1 or I0 issue.

    When you setup M558 with an I1 in it (later piezo boards are active low so this is correct), and you have the board tuned with the red LED on at rest (untriggered), then the Z-probe box on duet web control should show 0, until you tap the nozzle upwards then it reads 1000 for 0.25 seconds and resets to 0. If you PUSH up (not tap) it should trigger the same as that, if it doesn't trigger until you release the pressure then the piezo polarity is reversed.

    Older boards used active high M558 I0 (or just leave the I parameter out), then correctly tuned (follow the instructions on the website (https://www.precisionpiezo.co.uk/documents) the z probe box on DWC shows 0 when at rest and 1000 when tapped.

    Other than that David has given you sage council.

    Come back to me with the version of board.

  • why do you have this line in your homez.g?
    G92 Z0 ; set Z0

    this is wrong as G30 will determine the correct Z height?

  • @DjDemonD Thanks for your interest. It's a version 2.x and it was bought about a month ago. I have followed the manual on precisionpiezo.co.uk and the probe is not the issue, as far as I can tell. Furthermore, I was able to successfully home the bed and mesh compensate using the config pasted above before the update to 1.21. I had other issues with my machine that needed to be resolved which is why I couldn't get it going properly before the update.

    @whosrdaddy I have the line there because I thought it was a good idea but as I stated before I'm quite new to RRF. I took your advice and commented out G92 Z0. The effect was successful mesh compensation.
    One thing that I cant quite fathom is the fact that after I homed Z the coordinate was 15 compared to 5 when I had the G92 Z0 uncommented, which seems odd to me. Hope someone can elaborate on that.
    After the compensation had finished the Z coordinate was 10.

    I'll run some more tests tomorrow.

  • I'd change your G31 so it reads G31 X0 Y0 Z-0.1 P100
    The X and Y are zero as the nozzle is the probe, the typical compliance in the piezo disc is around 0.1mm, so thats why Z=-0.1 and the P value when using P5 or P8 in M558 is the debounce value (I don't think it matters with P8 as its unfiltered).

  • @DjDemonD I will bear that in mind, thanks.

    I did some more fiddling and didn't find anything out of the ordinary, so the G92 Z0 seems to have been the issue for me.

    Thanks to everybody who replied here and to those who read with the intent to help out. Love the community!

Log in to reply