This week we are learning electronics design. Electronics circuits are a major
constituent
of most of the modern day products. So having an upper hand on then will let you stand out of the crowd.
Making
an
electronics circuit from scratch is a tough process and involves many steps. The primary step is
designing it.
In designing we need to first draw a schematic design and then develop a pcb design out of this. Once we
are
satisfied
with the design we can mill out the board. later the components can be soldered to get the actual
circuit into
action.
Now after these steps the board doesn't seems to work then we have to debug it, if needed modify the
circuit,
components
and redesign the pcb and the following process continues.
Thus making a pcb from scratch is a
tedious
process which
involves many iterations. At times every thing maight be well in place but there maight not be enough
copper for
the
amount of current or sometimes abrupt 90degree bends maight cause reflections in a high frequency signal
passing
though
the copper, all these may make the board unusable or faulty. Thus elecronics design is more over an art
and
comes
with experience. Here on the sixth week of te FAB we are being introduced into such an art.
Firstly i am trying to learn the basics of electronics. What is voltage, current etc , what a component does, how is affect current, voltage etc. I am trying to read the book recommended by Neil; Art of electroics. Other resources i have gone though are listed below.
With that i now have the basics of electronics, and am going forward with the assignment for the week. For the assignment i need to be familiar with some of the designing software's. I had tried the following.
This is an opensource software available for all popular OS. I installed it in ubundu, Instalation link . The following tutorials got me started link1, link2
Now i created a new project and a new schema diagram and pulled out the required components from the default library. Put them in place and wired them up. The screenshots show how i did it.
I have pulled out the attiny44 from the component library and added it to the sketch.
All the components where add to the sketch at propoer locations and they were wired togather to get the final schematic diagram. Note that labels with same names are considered to be connected, thought they are not actually connected in the diagram.
Now you can save the schematic and start creating the pcb layout. Before you go into the pcb layout. You need to save the netlist(the list of components used in the circuit), then map which types of pads you want to use for different compnentns in your circuit. ie, if you want to use SMD or through or different size of SMD and all that. Its called as the foot print of the component. You can do this association by clicking the "cvPCB" button on the tool bar. Here you can enable the preview and chose which footprint to use. You can even filter by library or name from the list. This feature comes handy as there are a lot of component in the list.
All the components and there footprints used in this circuit are not avaiable by default. you will have to manaully import them into kicad. This and this are the libraries needed and this link will help you install them.
Finally create the pcb laytout file and import the schematic and you will get all the footprints. Now arrange them properly and make out the routes.
The user interface is not intuitive and is annoying at times. It opens a lot of windows and that adds up to the trouble. Functinality wise this is good. I do even see a 3d render functionality, though i have not used it.
EAGLE is a scriptable electronic design automation application with schematic capture, printed circuit board layout, auto-router and computer-aided manufacturing features. EAGLE stands for Easily Applicable Graphical Layout Editor and is developed by CadSoft Computer GmbH. Cadsoft Computer GmbH was acquired by Autodesk Inc. in 2016 and now eagle is a part of autodesk. Read more about eagle at wikipedia
This is the most popular software used for electronics design. The
following Youtube
tutorials by Jeremy Burns helped me started.
Introduction to Eagle schematics
Introduction to Eagle PCB making
This tutorial shows designing a pcb from scratch showing all the process from making the schematics to
the designing the pcb. Here
a double sided board is made unlike our project which we use a single sided board. Except that it shows
all steps to do with eagle.
I followed this link
. Here it was shown how to modify the existing schemas and board layout but i dont wanted to do that. I
wanted to make the schema
from this image.
Neils board PCB layout
I made a drawings from the image
With this drawing in place. I opend up the eagle software and the following are the steps i followed.
Schema edited with an lED and a push button
Once you have your board ready it is time to solder the components into it. I collected the components as shown in the table below. Note that though i used green LED and 100 ohm resistor in my design i changed it to red in my board and therefor i hade to change the resistance to 499 ohms.
Here is how i calculated the resistance needed
The resistor in series with LED, so Voltage -Forward (Vf) is 2V and DC Forward Current of 10mA
(obtained from datasheet)
Calculating the required resistance:
R = (Vs - Vf) / Ifc = (5V - 2V) / 0.01A = 300 Ohms
I used 499 ohm which is the nearest availble in our lab close to this value.
Sl no | component | quantity |
---|---|---|
1 | ATtiny44-SSU | 1 |
2 | 20mhz resonator | 1 |
3 | AVR ISP SMD header | 94 |
4 | FTDI SMD header | 1 |
5 | 10K resistor | 1 |
6 | 1µF capacitor | 1 |
7 | RED LED | 1 |
8 | 499 ohm resistor | 1 |
Once you have your board ready with all the components soldered in properly its time to test if the board is working properly by programming it.
The program should be burned into our board as the terminal shows a success message.
While routing, some of the routes where not coming perpendicular, this was because of the grid settings being set to some big value. I found it useful to change this to a smaller value at times when you have this problem.