PUGAUGE - Low Power Display Processor

Aus PUCONwiki
Zur Navigation springen Zur Suche springen

The PUGAUGE is intended to be a base platform for devices to display Information in an environment where low power requirements are mandatory.

Examples are:

  • Bike computers
  • Thermometers
  • mobile measurement devices

Hardware

  • 8-Character Segmented LCD 14-segment Display
  • Atmel AVR ATmega6490A AVR microcontroller

Software

Platform

The PUGAUGE is intended to be Arduino-compatible. The application software shall benefit from the ease of use, familiarity of many developers and availability of many libraries for sensors and other peripherals.

Therefore, an extension to the Arduino IDE is developed to allow the PUGAUGE being selected as a board type in the Arduino IDE. This should not be too complicated, as the PUGAUGE processor is an Atmel AVR processor closely related to the Atmel AVR processors used in the Arduino UNO and MEGA.

Additionally the optiboot bootloader for the Arduino is being modified to run on the PUGAUGE and allow Arduino sketches to be uploaded onto the PUGAUGE.(zu ergänzen)

Application

A special LCD library is being developed that provides easy access to the on board LCD ( 8 characters, 14 segments plus decimal point and apostroph).(zu ergänzen)

Build notes

Connection of ATmega6490

In the first development version all circuitry is mounted on a solderless breadboard:

  • The ATmega6490 is mounted on the BBR.
  • LCD-Voltage Buffer Capacitor: 3x220nF FKC in parallel from ATmega6490 Pin 1 / BBR Pin 76 to GND
  • System Status LED: Port line PB0 (ATmega6490 Pin 19 / BBR Pin 94) to 330 Ohm to yellow LED to GND
  • In-System-Programmer (IST) USPasp connected to 10-pin 2x5 100mil-spaced Connector:

See also http://nerdyelectronics.com/usbasp-tutorial/ :

                                                           Connector seen on board pins
USBasp pin number USBasp pin MCU Pin                          +---+---+---+---+---+
1 	          MOSI       MOSI                             | 2 | 4 | 6 | 8 |10 |
5                 Reset      Reset                            +---+---+---+---+---+
7                 SCK        SCK                              | 1 | 3 | 5 | 7 | 9 |
9                 MISO       MISO                             +---+---+---+---+---+
10                GND        GND
2                 Vcc        Vcc
Signal name description 10-pin-conn pin number ATmega6490 pin name ATmega6490 pin number BBR pin number
MOSI data from programmer to MCU 1 MOSI 21 96
Reset reset pulse to MCU 5 Reset 30 5
SCK serial clock to MCU 7 SCK 20 95
MISO data from MCU to programmer 9 MISO 22 97
GND Ground reference 10 GND 99,11,32,81 74,86,7,56
VCC +5V supply from programmer 2 VCC 100,10,31,80 75,85,6,55
  • Serial-USB Adapter, connected to TXD/RXD of UART0 of ATmega6490:
Signal name description FT323-adapter pin ATmega6490 pin name ATmega6490 pin number BBR pin number
GND Ground reference GND GND    
TXD data from USB to MCU TXD RXD/PCINT0/PE0 2 77
RXD data from MCU to USB RXD TXD/PCINT1/PE1 3 78

TQFP-100 Breakout board

When soldering the AVR6490 Chip in the TQFP-100 case to it's breakout board, I made an error:

I turned it 90 degrees to the right. Therefore Pin 1 of the chip appears at Pin 76 of the breakout board.

The algorithm to find the BBR pin when knowing the pin number on the TQFP-100 package of the ATmega6490 is:

BBR-pin = (TQFP-pin + 75) MOD 100

This table provides a correction lookup:

Pin of TQFP-100 ATmega6490A Pin of breakout board Pin of TQFP-100 ATmega6490A Pin of breakout board
1 76 51 26
2 77 52 27
3 78 53 28
4 79 54 29
5 80 55 30
6 81 56 31
7 82 57 32
8 83 58 33
9 84 59 34
10 85 60 35
11 86 61 36
12 87 62 37
13 88 63 38
14 89 64 39
15 90 65 40
16 91 66 41
17 92 67 42
18 93 68 43
19 94 69 44
20 95 70 45
21 96 71 46
22 97 72 47
23 98 73 48
24 99 74 49
25 100 75 50
26 1 76 51
27 2 77 52
28 3 78 53
29 4 79 54
30 5 80 55
31 6 81 56
32 7 82 57
33 8 83 58
34 9 84 59
35 10 85 60
36 11 86 61
37 12 87 62
38 13 88 63
39 14 89 64
40 15 90 65
41 16 91 66
42 17 92 67
43 18 93 68
44 19 94 69
45 20 95 70
46 21 96 71
47 22 97 72
48 23 98 73
49 24 99 74
50 25 100 75

Connecting D301 LCD to ATmega6490 MCU

