Welcome! Log In Create A New Profile

Advanced

Piezoelectric disks for Z contact detect and bed levelling

Posted by leadinglights 
Re: Piezoelectric disks for Z contact detect and bed levelling
January 17, 2017 05:07PM
Nozzle slightly too wobbly with this latest version. Might have to have a much flatter top to the lower section.

EDIT - latest version mkII draft 5 is best so far, quite stable nozzle and so long as its tightened enough, good clear triggers on probing.

Edited 1 time(s). Last edit at 01/18/2017 10:19AM by DjDemonD.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Piezoelectric disks for Z contact detect and bed levelling
January 18, 2017 10:05AM
After some conversations and having a look to see how to do it, I did some re-work on an effector and this peizoelectric clamp to make the Nimble fit.

Using Haydn's latest effector: [www.thingiverse.com]
And DjDemonD's mounting sysyem: [www.thingiverse.com]

Overall it was not too hard, but just to make sure I got it right I redid all the models, mainly to get it into native formats for my cad solution.

Here is a quick image of the overall construction.

The peizo sensor sits just under the dark grey part.

The effector has space for a LED ring, 3 mounting points for fans and also mounting points for 2.8 mm tubing if you want to use Bard-air like cooling, and of course the famed Haydn magnetic ball system.

The STL's will be available, of course.

Edited 2 time(s). Last edit at 01/18/2017 10:41AM by Lykle.


Lykle
________________________________________________

Co-creator of the Zesty Nimble, worlds lightest Direct Drive extruder.
[zesty.tech]
Attachments:
open | download - Peizo effector.png (287.6 KB)
Re: Piezoelectric disks for Z contact detect and bed levelling
January 18, 2017 10:20AM
Will print these tonight and see how well the piezo sensor works in this setup. They look great - the effector has a military look to it. smoking smiley


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Piezoelectric disks for Z contact detect and bed levelling
January 19, 2017 03:18AM
For now I have published the designs on Thingiverse.

[www.thingiverse.com]

If things need to change I will update the models asap.

Thanks DjDemonD, Moriquendi and Huntley for some great work.
Re: Piezoelectric disks for Z contact detect and bed levelling
January 19, 2017 04:10PM
Quote
Lykle
Thanks DjDemonD, Moriquendi and Huntley for some great work.

And Mike (LeadingLights) of course, for getting this started...
Re: Piezoelectric disks for Z contact detect and bed levelling
January 19, 2017 04:14PM
Yeah +1 for Mike and Moriquendi I just saw a way to port their system to IMO a more convenient place in the printer, and tried to stop the nozzle wobbling. Im going to print Lykle's effector now and try it.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Piezoelectric disks for Z contact detect and bed levelling
January 19, 2017 04:18PM
Oh, I wouldn't detract from your contribution at all, I was just surprised that Mike didn't get a mention. The idea of putting the throat through the middle of the piezo was brilliant. This has been a great collaboration all round.
Re: Piezoelectric disks for Z contact detect and bed levelling
January 19, 2017 04:58PM
Why thank you sir. I love it when a plan comes together.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Piezoelectric disks for Z contact detect and bed levelling
January 20, 2017 03:58AM
Njål Brekke (elenhinan) deserves a lot of the credit as he was the first to use piezoelectric disks for nozzle contact and bed leveling. Other people mentioned piezo disks as an idea but seem not to have taken it any further.
Mike
Re: Piezoelectric disks for Z contact detect and bed levelling
January 20, 2017 04:17PM
Just to say I now have Lykle's effector installed (with the Haydn Huntley magnet arms), and its working well, we are discussing a slight change to the upper piezo sensor holder to allow a little recess which permits the piezo to bend slightly more, he is planning to update his thingiverse listing after incorporating it. Without it I couldn't quite get into the sweet spot between too many false triggers with high sensitivity on VR1, and not quite enough sensitivity to trigger reliably when probing (my hand was hovering over the power switch).



Autocalibration deviation is around 0.03, but the nozzle is firmer, than with my MkII draft 5 version. It seems there is a zone where precision can be increased but at the cost of a slightly wobblier nozzle.
Reprap firmware grid levelling works fine with temporarily very reduced jerk/speed settings.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions

Re: Piezoelectric disks for Z contact detect and bed levelling
January 20, 2017 05:20PM
It may help to avoid false triggering if you increase microstepping to 256x during the probing procedure. I have been told that this allows accelerometer-based probes to be run at higher sensitivity. It seems that the microstep interpolation isn't perfect. The recovery time parameter in the M558 command may also help.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Piezoelectric disks for Z contact detect and bed levelling
January 20, 2017 06:13PM
Thanks David on the face of it that seems like a good idea.

Went to config.g to get my current M350 settings and the value for Z was omitted. It read M350 X16 Y16 E16 I1, I presume it defaults to x16 if there is no set value? I have not changed this from the demo delta file I used to begin with might be worth checking it on git?

So I changed my bed.g to this
; Auto calibration routine for delta printers

