Collision with large components on a dual-nozzle setup (ReferencePnpJobProcessor)

46 views
Skip to first unread message

Maiko Herrmann

unread,
Oct 26, 2025, 6:54:36 PM (6 days ago) Oct 26
to OpenPnP
Hello everyone,

I'm experiencing a collision issue with my dual-nozzle setup and hope someone can point me in the right direction.

My machine has two nozzles on one head:

Nozzle 1 (N1): Has an Automatic Tool Changer (ATC) with 5 tips (N08, N14, N24, N40, N75).

Nozzle 2 (N2): Has a single, fixed N08 tip.

The problem occurs when N1 finishes placing its share of small parts (using its N08 tip), but N2 still has small parts left to place.

At this point, N1 proceeds to change its tip to a larger one (e.g., N24) and starts placing large components. While N1 is placing these large parts, N2 is still working on its remaining small parts. This creates a collision: N2, which is low, crashes into a large component that N1 just placed.

I configured the "job processor" to "PartHeight" and the strategy to "fully as planned". But I couldn't find any more information on how to work around this problem. I searched here in the group and in the manual,
but the manual is quite outdated, containing most of the information from the old version, and I didn't find anything regarding the options in the ReferencePnpJobProcessor Menu.
The Next Motion and Optimize Multiple Nozzles options are checked, but I don't know what they actually do.

Is there a way to force the placement of all small components first, using only the two N08 tips (from N1 and N2)?

Ideally, only when both nozzles have finished all N08 placements should N1 be allowed to change its tip and continue with the next components (in order of height). I would have no problem if N1 or N2 stays idle while waiting for the other to finish, as long as this order is respected.

Currently, I am splitting the job manually, but I believe there must be an automatic way to handle this that I haven't discovered yet.

Thank you!

Mike Menci

unread,
Oct 27, 2025, 1:50:51 AM (6 days ago) Oct 27
to OpenPnP
Check your ;   Safe Z height - it should always be high enough to clear any parts, fixtures, or other obstacles on the machine table.
  OpenPnP safe Z settings establish the height the tool moves to when it needs to clear obstacles, typically set by calibrating the nozzle to a specific height above the machine bed. You can configure a Fixed Safe Z for a consistent height for all moves or a Dynamic Safe Z, which optimizes the height based on the part's size for faster, shorter movements. To set it up, manually move the nozzle to the desired safe height and then use the software's "Capture Safe Z" function, which can be found in the Kinematic Solutions tab. 

bert shivaan

unread,
Oct 27, 2025, 5:06:00 AM (6 days ago) Oct 27
to ope...@googlegroups.com
You are looking for the job placement priority wish list item of mine.
I think it is being worked on and maybe is even in test branch.

Hopefully it will allow to assign a priority to each placement, then the planner will not be allowed to move to the next priority unless all preceding ones are placed. The caveat being if a feeder ran out of a lower priority part, openPNP can ask if it should moe to the next set or refil the feeder and complete the lower first.

hoping.......

--
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 visit https://groups.google.com/d/msgid/openpnp/cdc74cd2-ba9a-425b-99f4-38db7e8aa94cn%40googlegroups.com.

Toby Dickenson

unread,
Oct 27, 2025, 5:31:49 AM (5 days ago) Oct 27
to ope...@googlegroups.com
That feature is now fully complete in the test branch. Each placement has a "rank" property. A rank difference of 10 or more is a strict dependency. In your case set the tall parts to rank 10, leaving everything else at rank 0. It will finish "everything else" before starting on the tall parts.

If you would prefer to stick to released versions, then splitting the job is the best solution.

Job Processor options are described in the manual here: https://github.com/openpnp/openpnp/wiki/Job-Processing



Maiko Herrmann

unread,
Oct 27, 2025, 6:26:33 AM (5 days ago) Oct 27
to ope...@googlegroups.com
Thank you for the reply, Mike, but I think I didn't explain my problem correctly. 
The collision doesn't occur when I'm moving over the components, but rather when the TIP is lowering a small component next to a larger component, for example, lowering an 0805 resistor next to a 6.3x7.7 electrolytic capacitor. 
The TIP pushes against the side of the larger component; the collision is lateral to the component, due to the shape of the tip itself.
I think I've managed to explain it a little better now.

--
You received this message because you are subscribed to a topic in the Google Groups "OpenPnP" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/openpnp/XmGigyiB5-0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to openpnp+u...@googlegroups.com.

Maiko Herrmann

unread,
Oct 27, 2025, 6:37:19 AM (5 days ago) Oct 27
to OpenPnP
Dear cncmachineguy,
Yes, that would be a useful feature. I've already thought about turning off Nozzle 2 to avoid this problem, but since it doesn't happen often, and when it does, "pushing" the larger component back into place is a more viable option for now. 
When I know it's going to happen, I separate the work manually... 
Thanks.

Maiko Herrmann

unread,
Oct 27, 2025, 7:04:04 AM (5 days ago) Oct 27
to OpenPnP
Thank you for the feedback, this ranking function would really solve all my problems.

Thank you for sharing the links, the description of the ranking function mentions exactly my current problem.

I also discovered that I don't have the latest available version of OPENPNP (2.4).
For some reason, my current version 2.2 doesn't do anything when I click to check for updates; I thought there was nothing new to update...

Toby Dickenson

unread,
Oct 27, 2025, 7:15:07 AM (5 days ago) Oct 27
to ope...@googlegroups.com

For some reason, my current version 2.2 doesn't do anything when I click to check for updates; I thought there was nothing new to update...

What operating system are you using, and how did you install 2.2? That affects how "Check For Updates" is supposed to work.


Reply all
Reply to author
Forward
0 new messages