SparkFun Forums 

Where electronics enthusiasts find answers.

Questions relating to designing PCBs
By RossWaddell
#185611
I'm using an adafruit Eagle library device which uses this TO220H package for my 7806 voltage regulator IC:
TO220H Package.png
This package orients the part flat on the PCB. It includes a 0.13" drill hole which I presume is for attaching some kind of heat sink.

My input voltage is 12V and I'm wondering if there is something I should build in to the PCB to disperse heat from the metal tab on the regulator. Is there something I can design on the board itself, like an area surrounding the part, or should I just use some kind of screw/heat sink?
You do not have the required permissions to view the files attached to this post.
User avatar
By Ross Robotics
#185612
It includes a 0.13" drill hole which I presume is for attaching some kind of heat sink.
You can use that hole for a heatsink but you couldn't lay the regulator flat on the PCB.. So you would use the other version of the Eagle part. This part is meant to have a built in heatsink directly on the PCB. You would use an array of ground vias with a ground plane that is not covered by solder mask.
You do not have the required permissions to view the files attached to this post.
By RossWaddell
#185615
Thanks Ross Robotics. I'd like to try this:
This part is meant to have a built in heatsink directly on the PCB. You would use an array of ground vias with a ground plane that is not covered by solder mask.
But I'm not sure how. I've used vias before to switch from the top plane to the bottom plane (or vice versa) when routing, but nothing like your photo. Any tips would be greatly appreciated.

EDIT: I gather I need two ground planes, one on top and one on bottom, and to name the Vias 'GND'. But how do I remove the solder masks?
By davep238
#185677
BTW, the pads are too close to the regulator's body. They are 0.1" away when they need to be 0.2" away.
By RossWaddell
#185696
davep238 wrote:BTW, the pads are too close to the regulator's body. They are 0.1" away when they need to be 0.2" away.
Do you mean this gap here?
TO220H Package 2.png
I'm using an existing library part (from adafruit), not a custom one. Are you saying I need to modify it and make the gap bigger?

I also see on this device that there are bRestrict and vRestrict circles around the hole - is that sufficient for acting as a heat sink or do I still need the vias?
You do not have the required permissions to view the files attached to this post.
User avatar
By Ross Robotics
#185700
davep238 wrote:BTW, the pads are too close to the regulator's body. They are 0.1" away when they need to be 0.2" away.
I suspect that it would really depend on how he bends the leads. But, I would agree that 0.02" would be easier.
Do you mean this gap here?
Yes
I also see on this device that there are bRestrict and vRestrict circles around the hole - is that sufficient for acting as a heat sink or do I still need the vias?
The restrict layers are there because it a hole. Meaning there is nothing there..

Before we go any further, how much current are you expecting to pull? This would tell you if you needed a heatsink or if a heatsink would be enough.

I searched around and couldn't find a tutorial on making PCB heatsinks within Eagle, but did find one video that was pretty close though not in Eagle. https://www.youtube.com/watch?v=4gSgLf4zCro

I may make a tutorial vid about this but would take me a few days. In all honesty, if you are making a PCB, you should know how to make polygons and placing vias and also to rename them to be the same signal name. The only thing that you need to do is take out the solder mask on the polygon and vias.
By RossWaddell
#185701
I've done a few boards now and have drawn polygons for a GND plane but it's the last part I'm unsure about.

I'll look at my DC motors to see what the current draw is and report back.

EDIT: Here are my DC motor specs (Faulhaber DC Micromotor Model No. 1524 006):

Nominal voltage: 6V
No load current: 20 mA
Current up to (thermal limits): 630 mA

The input voltage is 12V so the 7806 will need to dissipate ((12-6)V X (0.63 x 2 motors)A) = 7.56W (worst case; there's actually very little strain on them as they're only freely spinning some small plastic hemispheres).
Last edited by RossWaddell on Fri Nov 06, 2015 12:47 pm, edited 1 time in total.
By davep238
#185702
RossWaddell wrote:
davep238 wrote:BTW, the pads are too close to the regulator's body. They are 0.1" away when they need to be 0.2" away.
Do you mean this gap here?

YES
I'm using an existing library part (from adafruit), not a custom one. Are you saying I need to modify it and make the gap bigger?

I also see on this device that there are bRestrict and vRestrict circles around the hole - is that sufficient for acting as a heat sink or do I still need the vias?
The odd thing about the library is that the other TO-220 packages have correct pin spacing. It's just the TO-220H that's wrong. I also noticed another problem - the silkscreen (tPlace), in many of the Adafruit library packages, overlaps the pads. This is also typical of the EAGLE libraries as well. I fixed both of these problems for the TO-220 packages. According to industry standards, the positive end of a polarized cap has a square pad. The Cathode of a diode (including LEDs) also has a square pad. I changed the diode and LED packages in the library, but not the caps. I downloaded the latest Adafruit library, made the above changes, and attached it here.

