electric production
1.Aim
Learn how to make an in-circuit programer:
- Set the milling trace onfabmodules;
- Milling the PCB;
- Thermal transfer and chemcial reaction method to make PCB board
- Solder component;
- Program the boad
2. Basic knowledge
PCB materials
- rigid: FR4 (epoxy glass),FR1 (phenolic paper)
- flex: Kapton,epoxy film,copper tape
- high-frequency:teflon,glass
Copper
- 0.5 oz: 17.5 um
- 1.0 oz: 35 um
- 2.0 oz: 70 um
3. Prepare
3.1.data
Trace.png is used to make the trace of PCB board
Outline.png is used to cut the PCB board to make sure it separate from board material
3.2 BOM
I will use the following components to solder the PCB
Name | quantity | mark |
---|---|---|
ATtiny45 | 1 | U1 |
resistors (1kΩ) | 2 | R1, R6 |
resistors (499Ω) | 2 | R2, R5 |
resistors (49Ω) | 2 | R3, R4 |
zener diodes(3.3v) | 2 | D1, D2 |
LED(red) | 1 | D4 |
LED(green) | 1 | D3 |
capacitor(100NF) | 1 | C1 |
pin header | 1 | 2*3 |
pin header | 1 | J1 |
3.3 Equipment
monoFab SRM-20 Desktop Milling Machine is a small milling machine,and it can fit our basic need in production of realistic parts and prototypes.It use Roland VPanel controller SRM-20 which can feed rate, spindle speed and milling on a complete X, Y, Z axes,etc
Solder: I use electric soldering iron to connect trace and component.
- Power control is used to control the temperature of solder during switch the temperature control button, normal the temperature would be about 250-270℃
- Solder is used to connect component with the help of tin
- Tin line is the main material and used to solder the compoents
- Solder paster will give help during soldering
- Solder sucker is used to suck tin material which is too much
- Tin absorption is the same function with solder suck
4.Practice
4.1 Choice data
I mention the data in "3.1.data", this is a board called"FABISP"
The FabISP is an in-system programmer for AVR microcontrollers, designed for production within a FabLab. That is, it allows you to program the microcontrollers on other boards you make, using nothing but a USB cable and 6-pin IDC to 6-pin IDC cable. It’s based on the USBtiny and V-USB firmwares, which allow the ATtiny44 to perform USB communication in software. Programming can be done through avrdude.
I prepare the black and white PNG files (traces+cut),A high resolution (1000dpi) black and white image generated by an electronic design software is needed to mill the board. In addition, any gap between the traces must be larger than the size of the end mill (0,4mm).
4.2 Translate to milling machine language
I do this work onfabmodules.org.This is a page desgin by FABlab, which can calculate the trace of PCB milling machine.
Step1:Input
Optional: add your name or a symbol on the PNG using a graphic design software Use www.fabmodules.org to generate the toolpaths Mill the board on the Roland SRM20 milling machine Collect the necessary components and solder them on the board Upload the firmware using another FabISP Desolder the jumper connection
Open fabmodules.orgpage and import png data
Step2:Output format
According to our machine (SRM-20 Desktop Milling Machine),we choice Roland mill( . rml ). In the meantime, we can find the basic size information about the board
Step3:Process
In this time I choice 1/64 milling cutter to make the PCB trace; During cut the outline, I USE 1/32 milling cutter to process. Then I need to set the parameter of milling machine
Step4:analysis and save
We can use mouse to rotate and zoom the result to check if there are any problem.
If there are some problem, we can come back to optimize the parameter.
If it it OK, we can choice save and then we can get . rml
format data
Step5: get outline data
I choice the outline file and then set the parameter.The set of parameter is similar with the above "trace process". The main different is the following:
- Cutter:from 1/64 to 1/32
- Cut depth from 0.16 to 0.6(0.6 i a little bigger than the thickness of board)
4.3 Machine operation
4.4Clean the PCB
4.5 Solder
Reference "3.2 BOM" Solder the components according to the Schematic
4.6 Check
In this step, I use multimeter to check the circuit with the help of Schematic. The aim of this step is to make sure it connect write.
4.7 Method 2 :Thermal transfer
In addition the above process, I also try to use thermal transfer and chemical reaction method to make the board.
5. Program
5.1 Arduino ISP
Now I need to load ArduinoISP and update it to Arduino. The function of this step is to make the board as ArduinoISP and then program my FABISP board.
5.2 Connection
I connect the wire according the following
New board | Arduino |
---|---|
slave reset | 10 |
MOSI | 11 |
MISO | 12 |
SCK | 13 |
VCC | VCC |
GND | GND |
connect a 10 uF capacitor between RESET and GND. The FabISP connect to the another USB power to provide the electric power
5.3 Code
- Unzip firmware file
- Using Terminal on Mac navigate to the folder where the firmware is contained
it will be something like this
cd user/desktop/fts_firmware_bdm_v1
- now make sure my boards are properly connected and run the following commands one after the other:
make (a file named fts_firmware.hex is created in the folder) make flash make fuses
Could not find USBtiny device (0x1781/0xc9f)
Discussing
I have make three boards. but I have similar problem in programing the board. So I discuss with the problem with my Instructor and Brian Mayton.The following is the reply from Brain. So I check the board and edit the makefile again. But it still fail
I would need help.