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
October 18, 2017 09:30AM
Definitely make one then, all our designs are freely available and they work. We've about 80 Piezo20 modules out there now no issues so far. You get 10 microns accuracy with 7 microns standard deviation (you can improve on this slightly making it out of pla with 100 infill but it's a hotend clamp so not sure if it's worth it) and that's repeatble from one probing to the next, unlike microswitches which never redeploy in exactly the same place each 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
October 18, 2017 09:31AM
I see your point except that the $3 Chinese module doesn't do what this does, you've got to decide whether the price difference is worth it to you. On which point, it's not an endstop, it would be more accurate to compare it to something like a BLTouch or IR sensor, except this is more accurate and tolerant of any print surface.

Idris


{Precision Piezo} Accurate, repeatable, versatile z-probe plus piezo discs, endstop cables, pt100, 50w heaters.
Re: Piezoelectric disks for Z contact detect and bed levelling
October 18, 2017 10:58AM
Is there any reason the piezo leads can't be really long? The idea here would be to keep the sensor board close to the controller board and just run the piezo wires through the same harness as the hot-end power and thermistor wires. (assuming a delta setup)

tnx.

g.
Re: Piezoelectric disks for Z contact detect and bed levelling
October 18, 2017 11:09AM
There is a limit to how long the piezo leads can be as longer wires, especially if they're routed near switching power wires (like the hot end), will pick up interference and cause false triggering. I don't know how long the wires can be before you have problems but it probably depends on how electrically noisy your printer is, I've run piezo wires from the effector to the top of a kossel mini without problems. One forum user has experimented with using shielded cable for the piezo I think with some success but our normal advice is to put the board close to the piezo and run the three wires back to the controller.

Idris


{Precision Piezo} Accurate, repeatable, versatile z-probe plus piezo discs, endstop cables, pt100, 50w heaters.
Re: Piezoelectric disks for Z contact detect and bed levelling
October 18, 2017 11:46AM
I wasn't aware the piezo wires would be sensitive to induced current, but it makes sense.

tnx.

g.
Re: Piezoelectric disks for Z contact detect and bed levelling
October 18, 2017 12:18PM
Electrically, I had 80cm leads at one point with 1 hotend heater and 2 fans wired in the same loom. No issues. Added a second extruder and started getting flickering on the piezo pcb from induced current. So it's marginal in mist cases, but try to locate your piezo pcb as close as is practical to the piezo disc/s.

The system is so sensitive mechanically it can trigger as you walk past the printer if you set it that high.


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
October 20, 2017 05:05PM
Regarding the chinese clones, I've first bought the $13 chinese piezo kit (ali)since precision-piezo.uk didn't have the boards in stock, it's useless!
Go for the real deal, you can get the "normal" board with 3 piezo inputs, the price and shipping is more than affordable. I got 2 of them and mounted on both my printers and what can I say besides that I'm delighted.
The piezo discs you can get from ali/ebay, I went for the larger 30mm ones since they have a little more ceramic to be drilled, don't go over 30mm however since you won't get more ceramic, just larger metal disc.
You can print your own holder from thingyverse or use my design for a laser cut one out of 3mm acrylic, I get 3 micron resolution/deviation. You can get the files in the other thread.
Thanks again guys for the wonderful things you make!
Re: Piezoelectric disks for Z contact detect and bed levelling
October 20, 2017 05:18PM
Kind words sir. Thank you.

Edited 1 time(s). Last edit at 10/20/2017 05:18PM 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
October 20, 2017 05:26PM
We're never out of stock for more than a couple of days anymore. If they're showing as out of stock it's worth dropping myself or Simon (DjDemonD) a message to find out how long they'll be, chances are there's already a batch of boards in the post ready to get put into kits.

Always good to get positive feedback, so far it seems that everyone who's tried it has been satisfied.

Idris