M350 X256 Y256 Z256 E16 I0    		; Set 256x microstepping 
M561					; clear any bed transform, otherwise homing may be at the wrong height
G28					; home the printer
G28					;home again in case of endstop problem

;slow down movement to improve accuracy and magnets holding
M201 X250 Y250 Z250 E1000		; Accelerations (mm/s^2)
M203 X15000 Y15000 Z15000 E3600		; Maximum speeds (mm/min)
M566 X100 Y100 Z100 E1200		; Maximum instant speed changes mm/minute

G30 P0 X0.00 Y120.00 Z-99999 H0
G30 P1 X75.20 Y89.63 Z-99999 H0
G30 P2 X109.80 Y19.36 Z-99999 H0
G30 P3 X95.08 Y-54.89 Z-99999 H0
G30 P4 X38.37 Y-105.43 Z-99999 H0
G30 P5 X-40.44 Y-111.11 Z-99999 H0
G30 P6 X-103.92 Y-60.00 Z-99999 H0
G30 P7 X-118.18 Y20.84 Z-99999 H0
G30 P8 X-77.13 Y91.93 Z-99999 H0
G30 P9 X0.00 Y60.00 Z-99999 H0
G30 P10 X46.66 Y26.94 Z-99999 H0
G30 P11 X43.81 Y-25.29 Z-99999 H0
G30 P12 X0.00 Y-54.74 Z-99999 H0
G30 P13 X-51.96 Y-30.00 Z-99999 H0
G30 P14 X-51.96 Y30.00 Z-99999 H0
G30 P15 X0 Y0 Z-99999 S6

;restore speed settings to normal printing speeds
M201 X3000 Y3000 Z3000 E1000		; Accelerations (mm/s^2)
M203 X15000 Y15000 Z15000 E3600		; Maximum speeds (mm/min)
M566 X1200 Y1200 Z1200 E1200		; Maximum instant speed changes mm/minute



G29 S1					;load grid levelling mesh
M376 H10				;taper off compensation after 10mm

G1 X0 Y0 Z75 F3000			; get the head out of the way of the bed

M500					;save calibration to config_override.g
M350 X16 Y16 Z16 E16 I1    		; Set 16x microstepping with interpolation

I ran it, it moves much more slowly, making a slightly different sound to normal, probes normally but quite slowly, the first point dives more slowly yes? I only noticed this now its moving more slowly. Weird thing is I get no result back to the console, in fact nothing on console once it completes. Do I have any gcodes in the wrong order here?


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Piezoelectric disks for Z contact detect and bed levelling
January 21, 2017 02:05AM
Are you running a Cartesian printer? If so then your Z steps/mm may be too high to use 256x microstepping at your chosen probing speed.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Piezoelectric disks for Z contact detect and bed levelling
January 21, 2017 03:34AM
No a Kossel Xl.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Piezoelectric disks for Z contact detect and bed levelling
January 21, 2017 04:10AM
You might find that you can tune this out by adjusting VR2 slightly further away from the trigger point. You've got the mass of the hotend cantilevered off the piezo element, the inertia of that mass resisting vibrations and movement of the head is, I suspect, what's causing the tuning difficulty.

Moriquendi
Re: Piezoelectric disks for Z contact detect and bed levelling
January 21, 2017 04:21AM
Thanks I'll try to play with the board a bit more. But I think this is the crux of it, there is a sweet spot between a firm nozzle with low sensitivity and a wobbly nozzle that's very sensitive.

Edited 1 time(s). Last edit at 01/21/2017 04:22AM by DjDemonD.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Piezoelectric disks for Z contact detect and bed levelling
January 21, 2017 05:44AM
The other thing to look out for is that it may need a couple of minutes for the temperature to stabilize. The PZT used in these discs is makes an excellent sensor for rate of temperature change but this can give rise to spurious triggering. If this is so then tweaking down the input resistance (VR1 I think) should also raise the lower frequency cut off and ignore the temperature change.

Mike
Re: Piezoelectric disks for Z contact detect and bed levelling
January 21, 2017 05:56AM
Yeah I've been watching for this Mike, but where I have the sensor mounted it is at ambient temperature almost all of the time.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Piezoelectric disks for Z contact detect and bed levelling
January 21, 2017 07:45AM
Quote
DjDemonD
No a Kossel Xl.

I suspect your travel speed (250mm/sec) in bed.g is too high to run 256x microstepping, especially if you are using 0.9deg motors. That would be why it is moving more slowly. You probably need to slow it down, or use 128x microstepping instead. What are your steps/mm?

You can also try firmware 1.17c+1 which generates the steps faster than previous versions, up to about 180kHz per motor with 3 motors moving simultaneously.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Piezoelectric disks for Z contact detect and bed levelling
January 21, 2017 07:49AM
I'll try that later, thanks. Steps/mm are 200.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Piezoelectric disks for Z contact detect and bed levelling
January 21, 2017 07:52AM
I'll have a bash at explaining the functioning of the circuit. If you understand how the circuit works it should make it easier to tune it. Let me know if I'm missing anything LeadingLights

