Week7 : Electronics Design
Group
Group assignmet is here
Our lab has Tester, Stabilized power supply, Oscilloscope.
Individual
Redraw echo hello-world board - rough flow
Needed parts
- ATTiny 44 microcontroller (1 piece)
- Capacitor 1uF (1 piece)
- Resistor 10K ohm (2 piece)
- Resistor 1K ohm (1 piece)
- 6 pin header (1 piece)
- 6 pin header for FTDI (1 piece)
- Resonator 20MHZ(1 piece)
- LED (1 piece)
- Button swith (1 piece)
Points of Process
Step2: Library
- Download fab.lbr
- Make Library Directory
- Move fab.lbr to the directory that made above
- [Options]->[Directories]
- [Libraries]->[Browse] select directory that made above
- fab.lbr will be shown.
- I put HelloKamakura.lbr to the same directory
|
V
Step3: Sch file
- How to make sch file [file]->[project]->name new project(I named FabAcademy2018Week07).
- add If we input "add" command to the command box, we can select part form library.
- put the parts to the shematec file If we click somewhere, the part will be put.(If we want to rotate parts, rightclick.)
- name Next, It is better to name the parts.Input "name" command to the command box.
- net, name label "net" command -> "name" commnad -> "label" command are used when parts connect.
- circuit By using commands above, we can make circuit diagram !The part surrounded by the red frame is the LED and button added to echo hello-world board.
- ERC "erc" command is Electrical Rule Check
right click project that was made->[new]->[Schematic]. New schfile will be made.
There weren't no Errors. (Warnings are not error, you can approve it.)
Step4: brd file
- How to make brd file Click this icon. That's all !
- put the parts Put the parts to the brd file.
- ratsnest After placeing the parts, "ratsnest" command makes connection simply.
- connect Connectig each parts manualy by using "route" command.
- DRC(Design Rule) "drc" command is Design Rule Check. Clearance should be set 0.4mm.
- interior(another layer) After DRC, draw the interior by using "polygon" command on the 48(Document) layer.
Step5,6: Exprot to png format
- [File]->[Export]->[Image]
- Monochrome & Resolution Check the Monochrome and Resolution is 1600. I will describe it more detail in Problem-Section.
Step7: Check
First, I connected the echo hello-world board to hello ISP.
Program file was downloaded from here
And execute following command.
Program file was downloaded from here
And execute following command.
$ make -f hello.ftdi.44.echo.c.make
$ sudo make -f hello.ftdi.44.echo.c.make program-usbtiny-fuses
$ sudo make -f hello.ftdi.44.echo.c.make program-usbtiny
If we use Mac, python has already be installed. But, serial port library is needed. Python serial port library is pyserial, it can be installed with following command. If you have not install pip, install pip first.
$ sudo make -f hello.ftdi.44.echo.c.make program-usbtiny-fuses
$ sudo make -f hello.ftdi.44.echo.c.make program-usbtiny
$ pip install pyserial
Get serial port information with following command
$ ls /dev | grep usb
or
$ ls /dev/tty.*
Using first command, and get following serial port information.
or
$ ls /dev/tty.*
cu.usbserial-AI02RJUC
tty.usbserial-AI02RJUC
If you use second command, you will get following information.
tty.usbserial-AI02RJUC
/dev/tty.usbserial-AI02RJUC
After getting serial port information, run the term.py as following. The part of
"/dev/tty.usbserial-AI02RJUC" depends of your enviroment(serial port information).
$ python term.py /dev/tty.usbserial-AI02RJUC 115200
Several problems occurred, but eventually check program(term.py) worked well. Problems and how to fix it will be described Problem part.Problem
Problem & How to fix
- Step5,6 Resolution 【Problem of export resolution and size】
- Step7 Python version My python is version 3.6.1. But term.py is for Python2. So, when I executed, the following error occurred.
I saved png file in 800dpi resolution with Eagle at first. But mods recongnize this file as twice as large as the actual size.
I tried to save png file in 1600dpi. Then mods recongnized png file as actural size.
widget_text.insert(INSERT,'\n')
TabError: inconsistent use of tabs and spaces in indentation
The above error often occurs when the code written in Python 2 executed in Python 3.
TabError: inconsistent use of tabs and spaces in indentation
File "term.py", line 19, in <module>
from Tkinter import *
ModuleNotFoundError: No module named 'Tkinter'
In Python3, "Tkinter" is written as "tkinter".from Tkinter import *
ModuleNotFoundError: No module named 'Tkinter'
To deal with the above error, I changed term.py without understanding well, but because it did not go well. Then I built an environment that can switch between Python 2 and Python 3 with anaconda.
$ pyenv versions
system
2.7.14
* 3.6.1 (set by /Users/DaisukeDoyo/.pyenv/version)
* is the current Python version. * was marked at Python3, so I have to change to Python2 as following command.
system
2.7.14
* 3.6.1 (set by /Users/DaisukeDoyo/.pyenv/version)
$ pyenv global 2.7.14
Then it works well.
Files (all file-->zip)
All files can be downloaded form here