PCBWriter
Create PCB board definitions from 2-D antenna designs
Description
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.
Creation
Syntax
Description
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)
Input Arguments
pcbstackobject
— Single feed PCB antenna
pcbStack
object
Single 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 design
object
PCB 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 type
object
RF 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.
Output Arguments
b
— PCB Board definition of 2.5D antenna design
object
PCB Board definition of 2.5D antenna design, returned as an object.
Properties
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 scalar
Line 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 screen
positive scalar
Font 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 profile
positive scalar
Design 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 vector
Font 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 board
0.5e-3
(default) | positive scalar
Copper 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 files
1
(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
Object Functions
gerberWrite | Generate Gerber files |
Examples
Generate Gerber Format Files From PCB Stack Object
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
Antenna PCB Design Using SMA Cinch Connector
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
Antenna Design Files Using Advanced Circuits Writer Service
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
PCB Antenna Design Using Mayhew Manufacturing Service
Create a coplanar inverted F antenna.
fco = invertedFcoplanar(Height=14e-3,GroundPlaneLength=100e-3,...
GroundPlaneWidth=100e-3);
Use this antenna to create 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 Conductor: [1×1 metal] 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
function to generate gerber files from the antenna design files. Send the generated files to the Mayhew writer manufacturing service.
gerberWrite(PW)
The default folder containing the gerber files is named "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.
Version History
Introduced in R2017b
See Also
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)