The circuit is in two parts, a differentiator and a comparator. The differentiator converts the rate of change of the piezo voltage into a voltage, that is to say, the faster the piezo voltage changes, the higher the output voltage of the differentiator. The comparator compares the output of the differentiator to a threshold voltage, set by VR2. VR1 sets the input impedance of the differentiator, a higher resistance on VR1 (turning clockwise) gives a higher voltage spike for the same contact strength, higher spike in the same amount of time means a faster rate of change, gives a higher voltage output from the differentiator.

The circuit is designed to be active on. The output should be low when there's no contact on the piezo element.

You might in fact be causing problems rather than solving them by slowing down the probing speed, too slow and you might not be causing a fast enough spike in the piezo voltage. I think this is unlikely however.

Moriquendi
Re: Piezoelectric disks for Z contact detect and bed levelling
January 21, 2017 08:04AM
Thanks that helps, what's odd though is the best operation I can achieve is as described above where it works as active low.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Piezoelectric disks for Z contact detect and bed levelling
January 21, 2017 08:28AM
Having thought about it there's no reason not to use it active low, the circuit should work identically though tuning for VR2 will be reversed. One other thing, I've never tested the board on 3.3v. The op amp is rated down to 3v but I never tried it.

Moriquendi
Re: Piezoelectric disks for Z contact detect and bed levelling
January 21, 2017 08:32AM
Quote
DjDemonD
I'll try that later, thanks. Steps/mm are 200.

I assume that's at x16 microstepping. 200 steps/mm @ 15000mm/min = 50kHz. So if you increase microstepping from x16 to x256, you need 800kHz step rate, which is a little over 4x what the Duet WiFi can generate with all 3 motors moving using firmware 1.17c+1. You could try x64 microstepping and reduce the speed to 12000mm/min.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Piezoelectric disks for Z contact detect and bed levelling
January 21, 2017 11:14AM
I'll try the new firmware and lower speeds with the higher microstepping. It will be useful to know if true microstepping is more precise for this than interpolation.

The Piezo board seems to work fine on 3.3v.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Piezoelectric disks for Z contact detect and bed levelling
January 21, 2017 02:13PM
DjDemonD, I've just had a look at the Duet documentation (I'm using a smoothieboard so I've never needed it before) and I think you're configuring the Duet to expect an analog signal when the board outputs a digital one. I don't know whether this might be contributing to your tuning difficulties but it may.

Moriquendi
Re: Piezoelectric disks for Z contact detect and bed levelling
January 21, 2017 02:56PM
I can reconfigure for digital, but I get an analogue signal from it. It shows 215/1000 in free air, and goes up to 1000 pressed hard, I use 700 as a trigger value. As it no bumps over a slightly squashed first layer it reads 300-400i just presumed it was an analogue board.

Edited 1 time(s). Last edit at 01/21/2017 02:57PM by DjDemonD.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Piezoelectric disks for Z contact detect and bed levelling
January 21, 2017 03:07PM
If you were to look at that analog signal with an oscilloscope I bet what you'd see is a very spiky signal that the A/D converter of the Duet is reading as an analog signal. A comparator like the second part of this circuit cannot output an analog signal unless something's gone wrong.

Moriquendi
Re: Piezoelectric disks for Z contact detect and bed levelling
January 21, 2017 03:17PM
I've got two boards maybe I'll swap the other one in just to validate it.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Piezoelectric disks for Z contact detect and bed levelling
January 21, 2017 03:31PM
Swapped them over exactly the same so I'm presuming both boards are good. Not getting anywhere configured as digital, it won't trigger when diving to probe (which is quite slow and gentle by default, I must look to see how I can speed it up to give it a firmer tap). However when configured as analogue with 700/1000 trigger value and setup to be active low its fantastically sensitive and accurate. I don't have a machine suitable for the sensor with ramps to move the sensor to for a little test on a machine not analogue sensing capable, but I can attach it to my corexy and just tap it and see if it will show m119 z-min triggered.

Will try new firmware and higher microstepping now. I take your point David about the step pulses and max speeds 800mhz is fairly crazy, but I am moving at very modest speeds to do autocalibration runs, so I'd be surprised if its getting anywhere near the maximum step pulses even on 1/256 stepping.

Now using 1.17c+1 what isn't happening when I'm using 1/256th or 1/128 or 1/64 is a result from autocalibration, it does the run normally probes all the points, triggering normally, but I get nothing back to the console no success or failed message.

If I drop it to 1/32 it will return a result (sound awful compared to all the other modes).

It seems to me almost as if the autocalibration is struggling with the higher step rates and just doesn't have the data to produce a solution?

Further discussion about these sensors and Duet electronics on the duetwifi forum. [www.duet3d.com]

Edited 5 time(s). Last edit at 01/23/2017 05:30AM by DjDemonD.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Sorry, only registered users may post in this forum.

Click here to login