Welcome! Log In Create A New Profile


Report on under bed sensor problems

Posted by leadinglights 
Report on under bed sensor problems
January 11, 2020 10:52AM
I have been looking at some of the problems experienced by some users of piezoelectric discs used for under-bed leveling in 3D printers. Problems have been reported by experienced builders of 3D printers with knowledge of both the mechanical and electronic design so it seemed likely that the cause of the problems would be obvious.

I think I have run the causes of the problems that people have been experiencing to ground – though it has been quite a detective story.

I present below exhibit A: a series of plots set against the bed of my printer. Each plot shows the memory of the values stored in the buffer of the conditioning circuit for 128 readings over 32 milliseconds. The marker with the label “Contact” shows the point at which the nozzle met a contact plate directly below it. The time between the first contact and the detection of the event by the conditioner circuit is about 27 milliseconds on the front left corner but about 8 milliseconds at the bed centre. As the nozzle speed was 2 millimetres per second this means that the travel after initial contact spanned from 16 microns to 54 microns. A difference of 38 microns would be unacceptable with layers of less than 0.1mm – since this is a printer made with fanatical attention to detail other printers might just fare even worse.

To explain what is going on here, may I direct your attention to exhibit B: A reconstruction of the print bed as seen from the side. There are only two sensors shown in the interest of simplicity.

When the nozzle strikes the bed the piezo disc below the sensor has the pressure on it reduced – this was the design intent and it works as planned. Unfortunately, the bed acts as a lever with the centre of mass of the bed as a fulcrum and the piezo disk on the opposite side experiences an increase of pressure

Exhibit 3 shows the output from the three piezo sensors and a sum of the three outputs. This diagram needs a bit of explanation as it contains a bit of fiction and artistic license. The three piezo traces are from the buffer memory of three conditioner circuits and a record of 128 samples immediately before data collection stopped. The blue trace is from the right hand piezo and the conditioner responds when a certain condition has been met i.e. when it would normally respond when a contact event has occurred. The signal from the right-hand conditioner is used after a 5 millisecond delay as a signal to the back and left-hand conditioner to stop also and the data from all three are harvested. Since the back and left signals are delayed they are plotted as shifted along by 5 milliseconds relative to the first trace and a sum of all three has also been plotted.

The fiction mentioned above is in that an additional 8 readings (2ms) have been tacked onto the end of the blue (left piezo) trace and represent a continuation of the trajectory. This is approximately what does happen and helps to illustrate the summed waveform. The timing and general shape of the waveform is very close to what is seen in the first diagram.

A diagram of the interconnections on the test rig are shown below along with a photograph of the same.

Although not conclusive or even complete, perhaps this will give anybody else using piezos or other underbed sensors some idea of where to start in working around the problems which arise if a good accuracy is to be hoped for. I would point out that in the first diagram, with the contact pressure set very high, that triggering spanned about 36 microns – bad but not unusable. If the noise band is small enough then a spread of less than 5 microns is quite achievable.


Edited 2 time(s). Last edit at 01/11/2020 11:11AM by leadinglights.
Re: Report on under bed sensor problems
June 24, 2020 06:18PM
Hello Mike

Found your post interesting, what is the z axis calibration in your chart? II assume that the printer is a delta from the photo that was included. I did a number of repeatabiliy tests using the Precision Piiezo production electronics with the piezos nested in the center+/- of a rectangular bed, the piezos ranged from the smallest-10mm to the largest 40mm all mounted under bed. the tests were conducted on each size piezo diameter. The published resonant frequency for each size was (from memory) 10mm- 10kHz to abt 800 Hz for the 40mm one. My conclusion was to use the smaller disks in order to minimize low frequency pick-up. I was not party to any discussions at the time, several years [email protected] received all of my data at the time and working with his delta , using multiple piezos. I found in my tests the underbed mounting ideal. The contact point underbead was through an insulating blanket, promptin Idris to claim that my setup was using the Piezo as a "microphone" I left the scene following a stroke, and am back now with some limitations- and in the process of building a delta Rostock Max V3.2 , featuring the Duet 32 bit board with the effector based on the smart design