Depending on the amount of heat the regulator has to dissipate, you could use bare copper polygon under the regulator. To expose the copper, remove the solder mask by placing a polygon in the tStop layer, that covers the top copper pad. Connect the top layer copper to the bottom copper using vias. Use heat sink grease between the part and the copper. You may need to use a heat sink if the copper can not keep the part cool enough.
You do not have the required permissions to view the files attached to this post.
By RossWaddell
#185703
Thanks Dave! I'll incorporate your revised adafruit library into my project.
Depending on the amount of heat the regulator has to dissipate, you could use bare copper polygon under the regulator. To expose the copper, remove the solder mask by placing a polygon in the tStop layer, that covers the top copper pad. Connect the top layer copper to the bottom copper using vias. Use heat sink grease between the part and the copper. You may need to use a heat sink if the copper can not keep the part cool enough.
For the vias, what about the thermal masks? And do I need the same shape polygon on the bottom layer as in the YouTube tutorial? And does that work out to 4 polygons - one in Top (1), tStop (29), Bottom (16) and bStop (30)? Or just two - one in tStop & bStop?
By davep238
#185717
RossWaddell wrote:Thanks Dave! I'll incorporate your revised adafruit library into my project.
Depending on the amount of heat the regulator has to dissipate, you could use bare copper polygon under the regulator. To expose the copper, remove the solder mask by placing a polygon in the tStop layer, that covers the top copper pad. Connect the top layer copper to the bottom copper using vias. Use heat sink grease between the part and the copper. You may need to use a heat sink if the copper can not keep the part cool enough.
For the vias, what about the thermal masks? And do I need the same shape polygon on the bottom layer as in the YouTube tutorial? And does that work out to 4 polygons - one in Top (1), tStop (29), Bottom (16) and bStop (30)? Or just two - one in tStop & bStop?
You will need a top copper polygon, which can be as large as you need. You will need to remove the solder stop (tStop) under the regulator's pad, so the pad makes contact directly with copper. Use a tStop polygon under the regulator's pad to do this. Use heat sink grease between the regulator and the copper. You will need a bottom copper polygon to also dissipate heat. This needs to be connected to the top polygon using vias. The vias not only conduct electrically, they also help conduct heat between the 2 layers. Ideally the vias will be filled with solder to better help conduct heat. Another poster showed a good example of how to arrange the vias.
By RossWaddell
#185719
I've added polygons to the top/bottom layers and named them GND with the 'Thermals' attribute unchecked (the red-dotted polygon in the photo below is obviously the top layer; you can't see the bottom polygon as it is the same shape). I added a rectangle to the tStop layer that roughly matches the metal tab on the 7806. One via with a drill size of 0.024" named GND is inside the tStop rectangle, which I hope is enough to not have a solder mask over it. There are no other attributes of the via that seem to make sense to change, but before I copy the via and lay them out within the tStop rectangle I'd greatly appreciate it if someone would say if I'm on the right track or not. Forgive me if I'm being obtuse but I don't want to spend money and wait 3 weeks to get sample boards back only to discover I made a mistake.
Heat sink polygon.png
EDIT: I already have top/bottom ground planes, so I don't think I need to add new polygons around the device. Also, adding a polygon to the tStop layer that completely surrounds the pad (roughly rectangular) results in multiple DRC errors relating to tStop on a bunch of other devices. Do I need to draw the tStop polygon around the tRestrict/bRestrict area of the regulator's hole?

EDIT 2: Further to the above, if I just draw a small polygon in a blank areas of the board in the tStop layer and run DRC, it still shows the errors. If I remove the ploygon (delete it or just CTRL-Z), the DRC still fails.
You do not have the required permissions to view the files attached to this post.
User avatar
By Ross Robotics
#185745
Really not sure why Eagle throws errors with tStop.. If you hide that layer, no more errors, or just approve them. I will make a tutorial on this topic today and hopefully post it this evening.
User avatar
By Ross Robotics
#185775
https://youtu.be/ZH8TaJm-7tw

Not much, but should get you where you need to be. It's my first video tut, so go easy on me. And I soo hate my voice!
By RossWaddell
#185785
Some questions:
  • Why are 2 additional ground plane polygons needed if the board already has top and bottom layer ones over the whole board?
  • Why do the drawn polygons need to overlap the device's pins?
  • Should Thermals be removed from the vias?