Skip to content
Snippets Groups Projects
Commit 766a11ea authored by Mitalee Parikh's avatar Mitalee Parikh
Browse files

fix links

parent 26aae0e2
No related branches found
No related tags found
No related merge requests found
Pipeline #245129 passed
#Electronics Production
This week is about learning to fabricate a PCB, not necessarily design it.
This week is about learning how to fabricate a PCB.
### Page Summary
1. Summary
......@@ -40,12 +40,12 @@ It is important to note that both these images are at 1000 dpi resolution in png
Next, these png images need to be converted to tool-paths for CNC machines to follow. [Fabmodules](http://fabmodules.org/) and [Mods](http://mods.cba.mit.edu/) both, developed by the Fab community can be used to make the tool-paths. They run in the browser.
I first use Mods.
<img src="./images/ep/mods.traces.jpg" alt="mods.traces" width="600"/>
<img src="./images/ep/mods.outlines.jpg" alt="mods.outline" width="600"/>
![](./images/ep/mods.traces.jpg)
![](./images/ep/mods.outlines.jpg)
But it shows me unclear toolpaths with default settings, for both the traces and the outlines. With random dots being detected around the traces.
<img src="./images/ep/mods.traces.error.jpg" alt="mods.traces.error" width="600"/>
<img src="./images/ep/mods.outlines.error.jpg" alt="mods.outline.error" width="600"/>
But it shows me unclear toolpaths with default settings, for both the traces and the outlines. With random dots being detected arounf the traces.
![mods.traces](./images/ep/mods.traces.error.jpg)
![mods.outline](./images/ep/mods.outlines.error.jpg)
I'm not sure why these errors occured. I try using FabModules with the same files and same settings. And it works perfectly. So I guess Mods has a different way to read these files.
......@@ -66,7 +66,7 @@ I'm not sure why these errors occured. I try using FabModules with the same file
- **Number of offsets: 4** this is the number of paths around the traces, if its too little soldering components is difficult, if it - too much, it takes a long time to mill, 4 is just enough (-1 to remove everything completely)
- **Offset overlap: 50%** The overlap between two paths, to ensure no material is left with error
<img src="./images/ep/fabmodules.gif" alt="fabmodules" width="600"/>
![fabmodules](./images/ep/fabmodules.gif)
With these settings, I **calculate** the toolpaths for the traces and **save** the rml file.
Making the outline has the same process except the following changes:
......@@ -79,26 +79,26 @@ Making the outline has the same process except the following changes:
Since the cut depth is 0.6, to cut through the 1.7 mm stock, it will run the path 3 times till it cuts through the entire thickness of the stock. This can be seen when you **calculate** the toolpath.
<img src="./images/ep/toolpath.outline.jpg" alt="outline.toolpath" width="600"/>
![outline.toolpath](./images/ep/toolpath.outline.jpg)
Here are the toolpath files for [traces](./images/ep/mitalee-fts_mini_cut.rml) and [outline](./images/ep/mitalee-fts_mini_traces.rml).
### Milling the board
After saving the toolpaths, next step is to prep the machine for milling.
On the left bottom corner, fix the FR1 board with a double-sided adhesive tape.
<img src="./images/ep/stock.jpg" alt="stock" width="400"/>
![stock](./images/ep/stock.jpg)
SRM-20 can be controlled with a V-panel.
<img src="./images/ep/vpanel.PNG" alt="v-panel" width="400"/>
![v-panel](./images/ep/vpanel.PNG)
Using the XY and Z settings in the centre of the panel, move the Z to maximum to make space for fixing an endmill manually. Loosen the collet with a hex-key, insert the 1/64in endmill and tighten it snugly.
<img src="./images/ep/164bit.jpg" alt="endmill" width="400"/>
![endmill](./images/ep/164bit.jpg)
Next move the XY to where you want to define the origin point. The origin is at the left bottom of the file. So pick a spot close to the left bottom corner of the board. Bring Z close to the surface using 100x and 10x steps. When it is just above the stock but not touching it, loosen the collet while holding the bit, lit it gently fall on the stock and still while holding the bit in one hand tighten it with the other. This is one way to ensure a proper Z origin on the top of the stock surface.
Now, on the v-panel set the XY origin and the Z origin here. Since we've adjusted the feeds and speeds in FabModules already, we do not change them here. Select **cut** and then on the pop-up window clear all files in the output file list before adding the traces rml.
Select the traces file and hit **output** after closing the lid of the machine.
<img src="./images/ep/outputfilelist.PNG" alt="output file" width="400"/>
![output file](./images/ep/outputfilelist.PNG)
The spindle will now start and run the toolpaths. The v-panl allows to **pause** the file, **view** to check if the cutting is alright, and then **resume** after. Doing this in the beginning of the cutting helps save time in case of improper settings.
......@@ -106,48 +106,47 @@ Here is how the machine should sound while cutting correctly.
<iframe width="688" height="387" src="https://www.youtube.com/embed/vMZBs6vXaPI" frameborder="0" allow="accelerometer; autoplay;
encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>
<img src="./images/ep/cut.traces.jpg" alt="cut.traces" width="400"/>
![](./images/ep/cut.traces.jpg)
After the job finishes, move the Z maximum again and change the endmill to a 1/32in for cutting the outline. Use the same process as above and set a new Z origin. Do not change the XY origin this time, as it needs to match the previous job. Upload the outline rml to the output file list and start cutting.
This is how the cut result looks at the end of both jobs.
<img src="./images/ep/cut.outline.jpg" alt="cut.outline" width="400"/>
![](./images/ep/cut.outline.jpg)
I used a slotted screwdriver to remove the ISP from the machine bed.
<img src="./images/ep/removeboard.jpg" alt="remove.board" width="400"/>
![](./images/ep/removeboard.jpg)
Next, I removed the copper layer near the usb side of the board with a cutting knife and cleaned up small bits and pieces of copper.
<img src="./images/ep/removecopper.jpg" alt="remove.copper" width="400"/>
![](./images/ep/removecopper.jpg)
3. Assembling the board
---
### Soldering Components
I make a list of components according to the Brian's documentation, and gather all components from the FabLab stocking shelves.
<img src="./images/ep/shoppinglist.jpg" alt="shopping list" width="400"/>
I make a list of components according to the Brian's documentation, and gather all components from the FabLab stocking shelves.
![shopping list](./images/ep/shoppinglist.jpg)
Next, I prep the workbench at the lab with a soldering iron, solder wire, fume extractor, tweezers, desolder braid, soldering stand, and a vacuum pen.
<img src="./images/ep/solderingsetup.jpg" alt="soldering setup" width="400"/>
<img src="./images/ep/tools.jpg" alt="tools" width="400"/>
Next, I prep the workbench at the lab with a soldering iron, solder wire, fume extractor, tweezers, desolder braid, soldering stand, and a vacuum pen.
![soldering setup](./images/ep/solderingsetup.jpg)
![tools](./images/ep/tools.jpg)
Next, using the reference image and the schematic to locate where each component goes.
<img src="./images/ep/schematic.jpg" alt="schematic" width="400"/>
Next, using the reference image and the schematic to locate where each component goes.
![](./images/ep/schematic.jpg)
I start soldering from left to right top to bottom - starting from the microcontroller > diodes > resistors > capacitor > LEDs and finally the header.
This is how the board looks like:
<img src="./images/ep/soldered.board.jpg" alt="soldering setup" width="400"/>
This is how the board looks like:
![soldering setup](./images/ep/soldered.board.jpg)
4. Testing and programming
---
### Checking the board
First I inspected the board visually to check if all the traces were clear from solder bits and all the connections were clean. I also checked if all components were soldered on the correct footprints and in the correct orientation.
<img src="./images/ep/tested.jpg" alt="tested" width="400"/>
First I inspected the board visually to check if all the traces were clear from solder bits and all the connections were clean. I also checked if all components were soldered on the correct footprints and in the correct orientation.
![](./images/ep/tested.jpg)
Next, I use a multimeter to check the resistance across resistors and voltage across VCC and GND. Everything seems alright.
<img src="./images/ep/multimeter.test.jpg" alt="multimeter.test" width="400"/>
![](./images/ep/multimeter.test.jpg)
Next, I make assemble a ribbon cable, 6 thin cables connected side by side with female headers at both ends. Trick is to keep booth ends in the same orientation to correct and quickly attach the headers. After presseing them lightly, I used a mallet to fix them properly.
<img src="./images/ep/ribboncable.jpg" alt="ribboncable" width="400"/>
Next, I make assemble a ribbon cable, 6 thin cables connected side by side with female headers at both ends. Trick is to keep booth ends in the same orientation to correct and quickly attach the headers. After presseing them lightly, I used a mallet to fix them properly.
![](./images/ep/ribboncable.jpg)
### Installing software packages
To program the board, there are steps you need to follow to install the development environment first. I follow them from [this tutorial](http://fab.academany.org/2020/labs/uae/students/fatima-alhashmi/week5/week5.html) and [this guide](./images/ep/avr_steps.pdf).
......@@ -156,16 +155,15 @@ Installed [homebrew](https://brew.sh/) package manager. In a terminal window pas
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
</code>
<img src="./images/ep/homebrew.jpg" alt="homebrew" width="400"/>
![](./images/ep/homebrew.jpg)
It asked for sudo access, I typed in my computer password.
<img src="./images/ep/password.jpg" alt="password" width="400"/>
![](./images/ep/password.jpg)
It started installing
<img src="./images/ep/installing.jpg" alt="installing" width="400"/>
![](./images/ep/installing.jpg)
But half way through I got an error:
<img src="./images/ep/error.jpg" alt="error" width="400"/>
![](./images/ep/error.jpg)
I typed in the command that the error suggested:
<code>
......@@ -173,27 +171,26 @@ I typed in the command that the error suggested:
</code>
This solved the error. I reinstalled Homebrew.
<img src="./images/ep/reinstalling.jpg" alt="reinstalling" width="400"/>
<img src="./images/ep/installing.again.jpg" alt="installing.again" width="400"/>
![](./images/ep/reinstalling.jpg)
![](./images/ep/installing.again.jpg)
Next, install brew tap
<code>
brew tap osx-cross/avr
</code>
<img src="./images/ep/brew.tap.jpg" alt="brew.tap" width="400"/>
![](./images/ep/brew.tap.jpg)
Install- brew install binutils
<code>
brew install binutils
</code>
<img src="./images/ep/binutils.jpg" alt="binutils" width="400"/>
![](./images/ep/binutils.jpg)
brew install gcc
<code>
brew install gcc
</code>
<img src="./images/ep/gcc.jpg" alt="gcc" width="400"/>
![](./images/ep/gcc.jpg)
<code>
brew tap osx-cross/avr && brew install avr-gcc
......@@ -202,7 +199,6 @@ brew install gcc
<code>
Brew install avrdude
</code>
![](./images/ep/avrdude.jpg)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment