Piezo20 probe and piezo kit now available
-
Awesome, much obliged. I've printed another one with the rod supported version on the kossel Xl and came out looking awesome and a mount for my corexy so hopefully I can use those rods and test the setup on ramps with marlin. I'm aware it's all been very DuetWifi so far. Rods have turned up so thank you very much.
-
Okay so made another one this time with 4mm wide 15mm long acetal rods (thanks Doug). Works fine nozzle is quite firm, sensor triggers normally.
Have attached it to my corexy (ramps/mega/Marlin RCbugfix 31-01-07 on). The usual messing around with Marlin and uploading firmware. However it will home nicely and entering a z offset of 0.2mm means the nozzle is nicely positioned just above the bed at z=0 on the lcd. It will do grid levelling if auto_bed_levelling_bilinear is enabled.
I have added instructions for configuration of Marlin on ramps/mega or compatible in the thingiverse listing http://www.thingiverse.com/thing:2069480
Interestingly Marlin allows the M48 probe repeatability test the result is:
Recv: Mean: -2.492500 Min: -2.510 Max: -2.475 Range: 0.035
Recv: Standard Deviation: 0.009014So hitting a standard deviation of 10 probes at just below 0.01mm repeatability.
-
Been chatting with Moriquendi about making it safer in terms of a wire break. Currently you'll just get a head crash.
Current thinking is that putting two Piezo transducers back to back into the unit (might need slight adjustments to the top part), would enable redundancy as well as potentially stiffening the system. The second Piezo has to be wired in parallel but with black and red reversed so they don't cancel one another out. If one Piezo is disconnected the other will still function. However you won't know it's failed potentially unless it begins triggering differently,which it might not given the way the comparator works in the signal board.
Any thoughts?
-
First of all, VERY COOL idea. I presently have FSRs on my bed. I'm following this thread with lots of interest.
One thought on redundancy, using your idea of back to back transducers… Maybe set it up such that both sensors are handled separately with signal conditioning, then the outputs are logically "AND"ed together. Then, if both don't trigger as expected (maybe after an RC time constant??), the ANDed output stays triggered (or is somehow latched triggered), which will signal an issue to the Duet's firmware.
Or similarly, have a second output from the signal conditioning board that would change states if the outputs don't behave as expected (i.e. last time, only one triggered). This signal could be monitored by the Duet firmware to identify a fault condition.
In either of these cases, you would probably have to match the gain and offset of the signal conditioning/comparator for each sensor such that they trigger at the same time. Or get really slick about it and let a tiny PIC automatically configure gain/offset for each side and also have it drive the triggered output with a buffered signal.
Hope that all makes sense. I don't know if what I suggest is feasible, but I thought I'd throw it out there.
-
One option my be to test the Z probe before doing the first probing move. I would expect a short downwards movement that is reversed rapidly to trigger the probe.
-
Toddimus - these are great ideas, some of it slightly over my head (not an electronics native), but I'll leave Moriquendi to comment as he made the boards. Suffice it to say some of our discussions earlier were about a new version of the board he is considering, which can support up to 3 piezo's as they are being used as under-bed sensors in one system, but which could also support a twin piezo in this design and perform some safety checking. Auto setup etc.. would be a great feature at this early stage, but if it ever becomes a product then I'd test a wide range of available transducers and pre-set each unit to function with very minimal adjustment by the end user.
David - I advise in the thingiverse listing to manually press up on the hotend at the start of a printing session and observe the led changing, and (on duet) to check the analogue sensor value is normal when the sensor is open, mine reads 216 and rises above 600-700 when given a firm upward press. I probe with 1/3 motor current so head crashes if they happen as I'm tweaking it all the time, are fairly undramatic. But yes a macro or something to test the probe automatically would be a nice addition.
-
I also considered that whilst it would offer nothing more for dual nozzle machines in terms of getting both nozzles at the same height, for dual x carriage machines one sensor per carriage would mean the two nozzles could be compensated in z, to exactly the correct z-height before printing.
What I also like with this approach combined with the very convenient nature of autocalibration, as we have it on Duet, is that a nozzle change requires no manual config adjustments, just swap it, autocalibrate and print.
-
So, the boards that are in the wild at the moment will accept any reasonable number of piezo elements wired in parallel and give a single output if any are triggered. With these boards it is not possible to differentiate between one element triggering and multiple elements triggering. I call this a single channel board.
I have a small number of three channel boards, three inputs that can be triggered separately and three independent outputs. These were designed to explore the use of piezo endstops, it's all well and good having a highly accurate and repeatable zprobe but if your endstops aren't repeatable you're no better off.
I like the idea of testing the probe by jerking the hot end, it's the simplest solution though it might make tuning more difficult with different hotends. Also I foresee problems with non-delta printers that either don't move the head in the z-axis or that cannot move it fast enough, x-y translation might work but increasing the rigidity of the hot end mount has been half the challenge so far.
With two independent channels you could wire two outputs to the controller and have the firmware look for simultaneous triggers and report a fault both aren't very close together. This could have other applications not just for other probe technologies (all wires can break, we just have a particularly delicate setup at the moment) but perhaps for measuring the offset between two nozzles as DjDemonD suggests.
Having the board detect a failed element could be done though I'm not sure it's the best solution, I'll have a think about how it might be done.
Moriquendi
-
Idris
How much for a 3 Channel board Really like the idea of using the Piezo's for endstops as well?
Doug
-
…I knew I should have ordered more, I will if there's demand.
I'm thinking of saying £10 donation to Great Dane Care as before, they're more complex and will be harder to make. At the moment I want to get boards in peoples hands and try to get this to take off. At some point I will have to stop donating the money to the charity but for the moment this will work.
To be clear I only have three on order and they haven't arrived yet, one for myself, one for DjDemonD and now one for Dougal. If anyone else is interested shout now and I'll order some more, the last lot took about two weeks to get here.
Moriquendi
-
I've been following this thread with great interest. Using a Diamond hot end, it's real pain trying to get any kind of sensor close to the nozzle. That in itself isn't a huge problem as my bed is inherently flat and level but it still goes against the grain as it were to have the height sensor offset from the nozzle. I'm currently using DCs excellent IR probe but it is affected by me using 3Dlac which I suspect changes the reflectivity somewhat.
As I'm also in the process of redesigning the entire X and Y carriages I was wondering if I could incorporate a Piezo element somehow. I can't really do what you guys are doing because of the way the 3 heat sinks are clamped to the fan shroud. So I'm guessing the Piezo would have to go between Diamond assembly and the X carriage slides. I've take some images off OpenScad which shows what I have so far. The diamond assembly is in red and is just hanging in free space and the mounting arrangement has yet to be designed. Any thoughts about how to incorporate a Piezo in the mount would be much appreciated. The pics are here https://drive.google.com/drive/folders/0B_MwtHtQR_ZvYTlfa0FvM2ZUZjg?usp=sharing
Ian
-
Ian
This might sound daft but how about mounting the carriage as if it were on a hinge at the top and use the Piezo Vertically at the bottom because it would be fairly tightly constrained it could work?
just thinking out loud so to speak
Doug
Idris Donation sent to you?
-
Doug, yes and then I'll forward it to the charity as before but please don't send anything yet, once I have the boards made up and working I'll let you know.
Everyone who got one of the original boards should have had an email from the charity secretary thanking them for their donation.
Idris
-
Idris I have already sent it?
-
I've returned it, I don't want to be sitting on anyones money without boards to send out, the boards might get lost in the post or might not work or anything, better this way.
Idris
-
These new boards sound great. Looking forward to it. On my list today is to test the back to back redundancy idea, as its fairly easy to do.
Ian - I am fairly sure the total mass of the diamond hotend, fan+shroud, heatsinks etc.. is too great to support the whole thing on a piezo sensor unit as we are currently using them, but +1 for the hinge idea that seems like the best way to do this with a big heavy hotend. As long as you allow the same sort of space and flexibility around the piezo element, the advantage would be you do not need the rods to support the unit the hinge can do that. Unlike hinged assemblies with microswitches that I have seen the 0.2mm needed to trigger the piezo is not going to result in a wobbly nozzle.
In fact a hinged unit would possibly be a better bet for i3's and corexy's in general and would offer more stability. My adaptation of the "delta" version for my corexy required me to support it off a big bracket which introduces instability.
All volunteers to design one, one step forward please.
-
A hinge could be tricky guys. I'm thinking of the fact that I have 3 Bowden tubes sticking out at 28 degrees, 120 degrees apart. The extruders are suspended above the centre of the bed in a sort of counter balanced "flying" arrangement but there are cords attached between the extruder mount and the X carriage to keep the Bowden tubes in compression all the time. The Bowden tubes are only about 250mm long but the bed is 400mm square so there is some twisting force being applied at extreme corners of the bed which might dislodge a hinged mount.
However, perhaps I could do something with magnets or springs. Ideally, I'd like to have a "bolt less" mounting arrangement because I have a couple of Diamond assemblies made up complete with heat sinks, fans, heaters pt100s etc but with different nozzle diameters so it'd be good if I can swap between them easily. I quite fancy the idea of magnetic mounts.
Edit. Just read the bit about 0.2mm of movement. So a kind of restricted hinge or some method of arranging for there to be 0.2mm of flex should be doable. The weight of assembled Diamond is 250gms (nozzle, HeatSinks, cooling shield, fan, heater cartridge & thermistor). What sort of forces are we looking at for the Piezo sensor?
Cheers
Ian
-
Minuscule forces to trigger it so long as the piezo element bends by that 0.2mm (0.15 is enough) when the nozzle contacts the bed. In my MkIII design you will see that the top of the clamp, which is the part that pushes up into the piezo is a certain diameter, the piezo is then supported by the top piece with a small recess to allow it to flex. This combination seems to apply the right amount of pressure to get a signal above the noise, and they're noisy things (basically they're guitar pickups). So whatever suits your printer, if the piezo is between two components with approximately these dimensions it should work. It doesn't matter if there's some preload either so you can eliminate almost all wobble that way.
-
It would be relatively easy to arrange the pivot of the hinge to reduce movement of the nozzle to a minimum while providing a longer lever to actuate the piezo element at the top of the carriage. If you made the pivot removable you could switch hot ends with ease without affecting the piezo element.
Moriquendi
-
So I've had a chance to play my minimal bodge job setup today got it working really well. Repeatably across my warped bed is far better than my FSR. I think I can do better, maybe something more sophisticated than a nut but I'm happy with it as I have no play in the nozzle at all for the moment. I'll upload pictures later but here is my mount for the Moriquendi PCB board for now.
https://drive.google.com/open?id=0Bxtr4ocyxEMsdVFFdHhQalR6TDg