LCD pin name pin functions MCU pin name MCU pin number BBR pin number
pin_1
function/plane digit segment
com1 1 seg_x
com2 1 seg_f
com3 1 seg_e
com4 1 seg_d
SEG2 72 47
pin_2
function/plane digit segment
com1 1 seg_i
com2 1 seg_j
com3 1 seg_k
com4 1 seg_n
SEG3 71 46
pin_3
function/plane digit segment
com1 2 seg_s
com2 2 seg_f
com3 2 seg_e
com4 2 seg_d
SEG6 68 43
pin_4
function/plane digit segment
com1 2 seg_i
com2 2 seg_j
com3 2 seg_k
com4 2 seg_n
SEG7 66 41
pin_5
function/plane digit segment
com1 3 seg_s
com2 3 seg_f
com3 3 seg_e
com4 3 seg_d
SEG10 63 38
pin_6
function/plane digit segment
com1 3 seg_i
com2 3 seg_j
com3 3 seg_k
com4 3 seg_n
SEG11 58 33
pin_7
function/plane digit segment
com1 4 seg_s
com2 4 seg_f
com3 4 seg_e
com4 4 seg_d
SEG14 55 30
pin_8
function/plane digit segment
com1 4 seg_i
com2 4 seg_j
com3 4 seg_k
com4 4 seg_n
SEG15 54 29
pin_9
function/plane digit segment
com1 5 seg_s
com2 5 seg_f
com3 5 seg_e
com4 5 seg_d
SEG18 51 26
pin_10
function/plane digit segment
com1 5 seg_i
com2 5 seg_j
com3 5 seg_k
com4 5 seg_n
SEG19 50 25
pin_11
function/plane digit segment
com1 6 seg_s
com2 6 seg_f
com3 6 seg_e
com4 6 seg_d
SEG22 47 22
pin_12
function/plane digit segment
com1 6 seg_i
com2 6 seg_j
com3 6 seg_k
com4 6 seg_n
SEG23 46 21
pin_13
function/plane digit segment
com1 7 seg_s
com2 7 seg_f
com3 7 seg_e
com4 7 seg_d
SEG26 43 18
pin_14
function/plane digit segment
com1 7 seg_i
com2 7 seg_j
com3 7 seg_k
com4 7 seg_n
SEG27 41 16
pin_15
function/plane digit segment
com1 8 seg_s
com2 8 seg_f
com3 8 seg_e
com4 8 seg_d
SEG30 38 13
pin_16
function/plane digit segment
com1 8 seg_i
com2 8 seg_j
com3 8 seg_k
com4 8 seg_n
SEG31 37 12
pin_17
function/plane digit segment
COM3 75 50
pin_18
function/plane digit segment
COM2 76 51
pin_19
function/plane digit segment
COM1 77 52
pin_20
function/plane digit segment
COM0 78 53
pin_21
function/plane digit segment
com1 8 seg_a
com2 8 seg_b
com3 8 seg_c
com4 8 seg_p
SEG28 40 15
pin_22
function/plane digit segment
com1 8 seg_h
com2 8 seg_g
com3 8 seg_l
com4 8 seg_m
SEG29 39 14
pin_23
function/plane digit segment
com1 7 seg_a
com2 7 seg_b
com3 7 seg_c
com4 7 seg_p
SEG24 45 20
pin_24
function/plane digit segment
com1 7 seg_h
com2 7 seg_g
com3 7 seg_l
com4 7 seg_m
SEG25 44 19
pin_25
function/plane digit segment
com1 6 seg_a
com2 6 seg_b
com3 6 seg_c
com4 6 seg_p
SEG20 49 24
pin_26
function/plane digit segment
com1 6 seg_h
com2 6 seg_g
com3 6 seg_l
com4 6 seg_m
SEG21 48 23
pin_27
function/plane digit segment
com1 5 seg_a
com2 5 seg_b
com3 5 seg_c
com4 5 seg_p
SEG16 53 28
pin_28
function/plane digit segment
com1 5 seg_h
com2 5 seg_g
com3 5 seg_l
com4 5 seg_m
SEG17 52 27
pin_29
function/plane digit segment
com1 4 seg_a
com2 4 seg_b
com3 4 seg_c
com4 4 seg_p
SEG12 57 32
pin_30
function/plane digit segment
com1 4 seg_h
com2 4 seg_g
com3 4 seg_l
com4 4 seg_m
SEG13 56 31
pin_31
function/plane digit segment
com1 3 seg_a
com2 3 seg_b
com3 3 seg_c
com4 3 seg_p
SEG8 65 40
pin_32
function/plane digit segment
com1 3 seg_h
com2 3 seg_g
com3 3 seg_l
com4 3 seg_m
SEG9 64 39
pin_33
function/plane digit segment
com1 2 seg_a
com2 2 seg_b
com3 2 seg_c
com4 2 seg_p
SEG4 70 45
pin_34
function/plane digit segment
com1 2 seg_h
com2 2 seg_g
com3 2 seg_l
com4 2 seg_m
SEG5 69 44
pin_35
function/plane digit segment
com1 1 seg_a
com2 1 seg_b
com3 1 seg_c
com4 1 seg_p
SEG0 74 49
pin_36
function/plane digit segment
com1 1 seg_h
com2 1 seg_g
com3 1 seg_l
com4 1 seg_m
SEG1 73 48