Precision Piezo z probes guide for duet users reference
-
Thanks Idris ... yes I'd seen that idea in the manual, but had forgotten. I'll give it a shot!
And thanks for the tip on the cables. -
Wow fascinating video Idris! Thanks so much for taking the time to show us!
-
Hi,
I have an under bed setup using 4 piezo on a universal board... until last night!
I have changed my extruder and new hotend is a mk10 from a mk8. I cannot see why this might make a difference but now my piezo setup won’t work!
Any suggestions please? Nothing else in my setup has changed... except the M92 E value for new extruder!
Now it still triggers as it did when tapping the bed, but nozzle just crashes when probing..
Many thanks,
Matt
-
Installing a Orion Piezo on a cubex. The Z probe is always at 1000 with or without piezo connected to probe header. When connected and i touch the end of the hot end the blue light flashes and Z probe goes to zero. in this configuration I get a error that the Z home signal is on before homing starts. I'm configuring this thru the RepRap configuration software. I've also have left the configuration to z probe and then used a n/c switch but it start to home but i can't stop it. the blue led flashes when I tap the hot end but it doesn't stop. The following moves x,y to 25mm z retracts (30mm?) and then I get the error. Thank You for your help. I'm about as new as one can get to this.
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves; Network
M550 P"Cubex" ; Set machine name
M552 S1 ; Enable network
;*** Access point is configured manually via M587
M586 P0 S1 ; Enable HTTP
M586 P1 S0 ; Disable FTP
M586 P2 S0 ; Disable Telnet; Drives
M569 P0 S0 ; Physical drive 0 goes backwards
M569 P1 S0 ; Physical drive 1 goes backwards
M569 P2 S1 ; Physical drive 2 goes forwards
M569 P3 S1 ; Physical drive 3 goes forwards
M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
M92 X80.00 Y80.00 Z4000.00 E420.00 ; Set steps per mm
M566 X900.00 Y900.00 Z12.00 E120.00 ; Set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; Set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z20.00 E250.00 ; Set accelerations (mm/s^2)
M906 X800.00 Y800.00 Z800.00 E800.00 I30 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X25 Y10 Z0 S1 ; Set axis minima
M208 X250 Y250 Z220 S0 ; Set axis maxima; Endstops
M574 X1 Y1 S0 ; Set active low and disabled endstops; Z-Probe
M574 Z1 S2 ; Set endstops controlled by probe
M558 P5 R0.4 H5 F1200 T6000 ; Set Z probe type to effector and the dive height + speeds
G31 P500 X0 Y0 Z2.5 ; Set Z probe trigger value, offset and trigger height
M557 X25:25 Y25:195 S20 ; Define mesh grid; Heaters
M140 H-1 ; Disable heated bed
M305 P1 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 1
M143 H1 S280 ; Set temperature limit for heater 1 to 280C; Fans
M106 P0 S1 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P1 S1 I0 F500 H-1 ; Set fan 1 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 power saving
M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss; Custom settings are not configured
; homez.g
; called to home the Z axis
;
; generated by RepRapFirmware Configuration Tool v2 on Tue May 21 2019 15:52:37 GMT-0400 (Eastern Daylight Time)
G91 ; relative positioning
G1 Z5 F6000 S2 ; lift Z relative to current position
G90 ; absolute positioning
G1 X25 Y25 F6000 ; go to first probe point
G30 ; home Z by probing the bed; Uncomment the following lines to lift Z after probing
;G91 ; relative positioning
;G1 S2 Z5 F100 ; lift Z relative to current position
;G90 ; absolute positioning -
@cubex249
I figured it out. I added a I1 in the M558 -
Hi,
I've a problem with the Andromeda system. I've installated all, and if I try with my hand all works fine. But when I run the G29 command, at the fourth or fifth point, the piezo stops working and I get the error:
I've this error:
Error: Z probe was not triggered during probing move
This is my config.g (i've try to reduce the R parameter and increase the speed, but the situation dosen't change):
; Z-Probe M558 P8 I1 R0.2 F1000 X0 Y0 Z0 ; digital mode, NO/NC, delay, speed, not used as axis endstop G31 X0 Y0 Z-2.5 P100 ; X Y Z offsets. P=debounce interval (The debounce interval in ms smoothes the signal) M557 X15:375 Y30:390 S60 ; define mesh grid
How I can fix this?
Thanks,
Andrea
-
If you tap the probe, with your finger, do the led lights flash on the control board and does it also show as triggered in the DWC ???
If leds flash, but no show in the DWC then your configuration is incorrect. If they don't flash, you need to check your board\wiring\probe etc.
-
Sorry, but what's DWC?
The probe works, because the first points are probed correctly. At the fourth point, however, it stopped working..
-
DWC - Duet control web pages & sorry I should have taken in what you've written...
So I take it, that at the fourth point the probe hits the bed ??
FYI, as it looks like you are still on RRF2, if so, this was my setting for that version (which worked well)
M558 P8 I1 R0.5 H5 T24000 F250 A3 S0.08 ; Set Peizo - P probe type, I Invert, R recovery time, H dive hight, T inter-probe-point speeds, F Probing Speed, 3 Dives , S calculated difference
-
I've try your code but for me dosenìt work.. the bed don't feel the probe..
-
Hey all!
So I have been playing with the piezo probes a couple of times now. However, even after having had my hands on 4 sets of piezo probes, it just does not work.
My setup is a Duet Wifi with under-the-bed piezo sensors. They are Andromeda sensors hanging under the bed, screwed to the frame, with the central Screw propping up the bed.
The relevant Duet Code I am using is as follows:
M558 H25 T9000 A10 P3 I1 R0.4 S0.02 F500 G31 X0 Y0 Z-0.15 P100
In order to test I run following script:
G28 X G1 Z25 F8000 G30 S-1 ...the above two lines *100 G28 X
I get a drift or roughly 0,3mm over the first 30 measurements, with increments of drift ranging from 0 to 0,018mm. After leveling out at approximately the 30-probe mark (this is by no means a hard limit) measurements jump back and forth between 0,002mm to max 0,015mm altough the larger differences are usually followed by an equally large countermovement (so if it measures 0,015 higher than the previous measurement, it is likely it is going to measure 0,015 lower the next cycle around).
I don't know what it is but with this problem I can not work with the piezo probes especially not with the arrangement I have got here.
I tried a lot and t kills me that it does not work. On top, I actually thought it was the perfect system for our business 3D printer and it not working doe not really help me at all.
I posted a similar request in the reprap forum, as I am trying to cover all my bases here and the problem persists for more than 12 months already.
Best regards
Deltasquare -
@Deltasquare said in Precision Piezo z probes guide for duet users reference:
M558 H25 T9000 A10 P3 I1 R0.4 S0.02 F500
I think this could be improved for accuracy/repeatability:
P3 - This mode is the analogue input. Usually piezos use the P8 (digital, unfiltered, faster) mode. You will probably still need to invert, which you're doing already.
H25 - this is the dive height. Unless your bed is wildly out of whack, you don't need to move the probe up this high. Try H5. Will also speed things up.
F500 - this is the probing speed. 500mm/min is FAST for probing. Most people in this thread seem to use F120. Try slow, then speed up if it still holds accuracy.Ian
-
Hi Ian!
Thank you for your quick reply!
ad dive height.:
I have run apprx 20 tests with 100 reps each for distinguishing the optimal probing height. I previously got the least offset when probing from 25mm height. My guess is that at 25mm is a multiplier of the full steps required to get to the bed.ad analog vs digital.:
I had the impression that the analog was supposed to be the more accurate, is this not true?I am implementing all your suggestions as I am writing. I will be getting back with results.
thk
dsq -
So I implemented the changes as suggested. There is no change.
In this attempt I have run 3 scripts twice each. The results are supporting one another in most cases.
Run1 & 2 were with the previous test script.
Run 3 & 5 were with the suggested improvements:
Improvements:
M558 H5 T9000 A10 P8 I1 R0.4 S0.02 F120 ; M558 dive Height, Travel speed, probing Attempts, Probe type, Remain, dive speed F G31 X0 Y0 Z-0.15 P100 ; Set Z probe trigger value, offset and trigger height Z-0.012 / Z-0.45
Script Z5:
G28 X G1 Z5 F3000 G30 S-1 ... above two lines x100 G28 X
and out of curiosity i also run the same settings with following script, to move the sliders a little more, as it is likely to happen in my setup.
Script Z5 updown:
G28 X G1 Z5 F3000 G30 S-1 G1 Z40 F6000 G1 Z5 F6000 ... above three lines x100 G28 X
Results you can find here, mind the tabs:
https://drive.google.com/file/d/19arr1t3R8NCq5BxTw2s26OPm-Wabvvv0/view?usp=sharing -
@droftarts said in Precision Piezo z probes guide for duet users reference:
@Deltasquare said in Precision Piezo z probes guide for duet users reference:
M558 H25 T9000 A10 P3 I1 R0.4 S0.02 F500
I think this could be improved for accuracy/repeatability:
P3 - This mode is the analogue input. Usually piezos use the P8 (digital, unfiltered, faster) mode. You will probably still need to invert, which you're doing already.
H25 - this is the dive height. Unless your bed is wildly out of whack, you don't need to move the probe up this high. Try H5. Will also speed things up.
F500 - this is the probing speed. 500mm/min is FAST for probing. Most people in this thread seem to use F120. Try slow, then speed up if it still holds accuracy.Ian
The "P" mode for the Orion depends on which headers on the Orion you're connected to. The newer boards have both analog and digital outputs so P1 (or P3) is correct for the analog output and P8 is correct for the digital output. P3 is like P1 except it doesn't drive the Duet's output pin low which the Orion doesn't need anyway.
The unfortunate situation is that the "proper" configuration depends on which Orion you have, which Orion outputs you want to use, which Duet you have, which Duet connector the Orion is connected to, and which version of RRF you run.
The Duet connector is important because only some of the IO connectors on the Duet3 support analog input.
-
Hi gtj0!
Thank you for your input! I thought there has been a change as I was confused last time I saw a digital and an anlog input on the universal Piezo Z-Probe PCB!
Unfortunately I have not got my hands on an Orion sensor, as we are only using Andromeda sensors which only have two leads coming out compared to the 6 from the Orion. What do you suggest for the Andromeda? Would you have it plugged into Analog or Digital? (On this topic: Is the Orion the better solution of the two? I could also mount 3 Orions under the bed)
However here the Versions:
- PP-PCB v2.85
- DuetWiFi v1.04c
- Andromeda v1.0
Connection PCB <-> Duet is via the "Probe" plug.
![Picture of duet Board with version number and duet "Probe" Plug attached to the z-probe]
https://drive.google.com/file/d/1VvkJIHuc_7ZN2v5XB3PSSQCO7H-Kn-x8/view?usp=sharingFirmware Version: 2.05 (2019-12-13b1)
WiFi Server Version: 1.23
Web Interface Version: 1.22.6 -
@Deltasquare you cannot connect andromeda directly to DUET you can burn duet easily like that. andromeda needs to go into ppiezo board and from that board to DUET. old boards had only digital output and 2 pots, new boards dunno, I only have orion sensor new with integrated new board, only 1 pot and both digital and analog output (no schematic but the switched from TLC27L4 to LM324, not sure why, maybe 'cause 324 works up to 32V so will work on 24V systems without regulator but not sure and without schematic hard to tell, but in my experience old board with TLC27L4 was easier to work with ).
Anyhow if you want to use andromeda's you would need "Universal Piezo Z-Probe PCB v2.85" https://www.precisionpiezo.co.uk/product-page/universal-piezo-z-probe-pcb-v2-x-for-1-2-3-or-more-piezos and it comes with both analog and digital output or old style v1 https://www.precisionpiezo.co.uk/product-page/copy-of-piezo20-pcb-for-the-piezo20-module-1-piezo (just wire your piezos in parallel and you can use as much as you want)
-
@Deltasquare said in Precision Piezo z probes guide for duet users reference:
PP-PCB v2.85
DuetWiFi v1.04c
Andromeda v1.0Connection PCB <-> Duet is via the "Probe" plug.
use the A pin on the 2.85 pcb it is analog output and connect it to zprobe pin on the duet (only one that is analog input!!)
config
; ORION ANALOG M558 P1 C"zprobe.in" R2 H5 F1200 T3000 A3 S0.03 K0 G31 X0 Y0 Z0 P780 M376 H10 ; taper compensation during 10mm M557 X-110:110 Y-100:100 P5:5 ; define mesh grid
but when you use the probe you need something like this (requires RRF v3)
G4S1 ; wait 1 second for sensors to stabilize G31 P{sensors.probes[0].value[0] + 8} ; set threshold value to "whatever is PP sending" + 8 G30 ; probe
-
Hi All!
Thank you for your help!
Apparently the problem wasn't the z-probe at all. The z-probe was diligently reporting the right value all the time. However, the delta-konfiguartion appears to be at fault. The coordinate system drifts apprx. 0.25mm when i repeatedly probe the same point 100 times.
As this is a whole different thread with different keywords etc. I will start another thread in order to reach the right audience for that.
Thanks to everyone for supporting me with this up until now, I certainly know the piezo-precision probe far better by now.
Best regards,
DSQ -
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