Piezo20 probe and piezo kit now available
-
Hi there,
I got the full kit yesterday, and I'm configuring it with DjDemonD groovemount for Piezo20. So far, I'm quite surprised about how this works, and it wasn't too hard to configure, however, there is something that bugs me, and I'm not sure if I'm doing something wrong, my mechanics doesn't allow to do it better or is just that I didn't tweak it fine yet.
I've recorded this: https://youtu.be/QJUzIwRm_js
You can see there that the led triggers when I push the nozzle, then I executed Z Homing, the nozzle touches the bed, and although is hard to see it in the video, the entire carriage moves slightly up a bit, then the nozzle goes down 5mm and waits. After that I requested in the web that Z goes 0, and (around second 38 in the video) the nozzle hits the bed and moves up (so it doesn't stop exactly at the bed), then I move the bed 1mm and the pressure over the hotend is released (that's the point where 0 should be). Summarizing, I'm getting 1mm Z offset consistently.I've tried with different Z speeds and accelerations, and it's always like this, in fact, I've configured an offset of 1mm in my Slicer and prints really well, but I cannot stop thinking I'm doing something wrong.
This is my config:
; PiezoSensor
G31 X0 Y0 Z0 P100
M558 P5 F200 H3 R2 X0 Y0 Z0
M557 X5:300 Y5:300 S50 ; Define mesh gridM566 X900 Y900 Z12 E120 ; Set maximum instantaneous speed changes (mm/min)
M203 X6000 Y6000 Z200 E1200 ; Set maximum speeds (mm/min)
M201 X900 Y900 Z150 E250 ; Set accelerations (mm/s^2)Regards
-
This might be a really simple one reverse the polarity of your piezo then retune (wont be far off). I think its backwards. When you tap up it looks like it lights up when you release rather than the instant it is tapped. It will still trigger but in that clumsy way as shown in your video.
In M558 probably take your probing speed up a notch try F300 R you can probably get away with as little as 0.2. Youll be confident to do this when its triggered nicely.
The rest is fine.
-
Thanks DjDemonD, will try it now.
Funny thing, I thought yesterday that the polarity was reversed and I swapped it xD.
Regards
-
Did it make any difference?
-
No, is exactly the same… I've swapped it to be active all the time (led is ON until touch), then it touches, led goes out and the offset is still 1mm.
Something I'm not sure about is that, when I do Z homing, once the nozzle touches the bed, the web interface shows 0'70 and then the bed moves to 5mm as configured:
; Lift Z relatively to current position
G91
G1 Z5 F6000; Back to absolute positioning
G90; Go to first bed probe point and home the Z axis
G1 X5 Y150 F6000
G30; Uncomment the following lines to lift Z after probing
G1 Z5 F100Apart from that, I've executed a series of G30 S-1 (with a G1 Z5 to move the bed before each G30), and the results are more or less the same:
22:57:46Stopped at height 0.685 mm
22:57:43Stopped at height 0.686 mm
22:57:41Stopped at height 0.686 mm
22:57:38Stopped at height 0.685 mm
22:57:35Stopped at height 0.683 mm
22:57:33Stopped at height 0.683 mm
22:57:30Stopped at height 0.683 mmIf I adjust the VR1 the stop height changes (0.6 is the lowest I got, 0.8 was the highest), but I'm not sure what means that offset... I guess is the real distance the bed forces the nozzle up.
Any advice?
Regards
-
If you can measure vr1 pot resistance between a piezo pin and the pot itself, 0.4Mohm is a good setting, but 0.6Mohm or 0.8Mohm increases the sensitivity, the pots can be a little jumpy so make sure the reading is fairly stable.
Determine the polarity for certain by pushing up on the hotend, if the LED changes on push up its right, if its on release its reversed.
When you turn vr2 make sure its just a fraction past the point where the LED comes on and no further, this increases sensitivity even more.
Make sure you have switch I1 in your M558 if you are using the board in NC mode (i..e led goes out when triggered).
If your hotend is very wobbly this might be a problem as it doesn't give the piezo a firm tap on contact more of a gentle squash which generates a much less sharp rise in voltage and is harder to detect.
-
I see something in your video which might be a problem or not, I can see some nuts between the top and bottom part of the module. These might be an issue. The idea is that the top part which has the printed groovemount, these holes need to not bind to the screws, the lower part of the module prints with holes which are 2.8mm so your can tap m3 screws into them.
The disc needs to be able to be squeezed between the two parts of the module. Its only 0.2mm but unless the module can easily compress you might not be getting a full signal.
If you take it off and change the assembly, reassemble it and before you mount it wire it up and make sure the led changes on the slightest tap on the bed holding it in your hand.
Make sure it looks like this assembled
And ensure the solder pads on the disc sit in the recess in the flange on top of the lower part. -
At some point I am going to do an assembly video for youtube.
-
I setup the resistance to 650 (my multimeter is at 2000k scale), but it's still the same.
I've spent more time levelling my bed (never was so well levelled as per Duet!), and I've observed that in some points the touch is more gentle (the pressure upwards is less noticeable), the point that seems to be the best is the front right corner, meanwhile other points (even those quite near the screws, so is not because of the screws "pushing") the hit is the same as before.
However, the bed levelling after homing Z in the corner or in the middle of the bed is more or less the same:
Homing at X285 Y5
Homing at X150 Y150
I had the nuts there as I had problems with the printed parts (it warped so the bottom is not perfectly flat), as it seems my level is much better now, I'm going to print another set of parts and will disassemble the hotend tomorrow to remove the nuts.
I had some doubts during the assembling, mainly with the pressure I should put between the parts that holds the piezo disk (at the beginning it seems that it was too close and the piezo didn't trigger at all), so a video will be much appreciated :).
Anyway, thanks a lot for your answers!
Regards
-
Okay definitely print the parts without warping, its not easy, some I print warp, I have to discard them.
The level of preload is difficult to settle on. You need the unit to be firm. The piezo can function almost as a microphone so even quite high preload is not a problem.
-
They will work in PLA OR PETG, I just use ABS for its good intermediate properties, i.e. stronger, better used around hotends, (but then if your hotend fan and heatsink cannot keep the heat of the hotend away from the parts holding it something is wrong) less brittle so will last longer.
-
I'm printing them in PLA for now, as it's easier, and the temperature I don't think is a problem (I've been using the groovemount in PLA for a long time without issues), but I plan to re-do them in PETG once I have it properly working.
I've printed a set during the night, and 2 of 3 parts came out nicely, once was a mess with the warp (sigh). I will check the offset I'm setting now (I think that as in some points is hitting harder than in others, this is affecting the offset). I will reprint it alone once I get home.
Anyway, what really bugs me is why in some points the touch is barely noticeable, and in some others it press the hotend upwards in a way that is easy to see it… initially I thought it was because near the points where the bed is attached to the frame (the screws) the bed is more robust, but I've tested it in other points near screws and you can see it pressing there too, and the bed structure is quite tough, so I'm running out of ideas, I hope the change of the mount helps fixing this :(.
Cheers
-
Might be worth a skype if it doesn't work I am quite keen to see what the issue might be.
-
Videos are now online starting with drilling a piezo and continuing through how to build a piezo 20 and finishing with how to tune the PCB.
-
I just watched the videos about 10 minutes after you uploaded them… and I found my problem... I was mounting the piezo the other way around!!
So in your videos is fairly clear that the piezo is in contact with the hotend mount, meanwhile I assumed that the piezo should go inside the whole (correct) and that the hole should be looking up, sandwiched with the top part of the groovemount (incorrect!!).
I'm disassembling now everything as finally I got my parts printed, and I will put together in the right way... and I'm impressed, even doing it wrong, requiring much more force to push it upwards to make contact, it actually worked!
Thanks for your videos, I will keep you updated
Regards
-
Ok, now I'm getting closer…
I've installed everything again, and I've found something interesting when I do the homing, maybe I'm doing something wrong, hopefully DC42 may be able to throw a bit of light here...
This is my homegall code:
; Relative positioning
G91; Lift Z
G1 Z5 F6000; Home X
G1 X-305 F1800 S1; Go back a few mm
G91
G1 X5 F6000
G90; Move slowly to X axis endstop once more (second pass)
G1 X-305 F360 S1; Home Y
G1 Y-305 F1800 S1; Go back a few mm
G91
G1 Y5 F6000
G90; Move slowly to X axis endstop once more (second pass)
G1 Y-305 F360 S1; Absolute positioning
G90; Go to first bed probe point and home Z
G1 X255 Y5 F6000
G30; Uncomment the following line to lift the nozzle after probing
G1 Z5 F100With this code, first the X axis is homed, then the Y axis, then X and Y moves to a position where I know the mesh will stop, and do the G30 (Home Z) and then moves Z to 5mm. Ok... but, what if I removes the lift of the nozzle...? then Z will stop at the point where it touches the bed... and it does, but... surprise! Z shows 0'67 height, and that is like... WTF? You just touched the bed and you're sitting there, why you say you're at 0'67mm??
Then I tried saying the board that the point is 0, (G92 Z0), and in that moment, the web says "Yep, Z is 0", cool... lets do a mesh leveling... wow, now it touches really gentle, it doesn't move upwards at all, but... Surprise again! The bed is quite well leveled but... is below where the board thinks it's 0!
Now is where I'm completely lost, I guess I've something wrong in my config, but I cannot find what it is…
BTW, after homing I've executed a few G1 Z5, G30 S-1 and this are my results:
2:34:08 AMStopped at height 0.086 mm
2:34:05 AMStopped at height 0.080 mm
2:34:02 AMStopped at height 0.085 mm
2:34:00 AMStopped at height 0.083 mm
2:33:56 AMStopped at height 0.083 mm
2:33:53 AMStopped at height 0.078 mm
2:33:50 AMStopped at height 0.075 mm
2:33:47 AMStopped at height 0.072 mm
2:33:44 AMStopped at height 0.068 mm
2:33:41 AMStopped at height 0.060 mmI've adjusted the V1 to 810MOhms, and the V2 to the point it should be, but I think I still need to play around a bit with it... higher resistance is more or less sensitive? I'm not sure...
I'm quite close!!
Regards
Edit:
I saw you all are using the M558 with Z0, but this means we're not using the probe for homing Z... why?
Anyway, I tried M558 with Z0 and Z1 and after homing, Z shows 0.70mm in both cases... -
I am interested to give this a go, when will the drop in z-probe be back in stock?
-
Okercho - make sure you know your Z-offset, after doing G30, do a paper test and see where the nozzle really is, and have entered it in G31 in config.g it will be a small negative number i.e. -0.1, -0.15, -0.2.
My solution to the grid level problem, is home Z (G30) at bed centre, then run G29. You are getting a flat bed just the system thinks its all too low.
If you have the module assembled and its giving sensitive triggers please do not adjust it any more the rest is all in the firmware now. You wont get a different grid levelling result adjusting the sensor. Once its working its zero maintenance.
higher vr1 resistance is more sensitive
Jackal - I've got some piezo20 PCB's if you wanted to print a module and add some screws as in the videos, go to precisionpiezo.co.uk and send me a message.
-
Okercho, the Z height that is set when the probe stops in a G30 command is the trigger height defined in the Z parameter of the G31 command in config.g or config-override.g.
-
I've found the issue!!
I thought that the order in config file was not that important, and I don't know where I got this, but if I have my probe config like this:
G31 X0 Y0 Z0 P100
M558 P5 I1 F200 H3 R2 X0 Y0 Z0
M557 X5:300 Y5:300 S50 ; Define mesh grid
When the homeall is executed, Z reports 0.70mm heightHowever, if I have this (M558 and G31 swapped):
M558 P5 I1 F200 H3 R2 X0 Y0 Z0
G31 X0 Y0 Z0 P100
M557 X5:300 Y5:300 S50 ; Define mesh gridZ reports 0.00 height and now the bed levelling is the expected one:
I guess that G31 asume some offset by default (0.70 was what I got) if M558 is not configured before with the type of probe… Anyway, now I can finally start doing printing test :D.
Thanks a lot DjDemonD and DC42!
Regards