So in your chart the traces represent a pickup by the others in the printer?

Re: Report on under bed sensor problems
June 25, 2020 02:23AM
Dear Mike,

I found your analysis very intesting. I did not understand every detail yet and will have to reread. But I have some ideas already, which I want to share with you:

Besides mass lever effect, I see other effects also, where I don't know how it contributes to the result:
- the natural frequency (eigenfrequency) of the aluminium plate could play a role, especially the transient response
- the springs and their oscillations could play a role. The left/right upper/down piezo elements curves are different, maybe due to differences of the springs/screws/...
- the piezo elements may be different

I wondered whether the analysis of all piezos together when a contact is done would get better results. Adding (or the emphasis of single elements) of all piezo signals e.g. may sum up the first big peak above the threshold and shortens the time.
If the curve at the position is known, it would be possible to correct the time delay and recalculate the measurement.
Another aspect would be analyzing the effect of diffferent springs, different speeds and materials.

Best regards, Joerg

Edited 2 time(s). Last edit at 06/25/2020 02:36AM by JoergS5.
Re: Report on under bed sensor problems
June 26, 2020 08:30AM
A true luxury of questions. I will do my best to answer all of them.

  • The Z-axis is not shown on the chart and the Y-axis is in ADC counts. Having said that, with a Z speed of 2mm/second the 32ms X duration covers a Z travel of 64µm. Z drive is from a 0.9° stepper driving a 1mm pitch lead screw with anti-backlash nuts.
  • The printer is not a Delta but a slightly unusual Cartesian type where the bed moves in both X and Y-axes. This is to have the heaviest bits like multiple extruders where they are only required to move slowly. views of this printer in [www.youtube.com] and used as an engraver in [www.youtube.com]
  • The resonant frequency of a piezo disk is quoted with it in open air and retained only at the periphery. When it is clamped into an assembly it has less significance than the tuned frequency of a guitar string if the palm of a hand is rested against it.
  • In the first series of plots, all three underbed piezos are wired in parallel while the contact record is approximately in the position for each graph shown on the bed. the second set of plots, marked as Combined.png, shows the output from all 3 piezos along with a calculated sum. The calculated sum of the voltages and the measured values are tolerably close.

BTW, I have also fairly recently had a stroke but have the good fortune of having no residual deficit.

  • The interaction of the mass/leverage/elasticity of a plate held in 3 places and struck by a nozzle in a number of others is understandably complex and probably best done with a Finite Element Analysis package. The last time I used one of these was back when computers had green screens, an experience I would rather not repeat.
  • The natural frequency of a plate such as a printer bed is in the hundreds of hertz, say somewhere in the middle of a piano keyboard. That this is a cycle time some milliseconds should have warned me that getting things down to the hundreds of millisecondsEDIT: microseconds would be difficult - particularly when the sensors are inboard of the corners.
  • As the springs are held in compression and forces move through the piezo disk and mounting mechanism, only parasitic oscillations are expected from them and these only at a low level. I have tried to show this in the diagram below.
  • Piezo elements were closely matched on a jig made for this purpose.
  • The piezo element outputs are summed simply by paralleling them. The only purpose of looking at the outputs separately was to find where the error was coming from.

EDIT: I got a message that the text in the picture made no sense so I have replaced it - hopefully with a sensible one

The present status of this project, at least for this printer, is that I have abandoned multiple underbed sensors. I am using a single underbed sensor to detect nozzle contact and measure Z height at a single point. Bed leveling/compensation is now done with a sort of piezo/microswitch/semi_BL-Touch sort of thingy. [reprap.org]
For others though, I can only offer the following:-
Keep the positions of underbed sensors, Piezo or otherwise, at or beyond the edge of the bed
and remember that object lessons can be found even in the distant past.

The Rime of the Ancient Mariner
He went like one that hath been stunned,
And is of sense forlorn:
A sadder and a wiser man,
He rose the morrow morn.


Edited 3 time(s). Last edit at 06/27/2020 02:40PM by leadinglights.
Sorry, only registered users may post in this forum.

Click here to login