{Precision Piezo} Accurate, repeatable, versatile z-probe plus piezo discs, endstop cables, pt100, 50w heaters.
Re: Piezoelectric disks for Z contact detect and bed levelling
October 21, 2017 05:21AM
Having tried both Moriquendis' sensor board and This cheap Chinese sensor board I would have to say that they both work. The Chinese board is certainly less sophisticated and may well not work as well in some printers that are electrically noisier than some, but I have no problem with mine on either a delta or a self design cube. As far as the moral question goes the Chinese board is advertised for use with Arduino, not 3D printers, so I don't think you can claim it is a 'rip off' clone or a copy - it just happens to offer the same function as Moriquendis' boards...which I must say do work well.
Re: Piezoelectric disks for Z contact detect and bed levelling
October 21, 2017 05:31AM
That board is no clone or copy there are a lot of piezo amplifier boards for arduino. There is however a direct replica of our product which even uses our name and links to our documents directly. That's a little bit cheeky but we have to be doing something right for this to happen.

I've used plenty of cloned things in the past so it would be hypocritical to get too annoyed, but it has encouraged me to buy the genuine item when I needed another or the clone died.


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
October 21, 2017 06:06AM
Those boards certainly aren't clones and if they work for you great, there are plenty of ways to interface to a piezo.

What I object to is people who literally clone a product without contributing to the development of the concept or providing support. In this case they've not even written, or hosted, their own instructions or documentation. This is what kills open source innovation in my opinion.

Idris


{Precision Piezo} Accurate, repeatable, versatile z-probe plus piezo discs, endstop cables, pt100, 50w heaters.
Re: Piezoelectric disks for Z contact detect and bed levelling
October 23, 2017 10:29AM
I have the final results of the tests at 80°C showing the stability of discs in compression (un-drilled) and in flexing (drilled disc) disc after a week of soaking. The rig was not really satisfactory for the drilled discs as there is more bounce than a small child on a trampoline - see the scope plot with the wild ringing at the point of contact.



Even this stability was only got by reducing the the pressure change from 450 grams to 250 grams. The output voltage for the drilled discs has been multiplied by 1.8 to correct for this.



I think these plots show that even under this considerable mistreatment the piezos should give an adequate life.

Mike
Re: Piezoelectric disks for Z contact detect and bed levelling
December 04, 2017 03:50PM
Back at the beginning of this thread I speculated that it may be possible to use a piezo disc without any amplifier as I had seen them used in maze runners directly connected to an Arduino. The Github entry below shows just this being done but input to the analogue side

[github.com]
There doesn't seem to be any further information on implementation.

I am not recommending that that is the way to go: I think that reliability dictates the use of a high impedance input with both high frequency and low frequency filtering and some additional protection such as you get from Moriquendi's amplifier; but this approach can be used to get a minimum system.

Mike
Re: Piezoelectric disks for Z contact detect and bed levelling
December 04, 2017 04:01PM
I know many people have implemented piezos into their printers and wont be impressed.. But i thought I'd just thank moriquendi and Simon for all their hard work. I got the 1.2v board when it was still quite new.. And tried multiple ways to adapt the hotend version to my effector... Which was massive pain in the butt. So i just went for the underbed version which turned out great.

Thanks for everything

P. S. G31 on my delta
[photos.app.goo.gl]

Edited 1 time(s). Last edit at 12/04/2017 04:02PM by RandomFactoid.
Re: Piezoelectric disks for Z contact detect and bed levelling
December 04, 2017 04:04PM
No worries glad it's working so well.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Under-bed Method
January 19, 2018 03:27AM
So I got completely sick of how crap the BL Touch is for both accuracy and repeatability on sensor/bed height detection let alone the fact it will randomly drop the probe and ruin prints.... Considering this crappy sensor uses a bit of heatshrink to set the probe height and length to hall effect sensor, when it is mounted just in front of the hot air coming off a hotend, it is just a crap design all round. This is made worse for me as I use a lot of different filament types, a heated enclosure and change the build surface dependant on the material being printed which means I am constantly wanting to run a calibration before each print. So I have an Ir sensor that is "ok" but this suffers also from changes in the build surface and I end up having to reset the Z-offset dependant on what material is being used.

