Piezo20 probe and piezo kit now available
-
Yes and I can add a base plate you can use if you are not going to use a Nimble.
Simple little modification.It integrates DjDemonD's system with the new effector by Haydn.
Lykle
Have you published it anywhere yet?
How's the Nimble coming along?
-
I've got two left, PM me if you're interested.
Moriquendi
Just to let you know mine arrived safe and sound yesterday
Have sent a message buddy
-
The design will be on Thingiverse. I was kinda waiting for DjDemonD to print it first to see if it would work, before publishing it, but I will do it as a work in progress. So be aware it is untested as yet.
edit: Here is the thing: http://www.thingiverse.com/thing:2047422
The Nimble, is ready to go, we are chomping at the bits to go. Wait is for the legal stuff. We now have a registered company so it is a matter of days rather than weeks before we can open the web shop. Need to get the bank account and register it with Paypal, that sort of stuff.
It is amazingly difficult to find a bank that will accept 2 business partners that live on separate continents. They all insisted Brian to come into the office and sign in person. A 27 hour one way trip. Not going to happen. But we have it sorted now. (sorry, going off topic here) Rant over, I will post the designs now on Thingiverse. -
The design will be on Thingiverse. I was kinda waiting for DjDemonD to print it first to see if it would work, before publishing it, but I will do it as a work in progress. So be aware it is untested as yet.
edit: Here is the thing: http://www.thingiverse.com/thing:2047422
The Nimble, is ready to go, we are chomping at the bits to go. Wait is for the legal stuff. We now have a registered company so it is a matter of days rather than weeks before we can open the web shop. Need to get the bank account and register it with Paypal, that sort of stuff.
It is amazingly difficult to find a bank that will accept 2 business partners that live on separate continents. They all insisted Brian to come into the office and sign in person. A 27 hour one way trip. Not going to happen. But we have it sorted now. (sorry, going off topic here) Rant over, I will post the designs now on Thingiverse.Good news?
-
Sorry didn't get chance to print it but I suspect others may have done already by now. Looks great.
-
I'm glad everybodies boards have arrived, if you have feedback I'd like to hear it. I know that the trimmers are too small, it's hard to visualise how tiny something is by the footprint in the PCB software.
I'm currently debating getting some V1.1 boards made with:
Individual connectors for three Piezo elements
Onboard series resistors for each element
6mm trimmer pots (standard size)
Footprint to replace VR2 with fixed resistors (VR2 seems to be a fairly fixed value)I also have a board design for replacing endstops with piezo elements, three separate channels with three outputs.
Thoughts welcome.Moriquendi
-
well sent my donation to Moriquendi last night and bought my piezo today so just need to print the parts and then get it all together and fitted I guess, have you got any config changes that is required DJ and wiring diagram to the duetwifi board if you could, thanks in advance
-
I intend to edit this as it develops. This now refers to the Mk III version (http://www.thingiverse.com/thing:2069480)
Edited 29-01-17
Edited 22-01-17
Edited 21-01-17
Edited 20-01-17So when assembling ensure the top circular part is attached to the lower clamp parts fairly firmly, doesn't matter if it bends a bit, get the torque around equal on each side. Then firmly attach it to the effector. Make sure the clamp is sliding on the rods. There will be almost no nozzle wobble if the clamp slides on the rods but doesn;t rock laterally.
Okay so I have these two gcodes, about 10 lines up from the bottom in my config.g
M558 P1 F500 I1 X0 Y0 Z0 ;analogue piezo sensor output falls on contact, probing speed 500 mm/min
G31 X0 Y0 Z0 P600 ;sensor is nozzle, offsets for probe (nozzle) and trigger value.M558 sets an analogue sensor using the z-probe connector with an inverted output i.e. drops as it contacts the surface. It does not home any of the axes. I have selected probing speed 500 mm/min which gives the bed a firm tap, this increases the gap between signal and noise from the piezo sensor.
The G31 offsets are 0,0,0 although depending on how compliant the assembly is it might need a tiny offset for z. So Z could read 0.05 to 0.015. You are likely to need a slight positive offset to counteract the fact that the assembly squashes down slightly into the bed to trigger (like with FSR's). You can add this offset in your slicer if you prefer. I think David is implementing babystepping soon which will be great. P600 is the trigger value from 0 to 1000. I chose this value by connecting it up, setting the signal board (see below) then moving around a bit and seeing what value is displayed under z-probe on the web interface during travel moves and sudden jerks etc… I chose a value above this, to prevent false triggers.
Wiring. On Moriquendi's board the piezo has a two pin connector. I believe + and - need to go the right way around, the piezos come with red and black wires. It seems initially as though the series resistor is not required - but watch this space.
The other side has +, -, sig which go to the Duetwifi z-probe port. You need a 3 pin connector at Moriquendi's board and a 4 pin connector on the duetwifi.
On the duetwifi the z probe connector has 4 pins looking from the front of the board (the side with the LED's and USB port), the closest pin is signal, the next is -, the 3rd is unused and the 4th is +.
On the signal board there are two trim pots. Adjust them cautiously if the power is on, as you might with a step stick, I momentarily made contact with something with my screwdriver bit and it triggered a reboot on the duetwifi - no damage done but take care! As I have mine configured (which is slightly different to Moriquendi's instructions) I turn VR2 until the led just comes on, then around a quarter turn more. Then try a few upward presses on the hot end, if it flashes off/on convincingly you are probably there, if not try VR1 in a variety of positions and try a few more head moves and nozzle pushes. You're looking to minimise triggers under normal movement but get a solid off/on on the LED when you push up on the hotend. If you see a few slight flickers during head movement that's okay, as long as when you press up on the hotend you get a much more obvious off-on on the LED. Don't be tempted to set it up so that only a really hard push gives a change in the LED this won't be sensitive enough. Mark the trim pots when you have a good position, they are very sensitive.
Alternatively you can set VR2 so the LED just turns off, which is Moriquendi's method, then adjust the sensitivity on VR1, it seems to reverse the logic so that the signal rises as the piezo is bent/triggered. If you prefer this mode then change I1 to I0 in M558. I have not found this mode to work as well but let me know if you do.
I have these lines in bed.g before probing, please modify to suit your machine, basically its low motor current, low jerk and low acceleration.
;slow down movement to improve accuracy, improve probing and lmit damage in case of head crash
M906 X500 Y500 Z500 E800 I60 ; Set low motor currents (mA) and increase idle current to 60%
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/minuteand these after
;restore speed settings to normal printing speeds
M906 X1100 Y1100 Z1100 E800 I60 ; Set normal motor currents (mA) and increase idle current to 60%
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/minuteSo that the machine accelerates/decelerates and jerks much less for probing, improving accuracy and eliminating false triggers.
Make sure you delete your config_override.g file and set the approximate height in m665 in config.g by jogging down and measuring the distance travelled. This assembly lowers your nozzle by around 15mm (Lykle's effector does not so ignore this bit) if you don't do this (or forget to delete config_override.g) you will crash your nozzle on the first run.
Calibrate with the bed hot, but with the nozzle, depending on the toughness of your printing surface, either stone cold - in which case you will need a z offset when printing as the hotend will expand when heated. Do the paper grip test after calibration to determine how much z offset. Or with the nozzle at your full first layer temp - I don't use this as a head crash onto printbite with nozzle at 250 deg C melts a hole in it, perhaps brief contact doesn't but I don't want any more holes, so I use 160 deg C (below ooze temp for ABS) and have a +0.2mm z-offset which I set in slic3r. I set the nozzle to come up to 160 in start gcode before autocalibration at start of each print, then to first layer temp after probing. It's better to have the nozzle hot (at least above glass transition temp) in case there's a bit of filament on the end from the last print, which will just squash down to nothing.
A video of how I have it setup, and it working is now on youtube, apologies for the low production value.
https://www.youtube.com/watch?v=F3vi6BOi6sAAll feedback and any grammatical/spelling errors let me know I will try to incorporate this into the thingiverse listing along with some idiots-guide assembly pics, and make a wiki page here/wherever needed.
-
The other two pins next to the piezo input are designed for a remote LED, I found it useful so I included it. The three pins at the other end of the board are meant to be the connection to the controller, V+, Signal and GND. On my Smoothieboard endstop headers are these three pins so thats what was convenient for me. However the only difference is that the LED output has a 1k series resistor on board. The resistor in series with the piezo element doesn't appear to be critical.
Moriquendi
-
Set mine up today ( thanks Moriquendi for the board) but having a problem with it outputting a signal to the duet I think. The led triggers fine by the looks of it when I tap the Nozzle ( on board and the external ) but i'm not getting a trigger. Is this something to do with the way i set up the Potentiometers or Duet?
-
If the LED is flashing you should have a signal going to the duet. Check what kind of signal the Duet is expecting, active low or active high. I'm afraid I have no experience with the Duet so I can't help you with that but I'm sure someone else on here can.
One other thing to mention is that a trigger event is very brief, on the order of miliseconds, you won't be able to check the output of the board with a g-code to report z-probe state. Have you tried asking for a z-probe and then tapping the sensor to see if the Duet registers the trigger?
Moriquendi
PS. I've just had a look at the Duet documentation and I think people may be configuring it incorrectly for this type of z-probe. The output of the piezo sensor board is digital, not analogue. It appears from DjDemonDs config above that he has configured the Duet to expect an analog signal. Does this make a difference? I don't know but it's worth a shot.
-
Have been probing away and changing things for the last few hours now.
Setting it as digital M558 P5 for me anyway is not working. If I leave it set to analogue M558 P1 I1, inverted output and set the piezo board by turning VR2 until the LED is just on with sensitivity fairly high (VR1), but use a trigger value of 600 it works. Its also worth setting a probing speed of 500mm/min M558 F500 so that the nozzle gives the bed a fairly sharp tap rather than descends very slowly which sometimes doesn't trigger.
My probe settings currently are
M558 P1 I1 F500 X0 Y0 Z0 ;analogue piezo sensor output falls on contact, probing speed, not used to home axes
G31 X0 Y0 Z0 P600 ;sensor is nozzle and trigger value.You can monitor the "analogue" output on web interface. Setup as I have mine the value shows approx 215 when head is stationary, during normal travel moves it goes up to 400-500, on a sharp tap with the bed it goes above 600 often to 1000 (max - essentially digital ON). At this setting on the piezo board I can get reliable and sensitive triggers.
Of course having faster probing speed is risky its harder to pull the power in case of a head crash there is less time to do so, suggest setting your stepper motor current to as low as you can go whilst still moving, so that these are less severe if they happen. However faster probing speed will show false triggers requiring slightly less sensitivity (VR1), so its useful in that respect.
-
My bed.g if it helps:
[[language]] ; Auto calibration routine for delta printers M906 X500 Y500 Z500 E800 I60 ; Set low motor currents (mA) and increase idle current to 60% 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 delineate bed touch from travel moves 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 M906 X1100 Y1100 Z1100 E800 I60 ; Set normal motor currents (mA) and increase idle current to 60% G1 X0 Y0 Z75 F3000 ; get the head out of the way of the bed M500 ;save calibration to config_override.g
Remove the G29 if you aren't using grid levelling, and the M500 unless you want auto-save of results to config_override.g and obviously replace the G30 points with your preferred probing locations and number of factors.
-
Its weird. Both P1 and P5 do more a less the same thing for me but get slightly less crashed heads with P5. When I send the command to probe and it tap the nozzle it will register the tap .
It's like seems to be a delay between the trigger of the sensor and duet reading the probe point before it pushes though the bed. I don't think its a sensitivity problem because sometimes it will trigger from just the movement of the effector.
-
Sounds like you've got everything there, its just a case of finding the sweet spot where it triggers well. I might do a few videos later showing how I have it setup. You might have the clamp/piezo assembly tightened too much, try loosening it off a tiny bit. There is a zone where you find the optimum between a tight assembly/less sensitivity/firm nozzle, and a loose assembly/high sensitivity/wobbly nozzle. I say this as there is no delay as I have it setup the lightest touch of the nozzle gives an above threshold trigger.
-
A question. Why all this trouble and not use a simple conductive touch plate with an known thickness? Same like most DIY CNCs use? Hot end could be wired constantly , led could be implemented for visual check if working, prior to test. Costs absolutely nothing. Plate could be moved sequentially manually to predefined places on heat bed. Is this possible with the Duet board?
-
Because the end of a hot end nozzle is not a good contact, it's frequently coated in a layer of gunky/charred plastic.
Moriquendi
-
Boytan
It would be possible as it could be setup as a switch, and the firmware will accept any sort of trigger as an endstop. (The signal needs to be within the 3.3V range however that is manageable).
One issue is as Moriquendi described - inconsistant conductivity due to plastic buildup on the nozzle. The other issue is that many(most) bed surfaces are non conductive to you have to have the manual intervention of applying a conductive sheet to the bed.
-
Yes I'd love to use a electrified nozzle and at one point I used to print onto aluminium and considered it. Plastic on the nozzle isn't really an issue if you probe hot. But now I print onto printbite which is super convenient and permanent and about as conductive as ceramic. I'd say most people are using glass or polymer surfaces of some sort.
-
Updated the tuning guide (long post) above and included a video of how I have it setup which might make it easier to see what I'm on about. https://www.youtube.com/watch?v=F3vi6BOi6sA