delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2014/07/15/12:09:21

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
Message-ID: <53C5521F.8090506@sonic.net>
Date: Tue, 15 Jul 2014 09:09:03 -0700
From: Dave Curtis <davecurtis AT sonic DOT net>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20121028 Thunderbird/16.0.2
MIME-Version: 1.0
To: geda-user AT delorie DOT com
Subject: Re: [geda-user] thermal flag in footprint?
References: <53C5441E DOT 4090502 AT sonic DOT net> <201407151520 DOT s6FFKY9Q006882 AT envy DOT delorie DOT com>
In-Reply-To: <201407151520.s6FFKY9Q006882@envy.delorie.com>
X-Sonic-ID: C;ppW+VjoM5BGOx02zUc16mQ== M;MGrYVjoM5BGOx02zUc16mQ==
X-Spam-Flag: No
X-Sonic-Spam-Details: 0.0/5.0 by cerberusd
Reply-To: geda-user AT delorie DOT com

On 07/15/2014 08:20 AM, DJ Delorie wrote:
>> Is is legal to set the thermal flag in a footprint?
>
> Probably, but it's a bad idea design-wise to do so - a user of the
> footprint might get a short if they don't realize the thermal is
> there.
>

I'm looking at an HSSOP package, which is an SO-20 with a thermal slug.

My current footprint prototype is attached.  The SO pins are totally 
normal.  For the heat slug, I've broken it down as:

1. A Pad[] with no mask that defines the comp-side copper.
2. A Pad[] overlaid with the above pad that defines the comp-side mask 
aperture.  Of course, that could be done with one pad if the mask inset 
was equal all around, but I'm doing this with a script so I wanted 
something easy to generalize to other similar parts.
3. A bunch of Pin[]'s for the via drills.  Currently, the pad is there 
just to remind you where they are, and there is enough clearance so that 
it is obvious if they haven't been thermal'ed into the solder-side copper.

I'm assuming the user draws the solder-side copper as a polygon, and 
none of that is included in the footprint, except for the pin pads which 
allow the thermal vias to be thermaled into the back-side polygon.

So I think the options are:
1. Stop.  It's good enough.  Let the user click on every via to connect 
the ground plane.
2. Set the "hole" flag on the Pin[]'s so that they become bare drills. 
Assume the user is paying attention and draws the ground plane on the 
back, and plating will happen.  I suspect that you lose PCB's 
connectivity checking if you were to be so daft as to draw some other 
signal on top of one of the holes by accident.
3. Set the thermal flag in the footprint itself.

