Sign in with STEVE

Compare versions

3 files changed, +101 −15

part.py +37 −6
@@ -1,5 +1,5 @@
1"""Board-mounted DC/DC converter module, as its maker draws it: RECOM R-78 switching regulators (SIP3, SIP4) and TRACO POWER TSR 1, TMR 1
2(SIP) and TEN 10 / TEN 20 (2" x 1" metal case). Pin 1 is at the origin, the case on the board (XY plane) above it, the pins down through the board.
1"""Board-mounted DC/DC converter module, as its maker draws it: RECOM R-78 (SIP3, SIP4, R-78HB-0.5L with bent pins) and R-5xxxPA (SIP12) switching
2regulators, TRACO POWER TSR 1, TMR 1 (SIP) and TEN 10 / TEN 20 (2" x 1" metal case), and XP Power IA, IH and IT (SIP). Pin 1 is at the origin, the case on the board (XY plane) above it, the pins down through the board.
33Dimensions from each maker's data sheet in the README."""
44from steve import Model
55
@@ -19,11 +19,23 @@
1919# 0.5 above the board, pin 1 2.15 from the end, pins 1, 2, 4, 5, 6 at 0, 2.54, 7.62, 10.16, 12.7, the row 2.5 from one face, pins 0.5 x 0.25, 3.2; ten10
2020# (p. 3) and ten20 (Rev. September 16, 2025, p. 3): 50.8 x 25.4 x 10.2 on an insulated baseplate, pins 1.0 dia., 6.0, placed from the bottom view
2121# (mirrored here into a top view: x = 50.8 - the drawing's x).
22# RECOM R-5xxxPA_DA (REV.: 5/2019, p. 7, Dimension Drawing, R-5xxxPA): 32.2 x 9.1 x 15.0, 12 pins 0.70 x 0.25, 4.10 below, pin 1 2.1 from the end,
23# 11 x 2.54, the row 0.8 from one face; no standoff drawn (the case from the board). Plastic case potted with epoxy (ptfe).
24# XP Power, https://www.xppower.com/portals/0/pdfs/SF_<series>.pdf, Mechanical details: IA (23 May 2025, p. 4, SIP package): 19.3 x 6.0 x 10.1, 0.5 above
25# the board, pins 0.51 x 0.2, 3.0 below, the row 1.4 from one face, 2.54 pitch, pin 1 to pin 6 12.7, pin 6 4.5 from the end (so pin 1 2.1 from the other),
26# no pins 3 and 7; IH (16 May 2025, p. 3, SIP package, 1kVDC versions): 19.5 x 7.2 x 10.16 max, 0.38 above the board, pins 0.50 x 0.25 max, 3.05 min
27# below, pin 1 (+Vin) 2.29 from the end, the row 1.25 from one face, 2.54 pitch, +Vin to +Vout 12.7; IT (17 December 2025, p. 3): 26.0 x 9.20 x 12.5,
28# pins 0.50 x 0.3, 4.0 below, pin 1 1.8 from the end, pins 1-3 2 x 2.54, then 7.62 to pin 6, pins 6-9 3 x 2.54, the row 2.75 from one face. XP's cases are
29# plastic (IA: black plastic potted with epoxy), ptfe. The IH drawing numbers no pins: they are named here by their place on the 2.54 grid from +Vin.
2230MODELS = {
2331 "R-78E-0.5": (11.6, 8.5, 10.4, 0.51, ("rect", 0.50, 0.25), 4.10, ((1, 3.21, 6.5), (2, 5.75, 6.5), (3, 8.29, 6.5)), "ptfe", "#1d1f22", None),
2432 "R-78B-2.0": (11.5, 8.5, 17.5, 0.51, ("rect", 0.64, 0.64), 4.10, ((1, 3.21, 7.3), (2, 5.75, 7.3), (3, 8.29, 7.3)), "ptfe", "#1d1f22", None),
2533 "R-78HB-0.5": (11.5, 8.5, 17.5, 0.51, ("rect", 0.70, 0.25), 4.10, ((1, 3.21, 6.5), (2, 5.75, 6.5), (3, 8.29, 6.5)), "ptfe", "#1d1f22", None),
2634 "R-78S-0.1": (11.6, 8.5, 10.4, 0.51, ("rect", 0.70, 0.25), 4.10, ((1, 2.00, 6.5), (2, 4.54, 6.5), (3, 7.08, 6.5), (4, 9.62, 6.5)), "ptfe", "#1d1f22", None),
35 "R-5xxxPA": (32.2, 9.1, 15.0, 0.0, ("rect", 0.70, 0.25), 4.10, ((1, 2.1, 0.8), (2, 4.64, 0.8), (3, 7.18, 0.8), (4, 9.72, 0.8), (5, 12.26, 0.8), (6, 14.8, 0.8), (7, 17.34, 0.8), (8, 19.88, 0.8), (9, 22.42, 0.8), (10, 24.96, 0.8), (11, 27.5, 0.8), (12, 30.04, 0.8)), "ptfe", "#1d1f22", None),
36 "IA SIP": (19.3, 6.0, 10.1, 0.5, ("rect", 0.51, 0.2), 3.0, ((1, 2.1, 1.4), (2, 4.64, 1.4), (4, 9.72, 1.4), (5, 12.26, 1.4), (6, 14.8, 1.4)), "ptfe", "#1d1f22", None),
37 "IH SIP 1 kV": (19.5, 7.2, 10.16, 0.38, ("rect", 0.50, 0.25), 3.05, ((1, 2.29, 1.25), (2, 4.83, 1.25), (4, 9.91, 1.25), (5, 12.45, 1.25), (6, 14.99, 1.25)), "ptfe", "#1d1f22", None),
38 "IT": (26.0, 9.2, 12.5, 0.0, ("rect", 0.50, 0.3), 4.0, ((1, 1.8, 2.75), (2, 4.34, 2.75), (3, 6.88, 2.75), (6, 14.5, 2.75), (7, 17.04, 2.75), (8, 19.58, 2.75), (9, 22.12, 2.75)), "ptfe", "#1d1f22", None),
2739 "TSR 1": (11.7, 7.5, 10.1, 0.5, ("rect", 0.50, 0.25), 4.1, ((1, 3.32, 5.5), (2, 5.86, 5.5), (3, 8.4, 5.5)), "ptfe", "#1d1f22", None),
2840 "TMR 1 single": (17.0, 7.62, 11.0, 0.5, ("rect", 0.5, 0.25), 3.2, ((1, 2.15, 5.12), (2, 4.69, 5.12), (4, 9.77, 5.12), (6, 14.85, 5.12)), "ptfe", "#1d1f22", None),
2941 "TMR 1 dual": (17.0, 7.62, 11.0, 0.5, ("rect", 0.5, 0.25), 3.2, ((1, 2.15, 5.12), (2, 4.69, 5.12), (4, 9.77, 5.12), (5, 12.31, 5.12), (6, 14.85, 5.12)), "ptfe", "#1d1f22", None),
@@ -33,12 +45,24 @@
3345 "TEN 20 dual": (50.8, 25.4, 10.2, 0.0, ("round", 1.0), 6.0, ((1, 35.52, 15.24), (2, 35.52, 10.16), (6, 35.52, 2.54), (3, 15.2, 22.86), (4, 15.2, 12.7), (5, 15.2, 2.54)), "silicone-rubber", "#b9bcbf", "copper"),
3446}
3547
48# Bent-pin versions lying on the face their pins bend towards: (the straight model, the bent pin's outer face beyond the case's end, the pin's run from the
49# row's centre to its tip). RECOM R-78HB-0.5 (REV.: 5/2019, p. 5), "with suffix L bent pins": 19.0 overall against the case's 17.5, so 1.50; the bottom
50# view's 2.00 (row to face) + 4.10 (face to tip) = the side view's 6.10; the bend 90-93 degrees, drawn at 90; the pin 0.70 x 0.25.
51BENT = {"R-78HB-0.5L": ("R-78HB-0.5", 1.50, 6.10)}
52
3653SHELL = 0.3 # the metal case's wall, a proportion (the sheets don't dimension it); its open bottom is the insulated baseplate, part of the potting here
37L, W, top, standoff, section, pin_length, pins, case_material, colour, shell_material = MODELS[model_name]
54L, W, top, standoff, section, pin_length, pins, case_material, colour, shell_material = MODELS[BENT[model_name][0] if model_name in BENT else model_name]
3855x1, y1 = pins[0][1], pins[0][2]
3956model = Model()
4057model.plane("case_plane", on="XY", offset=standoff, name="Case bottom")
41if shell_material:
58if model_name in BENT:
59 # The case lies on the face its pins bend towards (the +Y face of the straight model), its end towards -Y; the pins leave the end at the row's height
60 # above the board, bend down at pin 1's place and run through the board.
61 _, out, run = BENT[model_name]
62 rise = W - y1 # the row's centre above the face on the board
63 end = out - section[2] / 2 # the case's end (its feet) from the bent pins' centre line
64 model.box("case", L, top - standoff, W, at=(L / 2 - x1, end + standoff + (top - standoff) / 2, W / 2), op="new", body="case_body", name="Case")
65elif shell_material:
4266 # A metal shell (top and four sides) round the potting, which fills it down to the board.
4367 with model.sketch("case_sketch", on="case_plane", name="Potting") as sk:
4468 sk.rect("case_rect", (-x1 + SHELL, -y1 + SHELL), (L - x1 - SHELL, W - y1 - SHELL))
@@ -53,10 +77,17 @@
5377leads = []
5478if detail == "full":
5579 # Each pin is its own copper solid, from its end below the board up to the case's bottom face.
56 run = pin_length + standoff
80 if model_name not in BENT:
81 run = pin_length + standoff
5782 for n, x, y in pins:
5883 cx, cy = x - x1, y - y1
59 if section[0] == "rect":
84 if model_name in BENT:
85 # Each pin one L-shaped solid: the leg out of the case's end, then the leg down through the board.
86 model.box(f"pin_{n}", section[1], end + standoff + section[2] / 2, section[2], at=(cx, (end + standoff - section[2] / 2) / 2, rise),
87 op="new", body=f"pin_{n}_body", name=f"Pin {n}")
88 model.box(f"pin_{n}_down", section[1], section[2], run + section[2] / 2, at=(cx, 0.0, rise + section[2] / 2 - (run + section[2] / 2) / 2),
89 op="join", body=f"pin_{n}_body", name=f"Pin {n} bent leg")
90 elif section[0] == "rect":
6091 model.box(f"pin_{n}", section[1], section[2], run, at=(cx, cy, standoff - run / 2), op="new", body=f"pin_{n}_body", name=f"Pin {n}")
6192 else:
6293 model.plane(f"pin_{n}_plane", on="XY", offset=-pin_length, name=f"Pin {n}")
pypart.toml +41 −6
@@ -1,17 +1,17 @@
11name = "steve/dcdc-converter"
2version = "1.0.0"
2version = "1.1.0"
33runtime = "steve"
44license = "MIT"
5summary = "Board-mounted DC/DC converter modules: RECOM R-78E, R-78B, R-78HB and R-78S regulators; TRACO POWER TSR 1, TMR 1, TEN 10 and TEN 20."
6description = """DC/DC converter modules for board layouts and enclosures, as their makers draw them: the case at its height above the board and each pin at its place, section and length below it. The case and each pin are their own solids. Dimensions from RECOM's and TRACO POWER's data sheets. See the README."""
7tags = ["dc-dc-converter", "power-module", "regulator", "through-hole", "recom", "traco", "electronics"]
5summary = "Board-mounted DC/DC converter modules: RECOM R-78 and R-5xxxPA regulators; TRACO POWER TSR 1, TMR 1, TEN 10 and TEN 20; XP Power IA, IH and IT."
6description = """DC/DC converter modules for board layouts and enclosures, as their makers draw them: the case at its height above the board and each pin at its place, section and length below it. The case and each pin are their own solids. Dimensions from RECOM's, TRACO POWER's and XP Power's data sheets. See the README."""
7tags = ["dc-dc-converter", "power-module", "regulator", "through-hole", "recom", "traco", "xp-power", "electronics"]
88
99[parameters.model_name]
1010type = "choice"
1111default = "R-78E-0.5"
12choices = ["R-78E-0.5", "R-78B-2.0", "R-78HB-0.5", "R-78S-0.1", "TSR 1", "TMR 1 single", "TMR 1 dual", "TEN 10 single", "TEN 10 dual", "TEN 20 single", "TEN 20 dual"]
12choices = ["R-78E-0.5", "R-78B-2.0", "R-78HB-0.5", "R-78HB-0.5L", "R-78S-0.1", "R-5xxxPA", "TSR 1", "TMR 1 single", "TMR 1 dual", "TEN 10 single", "TEN 10 dual", "TEN 20 single", "TEN 20 dual", "IA SIP", "IH SIP 1 kV", "IT"]
1313label = "Series"
14description = "The maker's series. TMR 1, TEN 10 and TEN 20 come with a single or a dual output, which differ in their pins."
14description = "The maker's series. TMR 1, TEN 10 and TEN 20 come with a single or a dual output, which differ in their pins. R-78HB-0.5L has bent pins and lies flat."
1515
1616[parameters.detail]
1717type = "choice"
@@ -19,6 +19,34 @@
1919choices = ["full", "simple"]
2020label = "Detail"
2121description = "full: case and pins. simple: the case only."
22
23[[presets]]
24id = "IA-SIP"
25title = "XP Power IA SIP DC/DC converter (isolated, SIP7, 1 W)"
26params = { model_name = "IA SIP" }
27aliases = ["XP Power IA SIP", "IA SIP", "IA SIP DC/DC converter"]
28standard = "XP Power"
29
30[[presets]]
31id = "IH-SIP-1-kV"
32title = "XP Power IH SIP 1 kV DC/DC converter (isolated, SIP7, 2 W, 1 kV isolation)"
33params = { model_name = "IH SIP 1 kV" }
34aliases = ["XP Power IH SIP 1 kV", "IH SIP 1 kV", "IH SIP 1 kV DC/DC converter"]
35standard = "XP Power"
36
37[[presets]]
38id = "IT"
39title = "XP Power IT DC/DC converter (isolated, SIP9, 3 W, single or dual output)"
40params = { model_name = "IT" }
41aliases = ["XP Power IT", "IT", "IT DC/DC converter"]
42standard = "XP Power"
43
44[[presets]]
45id = "R-5xxxPA"
46title = "RECOM R-5xxxPA DC/DC converter (switching regulator, SIP12, 2 to 5 A)"
47params = { model_name = "R-5xxxPA" }
48aliases = ["RECOM R-5xxxPA", "R-5xxxPA", "R-5xxxPA DC/DC converter"]
49standard = "RECOM"
2250
2351[[presets]]
2452id = "R-78B-2.0"
@@ -39,6 +67,13 @@
3967title = "RECOM R-78HB-0.5 DC/DC converter (switching regulator, SIP3, 0.5 A, high input)"
4068params = { model_name = "R-78HB-0.5" }
4169aliases = ["RECOM R-78HB-0.5", "R-78HB-0.5", "R-78HB-0.5 DC/DC converter"]
70standard = "RECOM"
71
72[[presets]]
73id = "R-78HB-0.5L"
74title = "RECOM R-78HB-0.5L DC/DC converter (switching regulator, SIP3 with bent pins, lying flat, 0.5 A, high input)"
75params = { model_name = "R-78HB-0.5L" }
76aliases = ["RECOM R-78HB-0.5L", "R-78HB-0.5L", "R-78HB-0.5L DC/DC converter"]
4277standard = "RECOM"
4378
4479[[presets]]
README.md +23 −3
@@ -14,6 +14,9 @@
1414| R-78B-2.0 | REV.: 5/2021, p. 5 | 11.5 x 8.5 x 17.5 | 0.51 | 3, 0.64 x 0.64 | 4.10 | pin 1 3.21 from the end, 2.54 pitch, the row 1.2 from one face | 4.0 g |
1515| R-78HB-0.5 | REV.: 5/2019, p. 5 | 11.5 x 8.5 x 17.5 | 0.51 | 3, 0.70 x 0.25 | 4.10 | pin 1 3.21 from the end, 2.54 pitch, the row 2.00 from one face | 4 g |
1616| R-78S (R-78S-0.1) | REV.: 5/2018, p. 4 | 11.6 x 8.5 x 10.4 | 0.51 | 4, 0.70 x 0.25 | 4.10 | pin 1 2.00 from the end, pin 4 7.62 from pin 1, the row 2.00 from one face | 2 g |
17| R-5xxxPA (R-5xxxPA_DA) | REV.: 5/2019, p. 7 | 32.2 x 9.1 x 15.0 | on the board (no standoff drawn) | 12, 0.70 x 0.25 | 4.10 | pin 1 2.1 from the end, 11 x 2.54, the row 0.8 from one face | 9 g |
18
19**R-78HB-0.5L**, the bent-pin R-78HB-0.5 (the same sheet, p. 5, "with suffix L bent pins"): the case lies on the face its pins bend towards. The pins leave the case's end at the row's place, 2.00 from that face; their outer face is 1.50 beyond the case's end (the drawing's 19.0 overall against the case's 17.5); they bend 90 to 93 degrees (drawn at 90) and run 6.10 from the row to the tip, 4.10 beyond the face (the bottom view's 2.00 + 4.10). The pins are 0.70 x 0.25. The board is taken at the face the case lies on, so the tips are 4.10 below it.
1720
1821TRACO POWER data sheets at `https://www.tracopower.com/products/<series>.pdf`, Outline Dimensions, tolerances ±0.5, pins ±0.05:
1922
@@ -24,11 +27,21 @@
2427| TEN 10 (ten10) | p. 3 (page 4: Rev. August 8, 2025) | 50.8 x 25.4 x 10.2 | on its insulated baseplate | 1.0 dia. | 6.0 | bottom view: pins 1 and 2 15.2 from one end, 5.08 apart, pin 2 10.2 from the long side; pins 3, 4, 5 20.32 further, 10.16 apart, pin 5 2.5 from the long side | 32 g |
2528| TEN 20 (ten20) | Rev. September 16, 2025, p. 3 | 50.8 x 25.4 x 10.2 | on its insulated baseplate | 1.0 dia. | 6.0 | bottom view: pins 3, 4, 5 15.2 from one end, 10.16 apart, pin 5 2.54 from the long side; pins 6, 2, 1 20.32 further, at 2.54, 2.54 + 7.62 and + 5.08 from the long side | 36 g |
2629
30XP Power data sheets at `https://www.xppower.com/portals/0/pdfs/SF_<series>.pdf`, Mechanical details (mm), case tolerance ±0.5, pin pitch ±0.35:
31
32| Series | Edition, page | Case L x W x H | Case above the board | Pins | Pin length | Pin places | Weight |
33|---|---|---|---|---|---|---|---|
34| IA, SIP package (IA...S) | 23 May 2025, p. 4 | 19.3 x 6.0 x 10.1 | 0.5 | 0.51 x 0.2 | 3.0 | pins 1, 2, 4, 5, 6 on a 2.54 pitch (no pins 3 and 7), pin 1 to pin 6 12.7, pin 6 4.5 from the end (so pin 1 2.1 from the other), the row 1.4 from one face | 2.3 g |
35| IH, SIP package, 1 kVDC (IH...S) | 16 May 2025, p. 3 | 19.5 x 7.2 x 10.16 (max) | 0.38 | 0.50 x 0.25 (max) | 3.05 (min) | +Vin 2.29 from the end, 2.54 pitch, +Vin to +Vout 12.7 (+Vin, -Vin, then -Vout, 0V, +Vout), the row 1.25 from one face | 2.2 g |
36| IT | 17 December 2025, p. 3 | 26.0 x 9.20 x 12.5 | on the board (feet not dimensioned) | 0.50 x 0.3 | 4.0 | pin 1 1.8 from the end, pins 1 to 3 2 x 2.54, 7.62 to pin 6, pins 6 to 9 3 x 2.54, the row 2.75 from one face | 6.5 g |
37
38The IA "S" models are the SIP package ("replace 'S' in model number with 'D' for DIP package", note 1); the IH likewise (note 1), and its "H" suffix is the 3 kVDC version, drawn differently. The IH drawing numbers no pins: they are named here by their place on the 2.54 grid from +Vin (1, 2, 4, 5, 6). The IH's height and pin section are maximums and its pin length a minimum; the model uses them as drawn. IT's case is 9.20 wide in its end view and 9.3 in its bottom view; the model uses 9.20. IT's single- and dual-output models have the same pins.
39
2740The TMR 1 single-output part has no pin 5; the TEN 10 and TEN 20 single-output parts have no pin 4 (the pin-out tables). The TEN drawings are bottom views; the part mirrors them into a top view. The case height is from the board to the top, so a case standing above the board on its feet starts at the drawn height above it.
2841
29**Proportions, for looks only:** none of the cases' details (the RECOM feet, embossed logos and markings, the TEN case's seam). Each SIP case is one block. The TEN case's metal wall is 0.3 thick (the sheets don't dimension it), round a potting block that fills it down to the board; the insulated baseplate is drawn as part of the potting. Each pin runs from its end below the board up to the case's bottom face.
42**Proportions, for looks only:** none of the cases' details (the RECOM and XP feet, embossed logos and markings, the TEN case's seam). Each SIP case is one block. R-78HB-0.5L's pin bends are sharp corners. The TEN case's metal wall is 0.3 thick (the sheets don't dimension it), round a potting block that fills it down to the board; the insulated baseplate is drawn as part of the potting. Each pin runs from its end below the board up to the case's bottom face.
3043
31**Materials**, as the sheets' physical specifications name them: the RECOM and TRACO SIP cases are plastic, potted with silicone (R-78S with epoxy), and are modelled as one plastic block, `ptfe`. TEN 10's case is chrome-nickel plated steel (`steel-generic`) potted with epoxy (`ptfe`); TEN 20's is nickel-plated copper (`copper`) potted with silicone rubber (`silicone-rubber`). The pins are copper. The SIP cases are drawn black, the TEN cases metal grey.
44**Materials**, as the sheets' physical specifications name them: the RECOM and TRACO SIP cases are plastic, potted with silicone (R-78S and R-5xxxPA with epoxy), and XP Power's are plastic (IA: black plastic potted with epoxy); all these are modelled as one plastic block, `ptfe`. TEN 10's case is chrome-nickel plated steel (`steel-generic`) potted with epoxy (`ptfe`); TEN 20's is nickel-plated copper (`copper`) potted with silicone rubber (`silicone-rubber`). The pins are copper. The SIP cases are drawn black, the TEN cases metal grey.
3245
3346**Mass** against the sheets' weights. The SIP blocks come out a little light, and TEN 20 well short: its silicone potting (1.0 g/cm³ here) and thin wall don't account for the components inside. The materials are what the parts are made of, not picked to hit the weight.
3447
@@ -38,10 +51,17 @@
3851| R-78B-2.0 | 3.49 g | 4.0 g |
3952| R-78HB-0.5 | 3.46 g | 4 g |
4053| R-78S | 2.05 g | 2 g |
54| R-78HB-0.5L | 3.48 g | 4 g |
55| R-5xxxPA | 9.18 g | 9 g |
4156| TSR 1 | 1.76 g | 1.9 g |
4257| TMR 1 (single) | 2.83 g | 3.1 g |
4358| TEN 10 (dual) | 32.3 g | 32 g |
4459| TEN 20 (dual) | 20.1 g | 36 g |
60| IA SIP | 2.32 g | 2.3 g |
61| IH SIP 1 kV | 2.86 g | 2.2 g |
62| IT | 6.23 g | 6.5 g |
4563
46The old catalogue's entries for these series have no models; each names the maker's series and maps to its preset. Its other converters (Artesyn, Bothhand, Cincon, Mean Well, Murata, XP Power, RECOM R5, R-78HB-0.5L with bent pins, TRACO TMR, TMR 1SM, and TEN 10 and TEN 20 without single or dual named) aren't here yet; see `COVERAGE.md`.
64The IH comes out heavy: its case is drawn at its maximum size and modelled solid.
4765
66The old catalogue's entries for these series have no models; each names the maker's series and maps to its preset. Its other converters aren't here, each with its reason in `COVERAGE.md`: drawings that leave out a needed dimension (RECOM R-5xxxDA, XP Power IA and IH DIP, IH 3 kV SIP, ITQ, ITX, ISU02 and JTE06, TRACO TMR 1SM, Artesyn ATA), Mean Well's open-frame NID30 and NID60, models not in the current sheets (XP IA 48 V, TRACO TEN 20 N4), TEN 10 and TEN 20 without single or dual named, and Bothhand, Cincon, Murata and TRACO TMR, whose sheets haven't been read.
67