Precision Piezo z probes guide for duet users reference
-
Hello all,
I'm hoping for some help with my piezo which I've just hooked up to my coreXY - I bought it a while back but just getting around to getting it fitted!
I have taken 2 videos of it:
here, I am VERY lightly tapping and it's responding as I expectmy config.g:
; 11/5/20
; fusion3 f400-s, s/n: 1067
; duet 2.03, wifiserver 1.23, dwc 1.22.6M111 S0 ; debug off
M550 PFusion3 F400 ; web control printer name ("P" then name)
M551 Preprap ; web control password ("P" then pass, reprap = no password required)
M552 S1 ; enable wifi module
M555 P2 ; output looks like marlin
M575 P1 B57600 S1 ; comms parameters for paneldue;===* machine config *==========================;
M569 P0 S1 ; drive 0 - forward [x motor]
M569 P1 S1 ; drive 1 - forward [y motor]
M569 P2 S0 ; drive 2 - backward [z motor]
M569 P3 S0 ; drive 3 - backward [e motor]
M569 P4 S0 ; drive 4 - backwards [not used]
M574 X1 Y1 Z2 S1 ; endstop config
M669 K1 ; op mode [corexy] (2.03+)
M92 X43.56 Y43.56 Z426.67 E464.93 ; steps/mm [x,y,z,extruder]
M906 X1300 Y1300 Z1400 E1400 I100 ; motor currents (mA)
M201 X2000 Y2000 Z300 E4000 ; accelerations (mm/s^2)
M203 X33000 Y33000 Z1000 E10000 ; max speeds (mm/min)
M566 X600 Y600 Z40 E950 ; max jerk speeds mm/minute
M208 X0 Y0 Z0 S1 ; axis min
M208 X355 Y355 Z325 S0 ; axis max
M671 X-27.5:-27.5:365:365 Y-40:414:414:-40 P0.5 ; bed-levelling screws: front left (X-27.5, Y-40), rear left (X-27.5, Y414), rear right (X365,Y414), front right (X365, Y-40), 0.5mm thread pitch (m3)
G21 ; work in mm
G90 ; absolute co-ords
M83 ; relative movements (extruder);===* z-probe *=================================;
M558 P8 I1 R0.4 F400 T15000 H3 ; probe type, inverted (active high), 0.4s recovery (travel stop to probe dive), 400mm/min probing speed, 15000mm/min travel between probes, 3mm dive height
G31 X0 Y0 Z-0.1 P100 ; x,y,z probe offset from nozzle [probe is nozzle], trigger value (probe threshold)
M557 X0:355 Y0:355 P21 ; x & y min:max co-ords & mesh compensation no. probe points each axis (2.02+) ( >max: (duet wifi max: 21x21 = 441 probes)); * P5 (1.14+) = switch (default NC) for bed probing between In & Gnd pins of z-probe connector. P8 (1.20+) = P5 but unfiltered (faster response time)
my home-all:
; 29/7/19
; M561 ;; transform identity: cancels previous bed-plane (mesh)
G91 ; relative co-ords (from last position, not origin)
G1 Z10 F500 H1 ; z 10mm @ 500mm/min (ensure it's below probe trigger height)
G1 X-500 Y-500 F3000 H1 ; x & y -500mm [relative] (> max) @3000mm/min - until limit sw. detects
G1 X-500 H1 ; x -500mm [relative] (> max) @ 3000mm/min - until limit sw. detects
G1 Y-500 H1 ; y -500mm [relative] (> max) @ 3000mm/min - until limit sw. detects
G1 X5 Y5 F500 ; x & y 5mm @ 500mm/min
G1 X-10 H1 ; x -10mm @ 500mm/min - until limit sw. detects
G1 Y-10 H1 ; y -10mm @ 500mm/min - until limit sw. detects
G90 ; absolute co-ords (relative to origin)
G1 X172.5 Y172.5 F15000 ; x & y 172.5mm [absolute] @ 15000mm/min
G1 X177.5 Y177.5 F1000 ; x & y 177.5mm [absolute] (bed-centre) @ 1000mm/min
G30 ; raise bed until probe triggered & set z to trigger height
G91 ; relative co-ords (from last position, not origin)
G1 Z300 F1000 H1 ; z 300mm @ 1000mm/min
G1 Z100 F150 H3 ; z 100mm (> max) @ 150mm/min [until endstop] & set temporary z max (until power-cycled)
G1 X-172.5 Y-172.5 F15000 H1 ; x & y -172.5mm [relative] @ 15000mm/min
G1 X-50 Y-50 F1000 H1 ; x & y -50mm [relative] (> max) @1000mm/min - until limit sw. detects
G1 X-50 H1 ; x -50mm (> max) @ 1000mm/min - until limit sw. detects
G1 Y-50 H1 ; y -50mm (> max) @ 1000mm/min - until limit sw. detects
G1 X5 Y5 F500 ; x & y 5mm @ 500mm/min
G1 X-10 H1 ; x -10mm @ 500mm/min - until limit sw. detects
G1 Y-10 H1 ; y -10mm @ 500mm/min - until limit sw. detects
G90 ; absolute co-ords (relative to origin); edited 2/8/19 to remove the m561 command at start - otherwise everytime I home x,y,z it deletes the g29 mesh...
I'm confused why it doesn't read when I run it but it is triggering by a. very light touch? I tried changing I1 to I0 with the same result?
Thanks,
e_p -
Unsure why but when I try to edit the link it is marked as spam. Thew second link, where it isn't playing ball is here.
-
I sent a message through the website and got a reply but when I replied to that I haven't heard back. I've emailed precisionpiezo@yahoo.com, which brings up Idris Nowell.
I did as described here:
@DjDemonD said:
Please also do this polarity verification test "push up on the (cold) nozzle (not tap) see what happens, then release the pressure. If it triggers on push it's correct if it triggers on release the polarity is reversed of the piezo disc.See here, it triggers on release - so the polarity is reversed? I checked wiring and it is definitely correct per the duet wifi wiring drawing. I removed the +ve and Gnd from the z probe connector and reversed them; when I powered up the a red led flashes on the duet but the power is removed from the piezo board - when I tapped it, it does nothing.
How do I reverse the polarity, if not by changing the +ve and gnd?
e_p
-
@en_passant said in Precision Piezo z probes guide for duet users reference:
e connector and reversed them; when I powered up the a red led flashes on the duet but the power is removed from the piezo board - when I tapped it, it does nothing.
Did you reverse the power wires to the Piezo motherboard (connection to the duet2), or the sensor itself to the motherboard?
-
@BlueDust I removed the pins from the connector on the duet and switched them around. As it clearly didn’t work, I swiftly put them back to their original positions.
-
@en_passant
Try swapping the wires from the Piezo Sensor to the Piezo motherboard.If the Piezo triggers on press, its correct, but if it triggers on release try swapping the sensor wires and see if that fixes it.
-
@BlueDust I have an Orion V2. It doesn't have any wires?
It came with the disc pre-connected to the board. That certainly does sound like my symptom (video here) but the I have checked the wiring and it is 100% correct (I'm confident, as it's only 3 wires) from the piezoPCB to the duet probe connector.
So it behaves great with a (very light) tap from my finger... but when I run my homeall... nope!
My homeall, for reference:
G91 ; relative co-ords (from last position, not origin)
G1 Z10 F500 H1 ; z 10mm @ 500mm/min (ensure it's below probe trigger height)
G1 X-500 Y-500 F3000 H1 ; x & y -500mm [relative] (> max) @3000mm/min - until limit sw. detects
G1 X-500 H1 ; x -500mm [relative] (> max) @ 3000mm/min - until limit sw. detects
G1 Y-500 H1 ; y -500mm [relative] (> max) @ 3000mm/min - until limit sw. detects
G1 X5 Y5 F500 ; x & y 5mm @ 500mm/min
G1 X-10 H1 ; x -10mm @ 500mm/min - until limit sw. detects
G1 Y-10 H1 ; y -10mm @ 500mm/min - until limit sw. detects
G90 ; absolute co-ords (relative to origin)
G1 X172.5 Y172.5 F15000 ; x & y 172.5mm [absolute] @ 15000mm/min
G1 X177.5 Y177.5 F1000 ; x & y 177.5mm [absolute] (bed-centre) @ 1000mm/min
G30 ; raise bed until probe triggered & set z to trigger height
G91 ; relative co-ords (from last position, not origin)
G1 Z300 F1000 H1 ; z 300mm @ 1000mm/min
G1 Z100 F150 H3 ; z 100mm (> max) @ 150mm/min [until endstop] & set temporary z max (until power-cycled)
G1 X-172.5 Y-172.5 F15000 H1 ; x & y -172.5mm [relative] @ 15000mm/min
G1 X-50 Y-50 F1000 H1 ; x & y -50mm [relative] (> max) @1000mm/min - until limit sw. detects
G1 X-50 H1 ; x -50mm (> max) @ 1000mm/min - until limit sw. detects
G1 Y-50 H1 ; y -50mm (> max) @ 1000mm/min - until limit sw. detects
G1 X5 Y5 F500 ; x & y 5mm @ 500mm/min
G1 X-10 H1 ; x -10mm @ 500mm/min - until limit sw. detects
G1 Y-10 H1 ; y -10mm @ 500mm/min - until limit sw. detects
G90 ; absolute co-ords (relative to origin)Also, the relevant parts of my config:
M558 P8 I1 R0.4 F800 T15000 H5 ; probe type, inverted (active high), 0.4s recovery (travel stop to probe dive), 800mm/min probing speed, 15000mm/min travel between probes, 5mm dive height
G31 X0 Y0 Z-0.1 P500 ; x,y,z probe offset from nozzle, probe thresholdM201 X2000 Y2000 Z100 E4000 ; accelerations (mm/s^2)
M203 X33000 Y33000 Z1000 E10000 ; max speeds (mm/min)
M566 X600 Y600 Z40 E950 ; max jerk speeds (mm/min)I have reduced my z settings for M201, M203 & M566 to try to help with this but still the same!
e_p
-
@en_passant for the same exact problem I removed the PP from my printer and returned bltouch but I can give you few pointers on what I did to make it work so far (I just gave up finally as don't have nervez to fiddle with it every time I change something on the x-carriage)...
-
use analog output, your pp supports it, the digital one is impossible to setup properly (you have to connect the analog signal to zprobe input)
-
after a lot of fiddling I hooked the scope to the wires, lot of garbage, feed the gnd+analog-signal to the zmin,gnd connector on the duet using coax cable, I ended up using some high end rf cable but a simple coaxial microphone cable or balanced audio cable or something like that will get the job done. With coax cable you get lot of noise down
-
if you have a heat break fan attached on the heatbreak (like on E3D V6 for e.g. ) very good idea is to attach that fan to a controllable fan output port on the duet and have that fan shut down when you do Z-probing. Slight imbalance of the fan's propeller will increase noise on the PP a lot. I personally have that fan configured to run only if nozzle temp is greater than 35C and probing cold solves that issue
-
use RRF3 and dynamic code so for e.g. my homez.g looks like this:
G90 G0 X0Y0 F3000 ; wait 3sec for the probe to "stabilize" G4S3 ; configure the probe treshold to "now+3" G31 P{sensors.probes[0].value[0] + 3} ; probe the point G30
-
"very light tap from your finger" is "fast", PP need a "fast change" in order to react, when your board "sneak slowly" it does not trigger
-
while orion should be very sensitive, it kinda isn't so you need to tweak it out a bit. The 4 screws holding the orion in sandwitch between top and bottom .. you need to get them loose. I fingertighten them and then loose all four 1/4 of the circle, test the probe, loose again 1/4 circle, test probe ... and that till it's loose enough to properly trigger.
When you look on the scope how the signal on the analog output looks like, it goes down and then up so to properly trigger you want to configure your probe inverted (the ! in front of zprobe.in) and this "dip" will actually be "jump" that way.
M558 P1 C"!zprobe.in" R2 H6 F2400 T3600 A4 S0.03 K0 G31 X0 Y0 Z-0.1 P250
The "step 6" is what you need to do every time you reassemble the darn thing and is why I gave up and went with easier solution as with orion I was getting even worse repeatability than with bltouch and last time I had to reassemble everything 2 hours of fiddling with screws were just too much
there's btw a part that supposedly work better, it adds 4 o-rings. Have not tried but if you can get the o-rings might worth the try.
https://www.thingiverse.com/thing:3122283
-
-
Forgot one more thing, the top part, make sure you drill those holes so that screws can slide through them easily. The screws need to be biting only the bottom part, they need to be able to slide easily through the top part. Ideally, you should use screws that are threaded only at the bottom
-
-
-
-
@BlueDust said in Precision Piezo z probes guide for duet users reference:
@en_passant
Try swapping the wires from the Piezo Sensor to the Piezo motherboard.If the Piezo triggers on press, its correct, but if it triggers on release try swapping the sensor wires and see if that fixes it.
I feel like I'm endlessly trying to get my underbed piezo's work. I'm using the Precision Piezo – Piezo Z-Probe Universal Kit V2.75
I'm using analog settings and have my bed setup in such a way that the piezo is supported along the edged and another part presses into the center.
It worked okay before, I have tuned them to be as sensitive as I can get them, when I read the comment about reversing polarity of the discs I was intrigued and it appeared that my discs would also only get a signal upon release and not upon depression of the bed.
So I turned around the wires for the discs and it actually made it way worse. Now the nozzle has just been pushing into the bed so hard that it deformed and damaged my printing surface.
Reversing the polarity again back to how I think it should be, the probing works a lot better but still it tends to push hard into the bed, just not as hard as to damage the surface.
There once was a time where my setup worked better, having a near-hair trigger. I would like to find that again.
Are there other things I can try such as tuning the dive speed for each probe? I have seen some people use this underbed piezo setup with great success and it looks like their probing scheme moves much faster than mine. I'm thinking a faster dive speed might also help with getting better readings.
These are my current settings:
M558 P5 R1 C"!probe" H2 F3000 T6000 B1 ; set Z probe type to effector and the dive height + speeds G31 P100 X0 Y0 Z-0.216 S0
I also find it hard to get an exact adjustment on VR2, it's either triggered by me tapping the frame and only a fraction of a turn, and it barely registers tapping on the bed.
Update:
Just wanted to add that I have been tuning the feedrates for probing a bit and raising the speeds have helped make it more precise.This is what I got now:
https://youtube.com/shorts/eEXjATJ_640The only issue being that the machine doesn't seem to print perfect first layers across the bed. Would a Delta printer require a mesh from G29? The bed is perfectly flat (alu bed), even when heated.
I'm thinking any typenof distortion is still caused by the auto calibration despite consistently hitting sub 0.03 deviation as can be seen in the video.
-