Compare versions
3 files changed, +146 −22
| @@ -5,7 +5,7 @@ | ||
| 5 | 5 | from steve import Model |
| 6 | 6 | import math |
| 7 | 7 | |
| 8 | package = "TO-220AB" # TO-220AB, TO-220AC, TO-247AC, TO-92, TO-18 or TO-18-2 | |
| 8 | package = "TO-220AB" # TO-220AB, TO-220AC, TO-220F, TO-220F-2, TO-247AC, TO-126, TO-92, TO-18, TO-18-2, TO-39 or TO-46 | |
| 9 | 9 | detail = "full" # full: body, tab and leads; simple: the body and tab only |
| 10 | 10 | |
| 11 | 11 | # Vishay Siliconix, "TO-220AB (High Voltage)", Package Information, document 92506, revision 30-Sep-2024 (DWG 6031), page 2 table; and |
| @@ -41,9 +41,37 @@ | ||
| 41 | 41 | # modelled; the TO-247's side slots are half-round (Ø E2) and the copper ring P1 isn't modelled; the TO-92's flat face is cut from a round body |
| 42 | 42 | # W across; every lead's shoulder narrows to the lead in one step. |
| 43 | 43 | NOTCH = (1.4, 2.8) |
| 44 | # Central Semiconductor, "Package Details - TO-39" (REV R1, R0 21-June 2004) and "Package Details - TO-46" (REV R2, R0 17-July 2008), tables | |
| 45 | # (min, max) in mm, the letters as TO18's (C: the max, the only value; E: 12.70 min). TO-46's sheet names the tab width J and its length K; | |
| 46 | # here they are I and J, as on the TO-18 and TO-39 sheets. | |
| 47 | TO39 = dict(A=(8.51, 9.40), B=(8.00, 8.51), C=(1.02, 1.02), D=(6.10, 6.60), E=(12.70, 12.70), F=(0.41, 0.53), G=(5.08, 5.08), H=(2.54, 2.54), | |
| 48 | I=(0.71, 0.86), J=(0.74, 1.14)) | |
| 49 | TO46 = dict(A=(5.31, 5.84), B=(4.52, 4.95), C=(1.02, 1.02), D=(1.65, 2.16), E=(12.70, 12.70), F=(0.41, 0.53), G=(2.54, 2.54), H=(1.27, 1.27), | |
| 50 | I=(0.91, 1.17), J=(0.71, 1.22)) | |
| 51 | CANS = {"TO-18": TO18, "TO-18-2": TO18, "TO-39": TO39, "TO-46": TO46} | |
| 52 | # Central Semiconductor, "Package Details - TO-126" (REV R3, R0 21-June 2004), table (min, max) in mm, the middle (single values as given): | |
| 53 | # A body thickness, B the leads' centre plane from the back, C lead thickness, D width, E hole centre below the top, F hole diameter, | |
| 54 | # G body height, H lead length below the body (shoulder included), J lead width, K pitch, L lead 1 to lead 3, M shoulder width, N shoulder | |
| 55 | # length. The back carries the mounting plate ("Mounting Plate Common to Pin 2"). | |
| 56 | TO126 = dict(A=(2.40, 2.80), B=(1.27, 1.27), C=(0.38, 0.75), D=(7.40, 8.50), E=(3.75, 3.75), F=(3.00, 3.40), G=(10.50, 12.00), | |
| 57 | H=(15.70, 15.70), J=(0.62, 0.90), K=(2.25, 2.25), L=(4.50, 4.50), M=(1.14, 1.40), N=(2.10, 2.10)) | |
| 58 | # Central Semiconductor, "Package Details - TO-220FP Case" (REV R5, R2 06-June 2023) and "TO-220FP-2 Case" (REV R2, R0 28-January 2015), | |
| 59 | # tables (min, max) in mm; where a sheet gives only a maximum the model uses it. A body thickness, B the thinner top part's thickness, | |
| 60 | # C the leads' centre plane from the back, D lead thickness, E width, F the thin top part's height, G body height, H shoulder length, | |
| 61 | # J lead length below the body, K lead width, L pitch (TO-220FP-2: each lead's offset from the centre line), M hole centre below the top, | |
| 62 | # N hole diameter, P shoulder width. The fully moulded body has no exposed metal. | |
| 63 | TO220F = dict(A=(4.20, 5.12), B=(2.30, 3.30), C=(2.50, 3.10), D=(0.80, 0.80), E=(9.70, 10.63), F=(6.06, 7.00), G=(14.80, 16.25), | |
| 64 | H=(4.50, 4.50), J=(12.78, 13.80), K=(0.50, 0.90), L=(2.54, 2.54), M=(2.55, 3.55), N=(2.95, 3.40), P=(1.00, 1.47)) | |
| 65 | TO220F2 = dict(A=(4.80, 4.80), B=(3.12, 3.12), C=(2.50, 2.90), D=(0.81, 0.81), E=(10.31, 10.31), F=(6.30, 6.90), G=(14.80, 15.40), | |
| 66 | H=(4.10, 4.10), J=(13.00, 13.80), K=(0.90, 0.90), L=(2.55, 2.55), M=(2.55, 2.85), N=(3.00, 3.40), P=(1.40, 1.40)) | |
| 67 | # Proportions, for looks: the TO-126's mounting plate on the back is 0.3 thick, set in 0.08 x the width from the sides and the top and | |
| 68 | # ending 0.1 x the height above the bottom (drawn dashed in the front view, not dimensioned); the TO-220FP-2's cut-off middle lead stub | |
| 69 | # (O, P, Q on its sheet) isn't modelled. | |
| 70 | PLATE_T = 0.3 | |
| 44 | 71 | |
| 45 | if package not in ("TO-220AB", "TO-220AC", "TO-247AC", "TO-92", "TO-18", "TO-18-2"): | |
| 46 | raise ValueError("package: TO-220AB, TO-220AC, TO-247AC, TO-92, TO-18 or TO-18-2") | |
| 72 | PACKAGES = ("TO-220AB", "TO-220AC", "TO-220F", "TO-220F-2", "TO-247AC", "TO-126", "TO-92", "TO-18", "TO-18-2", "TO-39", "TO-46") | |
| 73 | if package not in PACKAGES: | |
| 74 | raise ValueError("package: " + ", ".join(PACKAGES)) | |
| 47 | 75 | |
| 48 | 76 | |
| 49 | 77 | def mid(table): |
| @@ -108,6 +136,41 @@ | ||
| 108 | 136 | bodies = {"body_body": ("pa6", "#1c1c1e"), "tab_body": ("copper", "#c8ccd0")} |
| 109 | 137 | if detail == "full": |
| 110 | 138 | leads(xs, t["b"], t["c"], t["L"], t["L1"], [t["b2"]] * len(xs), z0) |
| 139 | elif package in ("TO-220F", "TO-220F-2"): | |
| 140 | # Fully moulded (no exposed metal): the full thickness A up to F below the top, then the thinner top part B thick, its back face flush. | |
| 141 | t = mid(TO220F if package == "TO-220F" else TO220F2) | |
| 142 | xs = [0.0, t["L"], 2 * t["L"]] if package == "TO-220F" else [0.0, 2 * t["L"]] | |
| 143 | cx = xs[-1] / 2 | |
| 144 | back = t["C"] | |
| 145 | front = back - t["A"] | |
| 146 | z0 = t["H"] # the shoulders rest on the board | |
| 147 | top = z0 + t["G"] | |
| 148 | E = t["E"] | |
| 149 | box("body", cx - E / 2, cx + E / 2, front, back, z0, top - t["F"], "body_body", "new", "Body") | |
| 150 | box("body_top", cx - E / 2, cx + E / 2, back - t["B"], back, top - t["F"], top, "body_body", "join", "Body") | |
| 151 | through_y("hole", (cx, top - t["M"], t["N"] / 2), back + 0.1, back - t["B"] - 0.1, "body_body", "cut", "Mounting hole") | |
| 152 | bodies = {"body_body": ("pa6", "#1c1c1e")} | |
| 153 | if detail == "full": | |
| 154 | leads(xs, t["K"], t["D"], t["J"], t["H"], [t["P"]] * len(xs), z0) | |
| 155 | elif package == "TO-126": | |
| 156 | # Moulded body with the mounting plate on its back and the hole through both; leads at pitch K, their centre plane B in front of the back. | |
| 157 | t = mid(TO126) | |
| 158 | xs = [0.0, t["K"], 2 * t["K"]] | |
| 159 | cx = t["K"] | |
| 160 | back = t["B"] | |
| 161 | front = back - t["A"] | |
| 162 | z0 = t["N"] | |
| 163 | top = z0 + t["G"] | |
| 164 | W = t["D"] | |
| 165 | box("body", cx - W / 2, cx + W / 2, front, back, z0, top, "body_body", "new", "Body") | |
| 166 | m = 0.08 * W | |
| 167 | box("plate_recess", cx - W / 2 + m, cx + W / 2 - m, back - PLATE_T, back, z0 + 0.1 * t["G"], top - m, "body_body", "cut", "Plate recess") | |
| 168 | box("plate", cx - W / 2 + m, cx + W / 2 - m, back - PLATE_T, back, z0 + 0.1 * t["G"], top - m, "plate_body", "new", "Mounting plate") | |
| 169 | through_y("hole", (cx, top - t["E"], t["F"] / 2), back + 0.1, front - 0.1, "body_body", "cut", "Mounting hole") | |
| 170 | through_y("plate_hole", (cx, top - t["E"], t["F"] / 2), back + 0.1, front - 0.1, "plate_body", "cut", "Mounting hole") | |
| 171 | bodies = {"body_body": ("pa6", "#1c1c1e"), "plate_body": ("copper", "#c8ccd0")} | |
| 172 | if detail == "full": | |
| 173 | leads(xs, t["J"], t["C"], t["H"], t["N"], [t["M"]] * 3, z0) | |
| 111 | 174 | elif package == "TO-247AC": |
| 112 | 175 | t = TO247AC |
| 113 | 176 | xs = [0.0, t["e"], 2 * t["e"]] |
| @@ -131,10 +194,10 @@ | ||
| 131 | 194 | bodies = {"body_body": ("pa6", "#1c1c1e"), "pad_body": ("copper", "#c8ccd0")} |
| 132 | 195 | if detail == "full": |
| 133 | 196 | leads(xs, t["b"], t["c"], t["L"], t["L1"], [t["b2"], t["b4"], t["b2"]], z0) |
| 134 | elif package in ("TO-18", "TO-18-2"): | |
| 197 | elif package in CANS: | |
| 135 | 198 | # Metal can: the flange (header) on the board, the can on it; leads on a circle round the axis (lead 1 at the origin, lead 3 or lead 2 |
| 136 | 199 | # at +X by G, the 3-lead part's lead 2 H off that line along -Y); the tab at 45 deg toward -X +Y, beside lead 1. |
| 137 | t = mid(TO18) | |
| 200 | t = mid(CANS[package]) | |
| 138 | 201 | cx = t["G"] / 2 |
| 139 | 202 | xs = [(0.0, 0.0), (t["G"], 0.0)] if package == "TO-18-2" else [(0.0, 0.0), (cx, -t["H"]), (t["G"], 0.0)] |
| 140 | 203 | model.plane("flange_plane", on="XY", offset=0.0, name="Flange") |
| @@ -179,7 +242,7 @@ | ||
| 179 | 242 | sk.rect(f"lead_{i}", (x - t["b"] / 2, -t["c"] / 2), (x + t["b"] / 2, t["c"] / 2)) |
| 180 | 243 | model.extrude("leads", "leads_sketch", distance=t["L"], op="new", body="leads_body", name="Leads") |
| 181 | 244 | if detail == "full": |
| 182 | bodies["leads_body"] = ("nickel", "#d8c58a") if package.startswith("TO-18") else ("copper", "#c9ccd1") | |
| 245 | bodies["leads_body"] = ("nickel", "#d8c58a") if package in CANS else ("copper", "#c9ccd1") | |
| 183 | 246 | # Materials, for looks and a rough mass: the moulding is epoxy (nylon, PA6, the nearest in the list), the tab and pad copper (nickel or tin |
| 184 | 247 | # plated), the leads tinned copper. TO-18 (Central's material sheets): the header and leads Kovar (density 8.36; nickel, 8.9, is the nearest |
| 185 | 248 | # in the list), the can a nickel-plated iron alloy (steel). |
| @@ -1,17 +1,17 @@ | ||
| 1 | 1 | name = "steve/to-package" |
| 2 | version = "1.0.0" | |
| 2 | version = "1.1.0" | |
| 3 | 3 | runtime = "steve" |
| 4 | 4 | license = "MIT" |
| 5 | summary = "Through-hole transistor packages standing on the board: TO-220AB, TO-220AC, TO-247AC TO-92 (straight leads) and the TO-18 metal can, from Vishay's and TI's package drawings." | |
| 6 | description = """A through-hole transistor, regulator or diode package standing on the board, from the maker's package drawing: TO-220AB (3 leads) and TO-220AC (2 leads) with the metal tab and its hole, TO-247AC with its exposed copper and side slots, TO-92 with straight leads, and the TO-18 metal can with 2 or 3 leads. Lead 1 at the origin, the leads along +X, the moulded front toward -Y. See the README.""" | |
| 7 | tags = ["to-220", "to-247", "to-92", "to-18", "transistor", "package", "through-hole", "electronics"] | |
| 5 | summary = "Through-hole TO packages standing on the board: TO-220AB, TO-220AC, TO-220F, TO-247AC, TO-126, TO-92 and the TO-18, TO-39 and TO-46 metal cans, from the makers' drawings." | |
| 6 | description = """A through-hole transistor, regulator or diode package standing on the board, from the maker's package drawing: TO-220AB (3 leads) and TO-220AC (2 leads) with the metal tab and its hole, TO-247AC with its exposed copper and side slots, TO-92 with straight leads, TO-126 with its mounting plate, the fully moulded TO-220F with 3 or 2 leads, and the TO-18 (2 or 3 leads), TO-39 and TO-46 metal cans. Lead 1 at the origin, the leads along +X, the moulded front toward -Y. See the README.""" | |
| 7 | tags = ["to-220", "to-247", "to-92", "to-18", "to-39", "to-126", "transistor", "package", "through-hole", "electronics"] | |
| 8 | 8 | |
| 9 | 9 | [parameters.package] |
| 10 | 10 | type = "choice" |
| 11 | 11 | default = "TO-220AB" |
| 12 | choices = ["TO-220AB", "TO-220AC", "TO-247AC", "TO-92", "TO-18", "TO-18-2"] | |
| 12 | choices = ["TO-220AB", "TO-220AC", "TO-220F", "TO-220F-2", "TO-247AC", "TO-126", "TO-92", "TO-18", "TO-18-2", "TO-39", "TO-46"] | |
| 13 | 13 | label = "Package" |
| 14 | description = "TO-220AB: 3 leads at 2.54. TO-220AC: 2 leads 5.08 apart. TO-247AC: 3 leads at 5.46. TO-92: 3 straight leads at 1.27. TO-18: metal can, 3 leads on a 2.54 circle; TO-18-2: 2 leads 2.54 apart." | |
| 14 | description = "TO-220AB: 3 leads at 2.54. TO-220AC: 2 leads 5.08 apart. TO-247AC: 3 leads at 5.46. TO-92: 3 straight leads at 1.27. TO-18: metal can, 3 leads on a 2.54 circle; TO-18-2: 2 leads 2.54 apart. TO-39: metal can, Ø 9, 3 leads on a 5.08 circle. TO-46: low metal can, 3 leads on a 2.54 circle. TO-126: 3 leads at 2.25, mounting plate on the back. TO-220F: fully moulded, 3 leads at 2.54; TO-220F-2: 2 leads 5.1 apart." | |
| 15 | 15 | |
| 16 | 16 | [parameters.detail] |
| 17 | 17 | type = "choice" |
| @@ -35,11 +35,32 @@ | ||
| 35 | 35 | standard = "Vishay TO-220AC" |
| 36 | 36 | |
| 37 | 37 | [[presets]] |
| 38 | id = "TO-220F" | |
| 39 | title = "TO-220F (fully moulded), 3 leads, 2.54 pitch, vertical (Central Semiconductor outline)" | |
| 40 | params = { package = "TO-220F" } | |
| 41 | aliases = ["TO-220F-3", "TO-220F", "TO-220FP", "TO-220 FullPAK", "TO-220 full pack 3 lead"] | |
| 42 | standard = "Central TO-220FP" | |
| 43 | ||
| 44 | [[presets]] | |
| 45 | id = "TO-220F-2" | |
| 46 | title = "TO-220F (fully moulded), 2 leads, 5.1 apart, vertical (Central Semiconductor outline)" | |
| 47 | params = { package = "TO-220F-2" } | |
| 48 | aliases = ["TO-220F-2", "TO-220FP-2", "TO-220 full pack 2 lead"] | |
| 49 | standard = "Central TO-220FP-2" | |
| 50 | ||
| 51 | [[presets]] | |
| 38 | 52 | id = "TO-247AC" |
| 39 | 53 | title = "TO-247AC, 3 leads, 5.46 pitch, vertical (Vishay outline)" |
| 40 | 54 | params = { package = "TO-247AC" } |
| 41 | 55 | aliases = ["TO-247-3", "TO-247", "TO-247AC", "JEDEC TO-247AC", "TO247 3 lead"] |
| 42 | 56 | standard = "Vishay TO-247AC" |
| 57 | ||
| 58 | [[presets]] | |
| 59 | id = "TO-126" | |
| 60 | title = "TO-126, 3 leads, 2.25 pitch, vertical (Central Semiconductor outline)" | |
| 61 | params = { package = "TO-126" } | |
| 62 | aliases = ["TO-126-3", "TO-126", "TO126 3 lead", "SOT-32"] | |
| 63 | standard = "Central TO-126" | |
| 43 | 64 | |
| 44 | 65 | [[presets]] |
| 45 | 66 | id = "TO-92" |
| @@ -63,6 +84,20 @@ | ||
| 63 | 84 | standard = "Central TO-18 2-lead" |
| 64 | 85 | |
| 65 | 86 | [[presets]] |
| 87 | id = "TO-39" | |
| 88 | title = "TO-39 metal can, 3 leads (Central Semiconductor outline)" | |
| 89 | params = { package = "TO-39" } | |
| 90 | aliases = ["TO-39-3", "TO-39", "TO-205AD", "JEDEC TO-205AD", "TO39 metal can 3 lead"] | |
| 91 | standard = "Central TO-39" | |
| 92 | ||
| 93 | [[presets]] | |
| 94 | id = "TO-46" | |
| 95 | title = "TO-46 metal can, 3 leads (Central Semiconductor outline)" | |
| 96 | params = { package = "TO-46" } | |
| 97 | aliases = ["TO-46-3", "TO-46", "TO-206AB", "JEDEC TO-206AB", "TO46 metal can 3 lead"] | |
| 98 | standard = "Central TO-46" | |
| 99 | ||
| 100 | [[presets]] | |
| 66 | 101 | id = "TO-220AB-simple" |
| 67 | 102 | title = "TO-220AB, 3 leads, 2.54 pitch, vertical (Vishay outline), simple" |
| 68 | 103 | params = { package = "TO-220AB", detail = "simple" } |
| @@ -6,16 +6,21 @@ | ||
| 6 | 6 | |---|---|---|---| |
| 7 | 7 | | `TO-220AB` | 3, 2.54 pitch | 10.16 x 4.45 x 15.09 (tab included) | Vishay Siliconix 92506 | |
| 8 | 8 | | `TO-220AC` | 2, 5.08 apart | 10.31 x 4.45 x 15.05 (tab included) | Vishay Semiconductors 95221 | |
| 9 | | `TO-220F` | 3, 2.54 pitch | 10.17 x 4.66 x 15.53, fully moulded | Central Semiconductor TO-220FP | | |
| 10 | | `TO-220F-2` | 2, 5.10 apart | 10.31 x 4.80 x 15.10, fully moulded | Central Semiconductor TO-220FP-2 | | |
| 9 | 11 | | `TO-247AC` | 3, 5.46 pitch | 15.70 x 5.02 x 20.55 | Vishay Siliconix 91360 | |
| 12 | | `TO-126` | 3, 2.25 pitch | 7.95 x 2.60 x 11.25 | Central Semiconductor TO-126 | | |
| 10 | 13 | | `TO-92` | 3 straight, 1.27 pitch | 4.83 x 3.68 x 4.83 | TI LP0003A | |
| 11 | 14 | | `TO-18` | 3, on a Ø 2.54 circle | flange Ø 5.58, can Ø 4.74, 4.83 high | Central Semiconductor TO-18 | |
| 12 | 15 | | `TO-18-2` | 2, 2.54 apart | as `TO-18` | Central Semiconductor TO-18 2-Lead | |
| 16 | | `TO-39` | 3, on a Ø 5.08 circle | flange Ø 8.96, can Ø 8.26, 6.35 high | Central Semiconductor TO-39 | | |
| 17 | | `TO-46` | 3, on a Ø 2.54 circle | flange Ø 5.58, can Ø 4.74, 1.91 high | Central Semiconductor TO-46 | | |
| 13 | 18 | |
| 14 | Lead 1 is at the origin and the leads run along +X. The moulded front faces -Y (on the TO-92, the flat face), and the metal tab or exposed copper is at the back (+Y). | |
| 19 | Lead 1 is at the origin and the leads run along +X. The moulded front faces -Y (on the TO-92, the flat face), and the metal tab, exposed copper or mounting plate is at the back (+Y). | |
| 15 | 20 | |
| 16 | - **TO-220 and TO-247.** The leads' shoulders rest on the board (the XY plane), and the leads continue their full length L down through it. | |
| 21 | - **TO-220, TO-220F, TO-247 and TO-126.** The leads' shoulders rest on the board (the XY plane), and the leads continue their full length down through it. | |
| 17 | 22 | - **TO-92.** The body sits 1.5 above the board (TI's reference seating plane). |
| 18 | - **TO-18.** The flange sits on the board. Leads 1 and 3 are 2.54 apart along +X, and lead 2 is 1.27 off that line along -Y. The tab is at 45°, beside lead 1. | |
| 23 | - **TO-18, TO-39 and TO-46.** The flange sits on the board. Leads 1 and 3 are G apart along +X (2.54, or 5.08 on the TO-39), and lead 2 is H off that line along -Y (1.27, or 2.54). The tab is at 45°, beside lead 1. | |
| 19 | 24 | |
| 20 | 25 | `detail = "simple"` leaves out the leads. |
| 21 | 26 | |
| @@ -39,22 +44,32 @@ | ||
| 39 | 44 | - **Central Semiconductor, "Package Details - TO-18"** (REV R1, R0 21-June 2004) and **"TO-18 2-Lead Case"** (REV R0, 13-March 2013), from centralsemi.com. |
| 40 | 45 | - Table (mm): A flange Ø 5.31–5.84, B can Ø 4.52–4.95, C flange 0.76 max (used as is), D height 4.32–5.33, E lead length 12.70 min (used as is), F lead Ø 0.41–0.48, G 2.54 (the lead circle, or the 2-lead part's spacing), H 1.27 (3 leads), and tab width 0.91–1.17 and tab length 0.71–1.22 at 45° (I and J; on the 2-lead sheet, H and J). |
| 41 | 46 | - Both sheets' material sheets give a Kovar header and leads and a nickel-plated iron-alloy can. |
| 47 | - **Central Semiconductor, "Package Details - TO-39"** (REV R1, R0 21-June 2004) and **"Package Details - TO-46"** (REV R2, R0 17-July 2008), from centralsemi.com. The tables use the TO-18 sheet's letters: | |
| 48 | - TO-39 (mm): A flange Ø 8.51–9.40, B can Ø 8.00–8.51, C flange 1.02 max (used as is), D height 6.10–6.60, E lead length 12.70 min (used as is), F lead Ø 0.41–0.53, G 5.08 (the lead circle), H 2.54, I tab width 0.71–0.86, J tab length 0.74–1.14. | |
| 49 | - TO-46 (mm): A 5.31–5.84, B 4.52–4.95, C 1.02 max, D 1.65–2.16, E 12.70 min, F 0.41–0.53, G 2.54, H 1.27, and the tab width 0.91–1.17 and length 0.71–1.22 (its J and K). | |
| 50 | - **Central Semiconductor, "Package Details - TO-126"** (REV R3, R0 21-June 2004), from centralsemi.com. Table (mm): A thickness 2.40–2.80, B the leads' centre plane 1.27 from the back, C lead thickness 0.38–0.75, D width 7.40–8.50, E hole centre 3.75 below the top, F hole Ø 3.00–3.40, G body height 10.50–12.00, H lead length 15.70 below the body, J lead width 0.62–0.90, K pitch 2.25 (L 4.50 from lead 1 to lead 3), M shoulder width 1.14–1.40, N shoulder length 2.10. "Mounting Plate Common to Pin 2", on the back. | |
| 51 | - **Central Semiconductor, "Package Details - TO-220FP Case"** (REV R5, R2 06-June 2023) and **"TO-220FP-2 Case"** (REV R2, R0 28-January 2015), from centralsemi.com. | |
| 52 | - TO-220FP (mm): A thickness 4.20–5.12, B the top part's thickness 2.30–3.30, C the leads' centre plane 2.50–3.10 from the back, D lead thickness 0.80 max, E width 9.70–10.63, F the top part's height 6.06–7.00, G body height 14.80–16.25, H shoulder length 4.50 max, J lead length 12.78–13.80, K lead width 0.50–0.90, L pitch 2.54, M hole centre 2.55–3.55 below the top, N hole Ø 2.95–3.40, P shoulder width 1.00–1.47. | |
| 53 | - TO-220FP-2 (mm): A 4.80 max, B 3.12 max, C 2.50–2.90, D 0.81 max, E 10.31 max, F 6.30–6.90, G 14.80–15.40, H 4.10 max, J 13.00–13.80, K 0.90 max, L 2.55 (each lead from the centre line, so 5.10 apart), M 2.55–2.85, N 3.00–3.40, P 1.40 max. Where the sheets give only a maximum, the part uses it. | |
| 42 | 54 | |
| 43 | 55 | How the letters are read: |
| 44 | 56 | |
| 45 | 57 | - **TO-220 and TO-247.** A2 (TO-247: A1) runs from the leads' back face to the back of the package. The leads' shoulders (b2, b4) are L1 long. On the TO-220, the metal tab is A1 thick: E wide above the moulding (H1 = D - D1), and E1 wide down the back to D2 below the top. On the TO-247, the exposed copper (D1 x E1, from D2 below the top) is taken as A2 thick, the dimension drawn at the back face. The TO-247's side slots are Ø E2, at Q below the top, the same height as the hole. |
| 46 | 58 | - **TO-92.** The body is a round of Ø W, cut flat at the depth T, with the leads K in front of the round back. |
| 47 | - **TO-18.** The tab length J is read as reaching beyond the flange's edge. | |
| 59 | - **TO-18, TO-39 and TO-46.** The tab length J is read as reaching beyond the flange's edge. | |
| 60 | - **TO-220F.** The side view draws the body A thick up to F below the top, and above that B thick with the back face flush, so the hole is in the thinner part. H is the shoulder's length below the body, J the lead's from the body. | |
| 61 | - **TO-126.** H is the lead's length from the body, shoulder included, and B runs from the back (the side the sheet marks "BACKSIDE") to the leads' centre plane. | |
| 48 | 62 | |
| 49 | 63 | **Proportions, for looks only.** The drawings show these but don't dimension them: |
| 50 | 64 | |
| 51 | 65 | - The TO-220 tab's side notches, E2 deep, are 1.4 high, from 1.4 to 2.8 below the top, as drawn. |
| 52 | - Not modelled: the TO-220AC's cut-off middle lead, the TO-220's ejector dimple, the TO-247's copper ring ØP1, and the bodies' 5° draft and small radii. | |
| 66 | - The TO-126's mounting plate on the back, drawn dashed in the front view, is 0.3 thick, set in 0.08 x the width from the sides and the top, and ends 0.1 x the height above the bottom. | |
| 67 | - Not modelled: the TO-220AC's and TO-220FP-2's cut-off middle lead, the TO-220's ejector dimple, the TO-247's copper ring ØP1, and the bodies' 5° draft and small radii. | |
| 53 | 68 | - Every lead's shoulder narrows to the lead in one step. |
| 54 | 69 | - Materials are for looks and a rough mass: |
| 55 | 70 | - The mouldings are epoxy. Nylon (PA6) is the nearest material in the list. |
| 56 | - The TO-220 tab and the TO-247 pad are copper, and the leads are tinned copper. | |
| 57 | - The TO-18 header and leads are Kovar (8.36), so nickel (8.9), the nearest in the list. Its can is steel. | |
| 71 | - The TO-220 tab, the TO-247 pad and the TO-126 plate are copper, and the leads are tinned copper. | |
| 72 | - The TO-18, TO-39 and TO-46 headers and leads are Kovar (8.36), so nickel (8.9), the nearest in the list. Their cans are steel. | |
| 58 | 73 | |
| 59 | 74 | ## Catalogue models |
| 60 | 75 | |
| @@ -66,13 +81,24 @@ | ||
| 66 | 81 | - **TO-92 and TO-92_Inline.** 4.83 wide, 3.75 deep. Leads at 1.27, with the flat face 1.33 in front of the leads and the round back 2.42 behind them. |
| 67 | 82 | - **TO-18-3.** Flange Ø 5.84, can Ø 4.95 and leads Ø 0.48 (the drawing's maximums). Lead 2 is 1.27 off the line of leads 1 and 3, and the tab is at 45° beside lead 1. |
| 68 | 83 | |
| 69 | The reference models stand their bodies at different heights above the board: the TO-92 at 2.5 and the TO-18 at about 5. The drawings don't give these, so this part uses the drawings' own seating. | |
| 84 | Added in 1.1.0, measured the same way: | |
| 70 | 85 | |
| 71 | So these map: TO-220-3_Vertical (TO-220AB), TO-220-2_Vertical (TO-220AC), TO-247-3_Vertical (TO-247AC), TO-92 and TO-92_Inline (TO-92), TO-18-3 (TO-18) and TO-18-2 (TO-18-2). | |
| 86 | - **TO-39-3.** Flange Ø 9.40 and can Ø 8.50 (the drawing's maximums), 6.5 high, leads Ø 0.48 on a Ø 5.08 circle with lead 2 2.54 off the line. The model has no tab; the drawing has one. | |
| 87 | - **TO-46-3.** Flange Ø 5.84 with the 45° tab, can Ø 4.80 tapering to 4.73, 2.2 high (D max 2.16, so 0.04 over), leads Ø 0.48 on a Ø 2.54 circle with lead 2 1.27 off the line. | |
| 88 | - **TO-126-3_Vertical.** 8.0 wide and 11.0 high, as drawn, but 3.25 thick where Central's drawing allows 2.40–2.80 (0.45 over). Leads 0.75 x 0.53 at 2.28 (Central 2.25, so 0.03 apart), their plane 1.25 from the back. Only the middle lead has a shoulder (1.6 wide), where Central draws one on every lead, 1.14–1.40 wide. | |
| 89 | - **TO-220F-3_Vertical.** 10.16 wide, 4.70 thick, with the top part 2.54 thick, and 15.6 high. Leads 0.80 x 0.53 with 1.36 shoulders at 2.54. The leads' plane is 3.29 from the back, where Central's drawing gives 2.50–3.10 (0.19 over). | |
| 90 | - **TO-220F-2_Vertical.** The same body, with leads at 0 and 5.08 (Central 5.10). | |
| 91 | ||
| 92 | The names name the JEDEC package, so they map to the maker's drawing of it, with the pitch and lead order as named, and the differences are listed here. | |
| 93 | ||
| 94 | The reference models stand their bodies at different heights above the board: the TO-92 at 2.5, and the TO-18, TO-39 and TO-46 at about 5. The drawings don't give these, so this part uses the drawings' own seating. | |
| 95 | ||
| 96 | So these map: TO-220-3_Vertical (TO-220AB), TO-220-2_Vertical (TO-220AC), TO-247-3_Vertical (TO-247AC), TO-92 and TO-92_Inline (TO-92), TO-18-3 (TO-18), TO-18-2 (TO-18-2), TO-39-3 (TO-39), TO-46-3 (TO-46), TO-126-3_Vertical (TO-126), TO-220F-3_Vertical (TO-220F) and TO-220F-2_Vertical (TO-220F-2). | |
| 72 | 97 | |
| 73 | 98 | These stay "no table read yet" (`COVERAGE.md`): |
| 74 | 99 | |
| 75 | 100 | - the TO-92 models with leads formed to 2.54 (`_Wide`). TI's formed leads are 2.4 to 2.9 apart, with a land pattern of 2.6. |
| 76 | 101 | - the horizontal (bent-lead) models. The drawings give straight leads only. |
| 77 | - the other packages in the family: TO-126, TO-218, TO-220F, TO-220-4/5/11, TO-251, TO-262, TO-264, TO-3, TO-3P, TO-5, TO-8, TO-11, TO-39, TO-46 and TO-52, the TO-92 variants (L, S, Mini, Flat, 2-lead), and the windowed and lensed cans. | |
| 102 | - the 2-lead TO-39, TO-46 and TO-126 models. Central's TO-39, TO-46 and TO-126 sheets draw 3 leads only. | |
| 103 | - the other packages in the family: TO-218, TO-220-4/5/11, TO-247-2/4/5, TO-251, TO-262, TO-264, TO-3, TO-3P, TO-5, TO-8, TO-11 and TO-52, the TO-92 variants (L, S, Mini, Flat, 2-lead), and the windowed and lensed cans. | |
| 78 | 104 |