David Maita F.

Week 4



Home


About me


Assignments


Final Project


Contact me

Objective

- Download and mill the electronic boards.
- Weld the electronic components on the boards.
- Configure an electronic board.
- Program the ATtiny45.

Electronic boards milling process

1. Download the png files for paths and the schematics of the electronic boards.

2. Go to the terminal

3. In the terminal use the command sudo bash

4. Use the command fab.

5. Now select the image

6. Now choose the machine: Roland Modela MDX - 20

7. Now click on make_png_rml

8. On defaults you have to select the milling tool you will use. It usually is 1/64" (0.4mm). After that select the file to load, clicking load.png.

9. It will show a window where you have to click on make.path and configure the parameters or the milling. (Every time you modify a parameter you need to click on make path)

10. Place the board on the Modela. Fix it to the base.

Calibrate the x and y points.

Calibrate the z axis manually, using the Up and Down buttons. Finally click no make.rml and Send it
Important: Do not remove the plastic guard from the machine. It has a metalic piece detected by a sensor on the machine. If you remove it the machine wont move.

The milling tools allows you to mechanize metal like cooper, from 0.09 to 6 mm in depth. We use Altin coated micrograin.

Problems found

Too much depth cut and milling tool broke

Solutions

The right cut depth is 0.1mm. Configure it that way

Welding procedure

You need the board components: 1x ATtiny45 or ATtiny85
2x 1kΩ resistors
2x 499Ω resistors
2x 49Ω resistors
2x 3.3v zener diodes
1x red LED
1x green LED
1x 100nF capacitor
1x 2x3 pin header

Here we use a soldier property: Capilarity. It occurs when two componets are close to each other. When you melt the tin on one of them, the other one also gets covered.

Soldering:

Doing the continuity test

Trying to hold the component

Finished board

Steps to solder

1. Heat the elements to solder.
2. Apply tin
3. Keep the joint hot until tin spreads

Verify the soldering and the components position


Programming
Electronic board programming. AVR recognizes the board

Equipment: Laptop
Equipment: AVR - ATMEL
Software: Terminal.


Personal objective:

- Verify the components position and the right welding of the electronic board.
- Program the board using the AVR

Programming procedure

1. Open the terminal and use the next command

2 Make the AVR - board connections.

Programming the board using Make program

