Safe Z!

327 views
Skip to first unread message

Eric Norton

unread,
Feb 12, 2021, 11:57:08 PM2/12/21
to OpenPnP
Hi All,

Still stuck on the safe z issue. How do I get the Z axis to level out the two nozzles after grbl homes the z? Is this something open pnp can do or is it something I have to add to grbl? Any ideas?

Thanks,

Eric

ma...@makr.zone

unread,
Feb 13, 2021, 4:07:43 AM2/13/21
to ope...@googlegroups.com

Normally there is a sensor on the nozzles that switches on the balance point. Using a homing or probing cycle you move the machine against this switch and then stop (it must work if the nozzles are on either side of the balance). But some users don't bother and simply de-power the motors and use springs to balance the nozzles. In both cases the machine position is then set to Z=0 (homed).

Further calibration against a reference table top (individually for each nozzle) is currently in the works. You either use a vacuum sensor or a nozzle contact probe sensor.

If your question is more about how to "span" the Safe Z Zone, use this procedure:

https://groups.google.com/g/openpnp/c/U2slOkiqmTw/m/qOqbO6zwDAAJ

_Mark

--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/fe3127e3-c546-47bf-a455-84782fd347e7n%40googlegroups.com.

Eric Norton

unread,
Feb 13, 2021, 10:49:54 AM2/13/21
to ope...@googlegroups.com
Hi Mark,

 Currently I have a limit switch on the upper side of Nozzle 2. I use this to detect the home position of the Z axis. Can I still use this limit switch and individually set the pull off for Z in my grbl code so that when the Z limit triggers it will then go to the balance point and call that machine zero? I'm curious if that will work? It will take some time to fiddle with the grbl code but at least I won't have to make a hardware change :-). 

I like the idea of a balance point sensor but that would take a little time to figure out how to implement.

Thanks,

Eric

ma...@makr.zone

unread,
Feb 13, 2021, 12:49:49 PM2/13/21
to ope...@googlegroups.com

Hi Eric,

I may not understand correctly ... is this safe in general? When nozzle 2 goes up to the extreme, nozzle 1 will go down to the extreme and potentially collide with something, right? Does this mean you can only safely home, when the nozzle is above a gap in your table?

_Mark

Eric Norton

unread,
Feb 13, 2021, 2:35:09 PM2/13/21
to ope...@googlegroups.com
Hi Mark,

 Yes right now when the Z homes the Nozzle 2 is at its highest point and Nozzle 1 is at its lowest point but does not touch the table. The reason I am concerned is it WILL collide with something when the X and Y axis home. This is the reason why I want both nozzles to be equal when Z homes. 

I can make a change to the firmware to go to the Nozzle 2's Z extreme and then grbl's pull off value can be tweaked to make both nozzles equalize before moving X and Y. If this sounds like something that makes sense I can make the change or if you have another idea I'm all ears. I know you were saying add a sensor so it detects when they equalize but then I will have to change the head design. Here is a picture of my head design:

20210208_184220.jpg

If you look closely you can see the limit switch on the upper right side of the head. I can make any changes but prefer to make them in software if possible.  Let me know your thoughts.

Thanks,

Eric

Mike Menci

unread,
Feb 13, 2021, 5:00:56 PM2/13/21
to ope...@googlegroups.com
Eric 
It is not important where the LS is - important is that it is triggered when bouth nozzles are horizontal. 
I would Make a temporary extension on top of right side stepper to trigger the limit switch when the nozzles are in Midd position- leveled 
Minor differences you can than finalize with “Z retract “ code 
Clear ? 

BR, 
Mike

***************************Disclaimer***********


On 13 Feb 2021, at 20.35, Eric Norton <eric.no...@gmail.com> wrote:


Hi Mark,

 Yes right now when the Z homes the Nozzle 2 is at its highest point and Nozzle 1 is at its lowest point but does not touch the table. The reason I am concerned is it WILL collide with something when the X and Y axis home. This is the reason why I want both nozzles to be equal when Z homes. 

