Senior Design ii

Download Report

Transcript Senior Design ii

Senior Design ii
Breathalyzer Interlock system
By: Xi Guo | Ashish Thomas | Brandon Gilzean | Clinton Thomas
Project Description
 A system to designed to deter individuals from operating a
motor vehicle while under the influence of alcohol.
 Highly accurate and portable alcohol sensing unit allows the
operator to monitor their level of intoxication while away from
the motor vehicle
 Integrated automobile control unit prevents the vehicle from
operating without a successful initial reading, then conducts
rolling retests to verify driver sobriety during vehicle operation
 Logs of activity maintained by automobile unit for retrieval
during calibration by law enforcement.
Motivation and Goals
 Original concept was personal alcohol measurement device
powered by a smartphone (iPhone, Android, etc.)
 Platform and Business considerations lead to the determination
to make a standalone device
 Evaluation of work quantity lead to the marriage of alcohol
detection device with automobile interlock unit
 Goal is to develop a system that can meet National Highway
Safety and Transportation Agency certification for alcohol
detection interlock devices.
Trade Study – Breathalyzers
 Personal breathalyzers utilize silicon
dioxide based ethanol sensors,
reducing both cost and accuracy
 Unique air channel design that folds
into the case enclosure. This will be
modeled or acquired for Voog
 Simple means of communication
using speaker and 2-Digit 7-Segment
display
 Small and lightweight, powered by
non-rechargeable AA alkaline
batteries
Trade Study – Ignition Interlock
 Smart Start Model 20-20
evaluated as the most effective
and complete solution currently
available
 Typical Interlocks utilize a “zerotolerance” policy, meaning
interlock engages between 0.020.04% BAC
 No available model in the market
can completely prevent
spoofing, only deter and catch
for later retrieval
Project Overview
 Hand-Held Unit
 Handles user interaction
and processes sensory data
 Powered by onboard Li-ion
battery
 Wireless Communication
with automobile control unit
 Control Box
 Requests validation from
handheld unit
 Establishes vehicle state,
logs input data
Introduction System Logic
 The system level design for both the handheld
breathalyzer unit, as well as the automobile control unit,
calls for the use of programmable logic.
 This is necessary for the successful interpretation of output
signals from the sensors, translating user input into device
functionality, displaying information related to the current
state of the device, as well as communication with other
devices in the system.
Microcontroller
 Small computer on a singleintegrated
circuit consisting internally of a relatively simple
CPU, clock, timers, I/O ports, and memory.
 Advantages
 Using languages such as C/C++ Assembly
 Low cost
 Disadvantages
 Have to design a microcontroller into a circuit
and build it
 Paying for functionality that is not being used
Microcontroller (MSP430)
 Texas Instrument MSP430F2274
 Low voltage power supply
requirements (1.8 VDC – 3.6 VDC)
 Universal Serial Interface,
configurable as either I2C, SPI, or
UART for RS232 serial
communications
 Available Analog-to-Digital
converters with 10/12/16 bits of
resolution
 Assembly or C/C++
 Memory 32Kbytes Flash, 1Kbytes
RAM
Microcontroller (MSP430)
Display – Human Interface
 Seven-Segment Display
 Arabic numerals 0 to 9
 General use
 Dot-Matrix Display
 Simple display limited resolution
 Liquid Crystal Display
 Great for character resolution
 Refresh Rate
LCD Display – New Haven Display
 Interface:
 I2C
 Communication speeds,
up to 57.6 kbps for RS-232
and 400 kbps for I2C
 extreme environments of
-20C to 70C
Functional Features(Label)
Description
NHD
New Haven
C0216
COG , 2 lines x 16 char
CiZ
Model
F
Transflective
SW‐
Side White LED Backlight
F
FSTN(+)
B
6:00 View Angle
W
Wide View
3v3
3Vdd, 3V backlight
Sensors
 Alcohol Gas Sensor
 Semi-Conductor (MQ-3) vs.
Fuel Cell (002-MS3)
 Differential Pressure Sensor
MQ-3
 Silicon Microstructures (SM5852)
MS3
Alcohol Sensor
Operating Condition
and Requirements
Maximum Operating
Temperature: 90C
Recommend Operation
Temperature: <70C
Shunt Resistor value: 220300ohm
Alcohol Sensor Output
Testing Condition
•Room Temperature
•0.5ml gas sample
•0.160 BAC
900
800
700
600
Region of Interest
<0.04 BAC (User will not
be able to start the
vehicle)
500
Test 1
Test 2
400
Test 3
300
200
100
0
0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.11 0.12 0.13 0.14 0.15 0.16
Alcohol Sensor Calibration
 Sensor Output will be calibrated
