How to Make a Printed Circuit Board (PCB)

From Advanced Projects Lab
Revision as of 13:02, 29 January 2019 by Aplstudent (talk | contribs) (Using KiCAD)
Jump to: navigation, search

Tutorial from the program creators can be found here. [1]

Using gEDA

Open the program gEDA Schematic Editor. (gschem)


Choose Components and Build the Circuit

Using the Add component menu (looks like a 2 pronged power cable) select the various electronic components that will be on your board.

Prong.png

The filter option in this menu allows you to quickly type the part in order to find it rather than searching through the menus. (ie. ground or resistor)

Add COmponent.png

Move the parts around similar to how they will be constructed on the board. This wont be the final layout, but make sure all necessary connections can be made. Then connect components by clicking the blue add nets mode button next to the add components button.

To de-select a component or a wire right click the mouse.

If you need to rotate or flip components for any reason, click on the component and then press er to rotate or ei to flip.

You can change the name and what is visible about the component by double clicking on it and changing the visibility settings and its attributes.

After the circuit is constructed and all connections are made correctly its time to add footprints to the components.

Circuit.png

Assign Footprints

Footprints provide the information about the physical specifications of each part in the circuit such as size, number of pins, pin size... ect.

Most common circuit parts (resistors, caps,...) have pre-made footprints available, speciality parts need to have their footprints designed and saved. Once a footprint is made and saved it can be used in the future.

To assign a footprint to a commonly used part, double click on the component. Towards the bottom of the menu, below add attribute, select the name drop down menu. When the menu drops down, select footprint. In the value box, this is where you'll enter the code for the specific footprint needed. Common codes and naming conventions can be found at this website, [2]

Edit Footprints.png

After the value is entered, click add. Again keep in mind you can choose to make this footprint name not visible on the diagram. To assign the same footprint to multiple components, click on another component before closing the edit attributes menu, and again click add. This will add the previously chosen footprint to the newly selected component.

Custom Footprints

To build a custom footprint open the program pcb designer. The Via button in the lower left portion of the side bar menu corresponds to pins. Click and drag these vias where physical pins will. This requires measuring and planning on the physical component. There is mil measurements in the top right corner to tell where the cursor is so that you can be precise about where the vias are placed. Now you can highlight the entire footprint and then press (control x) this cuts the design to buffer. Then under the buffer menu, click convert buffer to element. This will place this element on the screen. Now, click and copy that element, and under the buffer menu, click save buffer to file. Save into a directory that can be accessed by gschem. In gschem for the footprint id, use whatever file name you save the custom footprint as.

Transferring to PCB Designer

When all components have a footprint and when all needed connections are made you are ready to send this blueprint to the pcb designer program. Save your file at this time(in the same directory that the custom footprints are saved to). Now in the command line use the command gsch2pcb. Make sure you are in the directory where the .sch file is. For example this is what your command line should resemble with different file names and in a directory where your file is saved. (gsch2pcb -d ~/pcb-mylib/ BridedTeePCB_preamp.sch).

When done successfully, the command line will give directions to continue. I have listed them below.

1. Run pcb on your file ie. BridedTeePCB_preamp.pcb

2. From within PCB, select File -> Load layout data to paste buffer and select BridedTeePCB_preamp.new.pcb (this will be you files name) to load the new footprints into your existing layout.

3. From within PCB, select File -> Load netlist file and select BridedTeePCB_preamp.net to load the updated netlist.

4. From within PCB, enter :ExecuteFile(BridedTeePCB_preamp.cmd) to update the pin names of all footprints.

PCB Designer

The last exercise should have transferred the information about all the needed components and connections to the PCB program. In this PCB program you will move the components by dragging and dropping them to where they will physically go on the board. The yellow rat lines connecting components show the needed connections. When you move multiple components press the o button to optimize and re-position the rats nest. Clicking on the ROT button in the bottom left menu bar allows you to click on components to rotate them. Once all components are placed where they are physically going to be on the board (allowing for the needed connections to be made) you are ready to begin drawing the copper lines. Note, if rat lines intersect that is okay, they simply show where connections need to be made. However when laying out components be aware that copper drawn in lines should not intersect unless they are meant to.

