I am now working on a project that has 8 TO-126 transistors, each with it’s own heatsink, and all the heatsinks are connected to GND. Because the position of the heatsink is always the same relative to the transistor, I added 2 PTH holes to the transistor. (I don’t care about the BOM for this project).
Now I wonder how I can connect the heatsinks to GND. It is easy to modify the transistor symbol to add a GND pin, but adding the wiring and GND symbols looks messy on the schematic. Is there an easy way to modify the netlist so the GND pads of these transistors / heatsinks? It has to be persistent during PCB updates.
The transistors are insulated from the heatsinks with silpads, and there is no other connection to the heatsinks. I am reverse engineering a headphone amplifier (Ali HV1 kit, based on beyerdynamic A1) and I guess the grounded heatsinks are mostly for shielding against noise.
When the heatsinks are electrically isolated mounted to, or in contact with, the PC board, I’ve always created separate components for those heatsinks.
A floor plan for the shape, with or without mounting pads and labeled as such.
My thoughts have always been: they take up PCB real-estate, so they need to be a specifiable part.
I liked the idea of specifying pad positions once in the footprint, so the heatsink always has the same relative position to the transistor. In itself that works swell, but it has no schematic pin, so I can’t ground the heatsinks.
At the moment I would also be perfectly happy with a custom rule to suppress DRC violations between the GND net and any pad with pad nr 100. Is that an easy constraint to set up?
(A better rule would be to add all the “100” pads to the GND net).
That is exactly my problem. I can route to them by disabling clearance violations, or by bluntly copying a track segment over them.
Adding a pin to the transistor would solve it, but a BJT with a 4th GND pin just looks weird.
Another way that looks nicely is to design a circular heatsink symbol that looks like those heatsinked transistors and can be placed “around” a transistor. I am actually a bit surprised this is not (yet) in KiCad’s standard library.
Only mentioned because I was cursing and swearing a few days ago because a track wouldn’t connect to two pins of a footprint i made. This idiot forgot stuff.
It supresses DRC for these pads (and hopefully the heatsink pads with nr “100” only) but it is not the “better” rule that would make these pads part of the GND net. (Is that even possible with custom rules?)
And I wonder, does this rule really do what I expect it to do, or is there something unforseen under the hood?
I changed the track width of a segment of the GND net on some other location, and KiCad responded with:
So I clicked on [Change Nets] and those 16 pads turned out to be the 16 heatsink pads, and those are now part of the GND net. This is the best result I wanted to achieve, but the way to get there is … convoluted?
Check the “Elektuur” library often mentioned on this site.
It contains a heatsink symbol (T-BJT-heat) that can be enhanced with a GND connection. The idea is nice.
Modify it to your needs.