jsl/landpatterns/thermal-pads¶
Package name: jsl/landpatterns/thermal-pads
Summary¶
Data Types¶
PasteSubdivision¶
Paste Subdivision Generator
Constructors¶
Function | Description |
---|---|
PasteSubdivision (+ 1) | Constructor for defstruct PasteSubdivision |
Multis¶
Function | Description |
---|---|
create-paste-subdivision | Create Paste SubDivision Shape |
Methods¶
Function | Description |
---|---|
create-paste-subdivision | Default paste application shape for the thermal pad |
ThermalPad¶
Thermal Pad Generator
Constructors¶
Function | Description |
---|---|
ThermalPad (+ 1) | Constructor for defstruct ThermalPad |
Functions¶
Function | Description |
---|---|
smd-thermal-pad | Construct a thermal SMD pcb-pad definition |
ThermalPad | Create a thermal pad with a simple paste subdivision pattern. |
Definitions¶
PasteSubdivision¶
Paste Subdivision Generator
public defstruct PasteSubdivision :
elem-dims: Dims|(GridPosition) -> Dims
elem-planner: PadPlanner
paste-grid: GridPlanner
-
elem-dims: Dims|(GridPosition) -> Dims
- Paste Element Dimensions This parameter determines the shape of the paste opening elements in the grid. The user can either:- Provide a static
Dims
object that is applied to all openings. This is the most typical case. - A function that converts the
GridPosition
toDims
. This allows for variable sized openings in teh grid. (This is less common). TheDims
must be in units of mm.
- Provide a static
-
elem-planner: PadPlanner
- Paste Application Element Planner This planner coordinates the shape and population of paste elements in the grid.By default this uses
RectanglePadPlanner
-
paste-grid: GridPlanner
- Grid Structure for the Paste Elements
This type is used to construct a grid of paste applications. This is typically used for large thermal pads associated with QFNs, QFPs, SOIC, TSSOP, etc for high power applications.
The idea is to provide empty space for the excess solder paste to flow into during the phase transition of the solder material. This reduces short circuits and other assembly attrition.
Constructors¶
PasteSubdivision¶
Constructor for defstruct PasteSubdivision
public defn PasteSubdivision (elem-dims:Dims|(GridPosition) -> Dims, elem-planner:PadPlanner, paste-grid:GridPlanner)
PasteSubdivision¶
Constructor for defstruct PasteSubdivision
public defn PasteSubdivision ( -- elem-dims:Dims|(GridPosition) -> Dims, elem-planner:PadPlanner = ?, paste-grid:GridPlanner)
Multis¶
create-paste-subdivision¶
Create Paste SubDivision Shape
public defmulti create-paste-subdivision (p:PasteSubdivision) -> Shape
p: PasteSubdivision
- ThePasteSubdivision
object- Returns
Shape
- A Shape that will be applied to the thermal pad at the origin of the thermal pad. To create multiple non-contiguous shapes, use theUnion
shape type.
This is the interface definition for the PasteSubdivision types. The user can override the default behavior of the subdivision generator by overriding this method in a derived class.
Methods¶
create-paste-subdivision¶
Default paste application shape for the thermal pad
defmethod create-paste-subdivision (p:PasteSubdivision) -> Shape
p: PasteSubdivision
- Parameters for the paste subdivider- Returns
Shape
- AUnion
shape of multiple elements. It is possible that these elements overlap.
The default implementation constructs a grid of elements
based on the PasteSubdivision
parameters.
The GridPlanner
is used to construct the grid shape.
This implementation uses a limited subset of PadPlanner
to
provide:
- Which grid locations are active.
- The shape at each of those grid locations.
ThermalPad¶
Thermal Pad Generator
public defstruct ThermalPad :
paste-subdiv: Maybe<PasteSubdivision>
shape: Shape
sm-expand: Maybe<Double>
-
paste-subdiv: Maybe<PasteSubdivision>
- Optional Paste Subdivider This object provides the information necessary to subdivide the paste application into a grid of elements.By default, this value is
None()
. -
shape: Shape
- Copper Shape for the Thermal Lead Dimensions of this shape are in mm -
sm-expand: Maybe<Double>
- Optional override of the default soldermask expansion This value is in mm and increases the soldermask opening bysm-expand
mm on each side ofshape
. For example, the width of the soldermask opening will be2 * sm-expand
larger than the originatingshape
. This value is allowed to be negative - but it is on the user to make sure the generated opening is compatible with the package.
This type is used to construct large thermal pads for land patterns like QFNs, TSSOPs, etc.
Constructors¶
ThermalPad¶
Constructor for defstruct ThermalPad
public defn ThermalPad (shape:Shape, sm-expand:Maybe<Double>, paste-subdiv:Maybe<PasteSubdivision> = ?)
ThermalPad¶
Constructor for defstruct ThermalPad
public defn ThermalPad ( -- shape:Shape, sm-expand:Maybe<Double> = ?, paste-subdiv:Maybe<PasteSubdivision> = ?)
Functions¶
smd-thermal-pad¶
Construct a thermal SMD pcb-pad
definition
public defn smd-thermal-pad (tp:ThermalPad) -> Pad
tp: ThermalPad
- Thermal Pad Specification- Returns
Pad
- The constructedpcb-pad
definition we can use in our landpatterns.
ThermalPad¶
Create a thermal pad with a simple paste subdivision pattern.
public defn ThermalPad (shape:Rectangle -- padding:Double = ?, grid-size:Int = ?) -> ThermalPad
shape: Rectangle
- Rectangular shape for the thermal pad. General purpose shapes aren't allowed here so that we can make the math easier.padding: Double
- Spacing in mm between paste openings and between the edge of the copper pad and the paste opening. The default value is 0.2mm.grid-size: Int
- This function assumes a square grid and this value determines how many openings on each side of this grid. So a value of3
would indicate a 3x3 grid with 9 openings. The default value is2
.- Returns
ThermalPad
This is a helper routine for constructing the paste subdivision more easily.
Related Packages¶
Forwarded by packages: jsl/landpatterns/framework, jsl/landpatterns