against known values using Lifeloc
Dry Gas Calibration Kit
 Typically, dry gas alcohol calibration
requires a 5-6% compensation value
to approximate breath alcohol
 Values will be measured using a
laboratory-formulated alcohol
standard of particular
concentration, representing BAC
values of 0.02 to 0.10
Differential Pressure Sensor
 Object: To detect sufficient breath sample has
been provided.
 Option A: Tungsten Hot wire Anemometer
 Electrical Resistance varies with the change in
temperature due to breath sample
 Cons: Can’t detect the quantity of breath sample
obtained. Expensive. Not available as discrete
solution
 Option B: SI-Micro Pressure Sensor
 Pressure detection range: 0.15-3 Psi (Human breath
sample (1.5 to 2.5 Psi)
 Cons: Difficult to obtain from chosen manufacturer,
difficult to mount.
Differential Pressure Sensor
Power Supply
 How to power
 Ability to hardwire into vehicle’s electrical system (in-car unit)
 Recharge on-board battery with same circuit board
(portable unit)
 Utilize external “wall wart” to recharge battery, or cigarette
lighter connection (portable unit). So 12V primary input.
 Various power needs of components in both units will require
a power supply with multiple capabilities
Power Requirements
Component Max Current Recommended Power Consumption (W)
Draw (mA)
Voltage (VDC)
Display
70
3
0.525
Microcontro
ller (wireless
on)
95
3.3
0.3135
Sensor
50
5
3.25
Charging IC
600
9
5.4
LEDs, etc
100
9
0.9
Total
1610
--
10.69
Power Requirements (contd)
 While maximum draw possible is ~1.6A, it is at various
voltages and not all will be drawing at the same time for
a significant period of time
 Multiple voltages are needed for multiple components.
Therefore, will utilize voltage regulation to generate
multiple output voltages from singular +12VDC input
Power Distribution Scheme
+12V In
+9V Out
Charging
Circuit
Battery
(+7.4V)
Portable Unit
Control Unit
+3.3V
Out
+5V Out
Display
Sensor
Speaker
LEDs
Microcontroller
&Wireless Radio
Implementing Power Scheme
 For our application, voltage dividers do not offer voltage
stabilization, and are fairly inefficient. They also lack any sort
of basic power protection (short circuit, overcurrent,
overvoltage, thermal overload, etc.).
 Zener diodes allow a stable output voltage; but again, lack
more robust power event protection.
 Use LDO voltage regulator ICs. Switching regulators were
considered, but due to their buggy reputations, were not
used. They also take up slightly more space on the PCB land
configuration due to a need for a larger (compared to LDO)
supporting circuit. Heatsinking will be used as needed.
+9VDC, +5VDC, and +3.3VDC are needed.
Battery
 Portable unit needed to be portable,
but also not impractical to use by
having to replace disposable
batteries. Since highest regulator to
be served by battery is 5V, a 7.4V
battery should suffice.
Expected Battery Runtime?
BatteryCapacity ( Ah) * 60
Draw( A)
0.850 * 60
1.6 = 31.875 minutes
 Load and current draw expectations
made conventional alkalines
impractical.
 Due to size, energy density, as well as
flexibility in recharging, lithium ion
rechargeable batteries were chosen.
7.4V 850 mAh Li-Ion Battery
with Integral Protection PCB.
>1C safe discharge rate.
Charging the Battery
 However, a charging
circuit is now required.
Lithium ion batteries
require more care in
charging, as improper
charging can result in
a fire or explosion –
not desirable for any
user, especially an
inebriated user
 Circuit to right. Will be
a two cell battery
(3.7V*2 = 7.4V)
Reprinted with Permission of shdesigns.org
Charging the Battery (contd)
 However, the area required
on the PCB for this configuration
is too great; it also is not intelligent.
It cannot automatically detect a
severely discharged or overcharged
battery and cannot switch
charging modes to compensate.
 Use Texas Instruments BQ24005. A complete, integrated
charging IC for use with two cell LiIon and LiPoly
batteries
 Heat issues are addressed by soldering a thermal pad
on the bottom of IC to a copper pad in the PCB – the
PCB becomes a heatsink.
To allow usage of same
Jumper
board for both fixed and
J1
portable power application,
a set of three jumpers can
J2
be adjusted to allow for
J3
either configuration.
Portable Unit Config
Base Unit Config
Closed
Open
Open
Closed
Closed
Open
Physical Implementation
 Since small size, reliability, and quality are all primary
concerns of our overall project, we decided to use a
PCB.
 PCB Requirements:
 Compact: 2 in. x 3 in. (6 in.2 total area). This is slightly smaller
than an average credit card.
 Must accommodate microcontroller board within PCB area
 Design so a single board can be used for both portable and
base/control units
 Design for optimal power flow, and minimize capacitive,
inductive, and other crosstalk effects from traces, especially
between analog and digital I/O lines.
Physical Implementation (contd)
 Design considerations:
 32 mil for width of power traces
 15 mil for width of signal traces
 25 mil minimum for signal trace spacing
 Mostly dedicated ground plane for robust ground
 Two layer to save on cost.
 All outputs should have standard 0.1 in. spacing (2.54 mm) to
accommodate standard pin headers. This will mostly avoid
the need to solder components directly to the board, easing
debugging and future changes.
 Wide traces to small pads on the charging IC should be
necked near pad interface
PCB Manufacturer Choice
 Used PCB123.com (Sunstone
Circuits)
 Used PCB123 PCB layout and
schematic editor software
 With silkscreen on top only, 1 oz
copper thickness, soldermask, and
our 6 sq. in., the per board price is
$32.48 for 8 boards. ($32.48 * 8 =
$259.80)
 Lead time of three business days
when order is submitted before 12
PM PST
Enclosure: Hand-held & Control box
Requirements (Hand-held unit)
Dimensions: 4.5x2.5x1.5in
Physically Appealing
Resources, Materials and Skill sets
Photoshop Software
SolidWorks and/or AutoCAD Software
Industrial Engineering Rapid
Prototyping lab
Fabrication material
Enclosure:
Pactec Enclosures
PPT 3468
Signal Acquisition
 Alcohol Concentration will be determined using a “Peak
Measurement” method
 Output measured over small load resistor (220 – 390 ohms)
 Voltage is converted into discrete 10-bit integer representation
by ADC with internal 1.5V reference
 Output represents the maximum alcohol concentration
detected by the sensor in micrograms.
 Airflow pressure will be queried from the differential sensor
utilizing I2C, returned from the sensor’s onboard DSP.
BAC Measurement
 Micrograms of alcohol is converted to BAC using the Blood/Breath
Partition Ratio, 2300:1 US, 2100:1 UK
 Assumption is made that test is post-absorbitive, meaning the alcohol is
fully absorbed and in bodily equilibrium
 Approximate values are as follows
1.0% BAC = 1cg ETOH/mL blood = 9.43 mg ETOH/g blood
1ppm = 1 ug ETOH/g blood = 1.06 ug ETOH/mL blood
1.06g blood ~ 1mL blood
188.6 ug/mL – 377.2 ug/mL is blood concentration for 0.02-0.04%
82 ng/mL – 164 ng/mL will be range of BrAC
 Assumptions of flow rate will be evaluated during assembly and
calibration to determine breath sample quantity
Software Development
 Software will be written using
IAR Embedded Workbench
 Kickstart version for MSP430
provided by TI limits program
size to 4K. Full version does
not have this limit, but costs
lots of $$$
 Software will be written in C,
with inline assembly for
MSP430 where needed
Software > Hardware… always
 What happens when you find out after purchasing your
hardware that it cannot achieve all the functionality you
believed it could?
 MSP430F2274 provides a universal serial UART for I2C, SPI, RS232,
etc., which just so happens to be used by the CC2500
transceiver
 Communications with peripheral devices and sensors will be
accomplished through an I2C serial bus
 Luckily for us, the right combination of configurable GPIO pins
and software can save our project, utilizing a technique called
“Bit-Banging”
What is Bit-Banging?
 A technique used for serial communications utilizing software
instead of dedicated hardware
 Software sets and samples the state of pins on the
microcontroller, responsible for timing, signal levels,
synchronization, etc.
 Can reduce costs in a design by implementing features that
are not designed directly into the hardware (or make up for a
lack of foresight)
 Considered a hack, takes more CPU time and resource, signal
is usually much uglier than dedicated hardware would
provide
Inter-Integrated Circuit (I2C)
 Daisy-chained serial peripheral bus designed for simple slave-tomaster device communications
 Only requires two lines, SCL (clock) and SDA (data)
 Each device is given an address on the bus, configured by
software
 Communications initiated with START and STOP messages
 First byte is the address of the device the master will
communicate with, then the desired direction of
communication (write/read), followed by an ACK from the slave
device
Inter-Integrated Circuit (I2C)
 Each byte is followed by a
START message until
desired end of
transmission, which is
indicated with a STOP
message
Software – State Transition
 Hand Held Unit (Passive Device)
 Wait State – Processing input from user
 Processing State – Receiving and processing sensor data
 Display State/Transfer – Display to LCD,
 Control Box Unit (Active Device)
 Wait State – Receive wireless transmission/ Check
 Enabled State – Set Pin high for car/ lights/Random
Decrement.
 Rolling State – Receive wireless transmission/Check within 4
mins.
 Alert State – Alert mode.
Flow Diagram of States for CBU
Valid Reading
Valid Reading
Invalid Reading
State Transition
CBU – Variables/ Functions

Variables:

Functions:

static uint8_t sCB(linkID_t);

void Main(void);

static void SMPL_LinkListen(&sLID[sNumCurrentPeers];

void WaitState(void) - Initialize

static void processMessage(linkID_t, uint8_t *,
uint8_t);

void EnabledState(void);
static void
checkChangeChannel(void);

void RandomRollingState(void);

static void
changeChannel(void);

void AlertState(void);

static volatile uint8_t sPeerFrameSem = 0;

void incrementSeconds();

void decrementSecondsEnabled();

static volatile uint8_t sJoinSem = 0;

int rand(void);

static volatile uint8_t sStateTransition = 0;


volatile unsigned int timeEnd = 0;

unsigned int stateIntGlobal = 0;

unsigned int g_seconds=0;

unsigned int g_ESeconds = 0;

unsigned int randBit = 0;

unsigned int randNum;
CBU – Pin Out Table
Pin
Function
Description
1
Ground
Ground Reference.
2
VCC
Supply Voltage 3.3V
3
P2.0
Timer_A0 Clock Signal Interrupt ~ 1 sec
8
P4.3
GPIO/ Enable or disable Green LED.
9
P4.4
GPIO/ Motor Relay Enable.
10
P4.5
GPIO/Enable or disable Red LED.
11
P4.6
GPIO/ Enable or disable Headlight
LEDs.
12
Ground
Ground Reference.
Setting Register:
Set to Output/low:
P4DIR |= BIT4;
P4OUT &= ~BIT4;
Set to Input/High:
P4DIR &= ~BIT4;
P4OUT |= BIT4;
Flow Char for Wireless Radio
No
Yes
Interlock and Demo Setup
 The interlock will prevent the vehicle from starting if the
user’s BAC is deemed to be too high.
 Will do this by routing the fuel pump’s power through a
relay; this will prevent starting whether the starter or
clutch (bump start) is used to start the car
 Signal from microcontroller will control the relay, which
will switch the higher amperage fuel pump power.
Protection diode will be used across relay.
 For our demonstration, will use an RC car, as no actual
vehicle is available for demo purposes
Interlock and Demo Setup
(contd)
Work Distribution
X. Guo
A. Thomas
B. Gilzean
C. Thomas
Case Enclosure Power Delivery
Control
Software
Utiliity Software
Sensor
Selection
Charging
Circuit
Communicatio
ns (wireless)
Communicatio
ns (peripheral)
Layout and
Design
PCB Layout
and Design
Regression
Testing
PCB Layout
and Design
Project Status
Project to date
Hardware Design
Received Funding
CEI
JANUARY
Hardware
Interface
FEBRUARY
MARCH
Testing and
Calibration
April 28th, 2010
Final Presentation
APRIL
MAY
Software Design
PCB Design
Part Acquisition
Assembly
Final Documentation
Project Budget: $1000
Item
PCB
Cost
Spent
$32.48 (8)
Differential Pressure Sensor
$260
$0.00
RC Car
$40
$40
Battery & Charger
$45
$45
Enclosures
$15
$15
$3 (2)
$6
Alcohol Sensor
$24.15(2)
$25
Voltage Regulator
$1.50 (10)
$15
$10 (2)
$20
$325
$0.00
$750.84
$425.84
12V Relay
Speakers and Buzzers
Dry Alcohol Standard Test
Total