so i’m going to design a PCB board and make it compatible with pick and place machine by adding fiducials and generating the .pos file which contain the position of each components with its rotation angle.
the problem that i’ve noticed in the kicad’s footprint library is that the initial position of most of the component aren’t correct.
let’s take for example the case of an SMT resistor. all the resistors included inside the Resistors_ SMD library are badly orientend. above is a screen shot of the footprint resistor R_603.
as you can see the footprint is drawn horizontally which correspond to an angle of rotation equal to zero if we won’t rotate it in the kicadPCB. which is wrong because all the SMD resistor inside the reel& tape are oriented vertically like the picture bellow :
so the resistor should be drawn in the pretty library vertically if we want to get the correct Rotation angle inside the .pos file! the same case for capacitor diode …
the same thing happen for example with the SOT packages library despite the fact that their orientation are by default known inside the tape and reel.
So what should i do ? should i copy the footprint that i will use them in my project and rotate them and save them to my custom own library ? that’s the only solution ? it’s gonna be a little bit tedious …
What makes you think that is vertical? it depends how you hold the tape…
The general convention is that pin 1 of a component is closest to the sprocket holes, but that is not always the case. KiCad has adopted the convention that pin 1 of a component is on the left, this is an IPC spec I believe.
Therefore if you take the two conventions, the tape shown above is rotated -90 deg. If you were to orient with the holes on the left, call that 0 deg, then the tape matches KiCad (and various standards).
In practice, manufacturers do different things, so you might need to program the surface mount machine with an angle offset anyway. Where you store the offset is up to you.
I seem to remember that IPC specifies two different options of orientation. (I think they are called A and B)
One of them has pin one on the top left like the kicad standard. The other is rotated by 90 degree.
thx for answer guy but i’m still little a bit confused.
if i understand well the initial orientation will depend on the pick and place machine it self. some pick and place have the tape and reel feeder coming from the top side of the machine and some other have a feeder coming form the left side like the picture bellow, so the initial orientation will change from both machine by 90°
so below is a representation of a PCB where the feeder is in the left side the same as a picture above,
in this case the pick and place head will do 0° rotation to place the resistor R1 and +/-90 for R2 ? is that right ?
You could do worse than to duplicate the approach of an existing fab house; for example, Macrofab have their in house parts, and kicad libraries for them:
I would avoid second guessing the machines in use and the tape orientations in particular machines, and adhere to the IPC spec, pin 1 to the left = 0 degrees etc…
The fabrication house can always apply (n*90) degree offsets to an XYRS file to account for peculiarities in their own in house setup easily enough.
The TMC220 P&P you posted a pic of earlier, not only has a different zero angle, it doesn’t even rotate the same direction Normally +ve angle = counter-clockwise, they have +ve = clockwise.
So you are thinking, this is all a mess, what do I do?
Design your KiCad footprints to a consistent standard
Export the pos file
With a script (or even by hand), convert the angles to whatever is required for the P&P machine, and the exact manufacturer, part number (and date) you wish to use
Do a test run, and check it is correct (visually or automated)
If you change P&P, component manufacturer, or part number, you will have to review 3). In some cases, you may need a complete change. At least you know that the angles coming out of KiCad are known and consistent.
Manufacturing is a serious of tedious steps which all must be done right to get the right result. There is no way round that. Whatever you do, the most important step is: check !
The assembler will adjust this for every component by himself, as there is no binding dependable standard he can rely on.
Check that your SMD parts orientation is consistent within your own files (not that your footprints change direction between one layout session and the next and thus your orientation file screws up) and that’s it.
That’s true, and for the money they charge it is part of the service. They like to have a silkscreen or other drawing that clearly shows pin 1. Usually if they are unsure they query by email.
Assuming an external assembler is used though, @tizana has not said, he/she might be doing assembly in house. If assembling in-house, then you get to handle all the fun details yourself