UNSOLVED Precision Piezo Underbed

  • I have a Precision Piezo Universal 2.85 PCB with 3 of their 27mm sensors.
    using Duet 2 wifi

    Board: Duet 2 WiFi (2WiFi)
    Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.1.1 (2020-05-19b2)
    Duet WiFi Server Version: 1.23

    In my configuration the 27mm Piezo discs are not drilled.

    my Config code

    M558 P1 I0 C"zprobe.in"  R0.4 F300 X0 Y0 Z0 ; piezo
    G31 X0 Y0 Z-0.1 P600

    on the Universal PCB I have the connection going to the Duet.
    Using Analogue output.!

    Aout, GND, V+ on Piezo PCB running to Z probe In, GND, +3.3 on the Duet Zprobe pins respectively

    Currently the Zprobe value in web control shows it floating around 520 and when I try to home it either triggers right away or not at all.


    I currently only have one of the three sensors plugged in

    IMG-2189.JPG IMG-2191.JPG IMG-2192.JPG

  • You've plugged your 3pin cable into the analog output of the board. You either need to move the cable to the digital pins next to the D or use the P1 mode and set up for analog triggering.


  • I am using P1 for analogue mode

  • What kind of printer do you have? Generally your trigger threshold should be 5-15 above you're baseline value. When you tap the bed does it trigger consistently? Sometimes the piezo being plugged in backwards gives some weird behaviour (it looks like it triggers well when tapped but wond trigger with a head strike).

  • I have a custom corexy system with a fixed bed.

    The z probe value idle is around 530 and then I touch the bed I can see the piezo pcb flash and indicate it noticed the touch. But the duet does not register the touch unless I hit it fairly hard

  • Should I be using Analog or Digital?
    Should I be using Zprobe or Z Endstop Pins on Duet?

  • Here are some photos of my setup.
    three sensors held in a holder. with rubber topper. Print bed sits directly on top. pushing down on plunger cover
    IMG-2179.JPG IMG-2186.JPG IMG-2187.JPG piezo section.JPG

  • You can use either analogue or digital you just use different probe codes. It need to go into the z-probe if you want to use analogue. Digital behaves like normal endstop.

    Does your duet change the z probe value when you tap the bed?

  • Also if you press done on the bed slowly does it trigger? Or does it trigger when you release? If it triggers when you release your piezo-->board wires are backwards and need to be flipped. Lost much hair to backwards piezo-- wires.

  • the value hovers around 500 when idle. when I press down on the bed it increases to like 600.. when I release the pressure on the bed it drops biefly to under 100. then returns to 500. when I try and run a homing sequence it acts like it has already triggered.

  • M558 P1 I0 C"zprobe.in" R0.4 F400 X0 Y0 Z0 ; piezo
    G31 X0 Y0 Z-0.1 P600

    seems to stay blue, even when I adjust v2 control

  • @Adamfilip the analogue doesn't use the pots. It bypasses then and just sends the signal. You need to drop your trigger value to 5-15 above your baseline value rather than the 600 currently.

  • currently, its idling value fluxuates from 415-480, then when it tries to home. it triggers right away

    this is my home all.

    ; homeall.g
    ; called to home all axes
    ; generated by RepRapFirmware Configuration Tool v2.1.5 on Wed Jan 08 2020 19:38:55 GMT-0500 (Eastern Standard Time)
    M400			; make sure everything has stopped before we make changes
    G91			; use relative positioning
    G1 H2 Z20 F6000    	; lift Z relative to current position
    G1 H1 Y-350 F3000 	; move quickly to Y axis endstop and stop there (first pass) 
    G4 P500			; wait 500msec
    M400			; make sure everything has stopped before we make changes
    G1 Y0			; move away from home
    G4 P500			; wait 500msec
    G1 H1 X-350 F3000 	; move quickly to X axis endstop and stop there (first pass)
    G4 P500			; wait 500msec
    M400			; make sure everything has stopped before we make changes
    G90			; back to absolute positioning
    G1 X150 Y150 F3000 	; Centre Print head
    G1 X0 Y0 F2000 		; Head To Origin

  • I managed to get it working. had to play with P value, when it was 650 it wouldn't trigger, and when it was 600 it would trigger automatically 620 seemed to be the ticket

    M558 P1 I0 C"^zprobe.in" R0.4 F420 X0 Y0 Z0 ; piezo
    G31 X0 Y0 Z-0.1 P620

    havent tested it with heating the bed yet.. hope it keeps working

  • You might need to add some foam under the piezo to improve damping.

    If the wires from the piezo disks to the Universal controller are long or are routed next to heater or stepper cables you may be getting interference.

    Finally, with the mass of the bed providing inertia, you need to do everything you can to reduce the impulse when you start homing, even though your bed is not moving. Reduce instantaneous speed change for Z to zero, at least during probing. Reducing Z acceleration will also help. This should allow you to set the trigger threshold closer to the resting value without getting spurious triggers, improving accuracy.


Log in to reply