So I decided to design up a solution for my Tevo Little Monster delta printer to suit the 27mm piezo disc for under-bed detection. The design incorporates some heat shielding/insulation built into the piezo holder as well as keeping the piezo as far away form the heated bed as possible. Initial tests show on the Tevo LM running for 6 hours, with a bed temp of 150 * Celsius and full enclosure with air temp of 60* Celsius, that the piezo is not exceeding 39* Celsius (keeping in mind the ambient room temp is 32* Celsius to begin with), in this situation I have to tape the BL Touch pin up and not dream of running a calibration before hand if the printer has been printing before hand. The piezo disc I bought locally (taken out of a piezo buzzer from Jaycar) seems to have plenty of trigger sensitivity with the springs I am using for bed levelling (springs are out of AA battery holder spring for the negative side of the battery) and showing no sign of being affect by the heat. I have not got a piezo amp board and multi sensors yet, just recording and watching the piezo output on a scope at the moment and I am able to the faintest touch on the bed with just one sensor (I mean a piece of filament touching it faint) without any noise from the motors moving around.



The lower part holding the piezo sensor is attached using existing M5 thread in the bottom plate and is attached from under the plate from outside the printer and holds the piezo inside via a screw in cap. It is printed with only 15% infill with a full layer every 5 layers at 0.8 layer height and does touch the plate with the bulk of the part (except the thread), this ensures maximum insulation from the heat due to creating multiple layers of overlapping air pockets all round the piezo sensor. The piezo sensor is setup to be flexed by a M2 bolt in it's centre with it supported around its edge and clamped in place by the parts screw in lid. It has a slot through the side to allow the cables to come through with the ceramic surface facing the bolt (seems to be the most sensitive way of setting up the sensor).

The top part goes through the top plate which holds the heated bed, it is held in place by a matching "nut" which is sized to fit down the centre of the spring between the bed and the bottom plate in order to hold the spring in place as this replaces the bolt that was once there as I use 3 bolts to hold heated bed in place and set the bed height and level, then using the other 3 left over holes for mounting the piezo bed level sensors (also made a couple of different sized nuts to try different springs).The M2 bolt then runs down through from the top to part that has a M2 thread in it to allow you to set the initial pressures and height of the piezo triggering which of course can also be used to fine tune the trigger sensitivity on top of any adjustment of the sensor board itself. This means you can leave an air gap between M2 bolt and piezo, or have it just touching the sensor or add a little constant pressure which all changes the point the piezo triggers and the intensity of the trigger. The lower part then has a cap on it to allow you to easily change out a busted piezo sensor and the centre of the M5 thread is hollow and large enough (without a thread) to allow the M2 bolt, affixed to the build plate, to move up and down easily but without any sideways movement.

With the stainless bolt I am using I am not getting more than a few of degrees of heat coming down into the piezo chamber from the 60 degree air temp in the enclosed print chamber so no issues with heat transfer there. By all accounts I should be able to set the sensitivity of the board pretty darn high then just adjust the M2 bolt to set when the sensor/board is set off reducing the impact pressure on the build plate, I may even be able to remove the springs altogether although they are helpful for getting the bed perfectly square to the uprights on my delta.




I am looking forward to being able to run a decent calibration test before each print and have no concern with changing out the build surface when ever I feel like it, now to get over the $50 cost to get the piezo board and sensors sent over from the UK..... eye popping smiley
Attachments:
open | download - 27MM PIEZO all.JPG (18.2 KB)
Re: Piezoelectric disks for Z contact detect and bed levelling
January 19, 2018 02:32PM
Your design should work quite well but I think that having the build stage sitting on three quite long 2mm diameter legs is a little worrying as the stage can be pulled about in the XY plane by the nozzle. Another possible problem is that vibration may cause it to shake.
On my delta printer I used 6mm diameter sleeves snugly fitted through 2mm thick PTFE washers to prevent XY movement. You can see this (maybe not clearly thought ) on the picture below - three sensors at 120 degree intervals and three of the sleeves I mentioned between them.



Let us know how well it works.

Mike