I can make a change to the firmware to go to the Nozzle 2's Z extreme and then grbl's pull off value can be tweaked to make both nozzles equalize before moving X and Y. If this sounds like something that makes sense I can make the change or if you have another idea I'm all ears. I know you were saying add a sensor so it detects when they equalize but then I will have to change the head design. Here is a picture of my head design:

Eric Norton

unread,
Feb 13, 2021, 5:08:24 PM2/13/21
to ope...@googlegroups.com
That will work for now...

David Griffiths

unread,
Feb 13, 2021, 8:28:26 PM2/13/21
to OpenPnP
I have a sensor at the top of the right nozzle. I home to this and set the Z position to -21 in Smoothie. I then issue a G0 Z0 to get the right head down to the mid position and of course the left head is then also in this position. I then issue the G28 XY to home X & Y axes.

My GCode for Home on the driver is this:
G28 Z  ; Home just Z axis
G0 Z 0 ;Move Z back to mid position
G28 XY; Home X & Y axes

Cheers,
DG

Eric Norton

unread,
Feb 13, 2021, 8:48:07 PM2/13/21
to ope...@googlegroups.com
Thanks Dave thats what I thought about doing. Ill have to modify the grbl code to do this. Thank you for your suggestion!!

ma...@makr.zone

unread,
Feb 14, 2021, 5:39:59 AM2/14/21
to ope...@googlegroups.com

> I can make a change to the firmware to go to the Nozzle 2's Z extreme and then grbl's pull off value can be tweaked to make both nozzles equalize before moving X and Y.

Yes that does make sense. But just to confirm I understand correctly: before you press "Home" you need to make sure your nozzle 1 is on top of a gap in the table i.e. it can go below PCB level, right?

_Mark

ma...@makr.zone

unread,
Feb 14, 2021, 5:44:20 AM2/14/21
to ope...@googlegroups.com

> Thanks Dave thats what I thought about doing. Ill have to modify the grbl code to do this. Thank you for your suggestion!!

Before you do something proprietary for the homing cycle only, make sure you understand G92 properly and consider implementing it. For full Advanced Motion Control you need it anyway.

https://github.com/openpnp/openpnp/wiki/Motion-Controller-Firmwares#key-features

_Mark

Eric Norton

unread,
Feb 14, 2021, 2:36:58 PM2/14/21
to ope...@googlegroups.com
Hi Mark,

 I copied and modified the Z axis homing cycle function and made the changes so it now homes where both Nozzles are exactly the same before the X axis starts its homing cycle. I have HOMING_FORCE_SET_ORIGIN enabled and it sets the Z axis to zero after the nozzles are of equal height. For my use case the standard Gcode driver works well for what I need it for. I did look at the advanced gcode driver but did not see a use for it at the moment. My grbl version communication link is just RX and TX with no hardware handshaking. 

How does G92 work with Open PnP exactly? I know it is one of many offsets grbl has but not sure how this would apply to the Z axis. It is my understanding that G92 gets cleared on a reset. How do you propose I use this? Please let me know.

Thanks,

Eric

ma...@makr.zone

unread,
Feb 15, 2021, 2:37:24 AM2/15/21
to ope...@googlegroups.com

>  How does G92 work with Open PnP exactly?

It is used for ...

  1. Visual Homing to shift/anchor the machine coordinate system to the homing fiducial:
    https://github.com/openpnp/openpnp/wiki/Visual-Homing
  2. Wrapping around rotational axes:
    https://github.com/openpnp/openpnp/wiki/Machine-Axes#controller-settings-rotational-axis
Both are optional of course.

_Mark

Eric Norton

unread,
Feb 15, 2021, 12:28:21 PM2/15/21
to OpenPnP
Interesting... When I get to that stage Ill look into the G92 offset for this. Thank you Mark!
Reply all
Reply to author
Forward
0 new messages