Piezo probe not working

  • i have a Hot end mounted piezo kit from: https://www.precisionpiezo.co.uk/shop. I setup the probe as directed and adjusted the sensitivity properly, but the bed is not stopping when contacting the bed. the wiring off of the piezo board is wired into the z probe header on the wifi board. the wires are as follows: signal, ground, not used, 3.3v.

    the signal from the piezo board goes to the z probe pin labled: Z_Probe_In. My Gcode is:

    ; Endstops
    M574 X1 Y2 Z0 S0 ; Define active low and unused microswitches
    M558 P1 I1 X0 Y0 Z1 H5 F120 T6000 ; Set Z probe type to switch, the axes for which it is used and the probe + travel speeds
    G31 P600 X0 Y0 Z2.5 ; Set Z probe trigger value, offset and trigger height
    M557 X15:285 Y15:285 S20 ; Define mesh grid

    but when i do a home all the z axis crashed into the bed not stopping. I'm not sure what I am doing wrong. I have verified that the probe is signaling (by blue led on piezo board) but the bed does not stop. am i doing something wrong??

  • what is in your homez.g

  • here it is:

    ; homez.g
    ; called to home the Z axis
    ; generated by RepRapFirmware Configuration Tool on Thu Oct 12 2017 20:52:35 GMT-0500 (Central Daylight Time)

    ; Lift Z relatively to current position
    G1 Z5 F6000

    ; Back to absolute positioning

    ; Move quickly to X axis endstop and stop there (first pass)
    G1 Z-305 F200 S1

    ; Go back a few mm
    G1 Z5 F6000

    ; Move slowly to Z axis endstop once more (second pass)
    G1 Z-305 F360 S1

    ; Lower Z again
    G1 Z-5 F6000

  • Delta or cartesian, You want to move X and Y to a point where you know it will trigger. One option to home Z using the probe is G30 – it will find the bed via trigger of the probe and set Z to 0
    I've been using G30 S-1 to check probe functionality

  • administrators

    Your homez.g file is set up to use a Z endstop switch, not a Z probe such as your piezo. See https://duet3d.com/wiki/Configuring_RepRapFirmware_for_a_Cartesian_printer#Homing_Z.

  • Okay so two things to check:

    if you have
    M558 I1 specified then your piezo pcb needs to be setup to be in NC mode, this means the LED is ON when the probe is open/untriggered, and it goes OFF when the nozzle is tapped. If you are using a piezo20 PCB (the smaller one with one pair of piezo input pins you MUST use NO or LEDs will fail long term), if you are using the kit PCB which has 3 piezo inputs then you can use NC (safer) or NO as you see fit. To switch from one to the other turn VR2 adjuster until the LED just goes out (for NO) or just stays on (for NC).

    If you have it setup in NO mode which is the opposite, then you should set M558 I0

    As DC points out to use a z-probe to home Z you need to use G30 in your homez.g and homeall.g files

  • DjDemonD, thx I will try it when i get home today. I did have it set to I0 prior but when it was not working I was changing all the settings trying to get it to stop the bed. So, Im going to set it back to I0 and with DC comment it now make sense why it was not working. So, i have a lot of stuff to change later. On another note I did read you stuff you had on Thingiverse it was helpful.

  • No worries. It seems almost everyone gets it working. Its just a case of getting the sensor running really well, which for the ready-made units takes hopefully no time, for slightly more innovative implementations can take a bit more time, then configure the firmware.

    Make sure the logic is right, there is no pullup on the signal. That certain parameters such as pause before probing are set, and z_accel is low (<200mm/min). And you should be there.

  • I took the setting you had posted on another forum thread that I found here: https://www.duet3d.com/forum/thread.php?id=752&p=3

  • so i got the probe to trigger BUT it won't trigger unless the bed pushed hard on the hot end. i set the V2 sensetivity to just as the blue led turns off and i give it a VERY light tap and it triggers, by the blue led. But when i run the homez the hot end still pushed hard against the hot end till it triggers. if i tap the hot end on the bottom "lightly" it triggers. for some reason the slow motion rise of the bed is not triggering the piezo. Did i setup the piezo wrong? is it clamped too tight together (top and bottom) pieces?? I followed the directions in the video. any suggestions would be grateful.
    thx in advance.

  • Your bed might be moving too slowly. The probing speed needs to be between 4-7 mm/s or 240-420mm/min go for the faster setting to solve this problem. General Z acceleration should be 200mm/min but probing speed is set using M558 F420.

    Make sure you're not limiting bed max feedrate to lower than this value. Screw driven beds wll move fast as long as they accelerate slowly.

  • I've noticed that if you have to press hard by the bed, then your piezo is wired backwards. I haven't figured out a rhyme or reason why this happens, but I have had similar issues where just switching the piezo polarity fixed those problems. Not really sure, I have 4 hotends wired the same way and 3 want the piezo wired backwards to trigger properly and 4th wants it wired normally.

  • I can shed some light on it. When the polarity is correct the circuit detects the first rising edge of what is an AC electrical pulse generated by bend/compression in the PZT ceramic. If its inverted the first edge is not detected as it essentially is inverted, but the rebound second wave gets picked up instead a few ms later resulting in a dull, heavy contact.

    However, I think with zerogee's issue since a light finger tap up on the hotend gives a trigger its probably the right way around.

    There is another sure-fire test. Press upwards firmly and keep the pressure on, and see if you get a trigger as you push up, then release the pressure and see if you get a trigger when you let go. If you get a trigger on release this is a 100% diagnosis of the wrong polarity.

    Certain implementations can change this behaviour if the piezo is bent in an unusual way for example. In this case, try both ways around and select the most sensitive or change to a more predictable mounting. Compression works well for underbed, bending works best for hot ends.

  • So DjDemonD is correct, when i tap lightly on the side it triggers But i did try pushing straight up on the hot end as the bed would do but it did not trigger right away. I did not notice (or wasn't paying attention) if it was triggering after a lot of upwards pressure or maybe triggering when i started to let off. either way I'm going to try and reverse polarity, as kazolar suggested, tonight and see what happens.
    thx guys.

  • DjDemonD, on another note, i did speed up the bed probe speed to your suggestion of 420 mm/min and it seem to help a little, but the bed is still pushing way to hard to trigger.

  • I have my probe speed at F100. Don't think going faster should be necessary. These things are very sensitive, you want it to trigger as soon as it taps the bed. I've had the same thing happen with 2 setups. I can touch the nozzle and see it trigger, but the it is compressing way too much to trigger when testing. Since I already seen this behavior with my other printer and reversing polarity worked there, I tried doing that this time and was able to find the orientation it liked where just the slightest tape of the bed triggered it. Very happy with these boards. And my configuration is far from simple. I have 4 hotends each with piezos in my custom designed extruder mounts on the same machine, and it works beautifully, each hotend is able to trigger the probe, so I was able to get z offset calibrated for each within a few microns. Next is to figure out if I need to calibrate a mesh for each hotend.

  • Zerogee just reverse the piezo polarity then retune with vr2 (or left pot if on Piezo20 pcb) and see if it helps. Let's rule it out.

  • Kazolar be nice if you could probe a mesh then define an offset for each nozzle.

  • @DjDemonD:

    Kazolar be nice if you could probe a mesh then define an offset for each nozzle.

    I'm going to try it – just having some issues with homing which DC42 is fixing. Moved my Z axis to the Duet of from the external drivers -- feels a lot more precise. Looking forward to seeing how the precise the probe is now.

  • so switching the polarity worked. it now triggers with a light touch of the bed. But now my x axis move is all crewed up. I haven't changed the code except for turning on the power when i got home, now x axis is screaming across the axis. if i select a 1mm movement if move about 20mm VERY fast. I going to move this issue to the appropriate section. as for the probe i consider it fixed.

    thx everyone.


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