5. Electronics production¶
Group assignment¶
Individual assignment¶
For the this assigment i had to make a in circuit programmer, for the schematic i used the one from Ali
Week 05 - Electronics production
This week we had to make our own programmer, this is something i never had done. But the experience was mindblowing because i never tougth i could do this on my own.
PCB milling¶
Before you can mill you need a design, this was the schematic of ALI, i downloaded the picture with the traces for the board After the download i imported this in Inkscape. For the CNC to recognize the traces, you will have to do a “Trace bitmap” in Inkscape
- I used the Hello world board image with the traces
-
After importing the file in Inkscape, i did the “Trace bitmap”
-
With the several settings in Inscape you can make the traces biggger or smaller, this makes it much easier to work with
-
After the Trace bitmap, Inkscape creates a duplicate image, one is Bitmapped and the other is the original, i deleted the original and then exported the image as an SVG
The SVG can be imported into Flatcam
In WinPC-NC the parameters where set, Winpcnc is the software that works with the stepcraft. It is kind of buggy because sometimes it does it own thing (like plunge when it is not supposed to)
Parameters for milling the pcb:
- Cut z: -0,15mm.
- Travel z: 2,5mm.
- Feed rate: 0,5mm.
- Tool diameter: 0,4mm.
- Spindle speed: 10000 rpm.
Important are the following settingss these are set in the several Tabs from WinPC-NC
- invert z
- origin of coordinates
- go back to zero point at the end (otherwise you have to hit the emergency button)
These are several off the tabs that are set in WinPC-NC
Here is a collection of mills that we had for the milling
The fixing of the board is off course also important, to make sure the board does not move i fixed it to the sacrifial board with 2 sided tape. Personal safety is important, whenthe milling starts you have to where safety glasses
PCB soldering¶
Components list:
- Atiny 44
- 20mhz resonator
- 10k resistor
- 1k resistor
- 499 resistor
- 100 resistor
- 0 resistor
- 1uF capacitor
- 3.3V zener diode
- Usb connector
- 6x2 pin connector
- To solder it was important to have everything you need around you. Because soldering is not my thing, i started practizing at home.
-This is my set up at home, because i also need glasses i learned a magnifieng glas or microscope is good to check your objects After a couple of tests, i felt good enough to begin with the board
- At the lab i did my first board, important is to have a clean workspace when you start(not like home)
- Important is to set the parts that you need in an order, and solder from the inside out
- What helped me to set the order is to place the parts on the board in advance and then plan your soldering strategy
- and i started soldering
- This is the result after an hour work, i was very impressed with my self!! This result wanted me to do more and i did, because in the following days i started repairing electronics wich i normally would have thrown away.
Close up of the board, it was not the best soldering, but because i invest in soldering equipment i will be practicing at home more.
PCB programming¶
Arduino¶
I used Kali linux operating system on my laptop (i have a dual boot) to program the board To program the board you need to install the Avrdude and GCC you can do this with the following commands
- Open Terminal and type: sudo apt-get install flex byacc bison gcc libusb-dev avrdude
- Then type: sudo apt-get install gcc-avr
-
type “y” when asked to do so by your system
-
Then type: sudo apt-get install avr-libc
- Then type: sudo apt-get install libc6-dev
- I connected the ISP programmer trough the Arduino with my laptop.
- With the CLI (Command Line Interface) i programmed the board
- And i set the fuses to use the external clock.
- and finally programmed the board to be an ISP programmer
These are the steps
In CLI move to the firmware directory | cd Desktop/firmware |
To compile the firmware. | make clean |
The step before to set the fuses | make hex |
To set the fuses | make fuse |
Last step to program the ISP | make program |
With lsusb command in CLI, i saw the ISP as “Multiple Vendors USBTiny” So i know the OS recognizes the ISP programmer
What i learned is that a linux environmont is much better to program boards, because most of the software is open source and based on linux. I started with the ATMEL in an Windows environment but the ICE programmer we had got bricked. So instead of loosing time i decided to switch to Arduino and Linux.