Rapid Star Head - New 8 nozzle head design

1,197 views
Skip to first unread message

Shai

unread,
Feb 14, 2021, 3:40:42 PM2/14/21
to OpenPnP
What's cooler than 4 nozzles? 8 nozzles! :)

This started from a discussion on the OpenPNP discord and spun out into a full design. Inspired by machines such as the Europlacer and Siplace.


The idea here is that you can have "unlimited". nozzles with just 5 axis controller. The Z of all the nozzles is controlled by the lead screw that lowers and lifts the entire star assembly and two other motors spin the star in the horizontal axis and vertical axis.

Some of the benefits of this setup is that you can mount the camera on the head to do vision on the fly, saving a lot of travel time in the X/Y axis. The entire head is fed vac/blow via two lines and controlled via 8 x 3 port miniature solenoids.

The hexagon block is designed to be easily machined out of aluminum and nozzles are held in place with 3 balls each that grab it with a tight grip.

However, there are some features/challenges I see with having this work with OpenPNP at the moment:

  1. Calibrating the camera that moves with the head to orient parts. Since it's fixed to the head, a new calibration method needs to be developed to calibrate nozzle run-out and camera placement.
  2. Another challenge is taking clear pictures of components for rotation/offset. Since the camera is fixed, parts will be captured at various heights, so the only solution I can think of is to use auto-focus camera, but I'm not sure of any off the shelf cameras that can auto focus fast enough to not slow down the entire machine. (Remember, the idea is to capture parts "on the fly"). One solution could be to use the component heights stored in OpenPNP and adjust the auto-focus based on that.
  3. Rotating the head proper distance to select next nozzle. This can perhaps be hacked and just use nozzle offsets?

Let me know what you think. The design is pretty much finished aside from a few tweaks and I'll be printing some parts in SLA soon to get a feel for size/weight. The overall assembly isn't that big and the hexagon can fit in your hand. If anyone wants to help code support for this into OpenPNP, that would be awesome :)

Star Head Iso View.png

Star Head Side View.png


Shai

unread,
Feb 14, 2021, 3:46:59 PM2/14/21
to OpenPnP
And for those curious about the internal setup... here you go :) Right click and view in new tab for zoomed in version.

screenshot_924.pngscreenshot_923.png

Clemens Koller

unread,
Feb 15, 2021, 5:02:47 AM2/15/21
to ope...@googlegroups.com
Hello, Shai!

Thank you for sharing! 8-)
What is the design goal in building this system? - Easily obtainable mechanics, low budget or high performance / cph?

When it comes to placement performance, it might get difficult to have the Z axis moving two more stepper motors. The inertial mass / energy management is propably a key to that.

I am still dreaming @:-] of a machine where moving the placement head in between the feeders and the pcb is not necessary anymore, simply because the components have way less mass then the head. Some concepts are already in my mind.

Regards,

Clemens

On 14/02/2021 21.40, Shai wrote:
> What's cooler than 4 nozzles? 8 nozzles! :)
>
> This started from a discussion on the OpenPNP discord and spun out into a full design. Inspired by machines such as the Europlacer and Siplace.
>
> Europlacer: https://www.youtube.com/watch?v=0lfPGQtXRWQ
> Siplace: https://www.youtube.com/watch?v=nMYSneJN55c
>
> The idea here is that you can have "unlimited". nozzles with just 5 axis controller. The Z of all the nozzles is controlled by the lead screw that lowers and lifts the entire star assembly and two other motors spin the star in the horizontal axis and vertical axis.
>
> Some of the benefits of this setup is that you can mount the camera on the head to do vision on the fly, saving a lot of travel time in the X/Y axis. The entire head is fed vac/blow via two lines and controlled via 8 x 3 port miniature solenoids.
>
> The hexagon block is designed to be easily machined out of aluminum and nozzles are held in place with 3 balls each that grab it with a tight grip.
>
> However, there are some features/challenges I see with having this work with OpenPNP at the moment:
>
> 1. Calibrating the camera that moves with the head to orient parts. Since it's fixed to the head, a new calibration method needs to be developed to calibrate nozzle run-out and camera placement.
> 2. Another challenge is taking clear pictures of components for rotation/offset. Since the camera is fixed, parts will be captured at various heights, so the only solution I can think of is to use auto-focus camera, but I'm not sure of any off the shelf cameras that can auto focus fast enough to not slow down the entire machine. (Remember, the idea is to capture parts "on the fly"). One solution could be to use the component heights stored in OpenPNP and adjust the auto-focus based on that.
> 3. Rotating the head proper distance to select next nozzle. This can perhaps be hacked and just use nozzle offsets?
>
>
> Let me know what you think. The design is pretty much finished aside from a few tweaks and I'll be printing some parts in SLA soon to get a feel for size/weight. The overall assembly isn't that big and the hexagon can fit in your hand. If anyone wants to help code support for this into OpenPNP, that would be awesome :)
>
> Star Head Iso View.png
>
> Star Head Side View.png
>
>
> --
> 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 <mailto:openpnp+u...@googlegroups.com>.
> To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/8299e777-9d4e-4135-bfb5-d13b3e82a357n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/8299e777-9d4e-4135-bfb5-d13b3e82a357n%40googlegroups.com?utm_medium=email&utm_source=footer>.

