Precision Piezo z probes guide for duet users reference
-
One additional follow up question on setting the Z axis positioning.
[c]G31 X0 Y0 Z-0.1 P600[/c]
If the piezo is effectively able to find Z=0 then why the need for an offset in the config.g file? Is this to force the probe to go below the bed surface?
When the probe touches the bed surface shouldn't that effectively be the Z=0, no offset is needed from that point forward?
-
Great question. If the probe could do it's job with 0.1g of force then you'd be right z=0 would be 0mm above the bed. But it takes about 10g-15g which means the piezo disc deflects about 0.1-0.15mm before triggering. Effectively it triggers below the bed. So the offset is -0.1mm to -0.15mm.
The good news is that it's consistent so determine your offset by babystepping your first layer until it's perfect (assuming really good extruder calibration) then reverse the sign and change your G31 offset. So if you babystep up 0.05 then subtract 0.05 from G31 Z and vice versa.
-
After homing, assuming I'm using -.01 as posted above my control panel shows Z at -0.1 that assumes a deflection of the piezo if I understand you post correctly. The -0.1 is then adjusted based on baby stepping and printing of the 1st layer and ultimately could be less or more and that actual number should be reflected in the config.g file, correct?
So in Slic3r I need a Z offset that reflects that actual number +/-… I think I understand.
Thanks,
-
So if the offset is -0.1 in G31 after homing your DWC/paneldue/M114 will show Z=0, but the actual nozzle will be either too close or too far away from the bed.
You then babystep on your first print, record the amount you babystepped then reverse the sign and add it to the G31 offset. I use the first layer solid infill as my visual guide, if its got lines between the extrusion then its too high, if it piles up its too low, but this method relies on precise extruder calibration (and a precise extruder) to be accurate.
So just to be super clear
When its too low and you have to increase gap between nozzle and bed.
Initial G31 Z Offset -0.1
Babystep Amount 0.05 (up)
New G31 Z offset -0.15When its too high and you have to decrease gap between nozzle and bed.
Initial G31 Z Offset -0.1
Babystep Amount -0.05 (down)
New G31 Z offset -0.05If you prefer you could put feeler gauges under the nozzle and measure it that way, or jog up and down and measure it. But if its too low this isn't going to be practical.
-
I have a bit of a SNAFU on my install. in the DWC it reads 1000 in red. when I use a meter on the PCB it reads the opposite of what is listed in the directions. the Positive reads 10 Kohms and the Negative reads 4.4 Mohms.
M558 P1 I1 R0.8 F300 X0 Y0 Z0 H5 F120 T6000 ; Set Z probe type to unmodulated, the axes for which it is used and the probe + travel speeds
G31 X0 Y0 Z-0.1 ; Set Z probe trigger value, offset and trigger height
M557 X40:285 Y20:310 S20 ; Define mesh gridon the Duet board I am plugged into the Z-Probe spot +3.3, GND and Z Probe IN
-
Use P5 (or P8 if you are on a recent firmware) and use E0 endstop input, also set Z to 1:
M558 P8 I1 R0.8 X0 Y0 Z1 H5 F300 T6000 (use I0 if you are using a v1 board)
-
I have it set like in your example, except for the Z1. I don't plan to use it to home since my hot-end parks off to the side and doesn't touch the bed. Just to clarify, you are using the E0 endstop for all the wires, and not the Z-probe socket on the board beside the Panel Due socket?
-
Hi guys sorry for the slow response. Using the z probe connector is no issue. If the DWC or paneldue shows 1000 when the probe is open/untriggered, then just change the M558 I parameter from I1 to I0 or vice versa.
What version of piezo device are you using? If correctly set up (red light on until triggered) a V2 universal kit board will output an active low signal (also called NC or inverted 3.3v open and nearer to 0v triggered). This offers failsafe operation in that a wire break between piezo pcb and the duet controller will show as triggered and therefore avoid a head crash. Upcoming versions of the piezo PCB (anything with V2) will work this way. Use I1.
Currently, Piezo20 PCBs (which are v1) and the original V1.x universal kit PCBs operate with the blue LED off when open, it comes on momentarily when triggered, these devices, are active high (NO or 0v open and 3.3v triggered). Use I0. No failsafe, so when commisioning, use low motor current to avoid head crash issues.
You can set up a v1 universal PCB inverted by moving VR2 until its just past the point where the blue LED comes ON and leaving it there, use I1 in this mode. But please DO NOT set up a Piezo20 PCB (the small one with one piezo connector) in this mode as it might burn out the blue LED (although this is less likely with 3.3v than with 5v.
The piezo20 PCB piezo connector is wrongly labelled, so ignore the + and -, however this sometimes has to be the case as not every piezo disc is correctly polarised. The only reliable test (without a scope) is to push up on the nozzle (or down on the bed for underbed) not tap, and see if it triggers when you push. Then release the pressure, see if it triggers when you release. If it triggers on push it's correct, if it triggers on release its the wrong polarity, just turn the piezo disc plug to the piezo PCB the other way, retune and try again. If it helps when I build the ready-to-run units using genuine Murata 7bb piezos the black lead from the piezo goes to the upper pin (nearest the outside of the PCB), most of the time, but occasionally I find an inverted piezo disc.
-
I have an odd issue in that if I have anything connected to the VIN pin on any endstop or the probe connector the duet becomes unresponsive until I unplug the VIN wire regardless of using the VIN pin on the z endstop connection or the z probe connection. Any ideas?
-
Sounds to me like you have the polarity on youre piezo board not in the right order,
please check if you got the signal and graund the right way around.mfg
Kai -
Double check wiring. On current generation piezo pcbs the wires at the Piezo PCB:
Vin - Red - positive (3-5v)
SIG (also labelled TRG) - green
GND - Black - negative - 0vAt the Duet (four pin plug) it goes
VIN RED
BLANK
GND BLACK
SIG/TRGWith the red Vin towards the sd card slot end of the duet board.
Please be aware standard endstop cables have GND and SIG the other way around. I swap them over when shipping (it's very tedious). We also leave the controller board end unwired to ensure that full attention is given to putting the wires in the right pins as every controller is different.
We are bringing a new generation of boards out this year which have the wiring as per the standard endstop cable, much less work, but will cause confusion for upgraders who will need to reconfigure their cable.
-
seems to be an issue unique to my duet board because when testing with another sensor (dc42 ir sensor) the same issue occurs. Also tested with an inductive sensor and the same problem. If I use the 3.3v VIN on any endstop pin or the z probe pin on the duet I end up with the board dying (for lack of a better explanation) until I unplug the wire from whatever 3.3 VIN port its connected to.
-
It sounds to me that you have a short in the cable or the sensor between the +3.3V and ground pins.
-
Can you measure the resistance between 3.3v and GND on your duet board (is there a nominal value? I'd measure mine but I'm away from home). If its happening with ir sensor and piezo sensor it's not likely to be the sensors that are both shorted.
-
On my Duet WiFi I get about 5.2K between 3.3v and Gnd at the Probe Connector. Hope that helps.
BTW that's with the probe unplugged. Its about 3.9K with a Piezo20 plugged in.
-
Can you measure the resistance between 3.3v and GND on your duet board (is there a nominal value? I'd measure mine but I'm away from home). If its happening with ir sensor and piezo sensor it's not likely to be the sensors that are both shorted.
I get a steady 3.3v when checked with my meter on all of the 3.3v pins. I get no resistance reading between ground and the 3.3v pins however.
-
I still haven't measured mine yet. Life is just too busy right now. However if you get nothing and tekkydave gets resistance then either you are not each measuring in the same way, or with the same power conditions, or same things attached, or something is amiss with one (or both boards).
You might consider powering the piezo pcb from a 3.3v source independently (or using a usb charger - I think the Z_probe IN pin is 5v tolerant). And just attach the TRG from piezo pcb to z_probe_in on Duet.
Please wait before using a USB charger 5v, for David/Duet3D to confirm if the z_probe_in is 5v tolerant. If not you could use a usb charger but run the TRG through a 3.3v regulator and then to the Z_probe_in, or a suitable resistor.
-
-
So if i understand, if i have
M558 P5 I0 R0.4 F330
G31 X0 Y0 Z-0.1 P100and i have always to do -0.15 babystep i have to change config.g into:
M558 P5 I0 R0.4 F330
G31 X0 Y0 Z0.05 P100right?
-
yes that is correct.
If you have a recent firmware, you can use P8 instead of P5 (unfiltered vs filtered input)