ECE 300 Embedded Microcontroller Project - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

ECE 300 Embedded Microcontroller Project

Description:

ECE 300 Embedded Microcontroller Project Group 4 Bryan Bollinger Molly Kryder David Windsor Brian Washington Things to pick up along the way To learn about embedded ... – PowerPoint PPT presentation

Number of Views:70
Avg rating:3.0/5.0
Slides: 21
Provided by: AdaliJSt3
Learn more at: http://web.eecs.utk.edu
Category:

less

Transcript and Presenter's Notes

Title: ECE 300 Embedded Microcontroller Project


1
ECE 300Embedded Microcontroller Project
  • Group 4
  • Bryan Bollinger
  • Molly Kryder
  • David Windsor
  • Brian Washington

2
Things to pick up along the way
  • To learn about embedded systems
  • To gain basic knowledge and working experience
    with soldering on a small scale
  • To learn to apply basic troubleshooting knowledge
    of circuits
  • To become more familiar with the design process
    and working in a group environment

3
Goals What exactly needs to be accomplished?
  • Construct a functioning board
  • Power the microcontroller
  • Successfully Flash the microcontroller
  • Power and drive the LCD
  • Interface the board with a sensor
  • Choose an appropriate device
  • Connect the sensor to the microcontroller
  • Scale and display the output

4
MSP430The microcontroller in question
  • Low Supply-Voltage Range, 1.8 V to 3.6 V
  • Lithium and Alkaline voltage range, easy to
    produce
  • 12-Bit A/D Converter With Internal Reference,
    Sample-and-Hold and Autoscan Feature
  • No need for us to convert analog to digital
  • Integrated LCD Driver for Up to 160 Segments
  • No need to write a new interface to drive the LCD
  • MSP430F449       60KB256B Flash Memory, 2KB
    RAM
  • Flexibility for coding

5
Board Construction
  • Team Meeting to practice soldering with the
    surface mount components and the chip
  • Resistors
  • Capacitors
  • Processor
  • Final Board Construction
  • A unified soldering method should be decided upon
    to complete the board, in order to minimize
    possible soldering error and repair time

6
Problems
  • Missing Kit Components
  • -no polarized capacitors, only one MSP430, no
    voltage converter
  • Soldering Problems
  • -melted a part of the LCD cover, fused the
    oscillator crystal leads, first chip soldered
    incorrectly
  • Mostly minor problems, but the frequency of the
    problems and the time necessary to retool between
    them
  • (i.e. time required to obtain replacements
    etc.)
  • caused initial construction to take much longer
    than expected

7
Testing and Troubleshooting
  • Initial Flashes were not successful
  • Learned it was an operator error as the Flash
    Emulation Tool was upside down, another delay
  • Subsequent Flashes
  • Reported success but the LCD showed incoherent
    digits
  • Shortly thereafter, the LCD showed nothing at all

8
Testing and Troubleshooting
  • Possible Causes of Error
  • Heat Damaged Chip
  • Mismanufactured Chip
  • Damaged LCD
  • Bad Solder Joints
  • Further study of the board with a voltmeter
    revealed some bad solder joints which were then
    repaired
  • LCD still showed garbage, but at least it showed
    something

9
Testing and Troubleshooting
  • All points on the LCD had continuity to their
    respective pin on the microprocessor, but still
    something was not functioning properly
  • Starting a new board recommended
  • About this time, another group member began their
    own board, just in case the current board could
    not be repaired
  • The board warranted further testing, so more time
    was committed to experimentation
  • An exact-o-knife was used to check the solder
    joints and traces from the microprocessor to the
    board
  • During this process, the LCD managed to show a
    broken HELLO

10
Testing and Troubleshooting
  • Adding tiny amounts of solder to each of the pins
    of the chip resulted in a fully functional board
  • Another meet to show the board to the team, the
    LCD would fade in and out, apparently a capacitor
    problem
  • Board Finally Successfully Displays Hello 888
    message consistently

11
Sensor Selection
  • Several Types of Analog Sensors Group Members
    Considered
  • Temperature Analog Devices 22100, 22103
  • Magnetic Field Sentron CSA1V, AD 22151G
  • Infrared - Sharp GP2D12
  • Ultrasonic Transducer - USONICPNPA
  • RPM Sensor

12
Quick Sensor Reference
Temperature Magnetic Field Infrared Ultrasonic
Cost FREE FREE 10 60
Expected Ease of Interface Easy Midrange Midrange Difficult
Expected Ease to Test Easy Difficult Easy Easy
13
More Sensor Selection
  • Ease of use of the temperature sensor made it
    very appealing, but there were several models to
    choose from
  • The Analog Devices AD22103 is an analog, low
    power, 3.3V device with a temperature range from
    0 to 100 Celsius and it was available in a 3 pin
    TO-92 Package as opposed to the way many of its
    cousins and competitors were, an 8 pin package

14
Interfacing the Sensor and Board
  • Sensor needed
  • Power
  • which was drawn from a spot on the board labeled
    Vcc which provided 2.85 V
  • Common ground of the board
  • a spot for a banana plug lead was drilled and
    connected to one of the boards several common
    grounds
  • Voltage out to go to the A/D of the MSP430
  • again a spot for a banana plug lead was drilled
    and a wire was run to this location

15
Analyzing the Code
  • The code provided took the input from the A/D and
    converted it to a voltage 100 and stored it in
    a floating variable called sample. The times 100
    comes into play later when displaying results to
    the LCD
  • The AD22103 Datasheet provided a Transfer
    Function to convert this voltage into a
    temperature in degrees Celsius

Rearranging the Equation and Solving for TA
gives
16
More Changes
  • Celsius is the standard temperature scale, but
    Fahrenheit is easier for most people to relate to
  • To convert from C to F, simply use the equation
    below
  • (1.8 C) 32
  • This was an easy modification to the code

17
A glimpse of the code
  • sample ADC12MEM6
  • sample sample A
  • B (3.3 / 2.85) / .028
  • sample sample B
  • sample sample - (.25 / .028)100
  • sample (sample 1.8) 3200
  • lcd_word(sample,2)
  • Its time to recall the fact that the board is
    storing and sampling the voltage times 100.
    Because of this, all constants need to be
    multiplied by 100. The reason for this is pretty
    obvious if you look the way in which the LCD
    driver functions operate. They take the number
    and perform modulus division on the sample to
    find out the value of the thousands place, the
    hundreds place, the tens place, and the ones
    place and it sends it to the 3rd segment, 2nd
    segment, 1st segment, and 0th segment
    respectively.

18
An Example
  • What if it were 72.35 degrees in this room?
  • Then the value of sample after the conversions
    would be 7,235 so the processor would try to
    figure out what to send each segment one at a
    time

Segment 3 7,235 / 1000 7.235 10 7.235
0 7 Segment 2 7,235 / 100 72.35 10
2.35 0 2 Segment 1 7,235 / 10
723.5 10 3.5 0 3 Segment 0 7,235
/ 1 7,235 10 5 0 5
19
Future Changes
  • Make the board perform an action when a condition
    is met
  • Turn on an LED
  • Make a noise with a small buzzer
  • Such tasks would require only a small amount of
    additional knowledge of the chip and its
    interrupt system

20
Some pictures
Back of the board
Front of the Board
AD22103 Temp Sensor
Write a Comment
User Comments (0)
About PowerShow.com