Shai

unread,
Feb 15, 2021, 11:39:50 AM2/15/21
to OpenPnP
Hi Clemens, the goal is to increase CPH as always :) It would actually cost more to make this only because of those tiny solenoids, they go for about $40 each at low quantity, but work really well. I don't think moving the Z would be an issue. That's just something you have to spec the motor for depending on speed/weight. You can also add an extension spring to help it if you don't want a big motor.

Mike Menci

unread,
Feb 15, 2021, 1:51:03 PM2/15/21
to ope...@googlegroups.com
Hi Shai,
Just two things
- tiny solenoids (? Link to web) are turning as well - so for 8 you would need slipring for 9 wires which I do not see in your drawing?
- how is with the vacuum to nozzles ?

I would probably rotate the star head with pulleys and GT2 belt / what do you say?
Mike


> On 15 Feb 2021, at 17.39, Shai <shai...@gmail.com> wrote:
>
> tiny solenoids

Shai

unread,
Feb 15, 2021, 2:32:32 PM2/15/21
to OpenPnP
Hi Mike,

I have some samples of the 2-port ones and they are really tiny! See attached picture. But the star head uses 3 port for vac/blow.

Yeah I need to find a compatible slip ring, so far haven't been able to find the right size, but I made room to add one opposite side of the solenoids. The vacuum flows via the horizontal axle. There's a right angle connector on each side of the axle as shown in the screenshots.

I think adding belts doesn't improve anything? I would rather do direct drive or gears. The horizontal has a large gear that attaches to the hexagon as shown and the Z axle is directly by the motor. I think that should have enough resolution. I tried to keep the setup as simple and light weight as possible and so that it's compact design.

Shai

unread,
Feb 15, 2021, 2:35:40 PM2/15/21
to OpenPnP
Oops forgot to attach pictures, here it is.

IMG_1478.jpg IMG_1477.jpg

3d.m...@gmail.com

unread,
Feb 15, 2021, 5:07:39 PM2/15/21
to OpenPnP
Using a belt would lower the backlash significantly over using gears.  That might be important...

Shai

unread,
Feb 16, 2021, 12:22:39 PM2/16/21
to OpenPnP
Here are the files if anyone would like to have a go at making one of these :)
Star Head Assembly v78.step.zip

Shai

unread,
Feb 16, 2021, 12:49:08 PM2/16/21
to OpenPnP
Just want to add to anyone that intends to build one of these, you really shouldn't 3D print the hexagon where the solenoids get installed. You need to CNC it to a specific RA spec (surface roughness) per the manufacturer's recommendation. This is because the solenoids are press fit into the hexagon and if the surface is rough, the delicate seals on the solenoids will tear. Believe me, I've tried it by inserting the solenoids onto a Formlabs high res print and it still wasn't good enough. Not to mention, it wasn't easy to insert them.

Shai

unread,
Feb 16, 2021, 10:48:38 PM2/16/21
to OpenPnP
Here's how small the hexagon wheel is.

hexagon.jpg

alexander...@gmail.com

unread,
Feb 17, 2021, 8:02:33 AM2/17/21
to OpenPnP
Hi Shai.

I am conscious that you have not had much feedback so wanted to assure you that at least some of us (me) are finding your thread very interesting to follow... even if I haven't had anything to contribute... I don't have the engineering experience to have been able to look at your static image and understand how you were keeping air supplied to the 8 solenoids while they were rotating... being able to play with the STEP file and strip back the star to see what's going on inside made it much clearer and was likely very obvious to others in hindsight!

I look forward to seeing how you progress with this!

Good luck.

Alex

Shai

unread,
Feb 17, 2021, 4:24:47 PM2/17/21
to OpenPnP
Thanks Alex, this is indeed a very interesting design. It solves a lot of things, while creating new challenges as well :)

I've since updated the design so that instead of the hexagon rotating on the axle, the axle rotates with the hexagon. This will dramatically increase the O-ring lifespan on the axle and instead will use rotating pneumatic joints. I'm itching to get a few of these stars CNC'd. Would anyone be interested in some? This would pertain to just the hexagon, the axle it rotates and the brass nozzle holders that get press fit into the hexagon.

