Week 4

About Me Assignments Final Project Fab Lab 2017
About Me Assignments Final Project Fab lab 2017
×

ELECTRONICS PRODUCTION

Individual Tasks

Learning outcome W04

This week’s task was an official challenge for a computer guy, I faced many challenges during the process, and as the process went on I learnt a lot of things and ways to solve those challenges.

I learnt the concepts of Electrnoics, soldering and the PCB designing (a total new and fantasy world for me).

To begin with, I had little to no knowledge of the electronics. Only the basic information I got from the elementary education.

So my first step was to search for the relevant info about the components.

MicroController

I initially use to think that a microcontroller is type gate controller, where the opposite pins can communicate directly, but after getting the basic description of microcontroller, my all concepts broke like a Castle of sand.

“A microcontroller (or MCU for microcontroller unit) is a small computer on a single integrated circuit. In modern terminology, it is a System on a chip or SoC. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable input/output peripherals.”

Micro Controller

ATTINY 44 MicroController

Zener Diode

A Zener diode allows current to flow from its anode to its cathode like a normal semiconductor diode, but it also permits current to flow in the reverse direction when its "Zener voltage" is reached

Micro Controller

ATTINY 44 MicroController

Resistor

A resistor is a passive two-terminal electrical component that implements electrical resistance as a circuit element. In electronic circuits, resistors are used to reduce current flow, adjust signal levels, to divide voltages, bias active elements, and terminate transmission lines, among other uses.

Resistor

Resistor

Capacitor

A capacitor is a passive two-terminal electrical component that stores electrical energy in an electric field.

Transistor

Capacitor

Crystal Oscillator

A crystal oscillator is an electronic oscillator circuit that uses the mechanical resonance of a vibrating crystal of piezoelectric material to create an electrical signal with a precise frequency.

Crystal Oscillator

Crystal Oscillator

This task had 4 steps, so I am going to explain them individually
  1. Milling

  2. Printed circuit board milling (also: isolation milling) is the process of removing areas of copper from a sheet of printed circuit board material to recreate the pads, signal traces and structures according to patterns from a digital circuit board plan known as a layout file.

    For this task we had to mill the MIT based PCB designed “programmer board”. Previously I had no information about PCB designing or milling. So this was the first challenge I had to face, like how to control or use milling machine etc.

    Programmer Board PCB

    The Programmer Board PCB (traces and outline)

    We had “Roland SRM 20” milling machine, so we had to convert these images to the appropriate code understandable by the milling machine. This task was quite easily solved, with the help of the “Fab Modules” by the MIT, which generates the code understandable by the variety of machines.

    We can import images of traces and outlines and generate the machine understandable code

    Fab Modules Settings

    Fab Modules Settings

    Fab Modules Settings

    Fab Modules Settings for traces

    Fab Modules Settings

    Fab Modules Settings for Outline

    Now it was time to set the PCB board on the milling machine, with the appropriate place and alignment. After setting the board, then it was time to input the “traces.rml” file to mill the traces on the board

    Board Setting

    Setting the board to be ready for mill

    Once the file is inputted, now it was time to set the X, Y, Z positions of the milling machine to appropriate positions, and the proper header pin as for traces 1/64 pin is used and for outline 1/32 pin is used, as the milling will start at our given co-ordinates and our selected header pins. If the co-ordinates are wrong our Board can be damaged as well the header pins.

    Once everything was ready and checked, it was the time to start milling

    milling in process

    Milling in process

    milling completed

    Completed Milling PCB

    All the files are available to download and re-use

  3. Soldering

  4. The most difficult task of this week for me was to solder the PCB board with the available components. But I can consider myself lucky, because the PCB I soldered, worked perfectly. First thing first, I made the list of components I need to solder my PCB.

    First I made the list of components which will be used to solder the PCB. This is the complete list, attached with the all required components.

    List of components

    List Of Components to attach

    Soldering is a process in which two more or metal items are joined together by melting and then flowing a filler metal into the joint—the filler metal having a relatively low melting point. Soldering is used to form a permanent connection between electronic components

    First I made a few failed attempts to sold things as I was afraid that I might damage the board, slowly slowly I found myself adjusting to the soldering, and got into the flow.

    soldering components

    Soldering is just fun

    soldering components

    Soldering is just fun

    After hours of soldering, I finished my first ever PCB. I know it doesn't look good, but well it was my first attempt.

    Completed Soldering

    PCB After Soldering

  5. Debugging

  6. Debugging is the process of finding and resolving of defects that prevent correct operation

    I used Digital Multimeter to debug the PCB, I checked all the input and output connections of the PCB to see if all connections are working properly, and to my luck, they were working properly.

    Checking the PCB

    Checking the PCB - Debugging

    Well during debugging, I checked all the ground connections of all the components attached, first ground to ground, then VCC to VCC so I can confirm that my all connections are connected properly. It clearifies the path of the current flow, and luckily my whole board was connected perfectly as I didn't found any issue.

    I selected tasting tone point (continuity testing) of Multimeter, it beeps when two points are physically connected. If there is any missing connection it doesn't beeps.

    Yeah, I was out of world, my first ever pcb and it worked witout any issue. I was really happy. I rechecked it on all the inputs and outputs to find any issue.

    After the successful debugging, now it was the time of my favourite work, Programming....

  7. Programming

  8. Now it was the time to program it to see if it works. Now this task was also quite challenging (challenging, not in terms of coding but it wasn't available for windows), as I needed either Ubuntu or MAC to program PCB, well I tried the process to do it from “windows” but failed hard. So I asked a friend to help me out, and finally I started working on programming the PCB.

    Step 1 - Install Necessary Software for AVR Programming

    For the electronics units in the Fab Academy, you will need:

    I followed this tutorial to follow and install the AVRDUDE (well unsuccessfully)

    Step 2 - Power the FabISP Board

    The board needs power

    The very first step was to attach the PCB with the programmer and then to the computer, and check if the Green Light is on, if its on means my PCB is working perfectly

    Checking the PCB

    Checking if the PCB is ready to BootLoad

    The light cautions and their reasons

    Step 3 - Edit the Make File

    The Makefile is in the firmware directory that you downloaded. The Makefile is set up to work with the AVRISP2 by default. If you are using another programmer, you will need to edit the Makefile.

    I was using Mac: so Open the Makefile with TextEdit

    Step 4 - Program the FabISP

    Open your terminal / command line interface and move to the firmware directory.

    Loading firmware Directory

    Loading Firmware Directory

    cd Desktop/fabISP_mac.0.8.2_firmware

    Next is to clean by using this command :
    make clean

    Next is to main command to make the hexadecimal file :
    make hex

    Clean command

    After Make Clean and Make Hex Comamnds

    Next I needed to set my fuses on board to use external clock, type command :
    make fuse

    Clean command

    After Make Fuse Comamnd

    Next I needed to program by pcb, type command :
    make program

    Clean command

    After Make Program Comamnd

    Thats all for the programming part, if you have succeeded without getting any Red Errors as me you guys are surely lucky. Now the last part was to check if it is getting detected successfully.

    Clean command

    Checking the PCB if it is getting detected

    Last but not the least, it was to desolder the 0 Ohm jumpers, so it can be used as the programmer when we need to program any circuits

    Clean command

    Desoldering the 0-Ohm Resistors

And thats all for this week.