Create PCB board definitions from 2-D antenna designs
Use the PCBWriter
object to create a printed circuit board
(PCB) design files based on multilayer 2-D antenna design. A set of manufacturing files
known as Gerber files describes a PCB antennas. A Gerber file uses an ASCII vector
format for 2-D binary images.
creates a b
= PCBWriter(pcbstackobject
)PCBWriter
object that generates Gerber-format
PCB design files based on a 2-D antenna design geometry using PCB
stack.
b = PCBWriter(
creates a customized PCB file using specified pcbstackobject
,rfconnector
)rfconnector
type.
b = PCBWriter(
creates a customized PCB file using a specified PCB service,
pcbstackobject
,writer
)writer
.
b = PCBWriter(
creates customised PCB file using specified PCB service and PCB connector
type.pcbstackobject
,rfconnector,writer)
pcbstackobject
— Single feed PCB antennapcbStack
objectSingle feed PCB antenna, specified as a pcbStack
object. For more information, see pcbStack
.
Example: p1 = pcbStack
creates a PCB stack
object,p1
a = PCBWriter(p1)
, uses p1
to
create a PCBWriter
object a
.
writer
— PCB service to view PCB designPCB service to view PCB design, specified as
PCBServices
object.
Example: s =PCBServices.MayhewWriter; a =
PCBWriter(p1,s)
uses Mayhew Labs PCB service to view the
PCB design. For more information on manufacturing services, see
PCBServices
rfconnector
— RF connector typeRF connector type for PCB antenna feedpoint, specified as
PCBConnectors
object. For information about
connectors , see PCBConnectors
.
Example: c = PCBConnectors.SMA_Cinch;a =
PCBWriter(p1,c)
uses SMA_Cinch RF connector at feedpoint.
b
— PCB Board definition of 2.5D antenna designPCB Board definition of 2.5D antenna design, returned as an object.
UseDefaultConnector
— Use default connector 1
(default) | 0
Use default connector, specified as 0
or
1
.
Example: a.UseDefaultConnector = 1
, where
a
is a PCBWriter
object.
Data Types: logical
ComponentBoundaryLineWidth
— Line widths drawn around components on silk screens 8
(default) | positive scalarLine widths drawn around components on silk screens, specified as a positive scalar in mils.
Example: a.ComponentBoundaryLineWidth = 10
, where
a
is a PCBWriter
object.
Data Types: double
ComponentNameFontSize
— Font size to label components on silk screenFont size to label components on silk screen, specified as a positive scalar in points.
Example: a.ComponentNameFontSize = 12
, where
a
is a PCBWriter
object.
Data Types: double
DesignInfoFontSize
— Font size for design information added outside board profileDesign information text font size added outside board profile, specified as a positive scalar.
Example: a.DesignInfoFontSize = 12
, where
a
is a PCBWriter
object.
Data Types: double
Font
— Font used for component name and design info'Arial'
(default) | character vectorFont used for component name and design info, specified as a character vector.
Example: a.Font = 'TimesNewRoman'
, where
a
is a PCBWriter
object.
Data Types: char
| string
PCBMargin
— Copper free margin around board0.5e-3
(default) | positive scalarCopper free margin around board, specified as a positive scalar in meters.
Example: a.PCBMargin = 0.7e-3
, where
a
is a PCBWriter
object.
Data Types: double
Soldermask
— Add solder mask to top and bottom of PCB 'both'
(default) | 'top'
| 'bottom'
| 'none'
Add solder mask to top and bottom of PCB, specified as
'both'
, 'top'
,
'bottom'
or 'none'
.
Example: a.SolderMask = 'top'
, where
a
is a PCBWriter
object.
Data Types: char
| string
Solderpaste
— Generate solder paste files1
(default) | 0
Generate solder paste files as a part of PCB stack, specified as
1
or 0
.
Example: a.SolderPaste = 0
, where a
is a PCBWriter
object.
Data Types: logical
gerberWrite | Generate Gerber files |
Create a coplanar inverted F antenna
fco = invertedFcoplanar('Height',14e-3,'GroundPlaneLength', 100e-3, ... 'GroundPlaneWidth', 100e-3);
Create a pcbStack
object.
p = pcbStack(fco); show (p);
Generate a Gerber format design file using PCB Writer.
PW = PCBWriter(p)
PW = PCBWriter with properties: Design: [1x1 struct] Writer: [1x1 Gerber.Writer] Connector: [] UseDefaultConnector: 1 ComponentBoundaryLineWidth: 8 ComponentNameFontSize: [] DesignInfoFontSize: [] Font: 'Arial' PCBMargin: 5.0000e-04 Soldermask: 'both' Solderpaste: 1 See info for details
Create a coplanar inverted F antenna.
fco = invertedFcoplanar('Height',14e-3,'GroundPlaneLength', 100e-3, ... 'GroundPlaneWidth', 100e-3);
Create a pcbStack
object.
p = pcbStack(fco); show(p)
Create an SMA_Cinch connector using the PCBConnectors
object.
c = PCBConnectors.SMA_Cinch
c = SMA_Cinch with properties: Type: 'SMA' Mfg: 'Cinch' Part: '142-0711-202' Annotation: 'SMA' Impedance: 50 Datasheet: 'https://belfuse.com/resources/Johnson/drawings/dr-142-0711-202.pdf' Purchase: 'https://www.digikey.com/product-detail/en/cinch-connectivity-solutions-johnson/142-0711-202/J10154TR-ND/3587681' TotalSize: [0.0071 0.0071] GroundPadSize: [0.0024 0.0024] SignalPadDiameter: 0.0017 PinHoleDiameter: 0.0013 IsolationRing: 0.0041 VerticalGroundStrips: 1 Cinch 142-0711-202 (Example Purchase)
Create an antenna PCB design file using the connector.
PW = PCBWriter(p,c)
PW = PCBWriter with properties: Design: [1x1 struct] Writer: [1x1 Gerber.Writer] Connector: [1x1 PCBConnectors.SMA_Cinch] UseDefaultConnector: 0 ComponentBoundaryLineWidth: 8 ComponentNameFontSize: [] DesignInfoFontSize: [] Font: 'Arial' PCBMargin: 5.0000e-04 Soldermask: 'both' Solderpaste: 1 See info for details
Create a coplanar inverted F antenna.
fco = invertedFcoplanar('Height',14e-3,'GroundPlaneLength', 100e-3, ... 'GroundPlaneWidth', 100e-3);
Create a pcbStack
object.
p = pcbStack(fco); show(p)
Use an Advanced Circuits Writer as a PCB manufacturing service.
s = PCBServices.AdvancedCircuitsWriter
s = AdvancedCircuitsWriter with properties: BoardProfileFile: 'legend' BoardProfileLineWidth: 1 CoordPrecision: [2 6] CoordUnits: 'in' CreateArchiveFile: 1 DefaultViaDiam: 3.0000e-04 DrawArcsUsingLines: 0 ExtensionLevel: 1 Filename: 'untitled' Files: {} IncludeRootFolderInZip: 0 PostWriteFcn: @(obj)sendTo(obj) SameExtensionForGerberFiles: 0 UseExcellon: 1
Create an antenna PCB design file using the above service.
PW = PCBWriter(p,s)
PW = PCBWriter with properties: Design: [1x1 struct] Writer: [1x1 PCBServices.AdvancedCircuitsWriter] Connector: [] UseDefaultConnector: 1 ComponentBoundaryLineWidth: 8 ComponentNameFontSize: [] DesignInfoFontSize: [] Font: 'Arial' PCBMargin: 5.0000e-04 Soldermask: 'both' Solderpaste: 1 See info for details
Create a coplanar inverted F antenna.
fco = invertedFcoplanar('Height',14e-3,'GroundPlaneLength', 100e-3, ... 'GroundPlaneWidth', 100e-3);
Use this antenna in creating a pcbStack
object.
p = pcbStack(fco)
p = pcbStack with properties: Name: 'Coplanar Inverted-F' Revision: 'v1.0' BoardShape: [1×1 antenna.Rectangle] BoardThickness: 0.0013 Layers: {[1×1 antenna.Polygon]} FeedLocations: [0 0.0500 1] FeedDiameter: 5.0000e-04 ViaLocations: [] ViaDiameter: [] FeedViaModel: 'strip' FeedVoltage: 1 FeedPhase: 0 Tilt: 0 TiltAxis: [1 0 0] Load: [1×1 lumpedElement]
figure show(p)
Use an SMA_Cinch as an RF connector and Mayhew Writer as a 3-D viewer.
c = PCBConnectors.SMA_Cinch
c = SMA_Cinch with properties: Type: 'SMA' Mfg: 'Cinch' Part: '142-0711-202' Annotation: 'SMA' Impedance: 50 Datasheet: 'https://belfuse.com/resources/Johnson/drawings/dr-142-0711-202.pdf' Purchase: 'https://www.digikey.com/product-detail/en/cinch-connectivity-solutions-johnson/142-0711-202/J10154TR-ND/3587681' TotalSize: [0.0071 0.0071] GroundPadSize: [0.0024 0.0024] SignalPadDiameter: 0.0017 PinHoleDiameter: 0.0013 IsolationRing: 0.0041 VerticalGroundStrips: 1 Cinch 142-0711-202 (Example Purchase)
s = PCBServices.MayhewWriter
s = MayhewWriter with properties: BoardProfileFile: 'legend' BoardProfileLineWidth: 1 CoordPrecision: [2 6] CoordUnits: 'in' CreateArchiveFile: 0 DefaultViaDiam: 3.0000e-04 DrawArcsUsingLines: 1 ExtensionLevel: 1 Filename: 'untitled' Files: {} IncludeRootFolderInZip: 0 PostWriteFcn: @(obj)sendTo(obj) SameExtensionForGerberFiles: 0 UseExcellon: 1
Create an antenna design file using PCBWriter
.
PW = PCBWriter(p,s,c)
PW = PCBWriter with properties: Design: [1×1 struct] Writer: [1×1 PCBServices.MayhewWriter] Connector: [1×1 PCBConnectors.SMA_Cinch] UseDefaultConnector: 0 ComponentBoundaryLineWidth: 8 ComponentNameFontSize: [] DesignInfoFontSize: [] Font: 'Arial' PCBMargin: 5.0000e-04 Soldermask: 'both' Solderpaste: 1 See info for details
Use the gerberWrite method to create gerber files from the antenna design files. The files generated are then send to the Mayhew writer manufacturing service.
gerberWrite(PW)
By default, the folder containing the gerber files is called "untitled" and is located in your MATLAB folder. Running this example automatically opens up the Mayhew Labs PCB manufacturing service in your internet browser.
Drag and drop all your files from the "untitled" folder.
Click Done to view your Antenna PCB.
You have a modified version of this example. Do you want to open this example with your edits?