p.s., double posting is regarded as not good in this forumcool smiley

Edited 1 time(s). Last edit at 01/19/2018 05:30PM by leadinglights.
Re: Piezoelectric disks for Z contact detect and bed levelling
January 19, 2018 11:42PM
I might of been clear, the build plate on the Tevo LM is held on by 6 M5 bolts that use a set of spaces to hold the build plate away from the base plate (hexagon build plate). I have removed 3 of these M5 bolts and replaced the spacers with springs to allow me to adjust the bed perfectly square with the towers but adjusting the remaining 3 M5 bolts. The holes let over from removing 3 of the M5 bolts have got the new piezo sensors holders mounted into them using the existing M5 threads in the base plate. The build plate does not sit on the M2 bolts going onto the piezo sensor, the build plate sits on and is held up by 6 springs, these spring are compressed by 3 M5 bolts to adjust bed height/angle. The M2 bolts are attached to the build plate inside a printed mount for them (affixed top and bottom to build plate) with the ability to adjust their height with fine detail due to the fine thread pitch which allows you to adjust if/when/how much they are touching the piezo sensors. In other words, I can adjust if the sensors are in constant contact with the piezo sensor and how much "preload" that contact is, or I can adjust them to sit away from the plate so the plate has to move down a set distance in order to have the M2 bolts touch the peizo sensor. This allows me to tune the M2 bolts till they are sitting a poofteenth away from the piezo sensor so not movement from the head and motors cause it to create a signal, only a set amount of movement down will, or alternatively I can put some "preload" onto the sensor with the M2 bolts which means it takes more force to get a reaction out of the sensor, or I can set it to anything in between.

This takes the design you picture to a new level as there is no connection between the plate height adjustment mechanism and the probe hitting the piezo sensor not is there any flex or leverage issues to deal with as well as insulating the piezo away from the effects of the heated bed and heated enclosure on both the piezo and the bed levelling arm/adjuster.



P.S. Last time I checked, one was a post asking if freebies were still available in another thread with a basic outline of the design and the other is a detailed design about my specific piezo design in the thread dedicated to piezo bed level design, but thanks for letting me know "self-imposed moderator", I wasn't aware that everyone read every single thread in this forum and was such a big issue but I will keep this in mind in future when I look to share design info[[/size]/s] winking smiley

Edited 1 time(s). Last edit at 01/19/2018 11:51PM by Redemptioner.
Re: Piezoelectric disks for Z contact detect and bed levelling
January 20, 2018 01:02PM
@Redemptioner,
How did you make your heated enclosure? We are always interested in solutions here.

Mike
Re: Piezoelectric disks for Z contact detect and bed levelling
January 20, 2018 01:09PM
Having not read Redemptioner's post fully and having misunderstood a couple of details I though it was about time I expiated some of my sins and clarified details of my underbed sensor that may not have been truly clear in past posts.
Firstly, the piezo replaces the three (or four) bed leveling screws on a Cartesian printer or some Delta printers, it is not fitted in addition to the mountings. The piezo is also not used as a microphone but acts as a true pressure sensor in series with a capacitor. The parallel mechanism and pressure pad can be replaced by a simple bar but that would introduce some compliance and have more pressure on some parts of the piezo than others. Having the piezo actuated by a fall in pressure allows the build stage some overtravel if the nozzle moves too far down - see the diagram. The preload is used mostly to correct for errors and differences in printing so that the piezo is under a little pressure even if there is an overtravel condition - the piezo will remain held and won't fall out.



Incidently, after nearly two years and many hundreds of prints, only one out of 9 piezo discs (3 printers) has lost any of its mojo - and that one is down from 8V to 7V so is not ready to retire.

Mike
Re: Piezoelectric disks for Z contact detect and bed levelling
January 23, 2018 11:57PM
Quote
leadinglights
@Redemptioner,
How did you make your heated enclosure? We are always interested in solutions here.

Mike