Element["" "" "" "" 1000 1000 0 0 0 100 ""]
(
     Pad[-30019 -22500 -26870 -22500 2362 1600 3162 "1" "1" "square"]
     Pad[-30019 -17500 -26870 -17500 2362 1600 3162 "2" "2" "square"]
     Pad[-30019 -12500 -26870 -12500 2362 1600 3162 "3" "3" "square"]
     Pad[-30019 -7500 -26870 -7500 2362 1600 3162 "4" "4" "square"]
     Pad[-30019 -2500 -26870 -2500 2362 1600 3162 "5" "5" "square"]
     Pad[-30019 2499 -26870 2499 2362 1600 3162 "6" "6" "square"]
     Pad[-30019 7500 -26870 7500 2362 1600 3162 "7" "7" "square"]
     Pad[-30019 12500 -26870 12500 2362 1600 3162 "8" "8" "square"]
     Pad[-30019 17500 -26870 17500 2362 1600 3162 "9" "9" "square"]
     Pad[-30019 22500 -26870 22500 2362 1600 3162 "10" "10" "square"]
     Pad[26870 -22500 30019 -22500 2362 1600 3162 "20" "20" "square"]
     Pad[26870 -17500 30019 -17500 2362 1600 3162 "19" "19" "square"]
     Pad[26870 -12500 30019 -12500 2362 1600 3162 "18" "18" "square"]
     Pad[26870 -7500 30019 -7500 2362 1600 3162 "17" "17" "square"]
     Pad[26870 -2500 30019 -2500 2362 1600 3162 "16" "16" "square"]
     Pad[26870 2499 30019 2499 2362 1600 3162 "15" "15" "square"]
     Pad[26870 7500 30019 7500 2362 1600 3162 "14" "14" "square"]
     Pad[26870 12500 30019 12500 2362 1600 3162 "13" "13" "square"]
     Pad[26870 17500 30019 17500 2362 1600 3162 "12" "12" "square"]
     Pad[26870 22500 30019 22500 2362 1600 3162 "11" "11" "square"]
     # <render thermal sink here>
     # comp cu polygon
     # Pt(-5 mm,-7 mm)
     # Pt(-5 mm,7 mm)
     # Pt(5 mm,7 mm)
     # Pt(5 mm,-7 mm)
     Pad[0 7874 0 -7874 39370 800 0 "THRM" "21" "square"]
     # comp anti-mask polygons
     #  mask clearance polygon 1
     # Pt(-3.2 mm,-5.85 mm)
     # Pt(-3.2 mm,5.85 mm)
     # Pt(3.2 mm,5.85 mm)
     # Pt(3.2 mm,-5.85 mm)
     Pad[0 10433 0 -10433 25196 0 25196 "THRM" "21" "square"]
     # Drills
     # Pt(-3.33333 mm,-5.83333 mm) , 0.3 mm
     Pin[-13123 22965 3181 800 0 1181 "" "21" ""]
     # Pt(-3.33333 mm,-3.5 mm) , 0.3 mm
     Pin[-13123 13779 3181 800 0 1181 "" "21" ""]
     # Pt(-3.33333 mm,-1.16667 mm) , 0.3 mm
     Pin[-13123 4593 3181 800 0 1181 "" "21" ""]
     # Pt(-3.33333 mm,1.16667 mm) , 0.3 mm
     Pin[-13123 -4593 3181 800 0 1181 "" "21" ""]
     # Pt(-3.33333 mm,3.5 mm) , 0.3 mm
     Pin[-13123 -13779 3181 800 0 1181 "" "21" ""]
     # Pt(-3.33333 mm,5.83333 mm) , 0.3 mm
     Pin[-13123 -22965 3181 800 0 1181 "" "21" ""]
     # Pt(4.44089e-16 mm,-4.66667 mm) , 0.3 mm
     Pin[0 18372 3181 800 0 1181 "" "21" ""]
     # Pt(4.44089e-16 mm,-2.33333 mm) , 0.3 mm
     Pin[0 9186 3181 800 0 1181 "" "21" ""]
     # Pt(4.44089e-16 mm,8.88178e-16 mm) , 0.3 mm
     Pin[0 0 3181 800 0 1181 "" "21" ""]
     # Pt(4.44089e-16 mm,2.33333 mm) , 0.3 mm
     Pin[0 -9186 3181 800 0 1181 "" "21" ""]
     # Pt(4.44089e-16 mm,4.66667 mm) , 0.3 mm
     Pin[0 -18372 3181 800 0 1181 "" "21" ""]
     # Pt(3.33333 mm,-5.83333 mm) , 0.3 mm
     Pin[13123 22965 3181 800 0 1181 "" "21" ""]
     # Pt(3.33333 mm,-3.5 mm) , 0.3 mm
     Pin[13123 13779 3181 800 0 1181 "" "21" ""]
     # Pt(3.33333 mm,-1.16667 mm) , 0.3 mm
     Pin[13123 4593 3181 800 0 1181 "" "21" ""]
     # Pt(3.33333 mm,1.16667 mm) , 0.3 mm
     Pin[13123 -4593 3181 800 0 1181 "" "21" ""]
     # Pt(3.33333 mm,3.5 mm) , 0.3 mm
     Pin[13123 -13779 3181 800 0 1181 "" "21" ""]
     # Pt(3.33333 mm,5.83333 mm) , 0.3 mm
     Pin[13123 -22965 3181 800 0 1181 "" "21" ""]
     # ^^ end thermal sink
     ElementLine[23114 -31496 23114 31496 1000]
     ElementLine[23114 31496 -23114 31496 1000]
     ElementLine[-23114 31496 -23114 -31496 1000]
     ElementLine[-23114 -31496 23114 -31496 1000]
)


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019