Hello,
I am currently debugging a PnP machine using OpenPnP at my work and we came across an issue when placing components on the bottom side of the PCB.
Issue: When placing components on the top side, we didn't encounter any issues of components being placed in the wrong orientation. However, when testing component placement on the bottom side, we noticed that the SOT23-3 package components are placed in the wrong orientation ONLY when the original component asks for a 0 or 180 degree orientation. This issue does not occur for SOT23-3 package components that are placed at 90 or 270 degree orientations.
Observations:
- I am currently using a strip feeder that has the SOT23-3 components placed in such a way so that when the tape holes are aligned to the top, the two pads are aligned to the bottom
- Following instructions found in this
page, I set my "Rotation in Tape" value to 90 degrees, since within our library we have our 2 pads aligned to the left side
- When exporting the PnP files from our PCB CAD, the origin is located at the bottom-left corner of the rectangular PCB with all positions & rotations are defined relative to that origin from the top-side view.
- All SOT23-3 components already completed the top side placement flawlessly, so we highly doubt that there is anything wrong with the feeder setup, unless there is a hidden setting that changes its behavior specifically for bottom side components
- From our observations, we believe that the machine is acting this way because the machine does not realize that the rotations get flipped when dealing with bottom side components, hence the component rotation is messed up only when it is +/-90 degrees offset from the rotation placed in the feeder (90 degree is fine since the components in the feeder is already at 90 degrees hence no rotation after pickup, and 270 degrees is also fine since the component needs to rotate 180 degrees and the direction does not matter)
- I suspected an issue with how the PnP file was exported, but as explained
here the board location and orientations should remain the same from the operator's perspective, but internally OpenPnP should understand that the X coordinates get flipped and the rotation of the components also get flipped. This does not seem to be the case.
- Similar issues are observed for other packages as well, but the phenomenon is most noticeable for asymmetric components or components with polarity (I believe the chip resistors are also being placed at 180 degree offset orientations, but there are no consequences due to their non-polarity)
Has anyone else also encountered this issue when using the Bottom side of a PCB for assembly? I personally find it pretty baffling to think that no one else has come across this issue if it is indeed a bug with how the bottom side assembly is handled, but equally I cannot find any settings or parameters within OpenPnP that might resolve this behavior. I tried skimming the forum as well to see if anyone else was reporting a similar issue but I was ultimately unsuccessful.
Thanks, any help is appreciated. Also please advise on what other information we should provide to help with the debugging.
Hayato