The side sections are made out of Corflute and the front is clear made out of Polycarb held on by printed Polycarb brackets that slot into the rails and use T-nuts to secure them, the Coruflute works exceptionally well as an insulated and also acted as the template for the Polycarb front. I then use 2 heatsinks/blocks with 50W heaters in them and small 30mm fans to then exchange the internal air pass them to heat the air in the chamber (sucking the air from the top of the chamber, past heaters then back down to bottom of the chamber). I also draw a very small amount of air constantly out from the chamber to keep a negative pressure to ensure no smell comes out (air is exchanged through a gas mask filter). They are currently controlled by an external temp controller with dual output control to allow me to increase the speed of the fan running the negative pressure so I can also cool the air as there is no PID controlled on the heaters which leaves them to overshoot sometimes, downside is the heating continues to run till I turn it off manually. I will be changing them over to be controlled by the Duet once I get my heat around writing some custom code for the duet to do this, this will also allow me to not only rapidly exhaust the smell before opening the door when a print is finished (evacuate the air in the chamber) but also to control the cool down cycle as nylon seems to prefer heating up a bit more before it is cooled down and ABS and Polycarb seem to like to cool down much slower so the chamber needs to slowly reduce its heat over time requiring a "cool-down cycle" after a print is finished.
Re: Piezoelectric disks for Z contact detect and bed levelling
January 24, 2018 06:18AM
Looks like this extra complexity is likely to prevent the building of a proper sturdy bed.
One Z sensor part of the print head is for me the best way to go. It is what I have been using for a few month and don't even use auto bed leveling as it is a cartesian (a simple Prusa) machine.
Will keep the same approach as it even makes more sense with a better built.

Edited 1 time(s). Last edit at 01/24/2018 06:43AM by MKSA.


"A comical prototype doesn't mean a dumb idea is possible" (Thunderf00t)
Re: Piezoelectric disks for Z contact detect and bed levelling
January 24, 2018 08:49AM
Quote
MKSA
Looks like this extra complexity is likely to prevent the building of a proper sturdy bed.
............

For a printer which already has the bed mounted on three mounts with return springs (e.g., most good Cartesian pirnters), the parallel mechanism introduces no significant compliance. Putting it another way, it is just as sturdy with the under-bed sensors - that is the reason for the mechanism itself and the use of discs in compression rather than flexing.

Mike
Re: Piezoelectric disks for Z contact detect and bed levelling
January 24, 2018 03:26PM
Quote
leadinglights
Quote
MKSA
Looks like this extra complexity is likely to prevent the building of a proper sturdy bed.
............

For a printer which already has the bed mounted on three mounts with return springs (e.g., most good Cartesian pirnters), the parallel mechanism introduces no significant compliance. Putting it another way, it is just as sturdy with the under-bed sensors - that is the reason for the mechanism itself and the use of discs in compression rather than flexing.

Mike

Why screw and springs if you use auto bed level ? When I say strurdy, it is sturdy, no thin screws, springs etc...
Again unnecessary complexity.
Piezo have been used for age for various kind of sensors.
Flexing works fine for this purpose.
The way you use it in compression is fine for a scale, a pressure sensor.

Edited 1 time(s). Last edit at 01/24/2018 03:36PM by MKSA.


"A comical prototype doesn't mean a dumb idea is possible" (Thunderf00t)
Re: Piezoelectric disks for Z contact detect and bed levelling
January 24, 2018 10:33PM
Well any1 that has been printing for some time could tell you the benefit of having springs under the bed is not just for bed leveling. You only need to have a bit of warping or wander in calibration to have the head crash into the print or bed itself causing damage or destruction of print, then multiply that my a machine running at 250mm/s and we are talking catastrophic issues.Springs under the bed are cheap insurance to prevent any damage occurring and usually facilitate the ongoing printing despite a small amount of warpage, if you are lucky enough to have never encounter this then I would say you are in the minority. Putting the piezo under the bed also allows more build height and prevents you having to use a printed product on your hotend which limits what you can print and both the quality and print speed you can achieve, sure this is hardly an issue if you are using a Prusa but then again achieving high quality prints is hardly high on the radar for such a basic machine in the first place .......
Re: Piezoelectric disks for Z contact detect and bed levelling
January 25, 2018 12:56AM
Redemptioner:

