Sign in with STEVE

steve/resistor-array

Thick film chip resistor arrays with convex terminals, Vishay CRA04S (0402), CRA06E/S (0603) and CRA12E/S (1206), 4 to 10 terminals.

v1.0.0 Latest STEVE MIT 0
Isometric
part.py 67 lines · Python · STEVE runtime · checked
Download
1"""Thick film chip resistor array with convex terminals, Vishay CRA04S, CRA06E/S and CRA12E/S. Centred on the origin with the board on
2the XY plane and the length along X: the ceramic body, the protective coating on top, and the terminals along both long sides, each its own
3solid, wrapping over the side from the top to the bottom. Pin 1 is at the -X end of the -Y side. Dimensions from Vishay's data sheets; see
4the README."""
5from steve import Model
6
7array = "CRA06S-8" # model and terminal count: CRA04S-4, CRA04S-8, CRA06S-4, CRA06S-8, CRA06E-8, CRA12E-8, CRA12E-10 or CRA12S-10
8
9# array: (terminals, corners, L, A, A*, B, B*, P, T, W) in mm, the nominal values of the data sheets' DIMENSIONS tables. L length, W width,
10# T height, P terminal pitch, A terminal width, A* corner terminal width (square corners, S version; None for the scalloped E version,
11# whose end terminals are A wide on the pitch like the others), B terminal length on top, B* on the bottom.
12# CRA04S: Vishay "CRA04S Thick Film Resistor Array", document number 31043, revision 13-Oct-08, page 249, DIMENSIONS (A* is A1; the
13# 4-terminal part has no A, only corner terminals).
14# CRA06E/S: Vishay Dale "CRA06E and S Thick Film, Resistor Array", document number 31002, revision 16-Aug-05, page 7, DIMENSIONS.
15# CRA12E/S: Vishay "CRA12E, CRA12S Thick Film Resistor Array", document number 31003, revision 10-Dec-10, page 250, DIMENSIONS.
16ARRAYS = {
17 "CRA04S-4": (4, "square", 1.0, None, 0.33, 0.15, 0.25, 0.65, 0.35, 1.0),
18 "CRA04S-8": (8, "square", 2.0, 0.30, 0.4, 0.15, 0.25, 0.50, 0.45, 1.0),
19 "CRA06S-4": (4, "square", 1.6, 0.38, 0.61, 0.3, 0.3, 0.8, 0.5, 1.5),
20 "CRA06S-8": (8, "square", 3.2, 0.38, 0.61, 0.3, 0.3, 0.8, 0.5, 1.5),
21 "CRA06E-8": (8, "scalloped", 3.2, 0.38, None, 0.3, 0.3, 0.8, 0.5, 1.5),
22 "CRA12E-8": (8, "scalloped", 5.08, 0.79, None, 0.51, 0.38, 1.27, 0.55, 3.05),
23 "CRA12E-10": (10, "scalloped", 6.40, 0.79, None, 0.51, 0.38, 1.27, 0.55, 3.05),
24 "CRA12S-10": (10, "square", 6.40, 0.79, 0.89, 0.51, 0.38, 1.27, 0.55, 3.05),
25}
26# Proportions, for looks (the drawings show these but don't dimension them): the terminals' metal is METAL thick, wrapped around a ceramic
27# body METAL smaller on each side, top and bottom; the coating on top is METAL thick too and stops MARGIN x W short of the ends and of the
28# terminals. So the terminals and the coating stand METAL proud of the ceramic.
29METAL = 0.03
30MARGIN = 0.05
31
32n, corners, L, A, A_END, B, B_LOW, P, T, W = ARRAYS[array]
33per_side = n // 2
34model = Model()
35model.box("body", L, W - 2 * METAL, T - 2 * METAL, at=(0, 0, T / 2), op="new", body="body_body", name="Body")
36# Terminal positions along X: on the pitch, centred; with square corners the end terminals are A* wide and reach the body's ends.
37spans = []
38for i in range(per_side):
39 centre = (i - (per_side - 1) / 2) * P
40 if corners == "square" and i in (0, per_side - 1):
41 x0 = -L / 2 if i == 0 else L / 2 - A_END
42 spans.append((x0, A_END))
43 else:
44 spans.append((centre - A / 2, A))
45terminals = []
46for side_tag, side in (("a", -1), ("b", 1)):
47 # The terminal's section (y, z) on a YZ plane: along the top B in from the side, down the side, and B* in along the bottom.
48 edge = side * W / 2
49 inner_top, inner_low, wall = edge - side * B, edge - side * B_LOW, edge - side * METAL
50 section = [(inner_top, T), (edge, T), (edge, 0.0), (inner_low, 0.0), (inner_low, METAL), (wall, METAL), (wall, T - METAL),
51 (inner_top, T - METAL)]
52 for i, (x0, width) in enumerate(spans):
53 tag = f"t{side_tag}{i + 1}"
54 model.plane(f"{tag}_plane", on="YZ", offset=x0, name="Terminals")
55 with model.sketch(f"{tag}_sketch", on=f"{tag}_plane", name="Terminals") as sk:
56 sk.polyline(f"{tag}_section", section, closed=True)
57 model.extrude(tag, f"{tag}_sketch", distance=width, op="new", body=f"{tag}_body", name="Terminals")
58 terminals.append(f"{tag}_body")
59model.box("coat", L - 2 * MARGIN * W, W - 2 * B - 2 * MARGIN * W, METAL, at=(0, 0, T - METAL / 2), op="new", body="coat_body", name="Coating")
60# Materials, for looks and a rough mass (the sheets: a thick film on "a high grade ceramic" body or substrate, "covered by a protective
61# coating", terminals of tin on a nickel barrier): the body alumina, the coating ptfe (an epoxy-like layer, nearest density in the list),
62# the terminals tin.
63model.material("alumina", bodies=["body_body"], color="#e9e7e1")
64model.material("ptfe", bodies=["coat_body"], color="#1d1d1f")
65model.material("tin", bodies=terminals, color="#c9ccd1")
66result = model.result()
67

