Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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