Why are my parts rotated 90 (or -90) degrees?

49 views
Skip to first unread message

Brian Piccioni

unread,
Oct 4, 2025, 4:53:25 PM (6 days ago) Oct 4
to OpenPnP
I am attempting to place the demo board which came with my machine. I have some remaining issues with reliability which may be machine specific or finger trouble, but when I place parts they are always rotated +/- 90 degrees.

I am using the R1206 part which I think came with the system and when I look at the Part -> Vision Compositing it is horizontal, which I think is 0 degrees (?)

On my board the first R1206 has rotation 0 degrees but when it is placed it is rotated +/- 90 degrees similarly all parts are rotated the same amount. (see photo). I have aligned the board with fiducials and I believe the rotation of the part should be essentially corrected by that process.

What am I doing wrong and how can I fix it?

Thanks


Rotated Parts.jpg

tonyl...@gmail.com

unread,
Oct 5, 2025, 12:55:04 PM (5 days ago) Oct 5
to OpenPnP
First, I'd try to isolate if the problem is with bottom vision or not. Just disable bottom vision for the part (don't forget to hit the Apply button after making the change) and try some more placements. With bottom vision disabled, the placement locations and angles may be slightly off, but you should be able to easily see if the placements are still off by +/- 90 degrees or not. If the +/-90 degree problem remains, check the following:

1. Verify your nozzle is rotating in the correct direction and by the correct amount. This is an easy point to overlook as none of the calibration steps really verify correct nozzle rotation. Place an easy to see mark on the side of the nozzle and use the jog buttons to rotate the nozzle. Verify it takes exactly 360 degrees of commanded rotation (3 clicks of the jog button at 100 degrees plus 6 at 10 degrees) to get the mark back to where it started. Watch the nozzle as you jog it to verify that it is not rotating at double or triple the amount of the commanded angle (as integer multiples of 360 degrees will also bring the mark back to its original starting point). Positive rotation should be counterclockwise when viewed from above looking down on the machine. If the amount or direction of rotation is not correct, you will need to fix the settings on your machine's controller before proceeding. 

2. Verify your part's zero orientation. This is set in the CAD package used to layout the board. While you can define this any way you like, to avoid confusion when discussing problems or sharing designs, it is best to follow the standard zero orientation as outlined here. Most likely your test board used the zero orientations as defined there but you never know for sure unless you check. If you don't have access to the board's CAD package, you will just need to assume the zero orientation is that observed in step 3 below. 

3. Now run a fiducial check on your board and then select one of the placements in the table. Use the "Position the camera at the placement's location." button to move the camera over the placement's location. Verify that the orientation of the camera's crosshairs is consistent with the part's zero orientation.  Assuming your zero orientation is set as defined by the standard (pin 1 left and pin 2 right), the cyan crosshair (+Y) should point crossways to the body of the resistor, the -X red crosshair should point in the direction of the resistor's pin1, and the +X red crosshair in the direction of the resistor's pin 2 (obviously for resistors, pin 1 and pin 2 don't really have much significance but for polarized components such as capacitors and diodes, this is much more important). Repeat this for several other placements. If you find any inconsistencies here, you may be using an out-of-date board definition - try re-exporting it from your CAD package and re-importing it into OpenPnP.

4. Verify that when the top camera is moved over the feeder's pick location (using the "Move the camera to the selected feeder's current pick location." button), that the camera's crosshairs are aligned consistent with the part's zero orientation from steps 2 or 3 above. Again assuming your zero orientation is set as defined by the standard (pin 1 left and pin 2 right), the cyan crosshair (+Y) should point crossways to the body of the resistor, the -X red crosshair should point in the direction of the resistor's pin 1 pad, and the +X red crosshair in the direction of the resistor's pin 2 pad. If this is not how the crosshairs are aligned, you need to change the setting of the part's rotation in the feeder. This is done differently for different feeders, so you need to provide more information as to what kind of feeder you are using. For instance, ReferenceStripFeeders have an explicit "Rotation in tape" setting while others like the ReferenceAutoFeeder just set the rotation via the Pick Location Rotation field.

Brian Piccioni

unread,
Oct 5, 2025, 1:52:24 PM (5 days ago) Oct 5
to ope...@googlegroups.com

Thanks you for this detailed explanation. I am sure it will be useful in the future since a lot of this is a complete mystery to me (and I am sure others)

As it happens, Pete sent me a private message which suggested the feeder setup needed a different part orientation. He was correct: it was at the default 0 but I needed to set it to 90 degrees (or -90 - I'll know for sure when I place a part other than a resistor).

For some reason I thought that the vision system would orient the part in accordance to how it ended up on the nozzle.

Thanks again

Brian

--
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/27399de3-352a-4e8a-a1fd-773946d27276n%40googlegroups.com.

tonyl...@gmail.com

unread,
Oct 5, 2025, 2:59:47 PM (5 days ago) Oct 5
to OpenPnP
> I thought that the vision system would orient the part in accordance to how it ended up on the nozzle

No, the vision system only corrects for small offsets and rotations of the part from its ideal. For instance, parts have some allowable "slop" in their tape pockets, and it is that "slop" that the vision system is intended to correct.

Brian Piccioni

unread,
Oct 5, 2025, 3:06:40 PM (5 days ago) Oct 5
to ope...@googlegroups.com


I guess that makes sense because if it had to deal with large rotations it might end up reversing the part or something.

Thanks again

Reply all
Reply to author
Forward
0 new messages