week 10

Output Devices

ASSIGNMENTS:

  • Describe the design and fabrication process.
  • Programming process.
  • Outlining the problem and their fix.
  • Design files and Code.

weekly work

First thing

first

final project

For past few weeks the Roland Modela is being used pretty heavily and less maintained .So the print quality had gone down and the level was disturbed so it was partially milling  the boards and we were wasting boards. So, me and Gautam took the responsibility to adjust, clean and level the bed.

contact

This is to show the adhesive marks on the bed which was cleaned using Acetone.

Cleaning with acetone.

We decided to put this 2mm acrylic piece to act as a sacrificial board on he modela.

The board is placed with double sided tape. Next step was to check if the board is even all over the surface. Gautam performed the next tests while I moved the drill bit through the fab modules and took photographs.

All tests come out well and the modela is ready to mill properly.

Making of the

rgb led board

For the RGB Board I had to decide which components to use in order to design the board in Eagle. So the components are :

  • ATTiny 45 x1
  • RGB LED x1
  • AVRISP SMD x1
  • 2x2 Header SMD x1
  • 5V LDO x1
  • 10k Resistor x1
  • 499 Resistor x1
  • 1K Resistor x2
  • 1uF Capacitor

I got all the components from the Fab Library in Eagle Schematic. Connected using Neil Gershenfeld's diagram of the RGB LED board. Post this went to the board interface and arrangend the components.

Now turned on the autorouting to complete the circuit.

Next was to export the PNG and make the Board.

I had planned to make a RGB LED board for this weeks assignment. First I made the board  in modela and soldered all the components reading the board diagram. But sadly it did not work at all. The ATTiny became too hot. On inspecting I could not find the problem though. But I figured out an order to solder all the components safely.

possible short circuit

The order I soldered the components are described in the picture below.

The order to solder the component are written below:

  1. Linear Voltage Regulator
  2. RGB LED
  3. All the SMD resistor and capacitors
  4. 6 Pin ISP Header
  5. ATTiny 45
  6. 4 Pin Header

programming the

rgb led board

I used Arduino as ISP to Program the board. Two major steps was to be followed here:

  • Adding the ATTiny to Arduino IDE.
  • Hook up guide for Arduino as programmer and the designed board.

These tips I got the website HighLowTech. The Arduino as programmer can be accessed here. And how to program the ATTiny can be can be accessed here.

First thing was to open the Arduino IDE  and open the sketch ArduinoISP from File> Examples. In line 81 uncomment line of code an send it to my Arduino UNO R3. Following is the setup of making Arduino the programmer.

Next was to put up jumper wires from the Arduino to the ISP headers of the board.

  • ATtiny Pin 2 to Arduino Pin 13 (SCK )
  • ATtiny Pin 1 to Arduino Pin 12 (MISO)
  • ATtiny Pin 0 to Arduino Pin 11 (MOSI )
  • ATtiny Reset Pin to Arduino Pin 10 (RESET)

Now we need to setup the ATTiny as board and Arduino as ISP. These are the following steps.

understanding

neil's code

I have used Neil's code of RGB LED written in C to use with my board. To use th code using Ardunio we need to install ATTiny boards and select appropriate processor, clock and Programmer to use. In my case it looks like this:

 

The code is written in C using avr library. so the structure of the code is little different than normal Arduino. I will now take some time to understand and explain the C code.

Line 28 : Port B of the Attiny 45 is set as LED pin

Line 30,31,32 ; Port pin PB0,PB1, PB2 is set as Signal pin for R, G, B pins of RGB LED.

initializing LED pins as led_port in case of Red green and blue separately.

Now creating a loop to turn off and change color of the  LEDs according to a particular sequence.

Off > Red > Green > Blue > All channel > off and repeat.

And the delay between the each pulse is 25ms as defined before.

Now when the code is uploaded to the board it lights up and changes.

This is a video showing the operation of the board.

programming with fab isp

As per fab academy requirement I had to program the board using FabISP. Now, I am using windows PC so I have reprogrammed the FabISP using arduino once again with help of Jakob Nilson's documentation.

Here is the proof that my FabISP still works.

In the programming code I have changed the active programmer line to:

 AVRDUDE = avrdude -c stk500v1 -b19200 -P COM9 -p $(DEVICE) # for COM9

 

from

 

AVRDUDE = avrdude -c avrisp2 -P usb -p $(DEVICE) # edit this line for your programmer

Now I have connected the FabISP and Output LED board. I aa m doing this excercise again. So my output device already had a code. I have the Bare Minimum code from arduino library to show no light this time.

Now from previous I have used the  the same config: ATTiny 45 as processor , Internal 8MHz clock. And programmer has been changed to USBTiny.

 

The next video shows how the code has worked and uploaded to the Output device board.

This week's file can be accessed from here.

 go to WEEK 11 >>

Avishek Das   |   2017   |   FabLab CEPT