Download presentation
Presentation is loading. Please wait.
Published byChloe Montgomery Modified over 9 years ago
1
ECE 300 Embedded 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
MSP430 The 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: 60KB+256B 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 TemperatureMagnetic FieldInfraredUltrasonic CostFREE ~10$~60$ Expected Ease of Interface EasyMidrange Difficult Expected Ease to Test EasyDifficultEasy
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 board’s 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 T A 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 3 rd segment, 2 nd segment, 1 st segment, and 0 th 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 Front of the Board Back of the board AD22103 – Temp Sensor
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.