You can 3D print the rest of the setup such as the U clamp that holds the star axle, etc. Let me know! Just note, the solenoids are not cheap and cost about $450 for 8 of them.

Niclas Hedhman

unread,
Feb 18, 2021, 1:49:58 AM2/18/21
to ope...@googlegroups.com

I don't think I have seen an answer on how to get the electricity across to 8 solenoids. Just wires flapping in the breeze? I am not convinced that is going to work reliably in the long run, but I am a very skeptical person...to everything.  ;-)

Niclas

--
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/1814d671-06ec-4c52-af05-2f914f1037b8n%40googlegroups.com.

Mike Menci

unread,
Feb 18, 2021, 7:44:23 AM2/18/21
to ope...@googlegroups.com
Low cost slip-ring 400rpm for example from here;

Perhaps vacuum line could run in the center... 

But there is probably one more slip ring needed if the whole head is turning around Z axis as well (could be limited to 355deg...) 

And if camera is on side like in the drawing -rotation is not possible in the camera axis... , so bottom up camera would do but the tolerances for fabrication of star-head would need to be very high or you have runout on around 6 nozzle(s) / Z axe. 
My 5 cents ? 
Mike

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


On 18 Feb 2021, at 07.49, Niclas Hedhman <nic...@hedhman.org> wrote:



Mike Menci

unread,
Feb 18, 2021, 7:51:29 AM2/18/21
to ope...@googlegroups.com

Shai

unread,
Feb 18, 2021, 11:18:07 AM2/18/21
to OpenPnP
Hi guys, I had mentioned earlier that the slip ring was missing from the CAD because I'm still looking for one that would fit on the side of the star. The ones you linked to Mike wouldn't work because they're too big in diameter where the holes go and the shaft has since also increased in diameter. Z doesn't need a slip ring because the head would only swivel 180 degrees. You also can't have both blow and vac go in on one side. Please look at the cad file I share and you'll see why.

Shai

unread,
Feb 18, 2021, 12:19:38 PM2/18/21
to OpenPnP
One thing I and some other users from discord are trying to figure out is how to calibrate a star head. What's the correct procedure/order of operations and how would you accomplish it?

ma...@makr.zone

unread,
Feb 18, 2021, 1:04:54 PM2/18/21
to ope...@googlegroups.com

I guess there are two goals:

  1. Make sure each nozzle is pointing exactly downwards (the part is X/Y planar), when it is selected. This results in each nozzle getting a precise star rotation (or more useful: an offset to its nominal star rotation).
  2. When 1. is established, calibrate any X/Y deviation between the nozzles. Today's nozzle tip calibration will implicitly cover that already.

I have no idea how to calibrate 1. and how critical it is (if at all). Just moving Z up/down and making sure the tip remains at the same position is not a solution. This will calibrate the Z axis, not the nozzle's true axis i.e not the part's planarity.

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

Shai

unread,
Feb 18, 2021, 1:11:17 PM2/18/21
to OpenPnP
Yes calibrating the nozzles so they are true vertical is important. It's also important that they are planar to the camera that will travel with the head. So I think a calibration procedure may be needed for that as well in case the camera is not perpendicular to the table? And in case the camera is shifted in X/Z and possibly Y?

A bit off topic - but related - since the camera that will travel with the head can't move away from the center of the star to adjust for component heights, we need an auto-focus camera that can adjust focus based on component heights entered into OpenPNP for each component. Jason recommended these cameras and mentioned they accept commands to focus to a specific DOF (depth of field): http://www.elpcctv.com/auto-focus-usb-camera-c-95.html

Davydavedavington

unread,
Feb 18, 2021, 1:25:40 PM2/18/21
to OpenPnP
Regarding the nozzle angle calibration I've been playing with some ideas but I run into a calibration catch 22 on most ideas:
-Using a large diameter tool and wobbling the D angle (the star head angle) in front of a calibrated up facing camera and watching the warping of the nozzle tip to optimize for a circular tip. This is a bit far fetched as from what I understand detecting ovals is much harder than circles in openCV
-Shai has mentioned some kind of horizontal optical sensor that detects the tools and interpolates the center - though I realize as I write this that this would require a manual offset for the sensor itself.
-One I like is to position the camera above a calibrated up facing camera, sweep the C rotation 0-360 while varying the D rotation until runout is minimized - this would let me reuse most of the runout calculation code and just glue it together with some movements

If anyone has any other ideas that don't require additional sensors which need their own calibratable offsets, would be much appreciated lol
David

ma...@makr.zone

unread,
Feb 18, 2021, 3:02:35 PM2/18/21
to ope...@googlegroups.com

> the camera that will travel with the head

Oh, I missed that part of your design. Forget my whole comment!

Don't read any further if you don't like Advocatus Diaboli input    >8-D

... you were warned ...