I know the purpose of these springs, see here: [forums.reprap.org]

Just that by having the Z sensor part of the printhead, we don't need them anymore. Head can be made to take the beating or protection mechanism can be implemented (spring ?).

A sturdy bed is heavy so the spring must be strong. So ?

Built height gain ? How ? Your compare to a way of mounting the Z sensor on the head. Compare to let's say the Delta smart effector of DC42 (piezo could be integrated that way)

Any way, good luck with your system.


"A comical prototype doesn't mean a dumb idea is possible" (Thunderf00t)
Re: Piezoelectric disks for Z contact detect and bed levelling
January 28, 2018 11:41AM
Quote
MKSA
Redemptioner:

I know the purpose of these springs, see here: [forums.reprap.org]

Just that by having the Z sensor part of the printhead, we don't need them anymore. Head can be made to take the beating or protection mechanism can be implemented (spring ?).

A sturdy bed is heavy so the spring must be strong. So ?

Built height gain ? How ? Your compare to a way of mounting the Z sensor on the head. Compare to let's say the Delta smart effector of DC42 (piezo could be integrated that way)

Any way, good luck with your system.

I have continued this discussion on a new thread "Rigid construction"

Mike
Re: Piezoelectric disks for Z contact detect and bed levelling
April 13, 2019 12:18PM
For some time now I have been getting a backlog of projects and have been trying to get some of them finished. An improved way of extracting a good trigger has been a principle objective for at least the last year and I am beginning to get some useful results.

Instead of trying to filter the incoming data I have tried to use a few checks to determine if a nozzle contact is good, looking for a clean background signal followed by an increase at a linear rate between two limits until a trigger voltage is achieved. There is a secondary trigger to signal that nozzle contact had occured but could not be relied on for calibration. This arrangement allows software in an external controller to probe again or signal that the nozzle contact was poor for whatever reason.

Early tests show that plastic on the nozzle is readily detected and mechanical noise that has not been filtered out will again cause a bad contact signal - again before any damage is done to the build stage. Although it wasn't the intention, the filtering method used does seem to be good at cancelling mechanical noise

Th plots below are mightily kludged, but only because there was no practical way to extract all of the data from the 8 pin PIC MCU. However, the blue line (ADC data) is genuine and has been fed back as a data file into the Simulator in Microchip MPLab X to produce the mean of 8 point data and the slope data. Trigger delay is from an oscilloscope.



In the plots, the green line is the running mean of the last 8 points from the ADC (Blue line) The slope is derived from the last 9 points - the middle point ofr pivot point is discarded. Not shown in these plots in the baseline which is the running mean of the last 40 values. The nozzle was advanced at 1mm/sec and the trigger was reached 30 ms after initial contact which occured after 30 microns of movement.

When I have got this completely working I will put the program and circuit diagrams on an open source repository like Sourceforge or GitLab in the event anybody wants to develop it further. Meanwhile, ther is a little more information on [reprap.org] and the piezo mechanism is shown on [reprap.org]

Mike
Re: Piezoelectric disks for Z contact detect and bed levelling
April 17, 2019 09:45PM
Mike,
Rather than just a running mean, you can do all kinds of digital filtering to amplify or attenuate various frequencies (highpass, lowpass, or bandpass, etc) Digital filtering can be designed so that it isn't particularly compute-intensive. e.g. instead of a simple average, do a weighted average where the new value = new reading/2 + prev value/2... this emphasizes recent readings over old readings. Or you could use new value = new reading/4 + old value*3/4 to reduce the effect of single spikes in the data. You can also do things like differentiating by subtracting the prev reading from the new reading, and filtering that, to look for the upward slope.

If you can capture a series of readings, you can load them into a column in e.g. Excel, and quickly try out various digital filter formulae to see which gives the best performance.

I'd offer to help with this, but I'm on vacation at the moment, and out of reach of my normal tools.


Frank
Sorry, only registered users may post in this forum.

Click here to login