To begin drawing in copper lines first click on route styles in the bottom left corner. From there you can change the line width to you desired amount. (127 mm gives a characteristic impedance of 50 ohms). After this is selected you can zoom in and our using the mouse wheel hovering the mouse over where you would like to zoom. This is helpful where trying to see exactly where copper lines are being drawn. Next click on one of the signal tabs in the top left corner. it should highlight grey. Then click LINE in the bottom of this menu. Click to start drawing, each time clicking to change directions. When done drawing hit escape. Name another tab with GND and click on it so that it turns grey. Then with the RECT button in the bottom left, cover the entire board with a ground plane if one is needed. Then to connect components to ground, click on the THRM button in the bottom left and click the pins that will be grounded.PCB Program.png

Printing the Transparency

After you are satisfied with the circuit make sure to save it and then go to file---> export and choose export to postscript. This provides a nice way to view each layer of the circuit before printing. Check the parody of the circuit layers in the exported postscript. If they need to be changed you can go back into the pcb program and after exporting to postscript, check the mirror option. Note, for print out transparencies you almost always want mirror selected, this is because the transparency is flipped and laid over the pcb before developing. Once you are satisfied with the post script diagrams open gimp photo editor and in gimp open the needed pages of the postscript (pgs 2 and 3 are the top and bottom). Import at 600 dpi (resolution). Print a transparency of this on a high resolution printer.

Cutting the Board

Measure the dimensions of the printed transparency, and mark these off on the physical undeveloped PCB. With a heavy duty cardstock cutter line up the PCB such that the usable portion hangs to the left of the blade. This will minimize splintering of the board when it is being cut. When ready to cut, slice the board with force in one continuous motion. With a cut PCB, slightly larger than the transparency, you are now ready to develop the board.

Developing the Board

Exposure times for the PCB vary depending on the exposure method. For instance, if you're working with a single sided board and plan to develop using the overhead florescent lights I recommend about 15 minutes of exposure. Before peeling off the tape and exposing the PCB, make sure to have a flat plate of glass such that you can lay the transparency over the peeled board and then lay the glass over the transparency so that it is flat against the PCB. It is helpful to dim the lights during this step to minimize exposure until ready. Once exposure begins do not move the board.

If you are building a double sided board, it will be a good idea to use a uva light chamber so that you can expose evenly on both sides. If you do not have one here is a link to construct one using leds. [3] Another method to expose a double sided board without a light chamber is to secure the transparency on both sides of the board and then expose each side individually for the same amount of time.

Expose long enough such that all of the uncovered copper goes away but not so much such that the protected copper goes away. Note exposure times in a UVA chamber will be much less than 15 mins.

Once the board is necessarily exposed, develop the board by swishing the board around in a solution of NaOH. This should be done until the exposed portions (where light was able to hit the board) are clean copper. There should still be traces where the copper will be on the final product.


Etching the PCB

After the PCB has been developed wash it in a bath of copper chloride with a eye dropper worth of hydrochloric acid. Making sure to continuously swish the board around in order for the reaction to take effect. Wear gloves for this process. Continue until all of the unwanted copper washes away. All that should be left is the copper protected by the traces that were cured on from the transparency. Neutralize the board with a base to stop the reaction. When Finished, rinse the board in acetone to get rid of the trace ink. All that should be left on the board now is the wanted copper traces. Wash board in water and dry off after.

Populating the PCB

Before components can be soldered into the board, the necessary holes need to be drilled. The PCB program should have included where these holes need to be, or if you made a custom footprint you designed them with the via button. Place the PCB in a drill press. The chosen drill bit should be slightly larger than the components pin hole such that it can be soldered in. For most common electronic components use a #60 carbide drill bit. Make sure the drill bit is carbide tipped so that in doesn't break when cutting through the fibreglass PCB. Also make sure to wear goggles for this process as there will be fibreglass shards. Drill out necessary holes. Keep the fibreglass shavings in a pile and after drilling is complete, vacuum them up. The electronic components are now ready to be soldered in.

Using KiCAD

Youtube Tutorial

