Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

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. PCB antennas are described by a set of manufacturing files known as Gerber files. A Gerber file uses an ASCII vector format for 2-D binary images.

Creation

Syntax

b = PCBWriter(pcbstackobject)
b = PCBWriter(pcbstackobject,rfconnector)

Description

example

b = PCBWriter(pcbstackobject) creates a PCBWriter object that generates Gerber-format PCB design files based on a 2-D antenna design geometry using PCB stack.

example

b = PCBWriter(pcbstackobject,rfconnector) creates a customized PCB file using specified rfconnector type.

example

b = PCBWriter(pcbstackobject,writer) creates a customized PCB file using a specified PCB service, writer.

example

b = PCBWriter(pcbstackobject,rfconnector,writer) creates customised PCB file using specified PCB service and PCB connector type.

Input Arguments

expand all

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.

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

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

expand all

PCB Board definition of 2.5D antenna design, returned as an object.

Properties

expand all

Use default connector, specified as 0 or 1.

Example: a.UseDefaultConnector = 1, where a is a PCBWriter object.

Data Types: logical

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

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

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 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

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

Add solder mask to top and bottom of PCB, specified as 'both', 'top', 'bottom'.

Example: a.SolderMask = 'top', where a is a PCBWriter object.

Data Types: char

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

gerberWriteGenerate Gerber files

Examples

expand all

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: [1×1 struct]
                        Writer: [1×1 Gerber.Writer]
                     Connector: []
           UseDefaultConnector: 1
    ComponentBoundaryLineWidth: 8
         ComponentNameFontSize: []
            DesignInfoFontSize: []
                          Font: 'Arial'
                     PCBMargin: 5.0000e-04
                    Soldermask: 'both'
                   Solderpaste: 1

   See <a href="matlab:info(PW)">info</a> 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

   <a href="matlab:web('https://belfuse.com/resources/Johnson/drawings/dr-142-0711-202.pdf','-browser');">Cinch 142-0711-202</a> (<a href="matlab:web('https://www.digikey.com/product-detail/en/cinch-connectivity-solutions-johnson/142-0711-202/J10154TR-ND/3587681','-browser');">Example Purchase</a>)

Create an antenna PCB deisgn file using the connector.

PW = PCBWriter(p,c)
PW = 

  PCBWriter with properties:

                        Design: [1×1 struct]
                        Writer: [1×1 Gerber.Writer]
                     Connector: [1×1 PCBConnectors.SMA_Cinch]
           UseDefaultConnector: 0
    ComponentBoundaryLineWidth: 8
         ComponentNameFontSize: []
            DesignInfoFontSize: []
                          Font: 'Arial'
                     PCBMargin: 5.0000e-04
                    Soldermask: 'both'
                   Solderpaste: 1

   See <a href="matlab:info(PW)">info</a> 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 deisgn file using the above service.

PW = PCBWriter(p,s)
PW = 

  PCBWriter with properties:

                        Design: [1×1 struct]
                        Writer: [1×1 PCBServices.AdvancedCircuitsWriter]
                     Connector: []
           UseDefaultConnector: 1
    ComponentBoundaryLineWidth: 8
         ComponentNameFontSize: []
            DesignInfoFontSize: []
                          Font: 'Arial'
                     PCBMargin: 5.0000e-04
                    Soldermask: 'both'
                   Solderpaste: 1

   See <a href="matlab:info(PW)">info</a> 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]

Use an SMA_Cinch as an RF connector and Mayhew Writer as a 3-D viewer.

c = PCBConnectors.SMA_Cinch
s = PCBServices.MayhewWriter
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

   <a href="matlab:web('https://belfuse.com/resources/Johnson/drawings/dr-142-0711-202.pdf','-browser');">Cinch 142-0711-202</a> (<a href="matlab:web('https://www.digikey.com/product-detail/en/cinch-connectivity-solutions-johnson/142-0711-202/J10154TR-ND/3587681','-browser');">Example Purchase</a>)


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 <a href="matlab:info(PW)">info</a> 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.

Introduced in R2017b

Was this topic helpful?