5. Electronics production¶
This week I learned how to use the machine to create own PCB board and program to install ISP into the circuit.
One of the main purposes of our group work was to check actual offset value of driling. It was similar to week 4. Knowing actual offsset value is important because the value relevarent to the designed sizes of path on the PCB boards. Moreover, we should learn how to use the driling machine by the correct procedures.
First of all, we downloaded the subject PNG file to dril from the instructor’s web page.
The PNG file was set and inported to the computer connected to the driling machine. The computer has a special software, called “Fabmodule”, to set parameters for driling, so we used it.
The correct procedures tot use the driling machine in Fabalab Kannai are following ways.
- Remove four screws attached at four corners and dispatch the base.
- Press “View” to let movable part move to desired positions.
- On the Fabmodule, set x0 and y0 position (zo shoule be 0) and press “move to xyz0”.
- Set dril on the movable part.
- By pressing “UP” and “Down” bottons, move the dril along z axis direction.
- Loosen a screw attached to the dril and let the drill bit touch the base.
- Screw again.
Sometimes the property server of Ubuntu in the laptop to use fabmodule is down. In that case, we should open terminal display and type “cd fabmodule” and “npm start”.
After completing setting hardwares, we set parameters to drill.
First of all, we set cut_depth by “0.4” and the product was shown below picture.
However, it looked like that there were still areas that could not be drilled perfectly. From this result, We assumed the base might tilt a little. Then, we put board at center of the base and tried again. The result was shown like this
It sounded great ! So, we used this product to measure differences between actual and designed path sizes. From the results of measuring, we defined the value of offset was 0.2 mm. Parameters to drill are shown below.
From the result of group work, I worked for my individual assignment.
Creating PCB board¶
One of the main purposes of this week was to get used to create PCB board from the beginning. So, I did not design electrical circuit by usign some software.
(Designing own electrical circuit will be in later week)
I chose exisiting electrical circuit design and downloaded from Fabacademy web page.
Following the above correct procudures, I created PCB board.
After drilling board, I should solder some electrical components by following existing electrical circuit design. Most components are very tiny,so my instructor adviced me that I should put tape on these componets before soldering.
The result of careful soldering was like below picture.
Moreover, to check whether soldering was perfect, I used an ohmmeter. If each component that should not be connected was soldered well, the ohm between these components would be ∞. Checking all components said my soldering did not have any problems.
To program AVR (FabISP, I followed this tutorial.
First of all, I desoldered jumpers connected by 0 ohm registers.
Installation necessary software¶
I used Bash on Ubuntu on Windows to program AVR, so I followed “Ubuntu Software Install”.
sudo apt-get install flex byacc bison gcc libusb-dev avrdude sudo apt-get install gcc-avr sudo apt-get install avr-libc sudo apt-get install libc6-dev cd *Note: No need to move to Desktop wget http://academy.cba.mit.edu/classes/embedded_programming/firmware.zip unzip firmware.zip
Prepare to program FabISP¶
I used Arduono UNO as an ISp to program FabISP by following ardunio tutorial
After connecting the Arduino to my computer, I checked the serial port used for Arduino was “COM3”.
Then I wired the Arduino and my FabISP board each other by following “Step2” in ardunio tutorial.
Afetr finishing hardware setting, I modified Makefile by insering
AVRDUDE = avrdude -c stk500v1 -b19200 -P /dev/ttyS3 -p
Note: When your serial port is COMX, you should write
Program the FabISP¶
To program FabISP, I typed
cd cd fabISP_mac.0.8.2_firmware/ * Note: the name of folder is different, but we do not need to care about it. make clean make hex
For now, I succeeded in by the above commands.
However, when I typed,
It failed. This error message said “Cannot find my FabISP board connected through USB”.
So, I surveyed reference of “Serious connection by WSL” and found this page.
From this web page, I realized I had to change the authorization of “dev/ttyS3” by typing,
sudo chmod 666 /dev/ttyS3
After that, I typed “sudo make fuse”. The result was
Then, I typed
I completed programming !!
Checking my FabISP worked correctly¶
To check my FabISP, I opened “Device manager”. The Device manager showed there was FabISP installed.