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

elec prod fablab uae

parent 82b4634f
No related branches found
No related tags found
No related merge requests found
Pipeline #231527 passed
Showing with 159 additions and 70 deletions
Electronics production
======================
##### Week of 17 February 2021
#### [notes](http://academy.cba.mit.edu/classes/electronics_production/index.html) + [video](https://vimeo.com/513517157)
This week I made an in-circuit programmer- the FabISP.
FabISP
------
### THIS WEEK'S ASSIGNMENTS
1. Group assignment: characterize the design rules for your PCB production process
2. Individual assignment:
- make an in-circuit programmer that includes a microcontroller
- by milling and stuffing the PCB, test it,
- then optionally try other PCB processes
### Making toolpaths
### Objectives
To produce a PCB using one or more manufacturing processes
To solder components and test the board
To program the PCB to become a programmer
I downloaded the png files for the traces and the interior. I used [FabModules](http://fabmodules.org/) to create toolpaths.
#### Introduction
This week is about learning to fabricate a PCB, not necessarily design it. There a some different options of in-system programmers in the [FabAcademy notes](http://academy.cba.mit.edu/classes/embedded_programming/index.html#programmers). In the AVR family, there are boards based on the the ATtiny45, ATtiny44 and ATmega16U2.
I review all options, and decide to make the ISP based on [Brian's design](http://fab.cba.mit.edu/classes/863.16/doc/projects/ftsmin/index.html#check) because it seemed simple and straight-forward. It is called the FabTinyISP.
![traces](http://academy.cba.mit.edu/classes/embedded_programming/hello.ISP.44.traces.png)
I used the facilities in FabLab UAE to fabricate the ISP. I used the Roland SRM-20.
![Roland SRM-20](./images/ep/rolandsrm20.jpg)
I use a double sided FR1 board to mill the ISP, because the lab is out of stock of single-sided ones that are not locally available.
#### Traces
An in-system programmer is basically a...
The major settings for cutting traces: Input image as **.png**
Output file as **.rml**
Output file as **.rml**
Machine: **Roland SRM-20**
Speed: **3.5mm/s** as I was using a new endmill
Origin X,Y,Z as **0,0,0** to match the origin set in the machine locally
Tool diameter **1/64"**
Offset paths **4**, to clean area around the traces but not very time consuming
Overlap **50%**, Overlapping the tool paths by 50% of the tool diameter
Cut depth **0.1mm** to clean the top copper layer through it's thickness
![trace toolpath](./images/ep/toolpath.jpg)
![interior](http://academy.cba.mit.edu/classes/embedded_programming/hello.ISP.44.interior.png)
#### Interior
#### PCB fabrication Workflow
First step is to download the design files for the traces and the outline of FabTinyISP from [Brian's documentation page](http://fab.cba.mit.edu/classes/863.16/doc/projects/ftsmin/index.html#check).
The traces are the thin pipelines that connect the footprints of components.
![](http://fab.cba.mit.edu/classes/863.16/doc/projects/ftsmin/fts_mini_traces.png)
Settings for cutting the outline:
Input image as **.png**
Output file as **.rml**
Machine: Roland **SRM-20**
Speed: **0.5mm/s**
Material depth **1.7mm**, equal to the one-sided FR1 board used
Cut depth **0.5mm**, cuts the outline 4 times going 0.5mm deeper with every loop
Origin X,Y,Z as **0,0,0** to match the origin set in the machine locally and match the traces file
Tool diameter **1/32"**
Offset paths **1**, to cut the board from the material
The outline is the outer boundary to be cut. Sometimes it also includes through-holes to be made in the PCBs.
![](http://fab.cba.mit.edu/classes/863.16/doc/projects/ftsmin/fts_mini_cut.png)
### Milling the board
It is important to note that both these images are at 1000 dpi resolution in png format.
Cleaned a small piece of one-sided FR1 board with rubbing alcohol.
Stuck it using a double-sided tape on an MDF base we have pre-installed at the lab, that is levelled periodically.
Installed a 1/64" tool
Set the X and Y origin on the bottom left corner of the board.
Brought the Z really close to the top of the surface. Loosened the collet and let the bit touch the surface completely. Set the Z origin here.
Lifted the Z, loaded the rml traces file and start cutting. Everything seemed fine. I could see the tool cut though the copper. It took about 15 minutes to cut the whole file.
Later, I lifted the Z, changed the tool to the 1/32" endmill to cut the interior file. I set the Z origin again exactly as before. Keeping in mind not to change the X and Y origin. Started cutting the file. Got it done on the first try. I unattached the board using a scraper.
![trace toolpath](./images/ep/traces.jpg)
![trace toolpath](./images/ep/interior.jpg)
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.
### Soldering Components
I first use Mods.
![mods.traces](./images/ep/mods.traces.jpg)
![mods.outline](./images/ep/mods.outlines.jpg)
#### Gathering Components
But it shows me unclear toolpaths with default settings, for both the traces and the outlines.
![mods.traces](./images/ep/mods.traces.error.jpg)
![mods.outline](./images/ep/mods.outlines.error.jpg)
Edu showed us the best way to do this was to make a shopping list, collect components and stick them on using tape. Later, we update the inventory sheet to keep count in the lab.
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.
A list of all the needed components:
1 x ATtiny44 (Ict44)
1 x 6-pin(2x3) header (J1 ISP)
1 x MiniUSB header (J2 USB)
1 x 20MHz Crystal (20MHz)
1 x 1uF Capacitor (C1)
2 x 10pF Capacitor (C2,C3)
2 x 3.3v Zener Diodes (D1,D2)
1 x 1kΩ Resistor (R1)
1 x 499Ω resistor (R2)
1 x 100Ω resistor (R3,R4)
1 x 10kΩ resistor (R5)
2 x 0Ω Resistor (SJ1, SJ2)
![Gathering components](./images/ep/shoppinglist.jpg)
Thse are the steps for FabModules:
- Select **input format: png** (same as the file downloaded)
- Select the traces file from your directory
- The input section on the rights shows the meta info of the image. Check the resolution is **1000 dpi** and the overall size. The - image is 1:1 so the PCB will be the same size as mentioned here.
- Select **output format: rml** (depends on the machine you use; Roland machines use rml)
- Select **machine** from the dropdown: **SRM-20** (I'm using this at the lab)
- **Speed: 4 mm/s** Standard speed used with a 1/64in endmill
- **x0, y0, z0** all **0** this makes the cutting start exactly where you set the origin on the machine
- **zjog: 2 mm** is the distance the endmill travels in z direction when it lifts up to move in the air to another xy coordinate
- **xhome, yhome, zhome** are the coordinates the endmill moves to at the end of the job, i leave this empty so it take the default - value of the machine.
- Select **process: PCB traces (1/64)** this basically fills in default values for the standard trace milling process
- **Direction: climb** here is a diagram that explains climb vs conventional cutting
- **Cut depth: 0.1mm** to cut through the upper layer of the FR1 boards
- **Tool diameter: 0.4 mm** (=1/64 in)
- **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
#### The solding set-up
![fabmodules](./images/ep/fabmodules.gif)
Tools that I need to solder the components on the board: A schematic diagram that shows what components goes where.
![schematic](http://academy.cba.mit.edu/classes/embedded_programming/hello.ISP.44.png)
The components, gathered on the list. A soldering iron - I used a Weller WES51 with temperature control. Set it to 750F, not too hot, not too slow. A wet sponge, to clean the tip of the iron. Solder wire, Kester without a flux co. A anti-static curved tweezer to place down components accurately. A copper braid for desoldering excess solder. A table-top light, a silicon base to hold the board stationary, and a fan to remove fumes.
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:
2. Select the outline file from your directory
10. Select **process: PCB outline (1/32)** because outline is milled with a different endmill
12. **Cut depth: 0.6mm** keep this a bit smaller than the tool diameter, so it doesn't break the bit
13. **Tool diameter: 0.8 mm** (=1/32 in)
14. **Stock thickness: 1.7 mm** Thickness of the FR1 stock measured with a calliper
15. **Number of offsets: 1** The outline can be cut with just 1 path around the board
#### Soldering order
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.
I started from the complex to the simple, then top to bottom. I soldered the microcontroller first, matched the orientation from from the data sheet. Second, I soldered the MiniUSB, since, it had very tiny trace connections. The zener diodes, have polarities. i soldered them next. Oscar taught me how the way to remember their direction, the electric symbol has a line that corresponds to the Cathode. Similarly, the component is marked with a line in its cathode side. Polarity symbol The rest of the components don't have any polarities, so I soldered them from top to bottom inside-out in this order: R1>R2>R3>R4>SJ2>20MHz>C2>C3>SJ1>R5>C1 and the J1 header in the end, because it had comparatively larger feet.
![outline.toolpath](./images/ep/toolpath.outline.jpg)
#### Checking connections
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.
I visually checked the board under a lens to check no traces or solders touched each other. Then using a multimeter setting with no resistance, I connected all pin legs to where the traces connected using the schematic diagram. And checked that all beeped, suggesting there was no short. I cleaned the board again, using some rubbing alcohol. This is how my finished board looks: ![Soldering components](./images/ep/finished.jpg)
SRM-20 can be controlled with a V-panel.
![v-panel](./images/ep/vpanel.PNG)
#### Testing the board
[steps](http://archive.fabacademy.org/archives/2017/fablabverket/students/100/web/assignments/week4/index.html#programming) [or these](http://archive.fabacademy.org/archives/2017/fablabverket/students/100/web/assignments/week4/index.html#programming)
Electronics production
======================
This week I made an in-circuit programmer- the FabISP.
FabISP
------
### Making toolpaths
I downloaded the png files for the traces and the interior. I used [FabModules](http://fabmodules.org/) to create toolpaths.
![traces](http://academy.cba.mit.edu/classes/embedded_programming/hello.ISP.44.traces.png)
#### Traces
The major settings for cutting traces: Input image as **.png**
Output file as **.rml**
Output file as **.rml**
Machine: **Roland SRM-20**
Speed: **3.5mm/s** as I was using a new endmill
Origin X,Y,Z as **0,0,0** to match the origin set in the machine locally
Tool diameter **1/64"**
Offset paths **4**, to clean area around the traces but not very time consuming
Overlap **50%**, Overlapping the tool paths by 50% of the tool diameter
Cut depth **0.1mm** to clean the top copper layer through it's thickness
![trace toolpath](./images/ep/toolpath.jpg)
![interior](http://academy.cba.mit.edu/classes/embedded_programming/hello.ISP.44.interior.png)
#### Interior
Settings for cutting the outline:
Input image as **.png**
Output file as **.rml**
Machine: Roland **SRM-20**
Speed: **0.5mm/s**
Material depth **1.7mm**, equal to the one-sided FR1 board used
Cut depth **0.5mm**, cuts the outline 4 times going 0.5mm deeper with every loop
Origin X,Y,Z as **0,0,0** to match the origin set in the machine locally and match the traces file
Tool diameter **1/32"**
Offset paths **1**, to cut the board from the material
### Milling the board
Cleaned a small piece of one-sided FR1 board with rubbing alcohol.
Stuck it using a double-sided tape on an MDF base we have pre-installed at the lab, that is levelled periodically.
Installed a 1/64" tool
Set the X and Y origin on the bottom left corner of the board.
Brought the Z really close to the top of the surface. Loosened the collet and let the bit touch the surface completely. Set the Z origin here.
Lifted the Z, loaded the rml traces file and start cutting. Everything seemed fine. I could see the tool cut though the copper. It took about 15 minutes to cut the whole file.
Later, I lifted the Z, changed the tool to the 1/32" endmill to cut the interior file. I set the Z origin again exactly as before. Keeping in mind not to change the X and Y origin. Started cutting the file. Got it done on the first try. I unattached the board using a scraper.
![trace toolpath](./images/ep/traces.jpg)
![trace toolpath](./images/ep/interior.jpg)
### Soldering Components
#### Gathering Components
Edu showed us the best way to do this was to make a shopping list, collect components and stick them on using tape. Later, we update the inventory sheet to keep count in the lab.
A list of all the needed components:
1 x ATtiny44 (Ict44)
1 x 6-pin(2x3) header (J1 ISP)
1 x MiniUSB header (J2 USB)
1 x 20MHz Crystal (20MHz)
1 x 1uF Capacitor (C1)
2 x 10pF Capacitor (C2,C3)
2 x 3.3v Zener Diodes (D1,D2)
1 x 1kΩ Resistor (R1)
1 x 499Ω resistor (R2)
1 x 100Ω resistor (R3,R4)
1 x 10kΩ resistor (R5)
2 x 0Ω Resistor (SJ1, SJ2)
![Gathering components](./images/ep/shoppinglist.jpg)
#### The solding set-up
Tools that I need to solder the components on the board: A schematic diagram that shows what components goes where.
![schematic](http://academy.cba.mit.edu/classes/embedded_programming/hello.ISP.44.png)
The components, gathered on the list. A soldering iron - I used a Weller WES51 with temperature control. Set it to 750F, not too hot, not too slow. A wet sponge, to clean the tip of the iron. Solder wire, Kester without a flux co. A anti-static curved tweezer to place down components accurately. A copper braid for desoldering excess solder. A table-top light, a silicon base to hold the board stationary, and a fan to remove fumes.
#### Soldering order
I started from the complex to the simple, then top to bottom. I soldered the microcontroller first, matched the orientation from from the data sheet. Second, I soldered the MiniUSB, since, it had very tiny trace connections. The zener diodes, have polarities. i soldered them next. Oscar taught me how the way to remember their direction, the electric symbol has a line that corresponds to the Cathode. Similarly, the component is marked with a line in its cathode side. Polarity symbol The rest of the components don't have any polarities, so I soldered them from top to bottom inside-out in this order: R1>R2>R3>R4>SJ2>20MHz>C2>C3>SJ1>R5>C1 and the J1 header in the end, because it had comparatively larger feet.
#### Checking connections
I visually checked the board under a lens to check no traces or solders touched each other. Then using a multimeter setting with no resistance, I connected all pin legs to where the traces connected using the schematic diagram. And checked that all beeped, suggesting there was no short. I cleaned the board again, using some rubbing alcohol. This is how my finished board looks: ![Soldering components](./images/ep/finished.jpg)
#### Testing the board
[steps](http://archive.fabacademy.org/archives/2017/fablabverket/students/100/web/assignments/week4/index.html#programming) [or these](http://archive.fabacademy.org/archives/2017/fablabverket/students/100/web/assignments/week4/index.html#programming)
docs/images/ep/fabmodules.gif

358 KiB

docs/images/ep/mods.outlines.error.jpg

64 KiB

docs/images/ep/mods.outlines.jpg

395 KiB

docs/images/ep/mods.traces.error.jpg

198 KiB

docs/images/ep/mods.traces.jpg

309 KiB

docs/images/ep/toolpath.outline.jpg

31.5 KiB

docs/images/ep/vpanel.PNG

118 KiB

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