Surface-mount chip resistor arrays for board layouts and enclosures: the ceramic body, the coating on top and the wrap-around terminals along both long sides, each terminal its own solid. Vishay's convex-terminal arrays CRA04S, CRA06E/S and CRA12E/S, with square (S) or scalloped (E) corners. Dimensions from Vishay's data sheets. See the README.

Chip resistor array

Vishay's thick film chip resistor arrays with convex terminals: CRA04S (0402 elements), CRA06E and CRA06S (0603) and CRA12E and CRA12S (1206), with 4 to 10 terminals. Each array holds terminals / 2 isolated resistors. The array is centred on the origin with the board on the XY plane and its length along X. It is the ceramic body, the protective coating on top, and the terminals along both long sides. Each terminal wraps over the side from the top to the bottom and is its own solid. Pin 1 is at the -X end of the -Y side.

  • S version: square corners. The end terminals are wider (A*) and reach the body's ends.
  • E version: scalloped corners. Every terminal is A wide on the pitch.

Source

Vishay data sheets, each table "DIMENSIONS [in millimeters]". These are nominal values; their tolerances follow the table.

Array Terminals L A A* B B* P T W
CRA04S 4 1.0 – 0.33 0.15 0.25 0.65 0.35 1.0
CRA04S 8 2.0 0.30 0.4 0.15 0.25 0.50 0.45 1.0
CRA06S 4 1.6 0.38 0.61 0.3 0.3 0.8 0.5 1.5
CRA06S 8 3.2 0.38 0.61 0.3 0.3 0.8 0.5 1.5
CRA06E 8 3.2 0.38 – 0.3 0.3 0.8 0.5 1.5
CRA12E 8 5.08 0.79 – 0.51 0.38 1.27 0.55 3.05
CRA12E 10 6.40 0.79 – 0.51 0.38 1.27 0.55 3.05
CRA12S 10 6.40 0.79 0.89 0.51 0.38 1.27 0.55 3.05

L is the length, W the width over the terminals, T the height, and P the terminal pitch. A is the terminal width, and A* the width of a square-cornered end terminal. B is the terminal's length on the top, and B* its length on the bottom. The terminals sit on the pitch, centred on the body. The 4-terminal CRA04S has only end terminals.

Proportions, stated plainly. The drawings show these but don't dimension them:

  • The terminals' metal is 0.03 thick. It wraps a ceramic body that is 0.03 smaller on each side, top and bottom, so the overall size is the sheet's L x W x T.
  • The black coating on top is 0.03 thick. It stops 0.05 W short of the ends and of the terminals' top pads.
  • The terminals' convex bulge and the E version's scalloped corners aren't modelled. The body's ends are square.

Materials. The sheets say "a high grade ceramic" body, "covered by a protective coating", with terminals of tin on a nickel barrier. The body is alumina, the coating ptfe (the nearest density in the list to an epoxy-like layer), and the terminals tin. The sheets give no weight.

Catalogue models

The old catalogue's R_Array_Convex_<n>x<size> entries have no models to measure. Each names a convex-terminal array of n resistors of an EIA size. Each maps to Vishay's convex array of that size and count:

Entry Array
R_Array_Convex_2x0402 CRA04S, 4 terminals
R_Array_Convex_4x0402 CRA04S, 8 terminals
R_Array_Convex_2x0603 CRA06S, 4 terminals
R_Array_Convex_4x0603 CRA06S, 8 terminals
R_Array_Convex_4x1206 CRA12E, 8 terminals
R_Array_Convex_5x1206 CRA12E, 10 terminals

R_Array_Convex_2x1206 and R_Array_Convex_5x0603 aren't offered, because these sheets give no such count: CRA12 comes with 8 or 10 terminals, and CRA06 with 4 or 8. The concave arrays, R_Array_Convex_8x0602 and the other resistors in the family are read elsewhere or not yet; see COVERAGE.md.

  1. 1.0.0 Latest
More #resistor
STEVEMIT

steve/melf-resistor

Thin film MELF resistors, Vishay Beyschlag MMU 0102 (MicroMELF), MMA 0204 (MiniMELF) and MMB 0207 (MELF), with colour rings.

0 3 sizes 0 2 hours ago v1.0.0
STEVEMIT

steve/axial-resistor

Axial leaded metal film resistor, Vishay Beyschlag MBA/SMA 0204, MBB/SMA 0207 and MBE/SMA 0414, with colour rings, horizontal or vertical.

1 9 sizes 0 11 hours ago v1.0.0
STEVEMIT

steve/ceramic-chip-capacitor

Multilayer ceramic chip capacitors (MLCC), EIA 01005 to 3640, with KEMET's and TDK's case dimensions and chip thickness codes.

0 15 sizes 0 3 hours ago v1.1.0
STEVEMIT

steve/chip-fuse

Thin film chip fuses, Vishay MFU series, 0402, 0603, 0805 and 1206.

0 4 sizes 0 1 hour ago v1.0.0