This means you can't do classical nozzle tip runout compensation (and calibration) and also not classical multi-pass bottom vision as you can only move the nozzle in one axis in front of the camera.

Instead you'd need to compensate from pixel offsets alone (one-pass). Needs very high Units per Pixel accuracy and very low camera lens distortion.

Or you can do two multi-pass alignment phases with the part rotated in C by 90° i.e. only aligning one axis per phase (by slight star rotation). Whether this variant will in the end be faster than classical stationary vision?

Did you know the OpenPnP Job planner has no feeder co-location optimization yet? It will select eight parts from any feeder all over the machine, as long as the nozzle tip compatibility is given. And it will visit them strictly in nozzle order, not in the order the feeders are laid out. With 8 nozzles and feeders arranged around the machine, it will be zooming back and forth like crazy. And that's just the most obvious part of what is missing. For efficient 8 nozzle operation you'd also need a nozzle tip loading optimization: The worst thing to do is loading your 8 nozzles with all your mixed nozzle tips (and think you can avoid the changer). This would even increase the crazy zooming, as the OpenPnP planner will always try to fill all 8 nozzles regardless of even the most punishing detour.  What you'd need is a smart nozzle tip loading planner. Ideally it would load 8 times the same nozzle tip and the pick (harvest!) those countless 0.1µF caps in one fell swoop. Gatling gun style... and once the small parts are mostly placed it would have to start leaving nozzles empty, smartly, because the detour is too costly. Oh, and then you need feeder arrangement optimization...

Sorry about that...  O:-}

This design is certainly full of very, very steep challenges...

_m

Shai

unread,
Feb 18, 2021, 3:12:16 PM2/18/21
to OpenPnP
I appreciate the thorough and deep insight on the challenges Mark! I think we can start with calibration so that we can at least get it working picking and placing components? The whole planning phase for nozzle, feeder location etc can be done after the star works. What do you think? Do the opportunities of a star design out weight the challenges? ;)

Clemens Koller

unread,
Feb 18, 2021, 6:57:31 PM2/18/21
to ope...@googlegroups.com
Hi, Mike!

> https://www.ebay.com/itm/300Rpm-Capsule-Electric-Slip-Ring-robotics-10-Circuits-Wires-21-8mm-2A-AC-240V-/324084004404?_trksid=p2349624.m46890.l49292

Really low cost! But they seem to be very brave, writing 240V/2A on it. *Gosh* ;-)

Clemens

On 18/02/2021 13.44, Mike Menci wrote:
> Low cost slip-ring 400rpm for example from here;
>
> https://www.ebay.com/itm/300Rpm-Capsule-Electric-Slip-Ring-robotics-10-Circuits-Wires-21-8mm-2A-AC-240V-/324084004404?_trksid=p2349624.m46890.l49292
> Perhaps vacuum line could run in the center... 
>
> But there is probably one more slip ring needed if the whole head is turning around Z axis as well (could be limited to 355deg...) 
>
> And if camera is on side like in the drawing -rotation is not possible in the camera axis... , so bottom up camera would do but the tolerances for fabrication of star-head would need to be very high or you have runout on around 6 nozzle(s) / Z axe. 
> My 5 cents ? 
> Mike
>
> ***************************Disclaimer******************
>
>
>> On 18 Feb 2021, at 07.49, Niclas Hedhman <nic...@hedhman.org> wrote:
>>
>> 
>>
>> I don't think I have seen an answer on how to get the electricity across to 8 solenoids. Just wires flapping in the breeze? I am not convinced that is going to work reliably in the long run, but I am a very skeptical person...to everything.  ;-)
>>
>> Niclas
>>
>> On Wed, Feb 17, 2021 at 10:24 PM Shai <shai...@gmail.com <mailto:shai...@gmail.com>> wrote:
>>
>> Thanks Alex, this is indeed a very interesting design. It solves a lot of things, while creating new challenges as well :)
>>
>> I've since updated the design so that instead of the hexagon rotating on the axle, the axle rotates with the hexagon. This will dramatically increase the O-ring lifespan on the axle and instead will use rotating pneumatic joints. *I'm itching to get a few of these stars CNC'd. Would anyone be interested in some? This would pertain to just the hexagon, the axle it rotates and the brass nozzle holders that get press fit into the hexagon.*
>>
>> You can 3D print the rest of the setup such as the U clamp that holds the star axle, etc. Let me know! Just note, the solenoids are not cheap and cost about $450 for 8 of them.
>>
>> On Wednesday, February 17, 2021 at 8:02:33 AM UTC-5 alexander...@gmail.com <mailto:alexander...@gmail.com> wrote:
>>
>> Hi Shai.
>>
>> I am conscious that you have not had much feedback so wanted to assure you that at least some of us (me) are finding your thread very interesting to follow... even if I haven't had anything to contribute... I don't have the engineering experience to have been able to look at your static image and understand how you were keeping air supplied to the 8 solenoids while they were rotating... being able to play with the STEP file and strip back the star to see what's going on inside made it much clearer and was likely very obvious to others in hindsight!
>>
>> I look forward to seeing how you progress with this!
>>
>> Good luck.
>>
>> Alex
>>
>> On Wednesday, February 17, 2021 at 3:48:38 AM UTC Shai wrote:
>>
>> Here's how small the hexagon wheel is.
>>
>> hexagon.jpg
>>
>> --
>> 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 <mailto:openpnp+u...@googlegroups.com>.
>> To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/1814d671-06ec-4c52-af05-2f914f1037b8n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/1814d671-06ec-4c52-af05-2f914f1037b8n%40googlegroups.com?utm_medium=email&utm_source=footer>.
>>
>> --
>> 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 <mailto:openpnp+u...@googlegroups.com>.
>> To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/CADmm%2BKe6w5MuO8Yf-CbRgZKG-Zbh091%3DxL%3D6ovTh4D5HDwRRJg%40mail.gmail.com <https://groups.google.com/d/msgid/openpnp/CADmm%2BKe6w5MuO8Yf-CbRgZKG-Zbh091%3DxL%3D6ovTh4D5HDwRRJg%40mail.gmail.com?utm_medium=email&utm_source=footer>.
>
> --
> 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 <mailto:openpnp+u...@googlegroups.com>.
> To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/65164ED5-AE6C-4E3D-925E-9C9AFAA9F3CE%40gmail.com <https://groups.google.com/d/msgid/openpnp/65164ED5-AE6C-4E3D-925E-9C9AFAA9F3CE%40gmail.com?utm_medium=email&utm_source=footer>.

