On 28/04/18 18:51, jp charras wrote:
Le 28/04/2018 à 10:08, Eeli Kaikkonen a écrit :
It still looks to me that the original problem wasn't understood, and I wasn't able to make it
clear. A Solder Mask Defined footprint means that the solder mask opening is smaller than the
underlying copper area. It may also be differently shaped than the underlying copper pad. Also the
paste area may be differently shaped than the copper or solder mask. In these cases it should be
possible to define the mask and paste areas exactly, without adding or removing anything. The
logical way of doing it, if KiCad had took it into consideration, would be to draw the pad shape and
set the clearances to 0, and the pad would always keep the exact dimensions. But now, because 0 is a
special case and means "add here some other value" the pad dimensions - we are talking about
non-copper pads - will change unpredictably. This works for normal Non Solder Mask Defined pads with
copper, but not for pads which are mask only or paste only.
The only possible solution ATM is to give very small clearance values so that the original size of a
mask-only pad is for example 0.3x0.45mm and the efficient value will be 0.300001x0.450001mm. If the
clearances are left to 0 they can be anything, depending on the project's values, and the footprint
doesn't work anymore. Remember that modern Solder Mask Defined footprints are mostly very small and
tolerances are small. You can't add or remove 0.05mm without it going wrong.
I perfectly understood what you are saying.
But I do not agree with you.
but if "You can't add or remove 0.05mm without it going wrong" it means the final board can be wrong.
Just because the solder mask opening areas can be not at the place you are expecting, due to
registration issues.
I am thinking you are not taking in account this problem.
If you are thinking this problem does not exist, just set the solder mask margin to 0
JP, I agree with you about solder mask registration issues in the normal
course, however there are components with specified footprints (like the
one Eeli linked to) that have very tight tolerances. Now, the fact that
those specifications exist means that it is possible (although it may be
expensive and not a normal process) to get registration of the solder
mask to meet or exceed the tolerances required of these footprints,
otherwise the footprint would not be defined this way.
Eeli is really talking about "features" of the footprint, and these
special "features" are modelled as a kind of pad, but are not really
pads. In this situation I can see that a way to "disable" the global
clearances from having any effect for a particular "feature" pad would
be desirable. Might be a useful thing for V6?
Steven
See for example http://www.ti.com/lit/ug/slra003d/slra003d.pdf
Eeli Kaikkonen
2018-04-28 10:28 GMT+03:00 jp charras <jp.charras@xxxxxxxxxx <mailto:jp.charras@xxxxxxxxxx>>:
Some info about these masks:
For custom shaped pads, building a solder mask shape with a negative margin can create issues
(unpredictable shape for non convex polygons).
So it is not allowed.
Margin in solder mask layers is needed because there are always registration issues between the
copper layers and the solder mask layer.
Therefore, because the X and Y registration position error, you need a actual mask size bigger than
the area defined by a pad, to be sure the actual solder mask does not cover the pad (the hole in
mask always covers the pad area).
X/Y max error depends on your board house, so this is the reason to have the registration tolerance
defined for the whole board (unless you know your board house, you cannot reliably use a defined
tolerance: it could be too small or too large)
I am guessing there are also similar registration problems for the solder mask, but I don't know
them.
--
Jean-Pierre CHARRAS
_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/%7Ekicad-developers>
Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/%7Ekicad-developers>
More help : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~kicad-developers
More help : https://help.launchpad.net/ListHelp
_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~kicad-developers
More help : https://help.launchpad.net/ListHelp