final_rpt

advertisement
ECE 477 Final Report  Spring 2010
Team 12  A.F.C.I.
Figure 0: Team portrait with completed project (From left to right: Ronny Wijaya, Darin Tanaka, Naman Chopra,
Suan-Aik Yeo)
ECE 477 Final Report
Spring 2010
Team Members:
#1: ____Suan-Aik Yeo____________
Signature: ____________________ Date: _________
#2: ____Naman Chopra___________
Signature: ____________________ Date: _________
#3: ____Ronny Wijaya____________
Signature: ____________________ Date: _________
#4: ____Darin Tanaka____________
Signature: ____________________ Date: _________
CRITERION
SCORE
MPY
Technical content
0 1 2 3 4 5 6 7 8 9 10
3
Design documentation
0 1 2 3 4 5 6 7 8 9 10
3
Technical writing style
0 1 2 3 4 5 6 7 8 9 10
2
Contributions
0 1 2 3 4 5 6 7 8 9 10
1
Editing
0 1 2 3 4 5 6 7 8 9 10
1
Comments:
TOTAL
TABLE OF CONTENTS
-ii-
PTS
ECE 477 Final Report
Spring 2010
Abstract
1
1.0 Project Overview and Block Diagram
1
2.0 Team Success Criteria and Fulfillment
3
3.0 Constraint Analysis and Component Selection
3
4.0 Patent Liability Analysis
8
5.0 Reliability and Safety Analysis
11
6.0 Ethical and Environmental Impact Analysis
15
7.0 Packaging Design Considerations
19
8.0 Schematic Design Considerations
21
9.0 PCB Layout Design Considerations
26
10.0 Software Design Considerations
30
11.0 Version 2 Changes
37
12.0 Summary and Conclusions
38
13.0 References
38
Appendix A: Individual Contributions
A-1
Appendix B: Packaging
B-1
Appendix C: Schematic
C-1
Appendix D: PCB Layout Top and Bottom Copper
D-1
Appendix E: Parts List Spreadsheet
E-1
Appendix F: FMECA Worksheet
F-1
-iii-
ECE 477 Final Report
Spring 2010
Abstract
The purpose of this project was to provide instrumentation for a hydrogen powered vehicle that
would allow a user to easily analyze the hydrogen system. The primary goal was to aid in the
research of promising hydrogen –fuel technology that Professor Jerry Woodall is developing.
Naman Chopra provided the vision of this project as he is currently working under him.
1.0 Project Overview and Block Diagram
Figure 1-1: Photograph of Completed Project
1
ECE 477 Final Report
Spring 2010
Figure 1-2: Block Diagram
The AFCI (Alumoline Fuel-Cell Instrumentation) system is an instrumentation and analysis
system for a hydrogen powered golf cart. This golf cart will consist of a hydrogen internal
combustion engine, in which a water tank will supply water to a hydrogen tank which contains
liquid gallium saturated with aluminum, more information about this research can be found here.
This system will provide an easy-to-use user configurable display to monitor sensor data. The
data that will be monitored will be: hydrogen tank temperature, hydrogen tank pressure, water
tank temperature, water tank pressure, and hydrogen tank leakage. A touch screen interface will
be mounted onto the golf cart to allow the driver to easily monitor sensor data. This data can be
display in terms of a meter panel or the user may opt to see the data in a real time data versus
time scatter plot. Also the user may only want to view one or two sensor values at a time. Our
system will allow different panel displays in a one-meter mode or two-meter mode. Another
important feature the AFCI implements is the logging of data. The user will be able to log
specific sensor data values onto an external media (SD card) which will have time specific
stamps associated with it. Along with this functionality the user can also change how often data
2
ECE 477 Final Report
Spring 2010
will be logged to the SD card. We are hoping that this project will aid in the research for
Professor Woodall.
2.0 Team Success Criteria and Fulfillment
PSSC
Preliminary
Final
An ability to receive and correctly record values
Fulfilled
Fulfilled
Fulfilled
Fulfilled
An ability to store data on external memory.
Fulfilled
Fulfilled
An ability to use a touch screen to send
Fulfilled
Fulfilled
Fulfilled
Fulfilled
from various sensors.
An ability to give appropriate warnings and
troubleshooting instructions if a sensor detects
something wrong.
commands to the microcontroller to control the
logging of data and to provide a user
configurable display for the logging of data from
multiple sensors.
An ability for the microcontroller to receive and
execute commands to remotely enable, disable
and control the sampling rate of multiple
sensors.
Table 2.1: PSSC Fulfillment
3.0 Constraint Analysis and Component Selection
3.1 Design Constraint Analysis
A number of design constraints need consideration. The device must be durable as the golf kart it
will be mounted on will experience moderate speeds and large forces. So strong packaging is of
high-priority. That’s why we will use hard military-grade aluminum project enclosure.
3.1.1 Computation Requirements
Overall we do not have very stringent computation requirements for the system. Mainly, our
micro-controller will need to gather, interpret and send sensor readings to the Atom Board at a
3
ECE 477 Final Report
Spring 2010
speed of 2 readings per second. Although this is a multi-step process which consists of the
microcontroller getting interrupted by the timer, performing analog-to-digital conversion on the
sensor data, creating and sending the corresponding message to the Atom board over SCI. All
this can be easily achieved by the 9S12C microcontroller.
Apart from that, our Atom board will have to have enough computation power to provide a
responsive fully-graphical 1024x768 user interface, while interpreting touch-screen user
feedback at the same time. This is not a problem as it is a full-blown computer motherboard,
complete with integrated graphics, and is more than capable of providing a responsive user
interface.
Finally, our microcontroller will need to be able to write the sensor data logs to the SD card at a
sufficiently quick rate so that the user will not have to wait for the data to be saved. According to
Suan's previous experience working with interfacing SD technology directly over SPI using the
9S12C, this can be easily achieved.
3.1.2 Interface Requirements
The only general-purpose I/O pin that we might use is a “powered now” red LED indicator. We
are using 5 sensors and each will be connected to a pin with ATD capability for a total of 5 pins.
Currently, we do not see a need for optical isolation in our circuit.
3.1.3 On-Chip Peripheral Requirements
Primarily for this project we will be making heavy use of our ATD channels in order to convert
analog sensor data into digital values we can compute. We will need six ATD channels in total.
One pressure, temperature, and water level sensor will be needed for both the hydrogen fuel tank
and the water tank. We will also need a channel for an SCI (RS-232 serial) in order to
communicate with our Intel Atom board. This SCI will be heavily used as all information about
the sensors needs to be sent to the Atom Board periodically. Lastly we will need SPI to
write/read to an external SD card. The Atom board will control the reads/writes to this SD card
although the microcontroller will be the one actually implementing this.
3.1.4 Off-Chip Peripheral Requirements
For this project we will need a number of off-chip peripherals. One of the peripherals we will
need will be a SD card reader module. This SD card reader module will be used to save logs of
our sensor data in order to satisfy our PSSC. Another peripheral we will need is an Intel Atom
board. We are going with the PCM-9361 from Advantech. Since we are going to create a
4
ECE 477 Final Report
Spring 2010
graphical user interface (GUI), we need an operating system to implement graphical libraries.
The Atom board will constantly be communicating with the microcontroller to retrieve sensor
information and also to inform the microcontroller to save sensor data to the SD card. The LCD
touch screen is another peripheral we will need. We decided to get the 7 inch touch screen from
Xenarc. This will be connected to the Intel Atom board and will display the GUI. When a user
invokes a certain feature on the touchscreen, the information will be sent to the microcontroller.
The only purpose for the Atom board and LCD is to support the GUI. Lastly we will need
sensors to measure all of our data. For the temperature sensor we will be using a thermocouple,
kqss-116u-18, from Omega. For the pressure we will be using the P1200 pressure transducer
from GE. We will also have a hydrogen leak detector sensor from Figaro. It will be mounted
under the seats of the car, close to the internal combustion engine or fuel cell (depending on the
vehicle it is mounted on).
3.1.5 Power Constraints
Originally we planned to power our system straight from the 48V battery that the golf cart uses.
However, after a discussion with Chuck this week and some further analysis we decided to add a
dedicated 12V battery whose sole purpose is to power our system. The two main factors were
because the Atom board is a significant power draw and could affect the normal operation of the
golf cart; and we did not want the entire system to undergo a sudden power-off when the ignition
is turned off, especially since any SD card transactions taking place at that time could corrupt the
filesystem on the card. We decided on a 12V battery because most components in our system
(including the atom board) with the exception of the microcontroller and the SD card reader
module can be powered by 12V. The microcontroller needs a 5V power source and the SD card
reader needs a 3.3V. Our entire system is DC-powered. The only foreseen heat-dissipation issue
is the Atom board, which could be dissipating heat into the dashboard which is an enclosed
space, leading to increasing heat-up of the system.
3.1.6 Packaging Constraints
The PCB needs to withstand vibrations and outside temperature (below 0 C). The team won't be
around for repairs so the system needs to be durable.
3.1.7 Cost Constraints
The total cost of the complete instrumentation project should not exceed $1000.00. We have
funding from Professor Woodall but we still have to keep the costs reasonable. There are
commercially available systems which can easily monitor this type of system but they are not
5
ECE 477 Final Report
Spring 2010
mobile and compact like ours. Plus they tend to be quite expensive and don’t display all the
information on one compact display.
3.2 Component Selection Rationale
Atom Board
Although we could technically use the Atom board provided in lab free of charge, we needed to
buy our own because we wanted the finished project to persist past the end of the semester and
did not want to return it. The PCM-9361 is the cheapest Atom Board Suan found that fit our
requirements (VGA and integrated graphics support, small form-factor for easy placement into
the car dashboard, fanless operation to reduce mechanical complexity and moving parts, compact
flash support to remove the need for a larger hard drive). On top of being cheaper than the labprovided IB-887 board, it has the convenience of having a standard 9-pin serial port.
PCM-9361 (selected)
IB-887
VGA interface and port
yes
yes
Serial interface
yes
yes
Standard 9-pin Serial RS-232 connector port
yes
no
Compact Flash ready
yes
yes
Area
3.5"
3.5"
yes
Onboard graphics
Price
$263
yes
$344
Table 3.2-1: Atom board comparison
LCD
These were the two primary touch-screens we were looking at. Both of these had VGA inputs
along with USB touch-screen outputs. The prices for both of these were about the same if you
include shipping. In the end we decided to go with the Shark because it had a better resolution
along with the fact that it can operate at a lower voltage.
6
ECE 477 Final Report
Spring 2010
Armatexx 7 inch touchscreen
Shark 7 inch touchscreen
Resolution
800x480
1024x768
VGA
Yes
Yes
Voltage required
12 Volts
10.8 Volts
Dimension
179 x 29 x 122 mm
180 x 25 x 125 mm
Price
$139.81
$129.99
Table 3.2-2: LCD comparison
Microcontroller
When we were choosing the microcontroller, we put our priority on its capability on getting the
signal from the sensors easily which means it had to have enough ATD channels to ease up the
process, also its peripheral features to communicate with the SD card and the Atom board, and
its programming environment. An operating voltage of 5V would be ideal as many of our
sensors’ output range is up to 5V. A clock speed of about 8MHz would also be good enough for
our purposes. Having these points in mind, we searched many microcontrollers on the internet.
We came up with these two choices: Atmel AVR ATMEGA16 and Freescale 9S12C32.
ATMEGA16 [1]
Freescale 9S12C32 [2]
ATD Channel
One 8-channel 10-bit
One 8-channel 10-bit
SD Card interface
One synchronous SPI
One Master/Slave SPI
Atom board interface
Programmable USART
One asynchronous SCI
Online Support
AVRFreaks.net
Freescale.com
Flash
16 kb
32 kb
RAM
2 kb
2 kb
Table 3.2-3: Microcontroller comparison
We had our thoughts between these two choices and came up with Freescale micro-controller.
We all had considerable experience with interfacing this micro-controller so that would
accelerate our development process. On the flip side, we can't use the great support on the
AVRFreaks.net and AVR's USART feature but that would be fine as we had a great support as
well from the senior design staff.
7
ECE 477 Final Report
Spring 2010
3.3 Summary
The A.F.C.I is subject to a number of design constraints, the most important being the product
needs to last years as it will be used to aid the research process. The system should be of low
power consumption. Based on the requirements, a microcontroller, an atom board, an LCD, and
sensors were chosen appropriately.
4.0 Patent Liability Analysis
4.1 Introduction
The AFCI system will be used to provide an easy to use monitoring capability to the driver of a
hydrogen powered golf cart. This system was built in order to aid in the research of Professor
Woodall, who is currently working on hydrogen powered vehicles. There will be a touch screen
interface in which the driver may control the system in an easy to use interactive graphical user
interface; this type of implementation is different than current hydrogen monitoring systems
where generally a remote system will be monitoring the vehicle. The AFCI system will monitor
hydrogen tank temperature, hydrogen tank pressure, water tank temperature, water tank pressure,
and hydrogen tank leakage. These values will be displayed to the user as 5 meters. The user will
also have the option to view a graph starting from the current time by clicking one of these
meters. Also the user will have the option to store sensor data onto an SD, and also will have the
option to customize which data gets stored onto the SD card. This SD card feature is not
available in other hydrogen monitoring systems. In order to measure the temperatures we are
using K-type thermocouples. For pressure, we are using amplified pressure transducers. Lastly
for the hydrogen leak detection, we are using a pre-calibrated module for gas leak detection. The
system will be implemented using a micro controller and an Intel Atom board. The micro
controller will be primarily responsible for reading the ATD values, sending them to the Atom
board, and logging data to an SD card. The Atom – Board will be solely responsible for
managing the graphical user interface and configuring the microcontroller. The Atom board and
micro controller will communicate via the UART scheme.
4.2 Results of Patent and Product Search
There were a few existing patents that dealt with golf cart touch screens or a hydrogen
monitoring system for a vehicle. Our system has two primary functions, which is an ability to
provide a touch screen interface on a golf cart, and an ability to monitor the pressure,
temperature, and hydrogen leaks on a hydrogen powered vehicle. The following sections will
discuss three patents that were found which could cause a patent liability.
8
ECE 477 Final Report
Spring 2010
The first patent that was researched is called “Golf course management system for golf carts”,
with patent number 20090201263. This patent was filed on 2/09/2009. The abstract of the patent
describes a touch screen display connected to a “processor” which includes a GPS to determine
locations of the golf cart. The touch screen will be used to display data and also be used to send
calculation data to the “processor”. The processor will be used to calculate touch positions and
coordinate positions. Also the processor will be used to display golf course tees onto the touch
screen.
The second patent that was researched is called “Methods for Monitoring Hydrogen Fueling
Systems”, with patent number 20090297897. This patent was filed on 12/05/2008. The abstract
describes this apparatus to provide a hydrogen leak detection mechanism. An event controller
will measure pressure of the hydrogen gas before, during and after fueling operation. If certain
pressure thresholds are exceeded the hydrogen fueling system will be shut down. A compressor
will be used in order to regulate pressure. The so called “event controller” will be a
programmable logic controller. To be more specific one of the claims is a decrease of 100 psig
will result in a hydrogen fueling shutdown.
The third patent that was researched is called “Computer System and Method for Monitoring
Hydrogen Vehicles”, with patent number 20080234888. This patent was filed on 12/01/2005.
The patent abstract describes a system in which it remotely monitors a hydrogen vehicle. This
system includes a data acquisition/communication module configured to receive signals which
represent status conditions associated with the vehicle. A computer will be used as a remote to
control this hydrogen monitoring system. The display will be located on the hydrogen powered
vehicle. The status conditions mentioned earlier contains many different types of data. The ones
most relevant to our project is hydrogen tank pressure and hydrogen tank temperature.
4.3 Analysis of Patent Liability
Although the patents listed above have many similar features of the AFCI system there are no
literal infringements we need to worry about. The golf cart system that was described above
calculates completely different data and is used an entirely different context. Also for the
“Monitoring Hydrogen Fueling Systems” they’re method of calculating hydrogen leak detection
is based on multiple pressure checks. The AFCI system on the other hand detects hydrogen leaks
through a commercial pre calibrated module in which it provides a voltage reading based on the
gas concentration levels. In the claim, the monitoring hydrogen fueling system is patenting the
9
ECE 477 Final Report
Spring 2010
method of calculating hydrogen leak detection not the electrical method of detection on a
hydrogen vehicle. There may be a doctrine of equivalence regarding the “Computer System and
Method for Monitoring Hydrogen Vehicles” patent. The AFCI system also uses a
communication module which really is our micro controller. Also we use this module to measure
“status” data such as hydrogen tank temperature and pressure. Similarly as well, the AFCI
system will use a computer, our Atom board, to control the hydrogen monitoring system.
Although a lot of functionality is similar our design defers from this patent because we are using
an SCI protocol to communicate with the host computer and communication module.
Specifically the remote system will be off the vehicle, where as our system will be entirely on the
vehicle.
4.4 Action Recommended
The highest potential for infringement is with regarding to the “Computer System and Method
for Monitoring Hydrogen Vehicles”. However if we were ever to get into a liability issue, an
argument we could use is that our remote implements a touch screen interface where as their
system distributes data as a web server. So although we both provide substantially the same
function the implementation is in a relatively different way. Also there could be a potential
liability with the golf cart touch screen system. Both of our systems bring the idea of having a
touch screen interface mounted on top of a golf cart. The argument we would bring up for this is
that, although our golf cart setup are similar our functionality is different. The golf cart system is
using GPS in order to calculate coordinate on a golf course, but our system is monitoring a
hydrogen vehicle. Using this argument we can avoid doctrine of equivalence.
4.5 Summary
There were three patents that were analyzed regarding if our project had a possibility of
infringement. All three of these patents had similar component or design mechanism as the
AFCI system. However none of these patents create a literal infringement liability with our
design. Also there are no clear cut doctrines of equivalents as all the differences can be seen.
Differences such as a golf cart GPS and a hydrogen monitoring system. Also a difference like
having a remote system compared to a on board system. Overall we believe that the patent
liability of our design is very low.
10
ECE 477 Final Report
Spring 2010
5.0 Reliability and Safety Analysis
5.1 Introduction
AFCI was a monitoring device that is designed for a Hydrogen Fuel-Cell electric vehicle. This
product was made for the researchers’ group that develops this specific vehicle. Since this device
would be used by the research team heavily, we considered the safety and the reliability issues so
the system would work without making any inconvenience for the users. For safety issues, our
system had to keep itself from messing up the vehicle's system. Aside from that, we would like
to keep our battery safe from short circuit. On the reliability side, our system would bring a
dependable performance with the needed sensing accuracy.
5.2 Reliability Analysis
Among the components in our system, we believed that there were several components that were
more likely to fail than the others. We carefully selected the components that would give us the
longest lifetime span for our system.
The first component was the battery which was our main power source. This battery brought 36
Volts and if the positive and the negative connection were shorted, a big spark would occur. On
the reliability issue, the battery had a certain lifetime which may need users to take actions on it.
The second component was the power regulator which was responsible to regulate from our main
power source's voltage (36 Volts) to a stable 12 Volts. The component, which was named
VKP100MT312C, was pretty big and complex that it generated heat when it operates for a long
enough time duration. The heat generated could damage itself and make it unreliable for
operation. If this component failed, it could do some damage since high voltages would be
forwarded to the sensitive Integrated Circuits.
The third component was the amplifier Integrated Circuit (IC) that we used. This IC was for
translating the cold junction technology of the thermocouple used by the system into an analog
signal. Since the accuracy of the sensors depended on the condition of the sensors, the
connection of the sensors and the condition of this ICs as well, we felt that it was necessary to
include this IC into the analysis.
The fourth component was the microcontroller we used. This micro-controller was the most
complicated IC on our Printed Circuit Board (PCB). There was a chance that this device would
11
ECE 477 Final Report
Spring 2010
heat up as it was used. The synchronization between the micro-controller and the other interfaces
may affect the reliability of the whole system.
The other components in our system that might fail were the Atom board and the touch screen
display. Since both of them were commercial products, we expected them to be reliable in a
certain extent. Still, we had to consider steps to make them as reliable as it was promised.
Provided below were the tables of our analysis about the mentioned components' number of
failures per 1x106 hours and their Mean Time to Failure (MTTF).
For the micro-controller:
Parameter name
Description
Value
Comments
C1
Die complexity
0.28
16 Bit
πT
Temperature coeff.
1.5
Assuming 45o F
C2
Pins constant number
0.013
36 used pins
πE
Environmental coeff.
3
Ground, mobile
πL
Learning coefficient
1
> 2 years
πQ
Quality coefficient
5
Estimation for commercial
Entire design:
Micro-controller
2.295
Failures per 1E6 hours
MTTF
49
Mean Time to Fail (years)
Table 5.2-1: Failure analysis for microcontroller
For the 36 to 12 Volts regulator:
Parameter name
Description
Value
Comments
λb
Base failure prob.
0.002
Voltage regulator
πT
Temperature coeff.
1.5
Assuming 45o F
πS
Stress coeff.
1
Big regulator
πC
Construction factor
1
Solid connection
πQ
Quality coefficient
5.5
Mixed material
Entire design:
Voltage regulator
0.0165
Failures per 1E6 hours
MTTF
6 844
Mean Time to Fail (years)
Table 5.2-2: Failure analysis for 36-12V regulator
12
ECE 477 Final Report
Spring 2010
For the cold junction signal amplifier:
Parameter name
Description
Value
Comments
C1
Die complexity
0.02
Simple IC
πT
Temperature coeff.
1.5
Assuming 45o F
C2
Pins constant number
0.048
14 used pins in DIP package
πE
Environmental coeff.
3
Ground, mobile
πL
Learning coefficient
1
> 2 years
πQ
Quality coefficient
5
Estimation for commercial
Entire design:
Thermocouple IC
0.87
Failures per 1E6 hours
MTTF
132
Mean Time to Fail (years)
Table 5.2-3: Failure analysis for cold junction signal amplifier
Based on these calculations, the component that was most likely to fail was our micro-controller.
This was expected as it was the most complex IC we had. We thought of ways to mitigate the
reliability of the system and we came up with several steps. They were:
- Provide enough heat sink for the voltage regulator
- Protec the sensors’ connection by using protective sensor wires
- Provide enough power to the system
- Operate in the approved operating condition
Parts other than the RS-232 driver IC, micro-controller, Atom board, touch screen display and
the sensors would not really make the system totally dysfunctional when they fail. Hence, it was
required that we make sure those components worked as needed for our system to be usable.
5.3 Failure Mode, Effects, and Criticality Analysis (FMECA)
We had five blocks of circuitry when we divide the circuit according their functionality. They
were the power management block, the micro-controller block, the sensors block, the SD card
block and the RS-232 block. Starting with the power management block, it contained all of our
power regulators and the circuitry to support them. These power regulators could overheat as
they were used. This heat could reach a level where it damage the regulators and make them
unreliable. When one of these regulators fails, undetermined voltage output would come to the
voltage rails and it might damage the other ICs as well.
13
ECE 477 Final Report
Spring 2010
On the other block, which was the micro-controller block, we had the micro-controller, the
bypass capacitors, the oscillator and the Background Debugging Mode (BDM) pins. The microcontroller, which was the most complex IC on our PCB, was likely to fail due to heat, soldering
condition and excessive input current. Another possibility was that the oscillator circuitry did not
work so that the micro-controller froze. If the micro-controller failed, our system would not be
able to take the sensors input at all, which could make our system unusable.
The third block was the sensors block. This block contains all the sensors used on the vehicle’s
system and the IC that translated the Cold Junction thermocouple output into familiar analog
signals. Unfortunately, the translator ICs were vulnerable to noises. As a result from the noises
from the PCB, the translator ICs did not give us a very accurate reading.
The fourth block was the SD card block. This block includes the SD card module and the level
translator IC that converts 5 volts signals into 3.3 volts signals. The SD card module was a break
out connection board module we bought from a certain provider. We assumed that this module
was connected properly so it would be reliable enough for our project. The level translator was a
small IC that was prone for pins bridging when we soldered it. If the 5 volts pins and the 3.3
volts pins were shorted, both rails would have 5 volts on them and it might prevent the system to
write data into the SD card, not to mention it might damage the SD card. Another failure that
could happen was the synchronization error. When the SD card could not communicate at the
same pace as the micro-controller’s SPI did, the writing process might fail.
The last block was the RS-232 block. This block contained only the RS-232 driver IC. This IC
was responsible for converting the SCI signals into the RS-232 signals that could be recognized
by the Atom board. Again, a scenario that might fail this block’s main function was the failure
on the synchronization between the micro-controller’s SCI and the Atom board’s RS-232.
Another issue was when this driver IC heated up and failed itself.
Various types of failures may also occur when pins which were supposed to be open were
shorted. This might bring down the voltage down to a certain unpredictable level. If ICs take
insufficient voltage input, they might not work as expected.
To create the same understanding of the criticality of these failures, we defined three levels of
criticality. The first one was low criticality. The failures that belonged to this group were the
ones that both did not remove the system’s ability to monitor the physical properties of the
14
ECE 477 Final Report
Spring 2010
vehicle and did not cause any injury the users. The second one was the medium criticality. The
failures that belonged to this group were the ones that removed the system’s monitoring ability
but did not injure the users. The third one was the high criticality. The failures that belonged to
this group were the ones that both removed the monitoring ability or injured the users in any
way.
5.4 Summary
Our project had two safety constraints that must be followed. The first one was to make sure that
the polarities of the battery did not get shorted. The second one was to keep our sensors or any
other component from messing up the reactor.
We had more reliability issues that had to be considered. These include the performance of our
power regulators, the accuracy of our sensors, the condition of the micro-controller and the usage
correctness of the SD card circuitry and the RS-232 circuitry.
When we have solid software, solid PCB’s connection and correct usage, these reliability issues
should be mitigated.
6.0 Ethical and Environmental Impact Analysis
6.1 Introduction
We are designing an instrumentation and analysis system for a hydrogen-powered golf cart. Its
primary goal is to aid in the research of a very promising hydrogen-fuel technology that Naman
Chopra and Purdue professor Jerry Woodall are developing. The specific values we are
monitoring are the pressure and temperature in the hydrogen reactor and water tank, along with
the hydrogen level just outside the tank, to detect hydrogen leaks.
Our main goal in senior design was to create a functional product. This, combined with the
course requirements, time, budget, and equipment limitations placed on our team, definitely led
to a sub-optimal product in terms of ethical and environmental impact. Two of the main issues
were lack of time and capacity to perform proper testing and excess use of parts and materials.
15
ECE 477 Final Report
Spring 2010
6.2 Ethical Impact Analysis
We are confident that our product works under normal operating conditions where the
temperature is mild and the golf cart is moving slowly on relatively smooth terrain. However,
our product should also be tested under worst case conditions such as in harsh weather and on
bumpy terrain. It becomes an ethical issue when we claim that our product will perform
accurately for an extended period of time and that it is safe to operate, whereas we have not
performed the required testing to give that assurance.
Many aspects of our design are impacted by this issue. Because our product might be used in a
golf cart outdoors, it could be subject to harsh weather and temperature conditions. Our Atom
board is only rated to operate between 0 °C and 60 °C, so we do not know the consequences of
using our product outdoors in the peak of an Indiana winter.
Furthermore, our system could be used on a golf cart while driving on bumpy terrain. We need to
make sure that our connections and fixtures are as firm as possible to ensure optimum safety.
To address these issues, we should include full disclosure of all our doubts about our design.
This is the ethical thing to do even though it will make our product appear less attractive. These
warnings should appear at all places: in product manuals, on stickers on the enclosures, and even
during marketing of the product. To address the very important issue of our system not detecting
excessive pressure buildup in the hydrogen reactor, we have also placed a failsafe mechanical
valve that will pop open in such an event.
Another ethical issue with our design is that because one of our parts is a computer motherboard
with a full-fledged operating system (Ubuntu 9.10) installed, if somebody malicious to the end
user manages to connect a keyboard to the system there are many actions he could do that would
harm the actual user, such as manipulating sensor readings and disabling components. One of the
reasons that we chose to use a Linux operating system was to alleviate this issue since Linux
requires root access to perform significant changes to the system.
16
ECE 477 Final Report
Spring 2010
6.3 Environmental Impact Analysis
Manufacture:
One fact that sticks out about our project is that it uses many more parts than it actually needs.
First of all, our PCB is quite large (8.62”x5.13”) but yet quite sparse.
Furthermore, there is a good possibility that our project doesn’t even need a separate PCB as
most of the functionality can be achieved by the Atom board. By simply attaching an SD card
reader and using some of the Atom board’s general purpose I/O pins for ATD functionality, the
only other part that would be needed is a 12V-5V switching regulator to power the board from
the 12V golf cart battery.
If we determined that we still need a PCB, we could reduce the manufacturing environmental
impact by using lead-free solder.
During Normal use:
Due to large power consumption, there is some amount of heat emitted by our 33-75V to 12V
regulator and Atom board. Compared to most other motherboards out there, our Atom board is
fairly cool and lightweight. It measures 5.7” x 4”, whereas a typical PC motherboard measures
around 12” x 9.6”. We have used a net-like front panel on our enclosure to provide ventilation
for the Atom board. To reduce the environmental impact during normal use we could put our
Atom board and microcontroller in sleep mode when they are idle. We could also reduce the
amount of unneeded background processes running on the Atom board.
During Disposal/recycling:
Because our PCB contains large amounts of lead solder, disposing of it will be quite harmful to
the environment. This could be mitigated somewhat by using lead-free solder. Apart from that,
the 36V lead acid battery we use contains lead and other harmful chemicals such as sulfuric acid.
It also carries a risk of explosion or big sparks if its leads are shorted together, possibly resulting
in a fire. We will place warning labels on the battery to warn of this danger. Finally, although
aluminum is not considered to be directly harmful to the environment, it takes a very long time to
decompose and would occupy landfill space for a long time. As such, during disposal, our
aluminum project enclosure should be recycled instead of just thrown away.
17
ECE 477 Final Report
Spring 2010
Recycling would be the best way to curb the environmental impact of our product – the hard part
is persuading users to recycle the product after they are done with it. If we had a small product
(like a smartphone for example) it would be easy to include a bag with paid shipping labels
attached so that customers could mail it back to us for recycling. Alas, our product is enclosed in
a large aluminum box and includes a sizable lead acid battery so the costs and effort involved in
such a scheme make it impractical.
Fortunately, according to US laws and regulations, in many states [3] it is illegal to knowingly
dispose of batteries in the trash. In most states, the Environmental Protection Agency also
requires retailers that sell lead-acid batteries to collect used batteries for recycling [2]. These
measures should persuade most people to drop off their used lead-acid batteries to a nearby
retailer for recycling.
To prevent our project box and the parts inside to go to waste, we could advertise the fact that
there is actually a full-fledged PC motherboard in the casing. Therefore, after a user no longer
wishes to use our product, the user could contact us and we would provide the root password for
the installed Operating System. That way they could connect a keyboard to the machine and just
use it as a PC.
6.4 Summary
This report outlined and elaborated on the ethical and environmental challenges related to the
AFCI project and how we plan to address them. The main ethical issues we encountered were
lack of testing and security issues related to having a computer motherboard as part of the
product. To address those we plan to provide full disclosure about the caveats of the product and
to use a secure underlying operating system. The main environmental issue encountered is our
project is that it is unnecessarily wasteful. If we were to mass-manufacture our product we will
be able to get by using much fewer components.
18
ECE 477 Final Report
Spring 2010
7.0 Packaging Design Considerations
7.1 Introduction
The packaging, as briefly explained to some extent in the design constraints portion will
basically consist of a box with connectors. This module will be screwed onto the dashboard
beside the LCD. The LCD will also be mounted with its own provided mount which can be
rotated for better view. The box will have an SD card slot on the right side and the user can reach
it easily while sitting in the cockpit. Everything will be controlled from the touch-screen.
The box needs to be sturdy and durable. The sensors will be connected to the reactor vessel and
there will two Ethernet cables connecting the sensors to the box.
7.2 Commercial Product Packaging
Product #1
Nissan GT-R in-dash informational display – The Nissan GT-R is a high performance sports car
(480HP). This was my primary inspiration for designing our A.F.C.I.
The drive computer, as they call it, is developed by polyphonic studios collaborated with Nissan
Japan. There is preset information and also driver selectable information gauges. There is a
gauge for everything - acceleration in G’s, percentage of accelerator pedal pressed, boost gauge,
braking G’s, fuel range, engine oil temp and pressure, transmission oil pressure and temperature
and a ton more things.
The packaging is in-dash housed, not movable, and the microcontrollers are hidden away from
the user’s view. We will have a similar touchscreen display.
We will be monitoring temperature, pressure and leaks. The system we are monitoring is entirely
different from this vehicle. This is a gasoline powered sports car.
19
ECE 477 Final Report
Spring 2010
Product #2
Toyota Prius in-dash informational display – The Toyota Prius hybrid drive computer is not as
fancy as the Nissan GT-R’s but still provide efficiency, fuel range, and temperature readings. It
gives a complete status of the Hybrid Synergy Drive (HSD) technology developed by Toyota;
informing the current state of the system to the driver to help him/her achieve more mileage from
the vehicle.
The display is not touch-screen, there are buttons on both sides of the LCD to view and change
settings. The display again is not movable and is housed inside.
What we will incorporate from this system is the idea of providing an overall state of the system.
We will give appropriate warnings if a sensor exceeds predefined thresholds.
7.3 Project Packaging Specifications
The packaging which we plan to use will be Military grade aluminum metal case which will
enclose the atom board (reminder, this is not the board provided by Purdue, we got our own) and
the PCB in one box. There will be detachable connectors for sensor wires and LCD connection
(VGA and USB) and the box will be designed to open only by screws (4 screws). We would
need a drill for drilling holes for the box which will contain the PCB and the atom board.
The LCD will require some drilling. The estimated weight of the box will be no more than four
pounds. The LCD weights two pounds. The box will be connected through wires that will run
underneath the vehicle’s carpet/mat and will be sealed for water proofing.
The box should not cost more than $50.
20
ECE 477 Final Report
Spring 2010
7.4 PCB Footprint Layout
In placing the components on the PCB, the biggest consideration would be whether we have
enough space for the traces and the header ports. Most of the board’s estate would be occupied
by the serial port, header ports, traces and the electrical circuitry for the power management.
With the total area for those elements and extra area for some trace routing, the estimated
dimension for our PCB would be six centimeters by ten centimeters.
7.5 Summary
Our device will be one of a kind product out there; there is really nothing in the market which
actually measures an Alumoline fuel storage and delivery system. This product will set a
standard in this market for Alumoline monitoring as this is the first prototype ever. The display
GUI will somewhat be a hybrid of the display Nissan GT-R and Toyota Prius, however it will
display information which is entirely different. Our display is flexibly mounted and we can
change direction. It will be placed right behind the steering. The case which houses the atom
board and PCB will be located near the LCD and the user will have access to the SD card slot.
The dimensions are approximated and are written in appendices.
8.0 Schematic Design Considerations
8.1 Introduction
AFCI was an instrumentation device that was designed for a Hydrogen Fuel-Cell electric vehicle.
The main consumer of this product would be the researcher group that developed this specific
vehicle. Hoping that the product would provide the practical advantages to accelerate the
research, we decided to create an instrumentation system that is focused in monitoring the
important physical properties of the vehicle's vital devices as well as giving the ease and the
elegance of using the instrument over a user-friendly interface.
In achieving the functional and interface related goal of this project, we divided the system into
three main parts. They were the Atom board, the sensors to monitor the properties and the
Printed Circuit Board (PCB) which had the microcontroller and its related interfaces. For the
Atom board, we already had a product that we could use right away. We were planning to use
this board to organize the touch display interface which would be the main interface of this
device to the users. In this chapter we would go through the theory of the operation of the three
groups in more details.
21
ECE 477 Final Report
Spring 2010
8.2 Theory of Operation
Starting with the Atom board, we decided to use an Atom board to help us in managing the
graphical user interface. The main reason for choosing an Atom board over a microcontroller to
drive the touch sensing display was to accelerate the development and to simplify the interface
system. When we picked our Atom board, we wanted to choose an Atom board that provided
enough interfaces for the touch sensing display, the communication between itself and the
microcontroller, as well as the development tools which include a flash card slot, a keyboard and
a mouse. Since the Atom board itself had a simple desktop architecture, we could simply take it
as a desktop machine where an Ubuntu Linux operating system could be installed and did a lot of
graphical application. The main storage device for this Atom board would be a Compact Flash
card. Through this card, the Atom board would be able to load the operating system as well.
The second major group of our system was the sensors group. With the consideration that the
environment where we were monitoring was really reactive, we have taken many steps to
comply with the safety conditions of the particular Hydrogen fuel cell we were monitoring. This
fuel cell did not really open up the opportunity for us to use a variety of sensors. The sensors
which could fit this mechanical feature of the fuel cell required a special fitting that most of the
sensors did not have. These sensors would be communicating to the microcontroller through an
Analog To Digital (ATD) interface. One of the thermocouples required an external Integrated
Circuit to drive the ATD signals. We would put it onto our PCB which would explained on the
next paragraph.
The third major part of the whole system was the printed circuit board. The major subsections of
the printed circuit board were the microcontroller, the sensor header pins, the SD card module,
the RS-232 communication port, the power circuitry and the debugging header pins. Starting
from the power, we wanted to have a regulated 5 Volts input for the microcontroller and the
Atom board as well as 12 Volts input for the display and one of our sensors. Since the closest
major power supply provided on the implemented vehicle is a 48 Volts battery, we decided to
use that combined with regulating electrical circuitry to power our system. Considering that the
Atom board used a different voltage level than the voltage level used by the microcontroller, we
decided to use two regulating circuitries. The first one would be responsible to regulate the
voltage from the main source which is 48 Volts to 12 Volts which will be used by the touch
sensing display and one of our sensors. The second regulator is a buck regulator that would be
22
ECE 477 Final Report
Spring 2010
responsible to regulate the voltage from 12 Volts to 5 Volts which is going to be used by the
microcontroller and the Atom board.
To provide a portable storage system, we would like to put an SD card interface to our system. In
achieving this, we planned to use the microcontroller's Serial Communication Interface (SCI) in
communicating to the SD card module. With the help of FAT file-system library that we
matched up with the microcontroller, we were able to write and read from the SD card through
the SD card module. This module was a breakout board that consisted of a SD card port and
header pins that were connected to the SD card port. It is noted that the module will need 3.3
Volts, so we would use an additional buck regulator circuitry that regulated a 5 Volts input to a
3.3 Volts output.
For the communication between the microcontroller and the Atom board, the system will use a
serial communication method. This can be achieved by using the microcontroller's Serial
Communication Interface (SCI) combined with the Atom board's RS-232 interface. To safely do
this, it requires a driver that bridges the SPI and the RS-232 interface. This is where the
MAX3232CD driver will work best. The microcontroller was the heart of the sensing operation
and it would be explained in the next point.
8.3 Hardware Design Narrative
Our microcontroller, the heart of the sensing operation, would be mainly responsible for
organizing the sensor related processes, communicating it to the display system and to manage
the SD card storage system.
In taking the input signals from the sensors, we decided to use the ATD feature of the
microcontroller. The extra components which were needed in interfacing the sensors were Cold
Junction Amplifier for the thermocouples. This amplifier came in a form of a Dual Inline
Package (DIP) so it can be placed to the PCB easily.
To communicate with the Atom board, we wanted to choose the most reliable interface and that
was offered by the SCI of the microcontroller. This interface would give the ease of
communication and the portability that might be needed as the research progress.
23
ECE 477 Final Report
Spring 2010
Alternatives were available for us to interface with the SD card. Among them all, we thought that
SPI would nicely fit our design. Since we also found modules that support the interface between
the SD card and the SPI of the microcontroller, the development process would be accelerated as
well.
Additionally, we also provided Background Debug Mode (BDM) pins that would allow us to
program the microcontroller on the PCB right away. This would help us in debugging the chip if
something went wrong.
To give a complete description of what we are using in terms of microcontroller pins, the pins
usage table is shown below. This table was to be evaluated with the assistance of the 9S12C32
manual for 48 Pin QFP Pinouts.
Pin number
Pin name
Usage
1
PW0/IOC0/PT0
Debug pin
2
PW1/IOC1/PT1
Debug pin
3
PW2/IOC2/PT2
Debug pin
4
PW3/IOC3/PT3
Debug pin
5
VDD1
Power
6
VSS1
Power
7
PW4/IOC4/PT4
Debug pin
8
IOC5/PT5
Debug pin
9
IOC6/PT6
Debug pin
10
IOC7/PT7
Debug pin
11
MODC/BKGD
BDM pin
12
PB4
Not used
13
~XCLKS/PE7
Debug pin
14
ECLK/PE4
Debug pin
15
VSSR
Power
16
VDDR
Power
17
~RESET
BDM pin
24
ECE 477 Final Report
Spring 2010
18
VDDPLL
Not used
19
XFC
Not used
20
VSSPLL
Not used
21
EXTAL
Oscillator
22
XTAL
Oscillator
23
TEST/VPP
Not used
24
~IRQ/PE1
Debug pin
25
~XIRQ/PE0
Not used
26
PA0
Not used
27
PAD00/AN00
ATD pin
28
PAD01/AN01
ATD pin
29
PAD02/AN02
ATD pin
30
PAD03/AN03
ATD pin
31
PAD04/AN04
ATD pin
32
PAD05/AN05
ATD pin
33
PAD06/AN06
ATD pin
34
PAD07/AN07
ATD pin
35
VDDA
Power
36
VRH
Power
37
VSSA
Power
38
PS0/RXD
SCI pin
39
PS1/TXD
SCI pin
40
PM5/SCK
SPI pin
41
PM4/MOSI
SPI pin
42
PM3/~SS
SPI pin
43
PM2/MISO
SPI pin
44
PM1/TXCAN
Debug pin
25
ECE 477 Final Report
Spring 2010
45
PM0/RXCAN
Debug pin
46
VSSX
Power
47
VDDX
Power
48
PP5/KWP5/PW5
Debug pin
8.4 Summary
Our project was a device that monitored the vital information of a research vehicle and shown
the information in a format that it would accelerate the research in developing this particular type
of hydrogen fueled vehicle. It used a touch sensing display that would collaborate with a
microcontroller that takes input from the sensors attached to the vital devices of the vehicle.
The communication between the microcontroller and the Atom board would use a Serial
Communication Interface and an RS-232 interface. In providing the ease of portable storage
system, we used an SD card module interfaced with the Serial Peripheral Interface. The sensors
would be giving the needed information to the microcontroller through an Analog To Digital
interface.
The atom board was responsible for taking user input from the touch sensor and showing the user
the right information about the properties.
When used correctly, we believed that this device would help the research group to focus more
in the development of the vehicle. Hopefully, this device would be more useful than what we
expected.
9.0 PCB Layout Design Considerations
9.1 Introduction
AFCI was an instrumentation device that was designed for a Hydrogen Fuel-Cell electric vehicle.
This product was built with the purpose of a study aid for the research group that develops this
specific vehicle. Hoped that the product would provide the practical advantages to accelerate the
research, we decided to create an instrumentation system that was focused in monitoring the
important physical properties of the vehicle's vital devices as well as giving the ease and the
elegance of using the instrument over a user-friendly interface.
26
ECE 477 Final Report
Spring 2010
In this project, the Printed Circuit Board was the heart where all the vital hardware were laid out.
9.2 PCB Layout Design Considerations - Overall
In order to prevent unnecessary noises we collectively united the power traces and the ground
traces. Both the top layer and the bottom layer of the PCB had the access to these vital
connections. Routing the traces depended to the component placement very closely. It was easier
when we placed the component with the signal routing in mind so that the routing would
naturally adapt to the environment.
The component placement over the PCB was affected by some factors. The first factor was its
dimension. We wanted to have the bigger components which were usually more important to be
away from each other to prevent noises and physical obstruction. The second factor was its
usage. We grouped and placed our components based on their functionality. In this way, the
needed by-pass capacitors' capabilities were extended to their best and it was easier for us to
route the traces as more traces existed for the related components. The third factor was the noise
reduction constraint for the reliability of the product. We wanted to place the noise-sensitive
parts of the PCB away from the noise sources. That would mean we had to place the microcontroller, the sensors and their related component away from the voltage regulators. Lastly, we
wanted to place all of the components so that the ports that were connected were facing each
other to simplify the trace routing process.
Size of the traces followed the minimum width was needed to make sure the signals did not get
weaken in the middle of the system's operation. This varied as the traces had different purposes
to be use. We believed that it was safer to give the priority of a direct tracing route to the signal
traces as they were more vulnerable to all kinds of noises compared to the power traces which
had wider trace size.
In view of the fact that we were using an external connector module for the SD card, we matched
the header pins of our PCB with the sockets available on the SD card module. This SD card
module had to be placed near the edge of the PCB as this module would be in contact to the user
most often. It was also considered to put the module on the same side of the SPI pins of the
micro-controller to make the routing process easier.
27
ECE 477 Final Report
Spring 2010
The position of the serial communication port should be near the edge as well. This would
provide greater ease of connecting the serial cable between the Atom board and the PCB. Also, it
was best to put it on the same side that the corresponding pins exist to avoid detours of traces.
While the position of the debugging pin headers was quite flexible, we wanted to put the pin
headers for the ATD sensors' signals to be on the edge on the board as well. This would give the
flexibility when the sensors need to be changed or unplugged. To avoid additional difficulty in
the trace routing, we also put this on the same side with the ATD pins.
The driver for the RS-232 communication port should bridge the micro-controller's SCI pins and
the communication port. For that goal, it was better to place it on the side of the microcontroller's SCI pins.
9.3 PCB Layout Design Considerations - Microcontroller
Micro-controller was the heart of the sensing operation. In our system we used an external
oscillator. We put the oscillator quite close to the micro-controller.
As the common design practices recommended us, we provided a space that was close enough to
the micro-controller for the bypass capacitors so that they will work on their best to stabilize the
voltage.
Power trace for the micro-controller was bigger than a normal signal trace as it was responsible
for carrying the input voltages. Again, these power connections should come from one single
power point and one single ground point to avoid any unnecessary noises.
To provide the ability to program the micro-controller on the PCB, we put Background Debug
Mode (BDM) pins on the PCB. These pins were quite flexible for placement as they do not serve
any purpose for the real customer of the system. It was acceptable to place it anywhere as long as
the BDM jumper could be plugged onto these pins.
In the view of fact that we would be using the micro-controller's pins from all of the four sides, it
was desirable to put the micro-controller in the center of the PCB. It was wise to give more PCB
space on the side of the micro-controller that has many used pins for routing. Except for power
28
ECE 477 Final Report
Spring 2010
supply circuitry that brought a lot of noise, it was simpler to place the component closer to the
micro-controller's edge when direct tracing route between were possible.
With these considerations in mind, we decided to place the micro-controller so that the lower and
the right side of the micro-controller would be closer to the edge of the PCB compared to the
distance between the upper and the left side to the PCB's edges. We were sure that this would
allow the trace routing enough space for the SPI and the SCI interface which pins share the upper
side of the micro-controller.
9.4 PCB Layout Design Considerations - Power Supply
Power supply related circuitry was a part of the PCB that made huge noise effect to all the other
components. Again, in order to maintain the system reliability during the operation, we placed
the power supply circuitry away from the sensitive component while still keeping the reasonable
size of the PCB.
Just as mentioned on the point before, we needed to have traces as big as sixty mils for the power
supply. These traces should be reliable enough so that we could extend the power traces longer
as it would be connected to various components.
Fortunately, the bypass capacitors needed for this design were not bulky. This reduced the
excessive space necessity of the capacitors. Still, all bypass capacitors should be placed very near
to the related IC to bring its best performance.
The power regulators for this project took a quarter of the PCB’s area. Vertically, it also needed
greater space for the 48 Volts to 12 Volts regulator since this device needed external heat sink to
maintain its temperature.
All of the ICs that used power needed to connect its power related pins to this same power
circuitry output so that they were guaranteed to agree in the voltage references and noises would
be avoided.
29
ECE 477 Final Report
Spring 2010
9.5 Summary
Our PCB layout consisted of a micro-controller in the center, the RS-232 port and the SD card
module on the upper side, the ATD pins header on the right side, the debugging pins header on
the left side and the voltage regulator circuitry on the top left corner of the PCB. The other driver
ICs were placed between the micro-controller and the interfaces they supported. Voltage
regulator circuitry was placed far away from the micro-controller as it could bring undesired
noises. Additional space was provided for the upper side of the micro-controller as the microcontroller needed it for routing the traces since they had more used pins than the other sides. This
PCB design prioritized its usability, robustness and ultimately its functionality to serve the
system's main purpose.
10.0 Software Design Considerations
10.1 Introduction
We are designing an instrumentation and analysis system for a hydrogen-powered golf cart. Its
primary goal is to aid in the research of a very promising hydrogen-fuel technology that Naman
Chopra and Purdue professor Jerry Woodall are developing. The specific values we are
monitoring are the pressure and temperature in the hydrogen reactor and water tank, along with
the hydrogen level just outside the tank, to detect hydrogen leaks. Our project involves an Intel
Atom board which handles the LCD display and the interpretation of touchscreen commands;
and a Freescale 9S12C32 microcontroller which handles SD card interfacing and sampling of
sensor Analog-to-Digital values. Thus, our software requirements are split into two main parts: a
Java application which runs on the Atom board and the CodeWarrior-compiled C code which
runs on our microcontroller.
10.2 Software Design Considerations
We have chosen to use embedded C along with the CodeWarrior IDE and compiler to program
our microcontroller because we have experience with these tools and we can be much more
productive than programming in assembly. We have chosen to use Java and the Swing widget
toolkit to program the Atom board because Java is portable, and easy to use. In addition, Darin
has a lot of experience with these tools. The operating system installed on the Atom board is
Ubuntu 9.10. We have chosen this OS because some of our team members are familiar with it
and because it can be easily booted from a compact flash card.
30
ECE 477 Final Report
Spring 2010
For our project, we have placed a large emphasis on the LCD/touchscreen user interface, as we
want our product to look professional and feel intuitive. It will consist of 5 meters, much like
those seen on a car dashboard, that show the current sensor values. When the user selects one of
those meters, a graph showing the change in that sensor will be displayed. From the main
display, the user can also toggle the logging of each sensor to an SD card, and modify the
logging rate.
Although our project deals with real-time monitoring of a system, we have very loose speed and
performance requirements. This is because the LCD display only updates twice each second and
that is also the fastest possible SD card logging rate for our application. We believe that a ½
second interval between updates is a sensible choice, as it is not so fast that it confounds the user,
but is still fast enough to give a good picture of the current state of the hydrogen fuel system.
Because of our lax speed and performance requirements, we have not included specific
optimizations in those areas. However, given the nature of space constraints on microcontrollers,
we are still careful not to make our code size too large or to utilize unnecessary memory. With
those goals, we have refrained from including any libraries except for a FAT filesystem library
that is very useful for our purposes, and also avoided using dynamic memory allocation.
In order to better illustrate the platform we are writing our software on, this section of the
homework will highlight the important hardware sections of the Freescale 9S12C32
microcontroller. Variables and the stack are placed in SRAM, which is mapped to 0x3800 to
0x3FFF. The stack starts from the “top” of SRAM: 0x3FFF and grows downwards. To minimize
memory usage we are not using the heap in our application. Application code and static data are
placed in Flash, which is mapped from 0x8000 to 0xF7FF. The explicit placing of each variable
within SRAM is determined at compile time by the CodeWarrior compiler and will change as
our application changes.
Region
Mapped Address Space
Register space
0x0000 – 0x03FF
SRAM
0x3800 – 0x3FFF
Flash
0x8000 – 0xF7FF
Resident Debugger
0xF800 – 0xFFFF
Interrupt vectors
0xFF00 – 0xFFFF
Table 10.2-1: Mapped Address Spaces
31
ECE 477 Final Report
Spring 2010
The external interfaces we are using are 5 ATDs, SPI and SCI. Their uses are described in the
table below.
Interface
Usage
ATD5
Sampling Hydrogen Reactor Pressure Transducer readings
ATD4
Sampling Water Tank Pressure Transducer readings
ATD7
Sampling Hydrogen Reactor Temperature Thermocouple readings
ATD6
Sampling Water Tank Temperature Thermocouple readings
ATD3
Sampling Hydrogen Leak Sensor readings
SPI
SD card interfacing
SCI
Communication with Atom board via serial port
Table 10.2-2: Usage of External Interfaces
Register
Flag/bit
Value
Effect
INITRG
(whole)
0x00
Set registers at 0x0000
INITRM
(whole)
0x39
Set RAM to end at 0x3FFF
CLKSEL
PLLSEL
1
Derive system clock from Phased Lock Loop clock
(bus clock = PLLCLK/2 = 12MHz), instead of the
Oscillator clock
SYNR
(whole)
0x02
Sets Phase Locked Loop to 24MHz
COPCTL
RSBCK
1
Stops the watchdog timer and real time interrupts
when the system enters BDM mode
SCIBDL
(whole)
156
Sets SCI baud rate to 9600 baud
SCICR2
(whole)
0x0C
Enable the receiver and transmitter for SCI
DDRB
DDR4
1
Enable port B4 as an output
PORTB
(whole)
0x10
Enable port B4 as an output
RTICTL
(whole)
0x70
Sets the timeout period for the real time interrupt to
216 oscillator clock ticks
CRGINT
RTIE
1
Enable interrupts whenever the real time interrupt
flag is set
ATDDIEN
(whole)
0b11111000 Enable digital input buffers for ATDs 7,6,5,4,3
ATDCTL2
ADPU
1
Enable normal ATD functionality
ATDCTL3
(whole)
0x08
Set ATD to perform 1 conversion per sequence
TSCR2
(whole)
0x0C
Reset timer counter upon a successful compare 7
event. Set timer prescaler clock to bus clock/16
32
ECE 477 Final Report
Spring 2010
TIOS
(whole)
0x80
Set channel 7 as an output compare
SPICR1
(whole)
0b01010000 Enable SPI and make associated port pins dedicated
to SPI functions. Also set SPI as master mode
Set SPI such that the “Slave Select” pin is not used.
SPICR2
(whole)
0x00
SPIBR
(whole)
0b01110111 Set SPI frequency to about 20 kHz
Table 10.2-3: Register Initializations
The above table describes the various register initializations we have used for the 9S12C
microcontroller. The INITRG and INITRM registers are set in accordance with FreeScale’s
recommendations. The clock-related registers are configured to yield a 24MHz system clock,
which is more than adequate for our performance needs. The SCI has been set to 9600 baud
because that is a common baud rate for serial interfaces and is the baud rate set on our Atom
board. Our SCICR2, DDRB and PORTB configurations ensure that the serial TX and RX lines
are enabled, and that the IRQ line is enabled as an output. The ATDDIEN and ATDCTL2
settings are rather self-explanatory as we will be using ATDs 3-7 to sample sensor readings and
for our purposes 1 ATD conversion per sequence is enough. The TSCR2 and TIOS settings
prepare the timer for use but do not actually start it. The microcontroller will wait for a message
from the Atom board which contains the user-configured SD logging interval before it
accordingly sets and starts the timer. Because we only have a single SPI device which is the SD
card reader module and we want the microcontroller to be in control, we set SPI to master mode.
As the core logic of our microcontroller code is relatively simple, we are using an interruptdriven organization. The “main” function will simply perform the required initializations and
wait for interrupts in an infinite for loop. From main, when there is a timer tick interrupt, the
microcontroller updates the wall clock time and logs the desired sensor data onto the SD card. If
there is a message from the Atom board over the serial connection, it will determine the message
content and take an appropriate action. If the message is a sensor data request, the
microcontroller will reply with a message containing the sensor data. If it is a toggle logging
request, the microcontroller will toggle the particular sensor’s logging flag. If it is a wall clock
time message, the microcontroller will set a wall clock time variable and create a file with
filename based on that time. Finally, if it is a logging interval message, the microcontroller will
update the timer tick frequency.
The Atom board code flow is similar - most of the time it will be waiting in an idle state. When
there is a timer event, it will send a sensor data request to the microcontroller. There is a
33
ECE 477 Final Report
Spring 2010
dedicated thread waiting that listens for microcontroller responses. When a sensor data response
is received, the sensor values are checked to see if they are within a safe threshold. If they are
not, a warning is displayed to the user with appropriate safety suggestions. Otherwise, the meter
display or graph is updated with the new sensor values. Apart from that, the Atom board just
needs to respond to user actions such as setting the SD card logging rate, toggling sensor
logging, and displaying different widgets based on the current program status.
10.3 Software Design Narrative
To reduce the complexity of dealing with an SD card FAT filesystem, we are using Roland’s
MMC/SD/SDHC card library which can be found here: http://www.roland-riegel.de/sdreader/index.html Apart from that, we are utilizing the “Java Communications 3.0 API”
(http://java.sun.com/products/javacomm/index.jsp) to perform serial port communications from
within a Java application running on Linux. We are also using JFreeChart
(http://www.jfree.org/jfreechart/), a Java charting library for our graphing needs.
The following module outlines are based on the hierarchy diagrams in Appendix B.
Receive Atom Packet
Description: This is a function that continuously buffers data from the SCI receive register until
it encounters the end of an Atom board message, denoted by a special character. It then casts the
buffered data into an afci_message struct, and based on the message_type field, will
perform the appropriate action.
Progress: This has been written and is working; however, we have yet to standardize our
messages in a way that can be casted into a common struct. This way a received buffer can be
easily transferred to a local struct using memcpy().
Send Packet
Description: Packs current ATD values into an afci_message struct, and sends the struct
over the serial connection.
Progress: This has been written and is working; however, we have yet to standardize our
messages in a way that can be casted into a common struct.
Read ATDs
Description: Simply reads and returns all current sensor ATD values
Progress: This has been written and is working, but for testing purposes we are only using one
ATD.
34
ECE 477 Final Report
Spring 2010
Create File
Description: Performs the necessary steps within the SD card’s filesystem to create a file with
filename equal to the timestamp received from the Atom board at system startup.
Progress: This functionality is provided by the FAT filesystem library we are using, but has not
yet been tested.
SD Command
Description: Sends a command over SPI to the SD card using the correct sequence of
assertions/de-assertions and bytes as defined by the SanDisk SD standard.
Progress: This functionality is provided by the FAT filesystem library we are using, has been
tested and is working correctly.
Timer Interrupt Handler
Description: The interrupt vector the system jumps to upon a timer tick. Will call the “update
wall clock time” and “log sensor value” functions.
Progress: This has yet to be written.
Update wall clock time
Description: Will take in as an argument the duration that has passed between the last time the
internal wall clock time has been updated and the moment the function was called and update the
wall clock time appropriately. The time will be stored in a human understandable
date/hour/minute/second form.
Progress: This has yet to be written.
Log sensor values
Description: For each sensor where its logging flag is set to true, this will open the current SD
file and log an entry in <timestamp><current sensor value> form.
Progress: This has yet to be written.
initialize
Description: Initializes the microcontroller to the appropriate state for the application. Most of
this function’s contents are shown in Table 3.
Progress: This has been written and is working; however, it will evolve when we will require
new/different initializations to test additional parts of our code.
Table 10.3-1: Microcontroller Modules
35
ECE 477 Final Report
Spring 2010
Car Interface
Description: This is a broad module encompassing the entire touchscreen user interface. Swing
widgets are used to display buttons that the user can touch, and a button handler will be called
each time that happens.
Progress: This has been written and is working, but is subject to changes as we have not added
all our final user interface features yet.
Read Serial Port Thread
Description: This is a dedicated thread that listens on the serial port for messages from the
microcontroller. It uses the Java Communications library.
Progress: This has been written and is working.
Data Buffer
Description: Buffers values read on the serial port.
Progress: This has been written and is working.
Check valid string
Description: Checks the buffered serial port data to see if it represents a complete message. If the
message has been mangled, it signals the system to resend the appropriate message.
Progress: This has been written and is working, but we have not yet included the “resend”
feature.
Update chart (if needed)
Description: If the LCD is in graph display mode, updates the graph based on the new sensor
data.
Progress: This has been written and is working, but we are currently using a scatter plot and
have yet to successfully draw a correct line graph.
Update Panels (if needed)
Description: If the LCD is in meter display mode, updates the meters based on the new sensor
data.
Progress: This has been written and is working.
Timer interrupt
Description: The interrupt handler for a Java timer tick. Invokes the “send serial port” module to
send a sensor data request.
Progress: This has been written and is working.
Send serial port
Description: Creates and sends a message over the serial port. The type of message to be sent is
taken in as a function argument
36
ECE 477 Final Report
Spring 2010
Progress: This has been written and is working. However, we plan to standardize our message
contents and lengths.
Meter panels
Description: This represents the meter panels that display the current corresponding sensor
value. These can touched to show a graph for that sensor’s values.
Progress: This has been written and is working. We do plan on greatly improving the aesthetics
of these meters by using custom sprites.
JFreeChart
Description: This is the Java library we are using to draw a graph for a given sensor’s values.
Progress: This has been tested and is working, however we are currently only able to draw a
scatter plot, whereas what we want to use is a line graph.
Table 10.3-2: Atom Board Modules
10.4 Summary
This report provides relevant software and hardware details for our microcontroller, explanations
for design choices we have made in light of our software design considerations, and details
regarding the mechanics and organization of our software design, which at this point may still be
subject to change.
11.0 Version 2 Changes
There are many new features that we can add if there were a version 2 for the AFCI system.
Many of the changes have to deal with the microcontroller functionality along with the overall
user interface.
One change we can make to our system is to allow the user to change the log rates of
multiple sensors. As of now AFCI only allows one logging rate for the SD card for every sensor.
In order to change this instead of there being only one log rate change panel at the top, there will
be a log rate change panel for each meter panel also the one meter mode panels and two meter
mode panels.
Another feature we can implement is to allow the user to be able to change the
threshold warnings using the interface or the computer. Right now the threshold values are hard
37
ECE 477 Final Report
Spring 2010
coded into Java application and will require a re-compile if the user wants to change them. One
way to change them would be to have a pop up window that will allow the user to change each
threshold value. Also another way would be to have an XML configuration file where the user
can easily edit the file and change the threshold values.
Lastly, since the Java application will be running a computer, an option could be
added to allow the user to store the log onto a file on the computer rather than the SD card. This
way just in case the user doesn’t have an SD card they can still log the data values if they want
to.
12.0 Summary and Conclusions
The AFCI system was able to successfully fulfill all 5 Project-Specific success criteria. However
there are still some improvements that need to be made. The biggest one is the replacement of
the atom board. Since our atom board died we needed to use our laptop in order to demonstrate
our product. However for research purposes this would not be very convenient for the research
team. We are going to attempt to send the atom board back to Advantech to see if they can repair
it. After it comes back a member on the research can attempt to install the atom board to work
with our system.
Doing this project has taught us a lot of things regarding actually creating a usable product.
Packaging, although it seems trivial, can be very difficult to do successfully. Also PCB design
was a good experience for us as none of us has had any prior experience. Looking at datasheets
and trying to design the right circuit also takes a bit of practice and understanding. Our previous
courses taken has helped us in this aspect.
Although the AFCI system is not perfect we believe the idea of providing a nice user interface,
even for research purposes, to monitor data is a good one. We hope that our project will aid the
research of Professor Woodall.
13.0 References
[1] Walter R. Boyd, “Methods for Monitoring Hydrogen Fueling Systems”, U.S Patent
20090297897, December 5, 2008
38
ECE 477 Final Report
Spring 2010
[2] Peter V. Zanardelli, “Computer System and Method for Monitoring Hydrogen Vehicles”,
U.S. Patent 20080234888, December 1, 2005
[3] Herbert J. Hofmann, “Golf course management system for golf carts”, U.S. Patent
20090201263, February 9, 2009
[4] D. G. Meyer, “Module 1 Microcontroller Assembly Language Programming Techniques”
ECE 362 – Microprocessor Systems & Interfacing, 2009. [Online]. Available:
https://engineering.purdue.edu/ece362/Notes/2010_spring/Mod1.pdf [Accessed: March 25,
2010].
[5] “The Stack”, publication date unknown. [Online]. Available:
http://www.ece.utep.edu/courses/web3376/Stack.html [Accessed: March 25, 2010]
[6] Freescale Semiconducters, “MCS9S12C Family Device User Guide”, January 25, 2003.
[Online]. Available:
https://engineering.purdue.edu/ece362/Refs/9S12C_Refs/9S12C128DGV1.pdf [Accessed:
March 25, 2010]
[7] Connecticut Department of Environmental Protection, “Batteries (Lead Acid)” Pit Stops
Fact Sheet, 2004. [Online]. Available:
http://www.ct.gov/dep/lib/dep/p2/vehicle/batteriesleadccid.pdf [Accessed: April 21, 2010].
[8] Call2recycle, “Recycling Laws & Regulations”, publication date unknown. [Online].
Available: http://www.call2recycle.org/laws.php?c=1&d=79&e=104&w=2&r=Y
[Accessed: April 21, 2010]
[9] U.S. Environmental Protection Agency, “Batteries” Wastes – Resource Conservation –
Common Wastes & Materials, August 28, 2008. [Online]. Available:
http://www.epa.gov/waste/conserve/materials/battery.htm#batteryrecycle [Accessed: April
21, 2010]
[10] Department of Defense, “Military Handbook – Reliability Prediction of Electronic
Equipment,” MIL-HDBK-217F, Feb. 1990. [Online].
39
ECE 477 Final Report
Available:
Spring 2010
https://engineering.purdue.edu/ece477/Homework/CommonRefs/Mil-Hdbk-
217F.pdf
[11] Walter R. Boyd, “Methods for Monitoring Hydrogen Fueling Systems”, U.S Patent
20090297897, December 5, 2008
[12] Peter V. Zanardelli, “Computer System and Method for Monitoring Hydrogen Vehicles”,
U.S. Patent 20080234888, December 1, 2005
[13] Herbert J. Hofmann, “Golf course management system for golf carts”, U.S. Patent
20090201263, February 9, 2009
[14] “Nissan USA website” [Online],
Available: http://www.nissanusa.com/gt-r/. [Accessed Feb. 11, 2010]
[15] “Toyota website” [Online],
Available: http://www.toyota.com/prius-hybrid/. [Accessed Feb. 11, 2010]
[16] Freescale Technical Staff, MC9S12C Family Reference Manual, Freescale Semiconductor,
Inc., 2006 Available: http://www.freescale.com [Accessed February 4, 2010]
[17] Atmel Technical Staff, ATmega16 Datasheet, Atmel Corporation, 2009 Available:
http://www.atmelcom [Accessed February 4, 2010]
40
ECE 477 Final Report
Spring 2010
Appendix A: Individual Contributions
A.1 Contributions of Suan-Aik Yeo:
Over the course of the semester I tried to help out as much as I could, especially in areas where I
am skilled in relative to the rest of the team. Although I was not the team leader, I still took it
upon myself to do a lot of organization, such as organizing team meetings and making sure
everybody’s progress was on track with our plans.
I also took it upon myself to be the team webmaster, since I had the most experience with web
design and programming. I created our team website early in the semester using the same
template I use for my homepage because I felt that the website would be essential to keeping the
team organized. I tried to make the website as useful as possible to the team, providing links to
our graded and ungraded homework, to our Google Docs shared folder, to the ECE 477 home
page and so on. I also installed Cygwin and SSH on the team desktop so that we would be able to
access it remotely as long as it was powered on. I created directories within our website such as
“ungraded homework” and “datasheets” and encouraged team members to place their work
there. Furthermore, I set up a Google Docs folder where we could share collaborative
documents. It has been proven to be a tremendous help.
Next I moved on to designing our power supply. Powering our system directly through the golf
cart’s 48V battery seemed to be the most logical and convenient method. However, all the 48V
to 12V regulators that we were able to find that had enough output power for all our components
were about as large as a brick and cost over a hundred dollars. After discussions with the course
staff we decided to get a dedicated 12V battery to power our system. By sheer luck, around this
time I stumbled upon a used 33-75V to 12V regulator on EBay which had 4.2A output and was
selling for under $40. I immediately ordered the part and based our power supply off of it. With
our entry point regulator decided upon, with Ronny’s help I outlined and acquired the parts for
the rest of our power needs: an LM22677 12V-5V switching regulator and a TPS7233QP 5V3.3V linear regulator. Eventually we were also going to need an LM7805 12V-5V linear
regulator to eliminate noise on the power line created by the Atom board. When we found out
that a golf cart with a 48V battery would no longer be available, I also found and ordered a 36V
lead acid battery to use with our design for demonstration purposes.
A-1
ECE 477 Final Report
Spring 2010
Another important contribution I made was to do much of the programming for the Freescale
9S12C32 microcontroller we are using and to implement SD card interfacing. I was responsible
for this because I used CodeWarrior with the same microcontroller and also worked with SD
cards when I took ECE 362. I spent around a week trying to get Roland Riegel’s SD FAT library
to work with CodeWarrior and our microcontroller, but it seemed to use too much SRAM and
was incompatible with the CodeWarrior compiler. As a result I had to code FAT16 file write
functionality from scratch. It helped that I could reuse some initialization code that I wrote
during ECE 362.
I was also solely responsible for all aspects of the Atom board with the exception of the Java
application. I chose and ordered the board itself and made sure its ATX power line was fine and
that the board was working properly. I also configured it to boot from a Compact Flash card
installed with Ubuntu 9.10. Furthermore, I performed many tweaks on the Ubuntu installation
such as removing the launching the Java application on startup, removing all panels to ensure a
true fullscreen experience, and removing the GRUB menu during boot. I also installed the
touchscreen drivers and ensured the touchscreen was operational.
Finally, I created the graphics for our user interface, taking heavy inspiration from the display of
the Nissan GT-R. I know that user interfaces have a heavy impact on the impression any project
makes, and as such I made sure my Photoshop skills were put to good use to create some
impressive graphics.
I was responsible for the Software Design Narrative and Social/Political/Environmental Analysis
homeworks and TPSCs.
A.2 Contributions of Darin Tanaka:
The main responsibility I had on my team was the software for both the Atom Board and the
micro controller. For the Atom Board we were running Ubuntu Linux version 9.10. Since our
system would rely on UART for communication between the Atom board and the micro
controller I needed to setup the environment on the Ubuntu platform to support this protocol.
First I needed to decide which framework would be used for the user interface. I decided I would
go with Java since I have the most experience with it and also because there is already an
A-2
ECE 477 Final Report
Spring 2010
existing API for serial communication. Ubuntu needs a couple of libraries in order to use this
API, so I was able to find them and install it. However I also researched on how to port the Java
interface to a Windows platform just in case a future Windows user wanted to use it.
Also I helped setup the high level communication protocol that would be used between the
microcontroller and Atom board. This involved deciding on the struct definition that would be
used for our protocol. At first we went with a string approach however since strings can have
varied lengths based on current values we decided to go with a struct instead. By designing this
high level protocol I also in turn help setup the micro controller and atom board features that
would be available to the user.
The biggest part I had in this project was the Java GUI. I wrote all the code for Java application
along with the serial communication on the Atom board. Even though I wrote the Java
application we designed the GUI as a team. I setup meter displays along with the log changing
rate communication. Also in the GUI I implemented a user configurable display. There are three
display modes: 5 meter, 2 meter, and 1 meter mode. In order to model the Nissan GT-R, which
was our original intention, I incorporated a graphing feature where the user can see a graph
display of any of the sensor data. However the sprites for the GUI were not made by me.
Since I helped with the communication protocol design I also wrote code for the micro controller
as well. Mainly I wrote code to support the communication protocol. At first we were using
polling-driven SCI with SD writes in a timer interrupt. However our communication was very
unstable as we were losing data every once in a while. This motivated the change to an interrupt
driven SCI which I setup on the micro controller. I also helped with the ATD 8-bit conversions
to actual sensor values (Celsius, PPM, PSI).
Not all of my contributions were just about the software. Before the final PCB schematic
submission I went over the PCB with Ronny to make sure everything was in check. Also I
bought the thermocouple amplifiers along with a LCD touch screen (which didn’t work twice).
Going over GUI designs and system designs was something I also did regularly
A.3 Contributions of Ronny Wijaya:
Ronny Wijaya was responsible mainly in the PCB development process of AFCI project. This
includes learning the tutorials for all the PADS software, designing and creating the schematic
on the PADS Logic software, designing and creating the PCB layout on the PADS Layout
A-3
ECE 477 Final Report
Spring 2010
software, routing the PCB connection on the PADS Router software, putting all the PADS
related files together for Chuck to submit.
During the earlier part of the semester, Ronny spent his time mainly on getting familiar with the
PADS software through the tutorials available from the staffs. Along with the PADS software,
Ronny also tried to work with the preparation for programming the ATMEL micro-controller.
Initially, the team decided on using an ATMEL micro-controller. After some discussion with the
team and the staffs, we changed our choice into a Freescale micro-controller to save some
development time since the other team members know how to integrate the Freescale microcontrollers with an SD card.
On the schematic development process, Ronny assisted the team in researching on the needed
components for the PCB. This includes analyzing the requirements, looking on many
specifications, matching up the sizes and the purchasability, and purchasing the components.
Ronny also created the schematic design on the PADS Logic software for the PCB design. This
involved creating or taking the component decals on the libraries, matching up all the
connections and figuring the needed interfacing media between the PCB and the external
components.
Subsequent to the schematic design, Ronny worked on the PCB layout design on the PADS
Layout software. In this design, Ronny evaluated the physical sizes of the components and what
connections they have to figure the best way to place and orient all the components. During this
process, Ronny made sure that the components have extra length of solder pads so that the
soldering process would be accelerated.
After the PCB layout design was ready, Ronny continued on routing the connections of the PCB
on the PADS router software. In this process, Ronny verified that every traces had sufficient
width as it was needed. To decrease the number of vias and the length of the traces on the PCB,
Ronny manually routed most of all the traces.
On the final submission, Ronny confirmed the design with the team and the staffs. He then
submitted the design for manufacturing through the staff.
Once the manufactured PCB has arrived, Ronny ensured that the PCB was as designed. Together
with Naman Chopra, he soldered and installed all the components on the PCB while constantly
made certain that no wrong connections were made. Unfortunately, Ronny found some mistakes
A-4
ECE 477 Final Report
Spring 2010
that he made on the PCB and so many problems on the solder joint connections. He spent a large
amount of time debugging and ensuring the correctness of the PCB connections.
Finally, Ronny helped Naman in packaging the PCB and the Atom board once the software and
the soldering were finished. This also includes constant testing of the system during the
packaging process.
Ronny also contributed administratively on a couple of homeworks and a couple of presentations
about the team progress on design components.
A.4 Contributions of Naman Chopra:
My role greatly varied over the course of semester. I was heavily involved with most design and
development of the project throughout the semester. It was all my idea in the first place to go
ahead with this project. Even before the course started, in December 2009, I suggested the team
that there is a need for an on-board driver’s instrumentation for the research project which I was
working on. I motivated the team to make a senior design project which will accelerate the
research progress of professor Woodall. So, naturally, it was my responsibility to decide what all
parameters we are going to monitor, how we are going to go around doing it, how the final
product should look like, and by when we need the product to be done. It was my responsibility
to assign tasks over the course of the semester to team members on the basis of their prior
experience with that particular task. I tried my best to keep the team on track and follow a strict
guideline.
There was one time during the semester when I was off limits to the golf cart and the reactor
vessel situated at Herrick laboratories. I was the only one from the team who has permission to
work in Herrick laboratories. Prof. Fritz had to deal with bad health and death in family so he
was on indefinite leave and I was only allowed to work on the cart under his supervision, so that
slowed the progress of the project drastically. So it was my responsibility to find alternative
environments to thoroughly test our system by creating artificial temperature, hydrogen leak
testing and pressure changes in and around the senior design lab.
It was my responsibility to intervene when necessary to aid the group in resolving issues. There
were times when the team had to make decisions regarding change of PSSC’s and then there
A-5
ECE 477 Final Report
Spring 2010
were safety issues relating to water level sensors in high pressure, volatile tanks which I
successfully addressed. Being the team leader, if the team could not reach consensus then my
decision was final.
I did the majority of PCB soldering. I burnt my hand once while using the hot glue gun. I
attended soldering tutorial by course staff and did all surface mount and made/soldered ATX
header. I crimped battery connectors and drilled holes in the thick aluminum box. I suggested the
use of ventilating grill in front of the enclosure for air flow. Chuck helped us a lot in giving
suggestions for packaging and doing some metal work for us.
A-6
ECE 477 Final Report
Spring 2010
Appendix B: Packaging
Figure B-1 Top View of Product Packaging (open box)
B-1
ECE 477 Final Report
Spring 2010
Appendix C: Schematic
Figure C-1: Power management block
C-1
ECE 477 Final Report
Spring 2010
Figure C-2: The micro-controller block
C-2
ECE 477 Final Report
Spring 2010
Figure C-3: The sensors block
C-3
ECE 477 Final Report
Spring 2010
Figure C-4: The SD Card block
C-4
ECE 477 Final Report
Spring 2010
Figure C-5: The RS-232 block
C-5
ECE 477 Final Report
Spring 2010
Appendix D: PCB Layout Top and Bottom Copper
Figure D-1: PCB (Overall)
D-1
ECE 477 Final Report
Spring 2010
Figure D-2: PCB (Top)
Figure D-3: PCB (Bottom)
D-2
ECE 477 Final Report
Spring 2010
Appendix E: Parts List Spreadsheet
Component
Model
Details
Price
Microcontroller
MC9S12
16-bit, 48 pins
$11.88
PCM-9361_DS
2.38 A max, ATX
$300.00
JQIN-116G-12
K-type, cold junction
$23.00 x 2
PMP1260
Up to 100 psi
Not paying
800TSV
8”,1024 x 768
$100.00
AD595-AQ
K-type, cold junction
$17.95 x 2
(Freescale)
Atom Board
(Advantech)
Thermocouple
(Omega)
Pressure transducer
(GE)
LCD touch screen
(Xenarc)
Thermocouple
amplifiers
support, 0 to 480
(Analog Devices)
Celsius
48-12V Regulator
VKP100MT312
2 channel 12
(CD Technologies)
$33.00
vdc/4.2A
1 channel
3.3vdc/30A
5-3.3 V Regulator
TPS7233QP
0 to 250 mA
$2.02
LM22677
4.5 to 42V input
Free Samples
(Texas Instruments)
12-5V Regulator
(National SemiCond)
range
Up to 5A
4 channel
MAX3378E
Up to 16Mbps data
bidirectional logic
Free Samples
rate
level converter
(Maxim)
SD Card Reader
BOB-00204
SD socket
$17.95
(4UCON)
Resisters
Free
Capacitors
Free
E-1
ECE 477 Final Report
12-5 V Linear
Spring 2010
LM7805
Free
Regulator
36 V Lead Acid
B02-137
12 Ah
Battery
TOTAL
$653.74
E-2
$106.99
ECE 477 Final Report
Spring 2010
Appendix F: FMECA Worksheet
Failure
Method of
Failure Mode
Possible Cause
Failure effects
A1
Output = 0 V
Battery or regulator connection
Power lost
Observation
Medium
A2
Output > 5 V
Battery or regulator connection
Might damage parts
Observation
Medium
A3
Untolerated output
Battery, bypass capacitors, or
Might damage parts,
regulator connection
unpredictable
Observation
Medium
Loss of information
Observation
Medium
Loss of information
Observation
Medium
Loss of information
Observation
Medium
no.
B1
B2
B3
C
D
Output 0
Micro-controller, connections,
continuously
or oscillator
Output 1
Micro-controller, connections,
continuously
or oscillator
Unsynchronized
Micro-controller, software, or
oscillator
Sensors are no
Sensors, amplifier IC, or
accurate
physical connection
SD Card is not
Micro-controller, software,
written
regulator, bit translator IC, or
Loss of information
Cannot log information
F-1
detection
Input signals
observation
SD card module
signals
Criticality Remarks
Medium
Low
Proper
connection
Proper
connection
Heat sink
Proper
soldering
Proper
soldering
Solid
software
ECE 477 Final Report
Spring 2010
SD card physical connection
E
RS-232 does not
communicate
observation
Micro-controller, software,
Cannot display
driver IC, or physical
information and disable
connection
user's touch input
F-2
Observation
Medium
Solid
software
Download