Davydavedavington

unread,
Feb 18, 2021, 9:01:32 PM2/18/21
to OpenPnP
Hi Mark!
Some background: I'm also building a 4 nozzle star head and sharing ideas with Shai. I'm working on the openpnp modifications to try to get these things up and running lol. Just trying to unpack your post to better understand if I'm approaching them from the right angle. In this I refer to the rotation axes as C - the traditional nozzle rotation, D - the star rotation

On Thursday, 18 February 2021 at 15:02:35 UTC-5 ma...@makr.zone wrote:

> the camera that will travel with the head

Oh, I missed that part of your design. Forget my whole comment!

Don't read any further if you don't like Advocatus Diaboli input    >8-D

... you were warned ...

This means you can't do classical nozzle tip runout compensation (and calibration) and also not classical multi-pass bottom vision as you can only move the nozzle in one axis in front of the camera.

Are you referring to doing these using the head mounted side camera? I think Shai meant to say that the side facing camera would be coupled to the X/Y of the of the gantry but not angles C/D. I think regardless, an up facing camera is still necessary to do the initial nozzle tip runout for our sanity and then only using the side camera for component alignment (which would be the common case anyways). I think theoretically I can map component offsets from the side camera to runout offsets taken from the up camera provided that: 
  1. I can get a nice calibration of the D axis with offsets for each tool to get the tools perpendicular to the up and side cameras
  2. Use that to get offsets to determine where the nozzle tip should be in the view frame because there will be a part blocking it during part alignment (I suppose I could do a peek and look at the calibrated nozzle tip with the side camera beforehand it has a part idk)
Did you know the OpenPnP Job planner has no feeder co-location optimization yet? It will select eight parts from any feeder all over the machine, as long as the nozzle tip compatibility is given. And it will visit them strictly in nozzle order, not in the order the feeders are laid out. With 8 nozzles and feeders arranged around the machine, it will be zooming back and forth like crazy. And that's just the most obvious part of what is missing. For efficient 8 nozzle operation you'd also need a nozzle tip loading optimization: The worst thing to do is loading your 8 nozzles with all your mixed nozzle tips (and think you can avoid the changer). 
This would even increase the crazy zooming, as the OpenPnP planner will always try to fill all 8 nozzles regardless of even the most punishing detour.  What you'd need is a smart nozzle tip loading planner. Ideally it would load 8 times the same nozzle tip and the pick (harvest!) those countless 0.1µF caps in one fell swoop. Gatling gun style... and once the small parts are mostly placed it would have to start leaving nozzles empty, smartly, because the detour is too costly.

Yes :(
But I'm a big fan of the job step architecture that I was looking at while writing this :D. I guess my initial goal is to override PnpJobPlanner to proactively plan nozzle changes from small to large size and reorder the parts small to large (using compatible tip info) to reduce unused nozzles during moves (I guess I'll need to extend ReferenceNozzleTip with an approximate configurable nozzle tip size to be able to actually sort these). I think can get pretty good usage if each part has 2 compatible tips and the head slowly transitions to bigger and bigger tips.
 