Installation for the corresponding burn

        root@FABLAB:~/Escritorio/fab# lsusb
        Bus 004 Device 002: ID 8087:0024 Intel Corp.  Integrated Rate Matching Hub
        Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0  root hub
        Bus 003 Device 004: ID 1bcf:2883 Sunplus Innovation  Technology Inc. 
        Bus 003 Device 005: ID 8087:07da Intel Corp. 
        Bus 003 Device 002: ID 8087:0024 Intel Corp.  Integrated Rate Matching Hub
        Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0  root hub
        Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0  root hub
        Bus 001 Device 116: ID 045e:0737 Microsoft Corp.  Compact Optical Mouse 500
        Bus 001 Device 059: ID 1781:0c9f Multiple Vendors USBtiny
        Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0  root hub
        root@FABLAB:~/Escritorio/fab# make flash
        avr-gcc -mmcu=attiny45 -Wall -DF_CPU=16500000UL -I.  -funsigned-char -funsigned-bitfields 
        -fpack-struct -fshort-enums -Os -Iusbdrv  -c main.c -o main.o
        main.c:109:13: warning: always_inline function might  not be inlinable [-Wattributes]
        static void  delay ( void )
        ^
        avr-gcc -mmcu=attiny45 -Wall -DF_CPU=16500000UL -I.  -funsigned-char -funsigned-bitfields 
        -fpack-struct -fshort-enums -Os -Iusbdrv  -c usbdrv/usbdrv.c -o usbdrv/usbdrv.o
        avr-gcc -mmcu=attiny45 -Wall -DF_CPU=16500000UL -I.  -funsigned-char -funsigned-bitfields 
        -fpack-struct -fshort-enums -Os -Iusbdrv  -c usbdrv/oddebug.c -o usbdrv/oddebug.o
        avr-gcc -x assembler-with-cpp -mmcu=attiny45 -Wall  -DF_CPU=16500000UL -I. -funsigned-char 
        -funsigned-bitfields -fpack-struct  -fshort-enums -Os -Iusbdrv -c usbdrv/usbdrvasm.S -o 
        usbdrv/usbdrvasm.o avr-gcc -mmcu=attiny45 -o fts_firmware.elf main.o  usbdrv/usbdrv.o 
        usbdrv/oddebug.o usbdrv/usbdrvasm.o avr-size -C --mcu=attiny45 fts_firmware.elf
        AVR Memory Usage
        ----------------
        Device: attiny45
        Program:    2488  bytes (60.7% Full)
        (.text + .data + .bootloader)
        Data:         75  bytes (29.3% Full)
        (.data + .bss + .noinit)
        avr-objcopy -j .text -j .data -O ihex fts_firmware.elf  fts_firmware.hex
        avrdude -p attiny45 -c usbtiny -P usb -e \
        -U  flash:w:fts_firmware.hex
        avrdude: initialization failed, rc=-1
        Double  check connections and try again, or use -F to override
        this  check.
        avrdude done.   Thank you.

        root@FABLAB:~/Escritorio/fab# make flash
        avrdude -p attiny45 -c usbtiny -P usb -e \
        -U  flash:w:fts_firmware.hex
        avrdude: AVR device initialized and ready to accept  instructions
        Reading |  ################################################## | 100% 0.00s
        avrdude: Device signature = 0x1e9206
        avrdude: erasing chip
        avrdude: reading input file  "fts_firmware.hex"
        avrdude: input file fts_firmware.hex auto detected as  Intel Hex
        avrdude: writing flash (2488 bytes):
        Writing |  ################################################## | 100% 2.43s
        avrdude: 2488 bytes of flash written
        avrdude: verifying flash memory against  fts_firmware.hex:
        avrdude: load data flash data from input file  fts_firmware.hex:
        avrdude: input file fts_firmware.hex auto detected as  Intel Hex
        avrdude: input file fts_firmware.hex contains 2488  bytes
        avrdude: reading on-chip flash data:
        Reading |  ################################################## | 100% 2.89s
        avrdude: verifying ...
        avrdude: 2488 bytes of flash verified
        avrdude: safemode: Fuses OK (E:FF, H:DF, L:62)
        avrdude done.   Thank you.


        root@FABLAB:~/Escritorio/fab# make fuses
        avrdude -p attiny45 -c usbtiny -P usb \
        -U  lfuse:w:0xE1:m -U hfuse:w:0xDD:m \
        -U  efuse:w:0xFF:m

        avrdude: AVR device initialized and ready to accept  instructions
        Reading |  ################################################## | 100% 0.00s
        avrdude: Device signature = 0x1e9206
        avrdude: reading input file "0xE1"
        avrdude: writing lfuse (1 bytes):
        Writing |  ################################################## | 100% 0.01s
        avrdude: 1 bytes of lfuse written
        avrdude: verifying lfuse memory against 0xE1:
        avrdude: load data lfuse data from input file 0xE1:
        avrdude: input file 0xE1 contains 1 bytes
        avrdude: reading on-chip lfuse data:
        Reading |  ################################################## | 100% 0.00s
        avrdude: verifying ...
        avrdude: 1 bytes of lfuse verified
        avrdude: reading input file "0xDD"
        avrdude: writing hfuse (1 bytes):
        Writing | ##################################################  | 100% 0.01s
        avrdude: 1 bytes of hfuse written
        avrdude: verifying hfuse memory against 0xDD:
        avrdude: load data hfuse data from input file 0xDD:
        avrdude: input file 0xDD contains 1 bytes
        avrdude: reading on-chip hfuse data:
        Reading |  ################################################## | 100% 0.00s
        avrdude: verifying ...
        avrdude: 1 bytes of hfuse verified
        avrdude: reading input file "0xFF"
        avrdude: writing efuse (1 bytes):
        Writing | ##################################################  | 100% 0.00s
        avrdude: 1 bytes of efuse written
        avrdude: verifying efuse memory against 0xFF:
        avrdude: load data efuse data from input file 0xFF:
        avrdude: input file 0xFF contains 1 bytes
        avrdude: reading on-chip efuse data:
        Reading |  ################################################## | 100% 0.00s
        avrdude: verifying ...
        avrdude: 1 bytes of efuse verified
        avrdude: safemode: Fuses OK (E:FF, H:DD, L:E1)
        avrdude done.   Thank you.
      
Results

Verify the right position of electronic components befor soldering

Program the Fab Isp

skip_previous
skip_next