Under-bed piezo force sensing
-
Regarding accelerometers it's worth reading Michael Hackney's experience with accelerometers here:
http://forum.seemecnc.com/viewtopic.php?f=112&t=11286&start=25#p102553
-
Yeah I've read that thread they do seem to conclude that currently its difficult to make it reliable. I'd say the opposite were true with the piezo hotend sensor, that seems to be very reliable.
In other exciting news (https://www.duet3d.com/forum/thread.php?id=940) it sounds small at first but this will save hundreds if not thousands of hours of printing time, in avoiding first layer problems. I'm nicknaming it auto first layer calibration as this is what it basically amounts to.
-
The point made by James in the first posting on this thread is not quite true for piezo disks - although perhaps I spread this about a bit with an early posting on the RepRap forum http://forums.reprap.org/read.php?1,635075,635164#msg-635164 which is a load of doggy-doo.
There is very little variability at different positions on the bed as long as the piezos are fairly closely matched - within batches of no-name piezos there has been less than 3% variability of output or of capacitance. The reason that this is true is that the charge generated on each disk is fairly proportional to applied force. Simply paralleling three discs will give the correct output even if one of them gets a negative output - think of a three legged table with the legs bolted to the floor, the sum the compressive forces on the three legs equals the weight put on the table even if you sit on an unsupported corner causing the opposite leg to be under tension
Mike
-
-
There is now a wiki page addressing the underbed piezo sensors at http://reprap.org/wiki/Underbed_Piezo-electric_sensors
Mike
-
I found the reference for the person who used a DSP chip with FFT to sense bed contact:
http://hackaday.com/2016/07/18/sonic-3d-printer-auto-bed-leveling-makes-swoosh/
-
In theory this should work well. How it copes with softer surfaces such as painter's tape or PEI I am not sure, but hard surfaces like glass, aluminium, printbite etc… should work.
-
Note that the author of the above-mentioned article (http://hackaday.com/2016/07/18/sonic-3d-printer-auto-bed-leveling-makes-swoosh/) opines that:
We’re beginning to see a new generation of 3D printer controllers that feature a more powerful 32 bit MCU, ideally we want one that supports DSP instructions. Given the availability of cheap STM Nucleo boards with powerful, DSP-enabled ARM Cortex-M4 MCUs, my bet is that insanely powerful 3D printer controller electronics, capable of tricks like this one, are bound to happen rather soon.
Do you think this is accurate, or perhaps is the Duet processor potentially already capable of this?
I know that dc42 has suggested that such calculations be carried out on a separate chip to separate the Duet firmware from "aftermarket" functions like this, so I know that right now using a separate chip is the way to do it. I'm mainly curious as to whether such functions might become a standard part of the firmware in the future.
-
@DjDemonD – I would bet that there are substantial changes to the waveform even for softer surfaces, but they might be different changes than a harder surface. It would be interesting to see how generalizable the technique is. Maybe it's easy to program it for "if the waveform changes substantially in any way, activate the endstop", or maybe you have to have a better idea of what the changes look like and so you could do some machine (or human) learning on multiple surfaces, different types of bed suspension, different hot ends, different placement of the white noise generator, etc.
-
I can't imagine the processing required to do any type of z probing is taxing the duet controller if it can generate step pulses at 350Khz. Whether you want to integrate this type of thing is another issue. If you fit an accelerometer it processes it doesn't require the controller to process its raw data that's happening on board, its outputting the results.