Oh, and then you need feeder arrangement optimization...
 
I suppose a long term goal would be to build a map of the feeder pick locations and travelling salesman it but I've been out of school for a while and forget my algos :(.
I have a Europlacer at my work like Shai posted here and the dumb planner tells me it wants me to spend 15 minutes taking out 20 common resistor feeders and move them like 5 positions to the right because it thinks the program will run 5 seconds faster... then I have to re digitize the pick locations because I moved them...so I'm not a fan of basic arrangement optimization lol :p. Continuous multi-job feeder arrangement planning is where its at but nope my boss didn't want to buy that module.

Sorry about that...  O:-}

This design is certainly full of very, very steep challenges...

Heh it sounds like fun


_m

ma...@makr.zone

unread,
Feb 19, 2021, 1:45:18 AM2/19/21
to ope...@googlegroups.com

> Do the opportunities of a star design out weight the challenges? ;)

I don't know. If you are ready to tackle all the aspects and IMHO most importantly the planner,  then it could well be. :-)

Personally I would choose a completely different approach (ganged pick/ganged alignment), but that's not what you asked...

_Mark

ma...@makr.zone

unread,
Feb 19, 2021, 3:10:46 AM2/19/21
to ope...@googlegroups.com

Answers inline>>

Am 19.02.2021 um 03:01 schrieb Davydavedavington:
Hi Mark!
Some background: I'm also building a 4 nozzle star head and sharing ideas with Shai. I'm working on the openpnp modifications to try to get these things up and running lol. Just trying to unpack your post to better understand if I'm approaching them from the right angle. In this I refer to the rotation axes as C - the traditional nozzle rotation, D - the star rotation

OK.


On Thursday, 18 February 2021 at 15:02:35 UTC-5 ma...@makr.zone wrote:

> the camera that will travel with the head

Oh, I missed that part of your design. Forget my whole comment!

Don't read any further if you don't like Advocatus Diaboli input    >8-D

... you were warned ...

This means you can't do classical nozzle tip runout compensation (and calibration) and also not classical multi-pass bottom vision as you can only move the nozzle in one axis in front of the camera.

Are you referring to doing these using the head mounted side camera? I think Shai meant to say that the side facing camera would be coupled to the X/Y of the of the gantry but not angles C/D. I think regardless, an up facing camera is still necessary to do the initial nozzle tip runout for our sanity

That is of course possible. But see below.

and then only using the side camera for component alignment (which would be the common case anyways). I think theoretically I can map component offsets from the side camera to runout offsets taken from the up camera provided that: 
  1. I can get a nice calibration of the D axis with offsets for each tool to get the tools perpendicular to the up and side cameras
  2. Use that to get offsets to determine where the nozzle tip should be in the view frame because there will be a part blocking it during part alignment (I suppose I could do a peek and look at the calibrated nozzle tip with the side camera beforehand it has a part idk)

Strictly speaking, runout-compensation is not needed, provided...

  1. You align all your parts (which can make sense with the side facing camera). When the part is aligned with pre-rotate, then nozzle tip runout is irrelevant i.e. it will be compensated out together with the part offsets.
  2. Your nozzle tip runout is small enough so you don't need to compensate it for other "mechanical" nozzle tip actions (tool changer etc.). Not so on my machine ;-)

But: alignment (your point 2) still needs to be entirely pixel based, i.e. you take a camera image and calculate the physical offsets purely from the apparent pixel offsets. For contrast: in multi-pass alignment the machine centers the part in the camera again (and again) to make it symmetric in the camera view, so you can cancel out any scaling/Units per Pixel, focal plane (camera distance) errors, lens distortions, or parallax effects for parts with real pins i.e. pins that are not flat on the focal plane, and more importantly their angular reflection of the diffusor light, plus any other asymmetric lighting effects (etc.).

I say this, because I introduced adaptive multi-pass vision and at least in my experiments, this was essential to get adequate results for the semi-large 0.5mm pitch ICs I used:

https://makr.zone/extending-bottom-vision-in-openpnp/341/

Having said that: you could only use the side facing camera for the many small parts and do the few large buggers on the classical bottom camera.

What I ultimately want to say is that you need to be ready to implement many extensions to how OpenPnP works today. Including the possibility to use multiple alignment cameras in the first place.  Be sure to read about our plans to rework the vision system, before you do anything

https://groups.google.com/g/openpnp/c/7DeSdX4cFUE/m/VYDG6x6-AAAJ.


