5. Electronics production¶
CNC PCB and Soldering the component¶
Aims¶
I have a hate love relation with the electronics. I am very eager to learn about it. In fact it was one of the topics that made me to do the fabacademy in the first place. Despite of this eagerness, my knowledge of this field is zero. So this week have been very struggling.
To reduce this pressure for myself, I reduced my expectations and put my objectives to just learn the process of making a board and how to use the machines regardless of knowing learning the names of the components or knowing how the designs works. I know it is very dumb but I need to regulate the information flow into my tiny head! :))
Group assignment¶
The group assignment asked us to characterize the design rules for PCB production process that for me was very confusing on that point. But after we got to know about electronic design I understood the aim of this assignment. However, in my option it is very hard to separate these two from each other. So at the time we measured the limitation of the machine with 1/64 inch end mill.
As you can see in the image the distance between 2 trace cannot be smaller then 0.15 mm. Also the result for the thickness of the traces is failed be smaller then 0.08 mm.
Moreover it would be the best if you consider the current that will pass through this traces. For instance to have more thickness on the power lines and maybe less for data.
What is micro controller?¶
aside of complexity, microcontroller is a integrated circuit which has CPU (computation processor unit), memory and programmable memory (probably something similar to computer RAM).
This controller usually have been used in the input/output system without so much processing. like switch and relays.
how does it works?¶
So as many other electrical machine, this creatures also are very stupid and we have to tell them what they suppose to do. As a result, we have to program them for the specific tasks. Interesting but how we are gonna do that?
To my knowledge, this controller has limited amount of memory and processing power to handle an OS. Thus we need to upload the program in a compiled version (binary). Furthermore, we need to initiate the chips (boot loader) to understand that how to sore, run, and communicate.
why we need the programmer?¶
Until know we have an alien creature that we can communicate with it. cause we do not have any common language. therefore we need to create another creature which can understand our language and able to communicate with our microcontroller.
There are many farmwears and languages to communicate with these microcontrollers such as:
- FTDI(Future Technology Devices International)
- convert RS-232 and TTL serial transmissions to USB signals
- ISP / ICSP
- integrated system programming
Blindfullness¶
Since now, I do not care how this communication going to stablish but I now that I need this programmer in up coming weeks. all that I of my focus is on how to use mod to generate the file for high accuracy CNC machines. How run to setup and use the machines, also how to find the component in the lab, and at the end how to solder these tiny pieces.
mod¶
Thanks to all the other generations of fabacademy mod is really easy but a bit confusing tool which can generate the RML(Custom Gcode for SRM20) for these specific milling machines. I shared my steps below:
I have used FTDI board designs that has been done by Neil for this practice. You can find them in the following link.
Fig01-open a program in mod
Fig02-choosing the design for milling
Fig03-Set the tool and milling strategy
apart from the dimensions the most important part of this process is choosing the right strategy for the milling path according to your design. there are two options * climb * conventional
Fig04-Set the origin
Fig05-Calculation
If you want to put multiple board on a same stock this is the place to setup all Keep the jugging Z value 2mm to avoid extra traveling time If you are sending multiple files make sure the home position is not to far from your origin
Fig06-Export
Fig07-Trace that has been calculated in Mods
milling PCB¶
After preparing the files we are going to prepare the machine for the milling. First make sure that you prepare the file for the right machine. sounds stupide but better to check. here I am using SRM20.
Pick a stock and put the double side tap on it to keep it stable on the sacrifice board. Tip: Try to put the tap diagonally Also try not to touch the capper side of the PCB because it make the board dirty and rusty during the time. Align the PCB with one side of the machine bed so it would be easier to set the origin.
The milling bits are insanely thin and fragile keep extra caution while mounting it. After mounting the 1/64” bit on, move the machine in x and y direction to set the arbitrary zero for xy plan for your PCB board. Then bring the bit down and unscrew the bit from router and allow it to slid down on the board. Be extra careful to not drop the bit on the board after setting the Z zero. move the bit up and turn on the spindle and send the machine to Z origin to check if the machine will cut the board. After this test you move the machine up and upload the files for the tracing.
Fig01-Put the double side tap
Fig02-mount the PCB on board
Fig03-Zero the machine
Fig04-SRM-20 interface
Fig05-Cut the trace
Fig06-Some fails in cutting the outer shape
Fig07-Some fails in FTDI cutting trace.
I thought first it was because I used conventional cutting instead of climb. But even after re-doing it in climb and losing some traces, there are other parameters such level of the CNC bed or cleanness of the board surface can affect the production process. Also I believe that the Ft230xs footprint can be adjusted a bit so the thickness of the remaining trace would not be as small as it is now.
Fig08-Cutted boards
Components¶
seams very simple but it can be very confusing mostly when you have to convert the units to find the right component. Here I mention conversion for Capacitor and SMD resistor in case I need it.
Capacitor
PF = 1000000
nF = 1000
uF = 1
F = 0.000001
The best practice is to write the name of the component on a piece of paper and stick the components there. Because most of them are very small and would be easily lost.
Soldering¶
Pootch! looks very hard but I had a lot of fun. I was scared about this parts of the production. But I realized this is the most culm part it.
Fig01- Make it work any how tutorial
couple of tips:
-
start from inner and smaller component and go toward the outer bigger one
-
firs melt some trace on the copper then try to attach the component*
-
some component has a specific direction(diode, microcontroller, etc.)
Fig02- Starting the soldering
realizing that its not safe to have the camera close to the soldering iron!!
Fig03- Final result
Fig04- The board successfully connected to AVR MkII
programing ISP¶
I am not sure if I should doc it here or in embedded programming. However, since I did this to proof that my board is working I added here. For this I have used one of the past student documentation.
It was very hard process to flash the ISP programmer with windows OS. main problem was to install the frame ware for the AVR MkII so windows can recognize it as an external device. So I did every steps that was in the documentation but I was getting error when I was running make fuse
command. The error was saying that the usb device is not being recognize.
Then I realized I have to manually install the driver and then mention that this is a usb device so the windows can understand.
Fig01- Clean the previous make file
Fig02- Make hex file
Fig03- Make the fuse which took me a lot of time
Fig04- Flashing the ISP
Safety first¶
remember that you holding a very hot object with approximate temperature of 200-300 degree be extra careful. Keep the soldering iron always on its stand and do not forget to turn it off when you are not using it.
Final Project Contribution¶
For my final project I did 2 almost complex bard which I documented in the following link.
Class Note:
boot Loader
first time they are empty
experimenting with memory might eras the memory
Protocol to talk:
FTDI
micro controller and micro processor difference:
micro controller has integrated memory micro controller doing one tasks
micro processor out micro processor doing multiple things
integrated circuit computer
soldering: start form small component
some component has the orientation - micro controller look for a hint to find the orientation from the datasheet
- diod look for cathode and Anoud
soldering different power
PCB
why we need them?
PCB milling and bath
flex PCB not reliable
PCB CNC you isolating the cupper surface
Single side and double side connecting the different layers by ribbon
End-Mill
software for generating the g-Code for CNC
ISP
esp32 chip
ATtinyXX ATmega ATtiny