Percision peizo probing help
-
Please post your full config.g and homeall file.
Your M558 and G31 aren't quite right maybe. You're lacking a travel speed.
Increasing the probe speed in M558 will still be limited by the M203 max speed limit for the Z axis, so make sure it's set to allow for your faster dive speed.
This is what I got from the configurator (plus some modifications based on posts from the precision piezo thread though I'm not sure if it's applicable to your module. https://forum.duet3d.com/topic/2671/precision-piezo-z-probes-guide-for-duet-users-reference/143)
; Z-Probe M558 P5 R0.4 C"zprobe.in+zprobe.mod" H5 F2400 T6000 ; set Z probe type to effector and the dive height + speeds G31 P250 X0 Y0 Z-0.1 ; set Z probe trigger value, offset and trigger height
P5 or P8 should both work, though I think P8 is preferred. Both are for switch inputs, but P8 is unfiltered, so possibly more sensitive to triggering. Some people like to use P1 for analgue signal so they can tune the sensitivity that way instead of using the adjustment pot, but that has issues of it's own.
Whichever switch type you choose, the dive speed is critical for the piezo to trigger, and if the z axis maximum speed is set too low you might not be able to go fast enough, so check that first.
-
Thanks I checked the feed rates they should be fast enough i tried a probe at F2400 and same results but i can see the feed rate differently was faster..
so here is my config.g and homeall files; homedelta.g ; called to home all towers on a delta printer ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Sun Jul 19 2020 16:48:57 GMT-0400 (Eastern Daylight Time) G91 ; relative positioning G1 H1 X320 Y320 Z320 F1800 ; move all towers to the high end stopping at the endstops (first pass) G1 H2 X-5 Y-5 Z-5 F1800 ; go down a few mm G1 H1 X10 Y10 Z10 F360 ; move all towers up once more (second pass) G1 Z-5 F2100 ; move down a few mm so that the nozzle can be centred G90 ; absolute positioning G1 X0 Y0 F2100 ; move X+Y to the centre
; Configuration file for Duet WiFi (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Sun Jul 19 2020 16:48:57 GMT-0400 (Eastern Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"My Printer" ; set printer name M665 R170 L288 B85 H300.58 ; Set delta radius, diagonal rod length, printable radius and homed height M666 X0 Y0 Z0 ; put your endstop adjustments here, or let auto calibration find them ; Network M551 P"gorf" ; set password M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S0 ; physical drive 0 goes forwards M569 P1 S0 ; physical drive 1 goes forwards M569 P2 S0 ; physical drive 2 goes forwards M569 P3 S1 ; physical drive 3 goes forwards M584 X0 Y1 Z2 E3 ; set drive mapping M350 X32 Y32 Z32 E32 I0 ; configure microstepping without interpolation M92 X200.00 Y200.00 Z200.00 E873.08 ; set steps per mm M566 X1200.00 Y1200.00 Z1200.00 E1200.00 ; set maximum instantaneous speed changes (mm/min) M203 X8000.00 Y8000.00 Z8000.00 E1200.00 ; set maximum speeds (mm/min) M201 X1000.00 Y1000.00 Z1000.00 E1000.00 ; set accelerations (mm/s^2) M906 X1000 Y1000 Z1000 E800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 Z0 S1 ; set minimum Z ; Endstops M574 X2 S1 P"!xstop" ; configure active-high endstop for high end on X via pin xstop M574 Y2 S1 P"!ystop" ; configure active-high endstop for high end on Y via pin ystop M574 Z2 S1 P"!zstop" ; configure active-high endstop for high end on Z via pin zstop ; Z-Probe M558 P5 R0.4 C"!zprobe.in+zprobe.mod" H5 F2400 T6000 ; set Z probe type to effector and the dive height + speeds G31 P250 X0 Y0 Z-.1 ; set Z probe trigger value, offset and trigger height M557 R85 S20 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0 M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"spi.cs1" Y"thermocouple-max31855" ; configure sensor 1 as thermocouple via CS pin spi.cs1 M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0.25 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S1 H-1 ; set fan 1 value. Thermostatic control is turned off ; Tools M563 P0 D0 H1 F0 ; 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 ; Custom settings are not defined code_text
Gary
-
ah ok, I see now it's a delta.
How is the piezo mounted?
-
Its on an ed3 v6 hot end with the mounting hardware that came with the piezo screw mounted to a metal effector.
this is the older version of the percision piezo..
I have a newer one on my other printer so i swapped it out.. but this one is giving me a different problem, go figure!the newer one seems to trigger and stop much better, but always a but..
after it probes and triggers it will not set back to 0 it stays at 1000 i have tapped on it pulled it down a tad and loosen the screws but stays triggered the probe blue led go's on at hit and right off, so confused again the only way to get the probe to reset to 0, is to reboot the duet..Gary
-
Is that the orion version? Does the link I posted above give you any ideas? sorry, I haven't used the piezo probe myself, so my ability to help is a bit limited.
-
@gorf26 - have you checked your wiring? Assuming it's an Orion module like mine (but I think it's the same for the Universal and old Piezo20?), you don't need to use the Mod pin in the Duet
If it helps, here is my lines for my Orion on my CoreXY.M558 P8 C"!zprobe.in" R0.6 H2.5 F400 T4000 A10 S0.02 ; Set Z probe type to effector and the dive height + speeds G31 P250 X0 Y0 Z-0.1 ; Set Z probe trigger value, offset and trigger height
My feedrate is a bit lower than yours, but it's as fast as my Z-axis can handle... I also use it in 'P8' as the unfiltered response is faster
Have you played around with the variable potentiometer on there - if you set those wrong, it can muck up the output and possibly get the odd triggering you're mentioning. Precision Piezo have a guide: https://docs.wixstatic.com/ugd/e08222_ae707c20a0cf418b8393b44368370576.pdf
Also, I found that if I used thick wires to the Orion, that made it act funny. My theory is that the cable was acting as a load path so the piezo element didn't get enough of a hit to trigger all the time. I just un-sheathed ~2inches of cable and that seemed to fix it. Might be worth checking to see if any of your other hot-end wiring could be doing similar things
-
Yep double checked the wiring test today with my meter just to make sure all wires were getting signal from the duet to the piezo all was good.
yes its a Orion, i tried 2 different one's , one was the older version, and i just hooked up the newer version it has to wire connectors one if you want to use analog and the other for digital ..
I did mess with the pot on the older one but haven't messed with it on the newer one.
Right now i have the newer one connected. and seems fairly sensitive, just a slight tap will trigger the blue led
so didn't want to mess with the pot if i don't have to.The problem is when i sent a G30 s-1 it will hit the probe and stop, but never resets to 0 in the firmware so after the first hit the firmware always thinks the probe it triggered, the only way to reset the probe back to 0 is reboot the duet board...
also i did remove the zprobe.mod from the firmware i was not wired to the zprobe.mod pin only probe,in .
and to phaedrux i did check out the link but did not help much, thanks..
seems that i have a strange problem..Thanks gary
-
I looked into the zprobe.mod part and it's selected because in the config tool the piezo probe is lumped in with the smart effector, which does use the mod pin. It shouldn't cause any issues being included in the M558 command, but removing it is fine too.
It sounds like you need to tune the pot for sensitivity?
-
Just a new update,
I decided to put the newer peizo on my duet maestro and see how it works i have the older Orion already mounted on there and it's working fine, so i connected up the newer version Orion and it seems to be working fine on the maestro when it's trigger's i get the 1000 reading and then back to 0, i also have firmware 3.1.1 on the maestro...
So could there be a problem with the duet wifi's probe input on the board, because no matter what i do it seems to trigger once then the duet thinks it always on and i have to reboot the duet to reset probe to 0 off.
Thanks gary
-
@gorf26 said in Percision peizo probing help:
M558 P8 R0.4 C"!zprobe.in
You could try enabling the pullup resistor with ^
M558 P8 R0.4 C"!^zprobe.in"
-
Thanks
what i just did after some though, i connected it to the E1Stop i'm not using it anyway and it seems to be triggering on and off haven't tried probing yet but at least its going 0 to 1000 and back to 0...
Do you still think the resistor will make any difference on the probe.in?.
Gary
-
@gorf26 said in Percision peizo probing help:
Do you still think the resistor will make any difference on the probe.in?.
I'm not sure. Shot in the dark on my part.
-
@gorf26 said in Percision peizo probing help:
yes its a Orion, i tried 2 different one's , one was the older version, and i just hooked up the newer version it has to wire connectors one if you want to use analog and the other for digital ..
I am using both "old" setup and the orion.
Old ones work rather nicely on digital input with RRF but I could not make ORION work for the life of me. I fiddled for a month and finally contacted PP guy's and they told me to use ORION's ANALOG output with duet and so I did. If you look at your orion there is both digital and analog output. Digital output trigger is configured with that #$^(#%&^#_&^@$+^ trimmer on the board and in most cases just don't work. On the other hand analog signal is more less what's happening on the sensor itself. Route the analog signal to the zprobe.in input on the duet and you are golden. Two things to consider- it must be zprobe.in as it is the only analog input pin available, all the endstop pins are digital only
- use a coax cable (microphone cable will work) to pass analog signal from the A output on the orion to the zprobe.in on the duet. If you use normal wire the surounding noise from the motors and motor drivers and heaters will affect repeatability
Use RRF3.1.1 and configure your analog proble "on the fly"
so, the main configuration of the probe goes like this:
M558 P1 C"!zprobe.in" R2 H6 F2400 T3600 A4 S0.03 K0 G31 X0 Y0 Z-0.1 P250
and in your homing script you do something like this:
homeall.g
M98 P"homex.g" M98 P"homey.g" M98 P"wipe.g" M98 P"homez.g"
and homez.g
; HOME Z WITH ORION M400 ; WAIT FOR ALL MOVES TO FINISH T0 G90 G0 X0Y0 F3000 ; go to center of the bed, complain if X or Y not homed G91 ; relative positioning ;G0 Z5 F900 H2 ; drop bed for 5mm G90 ; absolute positioning G4S3 ; wait 3sec G31 P{sensors.probes[0].value[0] + 2} G30 ; Probe the bed at the current XY position. ; When the probe is triggered, set the Z coordinate ; to the probe trigger height.
This will set the treshold just befor you start probing for Z
In order to do mesh stuff properly you want to make your bed.g to do something like this
; bed.g ; called to perform automatic bed compensation via G32 G29 S2 ; delete compensations M561 ; clear any bed transform G28 ; home G4 S1 M400 G31 P{sensors.probes[0].value[0] + 2} G29 S0
and do
G32
to do a mesh leveling instead ofG29
I hope this helps.
now, with the precise piezo boards that do not have analog output I strongly recommend, for those who knows how to solder, replacing those @^$()&$^(&!@$##!&%^_+#^( trimmers with a proper multiturn pot as that will make setting a trigger point possible
-
one other thing, RRF v3.1.1 will not do a probe at the speed configured with M558 because for analog probe RRF assume you are using IR probe and that analog value is proportional to the distance from the bed. This is why RRF will start probing at configured speed and then drop the speed when "close to bed". With ORION you have non stop value "close to bed" till it triggers so the probing is done much slower than configured in M558. @dc42 promissed to change this for 3.2 so that we can define a probe for piezo properly. Note that when you are probing with piezo too slow the value will not change enough for the probe to be recognised so you want to increase the probing speed in order to have piezo detect the colision properly. Also you want to drop jerk and acceleration of Z axis to a very low value so you do not vibrate the sensor into triggering when you start the probing move. And finally, fairly important hint, you want to wipe your hotend before you start probing so make sure you have your wipe procedure working ok.
-
Thanks When i setup analog before i was not getting a good trigger variation i am assuming..
probe no hit it was 475 to 480 when hit signal went maybe up to 490 sometimes to 500 not enough for duet to see probe was hit I'm thinking,
I was a little nervous also about adjusting the pot and toughing things way off...I don't have the probe mounted right now i just connected it to the E1stop pin and i have tried 10 or 15 g31 moves and just tapped the probe and it seems to be stopping the axis right away every time, of course every thing can change when i remount it to the effector... i am thinking that the problem is with the zprobe.in pin on the duet so if thats the case i don't think analog will work correct either.
also not sure if your homing will work i only have the deltahome.g no home x y or z files
I have increased homing speeds from 300 up to 2400 before with no change.. but now that i have a signal on the e1stop, from the looks of it, it may work..
of course now that i may have it working, and after i removed it, i just have the hotend mounted to the effector, also i spent all day yesterday doing manual bed leveling, almost hate to swap it back and start all over..
also right now my hot end is clean, i cleaned it put new tip and have no filament in.
Thanks gary
-
@gorf26 said in Percision peizo probing help:
Thanks When i setup analog before i was not getting a good trigger variation i am assuming..
probe no hit it was 475 to 480 when hit signal went maybe up to 490 sometimes to 500 not enough for duet to see probe was hit I'm thinking,
I was a little nervous also about adjusting the pot and toughing things way off...The potentiometer on board does not affect analog output. Those smd trimmers are only good for up to 20 "moves" and then they go bad, and they are inprecise to begin with. Using analog output you solve that problem.
If you didn't use coax cable (for e.g. shielded microphone cable, or shielded balanced audio cable or something like that) to link analog output to the zprobe.in you had a lot of noise picked up by the wires and the noisy trigger is not nicely handled by the RRF (questionable if even possible). I for e.g. use balanced audio cable, there's a twisted pair that's additionally shielded, one of the pair wires I connect to analog output, other to ground on both sides, of course. The shiled of the cable on the duet side I connect to ground and on piezo side I do not connect anywhere. This kills the noise almost completely.
I don't have the probe mounted right now i just connected it to the E1stop pin and i have tried 10 or 15 g31 moves and just tapped the probe and it seems to be stopping the axis right away every time, of course every thing can change when i remount it to the effector... i am thinking that the problem is with the zprobe.in pin on the duet so if thats the case i don't think analog will work correct either.
Analog will work much better than digital output.
You need to make sure, of course, that the sensor is properly placed. If you put sensor outside and tap it by hand it is very different from probing as you tap it faster than it bends during probing, also it's not constrained in the head. Dunno what mount style you use but if you go with similar to what they are selling (grove style) the 4 screws that compress the orion, they should be only fingertight, if you overtighten them the probe won't work.
also not sure if your homing will work i only have the deltahome.g no home x y or z files
I don't do delta so you have to use the idea from my homing and apply to delta. The general idea is to bring the nozzle close to probing point, do not move anything for few seconds and then do
M400 G4S1 G31 P{sensors.probes[0].value[0] + 2}
M400 will wait for all moves to stop
G4S1 will wait for 1 sec for everything to stop shaking
G31... will read the current probe value and set threshold value to that value + 2So this will dynamically set threshold just before you start probing. If you get trigger before you touch the print plate increase the +2 to something bigger (+3 or +4). If you do not trigger on touch with +2 you need to increase probing speed.
-
Thanks a lot i will give it a try, i need to re design a new top screw mount for the pizeo, when mounted to the all metal effector, the bowden tube fitting is to far down to release if i need to pull the tube.
I have it drawn up just need to print it now hopefully my manual bed leveling is good, will be giving it a go this afternoon...
if it go's well i will test out your suggestions..
Thanks Gary
-
You may be right i just received a reply from Idris and he said you need a pullup resistor in digital mode but not in analog..
I had trouble getting it printing again but got a good cube printed today so will be printing a new mount and get the piezo remounted and see how it go's..
just a thought do you know if the E0Stop is set to pullup, it do's seem to work on that connector...,? but I will go back to the zprobe.in with pullup and see how that goes
He also said in analog mode the pot has no effect.
Gary
-
sorry to bring the piezo back up, but i had to redesign a mount for my all metal effector.
I have it mounted now and running... in digital mode..Most of the suggestion's are to use analog, i have tried all different combinations in the firmware but no matter what i always seem to have a high signal, in the DWC it shows 478 or so when booted, and when probe is hit it only changes to around 480 485. never go's to 0.
When i do a probe move i always get the message probe triggered so no movement is started..
I have tried with pullup's on and off and also inverted on and off, the same results.
Thanks gary
-
The probe doesn't need to go back to zero it just need to go to roughly the starting value. The "zero" is the value that the probe is at baseline (with some leeway for temperature fluctuation) that you set a trigger value above which it triggers. For you I'd set my trigger value to 480 and see if it works. DWC should go from grey to red when the value goes above the trigger value. If you are on analogue the Pot doesn't change the trigger value - you need to change the config files instead.
The other thing I found with them is they are very sensitive to how tight you have the screws and work best when it's on the slightly looser side (but not loose enough to cause the hotend to move). I've been mounting my piezo disc on a bit of car gasket maker which makes the discs a bit more robust to head strikes and over tightening. I can't find a picture right now unfortunately. Piezo's are a pain to get working because you have to redesign everything around them but they're great when they do.
The other thing that is worth mentioning with a delta is an under bed sensor might be better as you have a static Z (really wishing I went the Voron route right now!) which makes designing a hot end as easy as it gets.