Did you know the OpenPnP Job planner has no feeder co-location optimization yet? It will select eight parts from any feeder all over the machine, as long as the nozzle tip compatibility is given. And it will visit them strictly in nozzle order, not in the order the feeders are laid out. With 8 nozzles and feeders arranged around the machine, it will be zooming back and forth like crazy. And that's just the most obvious part of what is missing. For efficient 8 nozzle operation you'd also need a nozzle tip loading optimization: The worst thing to do is loading your 8 nozzles with all your mixed nozzle tips (and think you can avoid the changer). 
This would even increase the crazy zooming, as the OpenPnP planner will always try to fill all 8 nozzles regardless of even the most punishing detour.  What you'd need is a smart nozzle tip loading planner. Ideally it would load 8 times the same nozzle tip and the pick (harvest!) those countless 0.1µF caps in one fell swoop. Gatling gun style... and once the small parts are mostly placed it would have to start leaving nozzles empty, smartly, because the detour is too costly.

Yes :(
But I'm a big fan of the job step architecture that I was looking at while writing this :D.

It has (almost) nothing to do with the step architecture. As you have already noticed, it is the PnpJobPlanner that you need to look at.

https://github.com/openpnp/openpnp/blob/d539596aae8a455b737929545187ff9c0cf4cc78/src/main/java/org/openpnp/machine/reference/ReferencePnpJobProcessor.java#L1308

What would need to change is the order in which the nozzles pick, align and place inside the steps. Currently there is only one order and it is fixed (sorted by nozzle name):

https://github.com/openpnp/openpnp/blob/d539596aae8a455b737929545187ff9c0cf4cc78/src/main/java/org/openpnp/machine/reference/ReferencePnpJobProcessor.java#L1364

I guess my initial goal is to override PnpJobPlanner to proactively plan nozzle changes from small to large size and reorder the parts small to large (using compatible tip info) to reduce unused nozzles during moves (I guess I'll need to extend ReferenceNozzleTip with an approximate configurable nozzle tip size to be able to actually sort these). I think can get pretty good usage if each part has 2 compatible tips and the head slowly transitions to bigger and bigger tips.

For an efficient 8 nozzle machine, I believe you'd need much more than that. You would need to take the feeder pick locations into consideration. Group picks together by feeders that are close to each other (including picking multiple nozzles from the same feeder).

A first approximation could be:

  1. Make groups of parts/feeders based on Nozzle Tip compatibility. Could be sub-grouped by Alignment camera (none/bottom/side).
  2. Per (sub) group devise a nozzle tip strategy based on the number of parts to be placed in the group. If you have many, many parts, load the same nozzle tips multiple times (you must have that on a 8 nozzle machine, IMHO).
  3. Within the group and nozzle tip assignment: fill the compatible feeder pick locations into the TravellingSalesman algorithm I introduced a while back:
    https://github.com/openpnp/openpnp/blob/develop/src/main/java/org/openpnp/util/TravellingSalesman.java
  4. Then form the placements (as the planner does today) but from the above input order .
  5. Make the planner (much!) less greedy, to avoid silly detours done just to fill an unused nozzle. Basically: do not swallow the bait, if the next feeder is farther away (from the other picks already assigned) than the PCB (or than the bottom camera, if Alignment is employed).
 
Oh, and then you need feeder arrangement optimization...
 
I suppose a long term goal would be to build a map of the feeder pick locations and travelling salesman it but I've been out of school for a while and forget my algos :(.

I'm quite sure I'm longer out of school. :-)

See above.

I have a Europlacer at my work like Shai posted here and the dumb planner tells me it wants me to spend 15 minutes taking out 20 common resistor feeders and move them like 5 positions to the right because it thinks the program will run 5 seconds faster... then I have to re digitize the pick locations because I moved them...so I'm not a fan of basic arrangement optimization lol :p. Continuous multi-job feeder arrangement planning is where its at but nope my boss didn't want to buy that module.

I agree there are trade-offs to be considered. And feeder location optimization certainly comes a long way after the above.

Frankly, a 8 nozzle machine will only make sense a) for the sheer fun of the challenge or b) if you place many, many boards (hundreds, thousands). Then 15 minutes one-time prep might not sound so bad after all. ;-)

Sorry about that...  O:-}

This design is certainly full of very, very steep challenges...

Heh it sounds like fun

It does!



_m

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

Rizki Walker

unread,
Feb 19, 2021, 9:56:57 AM2/19/21
to ope...@googlegroups.com
Hi... U can see at the video how they calibrate the nozzle using Something like square.. For rotary nozzle better if it can use small rotary encoder


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

Davydavedavington

unread,
Feb 19, 2021, 10:11:08 AM2/19/21
to OpenPnP
Thanks Mark! I appreciate the time you took to address everything and all of your responses have been extremely useful. I'll read further on the links you included :)

Sorry I had misunderstood what you meant by multi pass originally and the implications of it, but its clear now... on the second pass... heh

