[OpenPnP] feeder part orientation for 0603 resistor...misenderstood

318 views
Skip to first unread message

manu f

unread,
Oct 3, 2021, 3:38:26 PM10/3/21
to ope...@googlegroups.com
Hello again ;-)

Well when I set my first Referencestripfeeder, I read carrefully the wiki page, specialy the part orientation.
What that I initialy understood is for a 0603 resistor, part orientation must be 90 degree...so I put rotation in tap to 90.0
Weel this not work ! I must put Rotation in tape to 0.0 degree for correct placement.

Could somebody confirm and explain better why 0603 chip resistor is 0.0 not 90?
Thanks

(I read the link https://blogs.mentor.com/tom-hausherr/blog/tag/ipc-standards/ who is broken but found a saved version on https://web.archive.org/, but it stay unclear for me !)

Lance Endres

unread,
Oct 3, 2021, 5:45:09 PM10/3/21
to OpenPnP
The short answer is that it depends both on the orientation of the part in the tape and the orientation that was used in the design software.  There is an explanation on the wiki, but it is a little hard to find.  Scroll down this page:

-Lance

Kamen Boyad

unread,
Mar 19, 2022, 1:26:46 AM3/19/22
to OpenPnP
Im wondering that too.. To my understanding first we find the 0 degrees orientation from ecad software. That is how 0 degrees position looks like in Kicad.
rotation0.PNG
After that we need to check out the part orientation in the tape while the tape is at 0 degrees. And according to the next picture compared to our ecad software 0 position, part sits at 90 degrees angle in the tape but the interesting thing is when i set the rotation in tape to 0 degrees in openpnp, everything works perfectly while to my understanding "rotation in tape" should have been 90 degrees. Does anybody know the answer to confusion or may be I have false understanding of how tape feeder works.
tape0.PNG

4 Ekim 2021 Pazartesi tarihinde saat 00:45:09 UTC+3 itibarıyla lance...@gmail.com şunları yazdı:

mark maker

unread,
Mar 19, 2022, 7:36:17 AM3/19/22
to ope...@googlegroups.com

> That is how 0 degrees position looks like in Kicad.

The "R1" label and the GND signal attrubute suggest that this is a screenshot from your PCB design. But you must not look at the part how it is placed on your PCB, but how its footprint is drawn in your library, in its neutral orientation.

I don't know how it works in KiCAD, but I'm sure you can somehow jump into the library for that particular footprint.

_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/6ae8ce97-8b52-4194-9bdf-5b88e37bfda3n%40googlegroups.com.

Kamen Boyad

unread,
Mar 19, 2022, 9:17:22 AM3/19/22
to OpenPnP
Thank you for your reply, Yes that was my design but I just attached another picture from the default Kicad Library and i guess the neutral orientation is the same as in my previous post. I still did not get it. Given the coordinates if this orientation is 0 degree how come in the tape its 0 too Im really confused. I also moved the tape to the left, right which was basically changing the tape orientation to see if it will have any effect but it works as it should.
new.PNG

library.PNG

19 Mart 2022 Cumartesi tarihinde saat 13:36:17 UTC+2 itibarıyla ma...@makr.zone şunları yazdı:

Lance Endres

unread,
Mar 19, 2022, 11:33:55 AM3/19/22
to OpenPnP
Technically, the part orientation should be -90 degrees (as I understand it).  It doesn't matter for small passives that can be placed in either direction, but if you get a part that needs a specific orientation, it obviously will.

I've used KiCad and set these parts up as -90 degrees and it works as expected.  My suspicion would be some small, easy to overlook issue is causing the confusion.  A non-standard footprint was used (perhaps saved in the project instead of taken from the global library)?  Selecting the wrong part in OpenPnP?  A setup issue with the feeder itself in OpenPnP?  I find with these issues, I just have to keep digging until the issue is found.  I'd suggest trying testing other parts to see if the same issue exists.

mark maker

unread,
Mar 19, 2022, 11:59:20 AM3/19/22
to ope...@googlegroups.com

Hi Kamen,

Hmmm.. OK, I just looked at the ReferenceStripFeeder and it seems this one has a different definition of tape °0:

Although it documents the tape with the sprocket holes at the top as "0°", it actually treats this tape orientation as +90°, internally. Or in other word: if you want to see the 0° orientation, you need to have the sprocket holes to the right: 

rotation in tape_examples


https://github.com/openpnp/openpnp/wiki/ReferenceStripFeeder#rotation-in-tape

Details:

This is also evident in the code.

You get the impression that this is 0° from the call here:

https://github.com/openpnp/openpnp/blob/4777eac55463da9844dcaa054f20b8fe662f5c1b/src/main/java/org/openpnp/machine/reference/feeder/ReferenceStripFeeder.java#L194

But unfortunately, getAngleFromPoint() uses a +90° transformation, by swapping X and Y and negating Y in the call to atan2(), which expects the Y component first.

https://github.com/openpnp/openpnp/blob/4777eac55463da9844dcaa054f20b8fe662f5c1b/src/main/java/org/openpnp/util/Utils2D.java#L387

When I implemented the ReferencePushPullFeeder (from where you got the explanation of "Rotation in Tape"), I made it compliant with EIA-481-C and therefore the 0° tape orientation is the one with the sprocket holes on top.

ANSI/EIA-481-C, Page 5, see also "Electronic Component Zero Orientation For CAD Library Construction".

(it is the same for the BlindsFeeder, btw. that I also authored).

When I did that, I was  under the impression that ReferenceStripFeeder does it the same way (from reading the Wiki section cited above) , which is not true, as it turns out.

Duh!

To sum it up:

For the ReferenceStripFeeder, use the same guidance, but take the 0° tape orientation as the one with the sprocket holes to the right.

_Mark

Kamen Boyad

unread,
Mar 19, 2022, 12:07:54 PM3/19/22
to OpenPnP
oh thank you then it all makes sense now. So when i check orientation of the part, I will rotate the part in Kicad to 0 and hold the tape in my hand in a way that holes are on the right hand side and that will be the 0 orientation of the part in the tape. And if it is rotated in the tape i can adjust the rotation from there. Because i place some leds too and they all behaved like the resistors in the tape as they where in the same orientation in tape. So that explains it. Thank you very much

19 Mart 2022 Cumartesi tarihinde saat 17:59:20 UTC+2 itibarıyla ma...@makr.zone şunları yazdı:
Reply all
Reply to author
Forward
0 new messages