For an in depth example and walk through, DigiKey's youtube series on KiCad found here demonstrates how to use most of KiCad's essential features. This tutorial prepares PCB schematics which are intended to be printed by a third part and not in the lab, so the tutorial will not provide any information about cutting and etching the PCB. For these steps, refer to the sections above.

Installing and Opening KiCad

A working version (as of 1/28/19) of KiCad exists on the "Hank" computer in the APL lab next to the Lathe, but if you want to use KiCad on your personal computer the software is free and can be downloaded here. This software uses multiple internal programs for the different aspects of PCB creation. After initially opening KiCad all the different programs you'll need to work with can be found in the "Tools" dropdown menu.

Eeschema

The first program you'll want to use is called Eeschema this is where you'll make your circuit diagram and can be opened by clicking Tools -> Run Eeschema in the startup KiCad menu. Eeschema is a way to digitally draw the circuit diagram and is really only used to establish how your components will be connected. This means while using Eeschema we don't need to worry about how the components will physically be placed on our PCB and we should only focus on making a correct circuit diagram.

In Eeschema we'll want to place different components and connect them with wires. To place a new component go to the "Place" dropdown menu and select "Component" to place a component. Then double click somewhere on the schematic to bring up a list of possible components. Different components will be filtered based on your search; resistors are labeled as "R" and capacitors are "C", but more specific components can be labeled by their model number. Once you have all your components down (including Vcc and GND) you'll want to connect everything with wires. To place wires go to the "Place" dropdown menu and select wire. Connect all your components appropriately and save the file.

At this point you'll begin assigning footprints to components. To do this, you'll click the red and green icon in the middle of the top toolbar labeled "Run CvPcb to associate components and footprints". Each component needs a footprint associated with it (the footprint contains the information about the physical location of pins/connections on the component, which is necessary for drilling holes in and soldering on the PCB). At this point you'll likely need to switch back and forth between Eeschema and the PCB footprint editor. The PCB footprint editor becomes necessary when KiCad doesn't contain the footprint for a given component and you can learn about how to make your own footprint in the Footprint section.

Once you have the "Run CvPcb to associate components and footprints" open you'll see three columns. The left column contains the different footprint libraries you can search. The middle column shows the different components which will all need to be associated. An unassociated component will look something like this:

1 P1 - CONN_01X02  :

while the associated component above will look like this:

1 P1 - CONN_01X02  : Pin_headers:Pin_Header_Straight_1x02

The component association is complete when every component in the middle column has the appropriate foot print assigned (as shown in the example above).

The right most column is where you can find the footprints to associate with the component. The selected component will be associated with a footprint by finding and double clicking the correct footprint on the right column. Finding the correct footprint can be difficult (especially because it might not exist in the current libraries), but there are a few tools which make this process easier. In the top toolbar the three most right icons (they are pictures of green and white components) that filter the results in the right column. The left most icon of the three filters the the list by keywords, the middle icon filters the list by pin count, and the right icon filters the list by the library selected. I find that the keyword filter is the most helpful. You can also bring up the footprint for any selected footprint in the right column by clicking the toolbar icon with a picture of a component under a magnifying glass (labeled as "View selected footprint". This is very helpful to double check that you've selected the correct foot print.

After you double check that all the footprints associated to all the components are correct, save your footprint associations (File -> Save Edits), and you're ready to begin designing the physical layout of your PCB. You can close the "Run CvPcb to associate components and footprints" window by clicking File -> Close, this will bring you back to Eeschema.

Footprint Editor

This section describes how to make a custom footprint and is only necessary if the component you are using doesn't have a footprint in the preexisting KiCad footprint library, i.e. you cannot find the footprint in the right column of the "Run CvPcb to associate components and footprints" window.

While creating your own footprint isn't necessary if you can find the footprint online, it is generally useful to understand how to make your own footprints. To open the Footprint Editor, return to the KiCad startup window and click Tools -> Run Footprint Editor. First, you'll want to create a new footprint so at the dropdown menu select File -> New Footprint and name you're footprint. There are specific footprint naming conventions established by the IPC which you can learn about here to create a consistent footprint library. Once you name your footprint, you can begin drawing your footprint details.