David

Shai

unread,
Apr 16, 2021, 10:57:51 AM4/16/21
to OpenPnP
We just received new parts for the Rapid Star and they look and fit amazingly well. Machined to 0.020mm tolerance. Thought I'd share some pictures and a video :)

Star-1.jpgStar-3.jpg
image022.jpg
video0.mov

Y S

unread,
Apr 16, 2021, 8:15:56 PM4/16/21
to OpenPnP
Wow this looks so great, thanks for sharing your process and design files, top notch professional work :)

I would also like to make one of these, I wonder if we could get away with a smaller stepper on the rotation axis like here : https://www.youtube.com/watch?v=UAQJJAQSg_g
Maybe can cut costs further down

Best Regards

Shai

unread,
Apr 16, 2021, 8:21:29 PM4/16/21
to OpenPnP
Thanks! I can't take all the credit, David has contributed as well. Just to be clear, this is not supported in OpenPNP yet and David is working on the code. However to answer your question, (I think you mean C rotation?) yes I'm sure we can get away with a geared setup that weighs less. This motor is a bit overkill in terms of the torque it can handle but that's because we wanted to slap something together quickly to get a first revision working. There'll be future revisions down the road as we make improvements.

ma...@makr.zone

unread,
Apr 17, 2021, 3:53:50 AM4/17/21
to ope...@googlegroups.com

Looks really nice!

All the vacuum switchery is inside there? And how are all the connections (vacuum/electric) going in there? (I haven't followed all the discussion before and this might already haven been mentioned, sorry)

_Mark

sebastian...@gmail.com

unread,
Apr 17, 2021, 7:38:21 PM4/17/21
to OpenPnP
I wonder, whats's the cph break even point for this kind of  setup?
How many nozzles do you need to gain an advantage over a multi head setup?

Rotation from one nozzle to the next must be quicker than moving from one to the next head.
At some point you'll probably get less weight per nozzle.
Did you ever take this into account? Or is this project just for the challenge?
I guess for lower nozzle counts the sole advantage is the flying bottom camera right?

Nice work. Can't wait to see it in action!

Shai

unread,
Apr 17, 2021, 7:49:36 PM4/17/21
to OpenPnP
@mark yes it's a quite simple design actually. The axle has two inlets from each side as you can see from the screenshots that I think were posted earlier. The entire setup requires just one solenoid! And it's "infinitely" scalable with just 1 solenoid. Every time the octagon rotates, it switches between the inlet tubes and one tube has a solenoid to switch between vac/blow while the other tube has just vacuum to hold the rest of the nozzle's parts.

@Sebastian

This setup can hold 8 nozzles. The advantage is you can easily rotate the nozzles rather than move it to an up looking cam. Started out as a fun project but getting more serious now with testing ;) We believe it's definitely much quicker than a traditional PNP because you have far less X/Y travel moves and the head can hold 8 parts at a time. Not to mention the cost is actually also lower and the head weights less (although the motors we currently use are a bit overkill).

Shai

unread,
Apr 18, 2021, 8:55:54 PM4/18/21
to OpenPnP
Came across this today and it really hits you how bulky and heavy a traditional 8 nozzle setup would be (not to mention also expensive) Here's the shortened aliexpress link: https://bit.ly/3mZwHxx Note that this link only shows a 6 nozzle setup.
You'd also need a massive PCB with 12 motor drivers, making the electronics alone expensive. Whereas a star only need 3 motors and is expandable at almost no cost.
There's a hand in one of the pictures on the aliexpress link there that shows scale of the assembly. I've attached a pic of the star setup in my hand to show in comparison.

IMG_1742.jpg

Shai

unread,
Apr 22, 2021, 3:12:19 PM4/22/21
to OpenPnP
Here's a quick test in water showing how air tight the Rapid Star assembly is. Starting at 0:45 you can see how quickly the nozzles switch air channels as the star is rotated. This also shows that as the star rotates, there's no leaks between the star and the axle: https://youtu.be/oRe5PH8amgQ
Towards the end I'm attempting to block the air flow completely by idling it between two nozzles (this isn't easy since the rotation gap is so small) but this was done to see if air leaks anywhere else as pressure builds up. You can also hear the motor struggle a bit since it's fully blocked. Looks like an air tight assembly :)

Shai

unread,
Aug 23, 2021, 8:07:53 PM8/23/21
to OpenPnP
I'm excited to share that we now have preliminary BETA instructions to assemble the Rapid Star available on our website for everyone to view. We've published a beta version to give users an early view to how easy it is to assemble a Rapid Star. Feel free to let me know if you have any questions! View instructions here: https://www.deltaprintr.com/docs/rapid-star/
Reply all
Reply to author
Forward
0 new messages