Week 10

Output devices

 

In this week i have to add an output device to a board. I used the existing design available  in the fab academy website here

 

I want to drive a dc motor using this design.for that i need to go through following steps,

 

1- PCB designing

2- PCB milling

3- Soldering the components.

4- Programming

5-checking the output

 

 

PCB designing

 

I referred neil's DC motor  driver board(http://academy.cba.mit.edu/classes/output_devices/H-bridge/hello.H-bridge.44.png

 ) i used the same components and the circuit design is done in eagle as follows.

 

WhatsApp Image 2017-04-05 at 12.34.59 PM.jpeg

 

 

The components used are : ATtiny44 , A4953 motor driver IC,2 X 2 header, 2X3 header,Capacitors(0.1,1 and 10mF),regulator IC (5V) and 10k ohm resistor.

 

Then i converted my design into board file and manually routed.

 

WhatsApp Image 2017-04-05 at.jpeg

 

PCB milling

 

Then i generated .cmp after CAM processing and using cirQwizard,I converted my design into machine code and milled the board.

 

WhatsApp Image.jpeg

 

WhatsApp Image 2017-04-05 at 12.32.30 PM.jpeg

 

  After that i cleaned the board and checked the continuity in order to check whether there is any traces which are not cut deeply.

 

 

Soldering the components.

 

I removed unwanted traces near each component's base Then i soldered the components on the board one by one with the help of magnifier and other instruments.Then i checked the continuity of the connections. It was fine.

WhatsApp Image 1 at 3.03.57 PM.jpeg

WhatsApp Image 2017-04-11 at 3.03.57 PM.jpeg

 

Programming

 

For programming the board, there was no at tiny library in my arduino IDE. Firstly i need to install the library for AT tiny .

 

Installing  the At tiny library 

 

In file > preferences , Additional Boards Manager URLs bow, i pasted the link 

https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

After clicking Ok. then  i go to tools > board> board  manager.

In the dialog box, in search box i searched At tiny and installed  at tiny by David A .mellis

 

arduino at tiny lib.PNG

I checked and verified the board is included in library.

 

arduino at tiny.png

 

After this. I checked vcc and reset pins in ISP programming header of my board.I connected corresponding pins.

 

Bootloader burning:

Before programming the board, I need to burn the bootloader(Fusing).Selection of board,processor and programmer are selected as  ATtiny24/44/84 , ATtiny44 and USBTinyISP respectively.

Then in tools menu> burn bootloader.

 

After burning the bootloader i need to check whether a sample program of “blink” will work or not.

 I referred the pin out of ATtiny 44

attiny.png

 

 

 

 

I understood the pinout configuration and other operating characteristics from its data sheet from this link

 

checking the output

 

I gave pin 1  for the blinking program output.the program is  coded as :

 

blink sample.PNG

 

 

I checked the output in pin 1 using multimeter and got the output correctly.

 

controller output to driver.jpeg

 

Output voltage got is 5.04v. Hence the half of my assignment,s aim is done.

 

 

code for motor rotating.PNG

 

 

 

I coded a simple program for driving the motor. Pin 2 and pin 3 are used for the output.

i uploaded and connected motor to the output pin in the design. But the motor was not working.

I checked the data sheet of motor driver IC A4953 from the link here

 

In that the Load Supply Voltage is  VBB 8.

So i connected 9v battery to the header pin of motor driver IC. and then i got the output.

batt.jpeg 

I checked the output of motor driver pin with multimeter. The output voltage got is  -7.7 to 7.7.

Then connected motor and motor rotates forward and backward well.

 

Files

 

My design files in eagle are given below

 

1- Board file:Eagle board

 

2- schematic file:Eagle schematic design

 

3-  .cmp file for cirqoid machine:Cirqoid .cmp file

 

4-The code for my assignment(done using arduino IDE is :Arduino code

 

Videos:

 

Video  links for final output of my assignment are given below:

 

video1

 

 

 

 

video2