Piezo Z-probe Mk III Beta version now available

Avatar

By Dougal1957 18 January 2017 09:48

Member · 218 comments
Moriquendi wrote

I've got two left, PM me if you're interested.

Moriquendi

Just to let you know mine arrived safe and sound yesterday

Avatar

By DjDemonD 18 January 2017 10:34

Member · 319 comments

So latest version mk 2 draft 5,on thingiverse  http://www.thingiverse.com/thing:2034152 so far very firm nozzle if done up tight when assembling, plenty of sensitivity for probing. Hitting 0.011 deviation when probing so very pleased.

Plus Lykle has made an effector version for Haydn's setup which will be Nimble extruder compatible too.

Last edited by DjDemonD (18 January 2017 10:37)

Avatar

By Zesty_Lykle 18 January 2017 16:08

Member · 84 comments

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
Design, make and enjoy life

Co Creator of the Zesty Nimble

Avatar

By Dougal1957 18 January 2017 18:22

Member · 218 comments
Zesty_Lykle wrote

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?

Avatar

By Rommie 18 January 2017 18:50

Member · 25 comments
Dougal1957 wrote
Moriquendi wrote

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

Avatar

By Zesty_Lykle 19 January 2017 07:47

Member · 84 comments

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.

Last edited by Zesty_Lykle (19 January 2017 08:16)


Lykle
Design, make and enjoy life

Co Creator of the Zesty Nimble

Avatar

By Dougal1957 19 January 2017 08:27

Member · 218 comments
Zesty_Lykle wrote

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?

Avatar

By DjDemonD 19 January 2017 08:53

Member · 319 comments

Sorry didn't get chance to print it but I suspect others may have done already by now. Looks great.

Avatar

By Moriquendi 19 January 2017 13:26

Member · 26 comments

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

Avatar

By Rommie 19 January 2017 14:39

Member · 25 comments

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

Avatar

By DjDemonD 19 January 2017 21:34

Member · 319 comments

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-17

So 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/minute

and 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/minute

So 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=F3vi6BOi6sA

All 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.

Last edited by DjDemonD (29 January 2017 19:48)

Avatar

By Moriquendi 19 January 2017 22:18

Member · 26 comments

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

Avatar

By Sakey 21 January 2017 17:49

Member · 14 comments

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?

Avatar

By Moriquendi 21 January 2017 19:09

Member · 26 comments

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.

Avatar

By DjDemonD 21 January 2017 21:30

Member · 319 comments

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.

Last edited by DjDemonD (21 January 2017 21:33)

Avatar

By DjDemonD 21 January 2017 21:39

Member · 319 comments

My bed.g if it helps:

; 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.

Last edited by DjDemonD (21 January 2017 21:41)

Avatar

By Sakey 22 January 2017 00:13

Member · 14 comments

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.

Avatar

By DjDemonD 22 January 2017 08:35

Member · 319 comments

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.

Last edited by DjDemonD (22 January 2017 08:55)

Avatar

By Boyan Silyavski 22 January 2017 16:55

Member · 5 comments

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?

Avatar

By Moriquendi 22 January 2017 17:52

Member · 26 comments

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

Avatar

By T3P3Tony 22 January 2017 18:17

Administrator · 579 comments

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.


Duet Wifi Hardware Designer
www.duet3d.com
www.think3dprint3d.com

Avatar

By DjDemonD 22 January 2017 18:32

Member · 319 comments

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.

Last edited by DjDemonD (22 January 2017 18:37)

Avatar

By DjDemonD 22 January 2017 22:20

Member · 319 comments

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

Last edited by DjDemonD (22 January 2017 22:20)

Avatar

By T3P3Tony 22 January 2017 23:05

Administrator · 579 comments

Awesome! I linked your post and the video from the Tutorials page:
https://duet3d.com/wiki/Tutorials#Experimental_Features

Although at the rate this is progressing it wont be experimental for much longer.


Duet Wifi Hardware Designer
www.duet3d.com
www.think3dprint3d.com

Avatar

By DjDemonD 23 January 2017 21:50

Member · 319 comments

Next iteration is to make the nozzle wobble disappear almost completely, I had in mind attaching the upper part of the piezo sensor module to the lower with small smooth rods (or delrin rods?) which would slide into the lower clamp part, and if metal, could be greased. This would result in a very firm nozzle constrained laterally but free to move upwards by a small amount to flex the piezo disc.

Last edited by DjDemonD (23 January 2017 21:51)