Week 5

Electronics Production

Objectives

Individual Assignment
Make an in-circuit programmer by milling and stuffing the PCB, and test it.

Group Assignment
Characterize the design rules for your PCB production process.
view page

Learning Outcomes
1) To understand the PCB milling machine and tool.
2) To get familier with SMD components.
3) Hands on soldering gun and hot air gun.
4) To understand the software installation part.
5) Test the FABISP.

Individual Assignment

This week Individual assignment is to make ans in-circuit programmer by milling and stuffing the PCB and testing it.


Milling Machine
The milling machine in our lab is ROLAND MDX 20, It can also be used as a desktop 3D scanning machine. It has got a maximum working area of 203.2mm x 152.4mm x 60.5mm.


In order to save the bed from wear & tear and for leveling the bed, a sacrificial layer of FR1 PCB is provided.


We also use a vacuum pump to suck the debris to keep the machine and the lab clean.



Milling Tool


There are two types of tools:
1) 1/64 tip - It is used for milling traces on the PCB, The tip size is 0.00156in or 1/64 of an inch
2) 1/32 tip - It is used for milling profiles and to cut holes, The tip size is 0.003125in or 1/32 of an inch
Both these tools have carbide tips.



Setting the Tool on Modella
First stick the copper board to be milled on to the bed using double-sided tape.


L-key is used for tightening the bit with the chuck.



To set the Z-value correctly , we can use multiple ways but the most efficient and easiest way i found is:
  • Raise the Z axis to the top
  • Release the chuck using the L-key
  • Insert the 1/64 inch milling bit a little more in to the chuck
  • tight the screw
  • Down the z axis close as possible to the bed
  • Unscrew the chuck and release the bit
  • Slightly press the bit close to the bed and tight the chuck screw
  • Done




Making the PCB

I used the brian board design, I followed the instructions from the link http://fab.cba.mit.edu/classes/863.16/doc/projects/ftsmin/index.html

First I downloaded the Traces drawing and Outline cutout drawing from the above link.




Then I exported the drawings to the MODS and gave it for milling. Always mill out the Traces first using the 1/64 bit and change the tool to 1/32 bit and position the tool to the same origin used for tracing.





MISTAKE
For our first trail as a group, We made a mistake by not placing the tool at the same origin used for tracing while performing the cutting operation. The result was a failure and the cutout was scraped. So it is important to remember the origin and to set the tool to the same origin after changing the tool while doing the PCB cutting.


For My first attempt, I uploaded the traces drawing into MODS, selected the tool and noted down the origin, And then I gave it for milling.




This time I encoutered a problem. The tracing wasn't even all around the PCB. This can be because of the uneveness on the table. So I changed the cut depth and max depth from 0.004in to 0.005in and gave it for milling.



After the second attempt, the milling wasn't proper at the bottom-left corner, so I changed the cut depth and max depth to 0.0065in and gave it for milling.


This time I got a perfectly milled PCB, I then changed the tool to 1/32 tip and selected the tool in MODS and set the origin same and gave it for milling






Soldering the Circuit

I reffered the Board file and schematic file for solderding the FAB ISP




The components used are as follows


The PCB after soldering all the components





Programming the Micro-Controller

For Programming I reffered the link http://fab.cba.mit.edu/classes/863.16/doc/tutorials/fabisp_programming/

First we need to install all necessary software for programming, which include "Avrdude" and "GCC"

To install these softwares in Ubuntu, Open the terminal and follow the steps :

step1: sudo apt-get install flex byacc bison gcc libusb-dev avrdude
step2: sudo apt-get install gcc-avr
step3: sudo apt-get install avr-libc
step4: sudo apt-get install libc6-dev


Now we need to download and unzip the firmware

To download and unzip the FABISP firmware, Open the terminal and follow the steps :

step1: cd ~/Desktop
step2: wget http://fab.cba.mit.edu/classes/863.16/doc/tutorials/fabisp_programming/fabISP_0.8.2_firmware.zip
step3: unzip fabISP_0.8.2_firmware.zip


My programmer cannot communicate with the computer directly, so I connected it to an already porgrammed programmer which can communicate with the computer and translates the messages to my programmer



ERROR

Avrdude failed to intialize

The "Makefile" in the downloaded firmware is set up to work with AVRISP2 by default, Since we are using Atiny45 this firmware wont work



So I downloaded and unziped another firmawre from http://github.com/Academany/FabAcademany-Resources/blob/master/files/firmware_45.zip

Programming

Now the AVR device got initialized and ready to run.


Follow thw steps to run the device:
step1: Go to the unziped firmware folder and open the terminal.
step2: type "make"
step3: type "make flash"
step4: type "make fuses"
step5: type "make rstdisbl"

Now the programmer is ready



The computer recognized my FABISP


Vinyl cutting of PCB
Copper vinyl sheet is using modella. Reffer Computer-controlled cutting week to know more about cutting using modella.





Laser cutting of PCB
I used the Fiber Laser for cutting the PCB. Reffer Computer-controlled cutting week to know more about laser cutting