CPSC Staff Statement

University of Alabama Final Project Report “Advanced Algorithm Development and Implementation of Enclosed Operation Detection and Shutoff for Portable Gasoline

- Powered Generators” 1

The attached report titled, “Advanced Algorithm Development and Implementation of Enclosed Operation Detection and Shutoff for Portable Gasoline

- Powered Generators

, ” presents the findings of research conducted by the University of Alabama

, College of Engineering

, (UA) under a contract agreement with th e U.S. Consumer Product Safety Commission (CPSC). 2 This research was performed in support of CPSC’s advance notice of proposed rulemaking (ANPR) to address the carbon monoxide (CO) poisoning hazard associated with the use of portable generators. 3

Under this agreement and a prior one between CPSC and UA 4 , s taff tasked UA to develop and program an algorithm into the engine control unit (ECU) of an electronically controlled, closed loop, fuel

- injected prototype

, low CO

- emission portable generator that woul d sense when the generator was operating in an enclosed space and automatically shut off the generator before creating an unacceptable CO exposure. Under both agreements, staff specified that the algorithm should not rely on any additional sensors other t han those already integral to the existing engine management system . As such, this would serve as a tamper

- proof, supplementary approach to reducing further the risk of CO poisoning associated with the prototype generator, without adding any additional

com ponent cost or introducing concerns about CO sensor durability and reliability. Shortcomings with the first algorithm, developed and tested under the initial agreement, were later discovered during subsequent testing conducted by CPSC staff and National I nstitute of Standards and Technology (NIST)

. 5 This rendered the first algorithm unacceptable. The initial algorithm occasionally would shut off the generator when it was operated outdoors and, under certain circumstances, would not shut off the generator when it was operated indoors. Even with the identified limitations of the first algorithm, however, t he algorithm demonstrated its capability to shut off the engine when the algorithm’s logic rendered a shutoff decision. In addition, data acquired during testing of the first algorithm provided information for another approach which consisted of using data from the ECU to estimate the oxygen concentration in the intake air. This led to a second contract with UA (referenced in footnote 2 ) for development o f a second algorithm based on this new approach.
The second algorithm is described in this report. UA developed and implemented t he algorithm for initial testing on a modular ECU development platform and then later implemented i t on a “black box” ECU, a dapted in place of the modular ECU, on the same generator. UA performed tests on the generator configured with each ECU in both indoor and outdoor locations

, while both constant and varying load profiles were applied to the generator. In the scenarios te sted (seven indoor tests and five outdoor tests) , the generator did not shut off when operated outdoors and did shut off when operated indoors.

1 This report has not been reviewed or approved by, and does not necessarily rep resent the views of, the Commission.
2 Contract HHSP233201100012C 3 Portable Generators; Advance Notice of Proposed Rulemaking; Request for Comments and Information

, Federal Register, 71 FR 74472, December 12, 2006 , available online at http://www.gpo.gov/fdsys/pkg/FR

- 2006

- 12

- 12/pdf/E6

- 21131.pdf

. 4 Contract CPSC

‐ S

‐ 06

‐ 0079
5 Report for task to develop first algorithm, performed under Contract CPSC

- S

- 06

- 0079: “ Algorithm Development for Enclosed Operation Detection and Shutoff of a Prototype Low Carbon Monoxide Emission Portable Gasoline

‐ Powered Generator, Addi tional Volume to Final Project Report ” , accessible as TAB F in the staff report Technology Demonstration of Prototype Low Carbon Monoxide Emission Portable Generator , available online at http://www.cpsc.gov/PageFiles/129846/portgen.pdf

.

# Advanced Algorithm Development and Implementation of Enclosed Opera tion Detection and Shutoff for Portable Gasoline

- Powered Generator s

FINAL PROJECT REPORT

Contract HHSP233201100012C

Prepared for:

Consumer Product Safety Commission
4330 East

- West Highway Bethesda, MD 20814

Prepared by:

Tim A. Haskew, Ph.D. Department of Ele ctrical and Computer Engineering The University of Alabama
Box 870286 Tuscaloosa, AL 35487

- 0286



## Paul Puzinauskas, Ph.D. Department of Mechanical Engineering The University of Alabama
Box 87027 6 Tuscaloosa, AL 35487

- 027 6



## The University of Alabama College of Engineering

October 201 3

## TABLE OF CONTENTS

1. INTRODUCTION

................................ ................................ ................................ ........................... 1 2. ENGINE MANAGEMENT SY STEM

................................ ................................ ................................ ... 3 2.1. Description of Theoretical ECU Operation

................................ ................................ .............. 7 2.2. MT05 ECU Description

................................ ................................ ................................ .......... 9 2.3. Modular ECU Description

................................ ................................ ................................ .... 10 3. ENCLOSED OPERATION D ETECTION STRATEGY

................................ ................................ ............ 13 3.1. Generator Shutdown Decision

................................ ................................ ............................. 15 3.2. Off

- Line Validation of Oxygen Depletion Shutdown Algorithm

................................ ............. 18 4. IMPLEMENTATION ON TH E MODULAR PLATFORM

................................ ................................ ...... 23 4.1. Alternate Equivalent Oxygen Estimation

................................ ................................ ............. 23 4.2. Alternative Implementation Strategy for Shutdown Algorithm

................................ ............ 24 4.3. Final Implementation of Shutdown Algorithm

................................ ................................ ..... 28 5. ALGORITHM TESTING RE SULTS

................................ ................................ ................................ ... 30 5.1. Indoor Testing

................................ ................................ ................................ .................... 33 5.2. Outdoor Testing

................................ ................................ ................................ .................. 44 5.3. Analysis and Discussion of Validation Test Results

................................ ............................... 50 6. BLACK BOX ECU IMPLEM ENTATION

................................ ................................ ............................ 53 7. CONCLUSION

................................ ................................ ................................ ............................. 58 8. REFERENCES

................................ ................................ ................................ .............................. 59 9. APPENDIX A: Development of Estimation Strategy

................................ ................................ ..... 61 10. APPENDIX B: Summary of Generator Operation with Black Box ECU

................................ ........... 8 61 

## 1. INTRODUCTION

This document serves as the final technical report for the project entitled Advanced Algorithm Development and Implementation of Enclosed Operation Detection and Shutoff for Port able Gasoline

Powered Generators. 1 This project was performed by the University of Alabama (UA) for the U.S. Consumer Product Safety Commission (CPSC)

. The project is a follow

- on project to contract CPSC

- S

- 06

- 0079, which directed UA to , among other tasks, develop, test, and install an automa tic engine shutoff (or shutdown which may be used synonymously) feature on a prototype generator , constructed to operate with the same stoichiometric fuel control strategy and catalyst as the durability

- tested
protot ype described in [1] . The purpose of th is feature is to shut the engine off before the generator creates an unacceptable carbon monoxide ( CO ) exposure environment in the possible event that, when the prototype generator is operated in an oxygen depleted environment , its ability to meet its targ et CO emission rate is compromised

. CPSC specifically requested that the algorithm be programmed into the prototype generator’s engine control unit ( ECU )

, and that it have the ability to be enabled and disabled for testing purposes

. CPSC also specifically directed that the algorithm rely only on data already existing
in the ECU and not use any additional sensors so as to serve as a supplementary means of further reducing the risk of CO poisoning associated with the prototype generat or without adding any additional
component cost.

In the original work, prior to the co ntract reported on herein, the o bjective was to develop the
al gorithm, the new prototype, and to test at UA in a highly confined space. Data from the ECU was
collecte d and analyzed. The purpose of the initial testing was to identify trends within the collected data that could be utilized for detecting confined space operation. These analyses resulted in the development of a n initial algo rithm that is summarized in references [1

, 6 , 7 ]

. The algorithm was tested through pos t

- processing the ECU data collected and then implemented in the ECU software by the
manufacturer. While the resulting detection method was completely heuristic in nature and made no provision for shutoff at particular O2 or CO concentrations, the initial results from testing the algorithm at UA were promising. T he prototype

, with the initial algorithm programmed into the ECU
, was then
tested in a test facility [ 2, 3
, 6 , 17 ] at the National Institute for Standards and Technology ( NIST ) , where

t he developed algorithm was refined through variation of programmable parameters

. H owever , three specific issues sporadically surfaced from additional testing at NIST :

1. With sudden and significant load c hanges , as well as under constant load (though less frequently), the algorithm would sometimes cause the engine to shut off when operated
unconfined in the outdoors.
2. Rarely would the algorithm cause the engine to shut off in an enclosed environment with

ex tremely light loads.
3. Rarely, but even with high load, the algorithm would not shut the engine off when operating in
an enclosed environment.

1 This project was the subject of a Maste r’s of Science thesis, developed, written, and defended by Joshua Spiegel, who was a graduate research assistant working on this project. His thesis, entitled “Small Engine Oxygen Depletion Shutoff Algorithm and Implementation,” was accepted by the University of Alabama in 2012 [16].2 Even with these limitations, the initial algorithm resulted in a proof of concept in demonstrating its capability to shut off the engine when the algorithm rendered a shutoff decision. This previous w ork also provided valuable information for another possible advanced approach to a shutoff algorithm

. The more advanced approach was addressed in the final t echnical report of the previous contract [7 ]

. Based upon the substantial improvement it appeared to offer, the present contract was put in place.
This present approach is based on employing data from the ECU to estimate the O2 concentration in the
intake air and developing an index for the shutoff decision that is based upon a calculation that
estimates the predicted formation of carboxyhemoglobin ( COHb ) , which is a useful, though inexact, approximation of acute CO uptake by the body, and of acute symptom severity [14]

. The R&D strat egy employed moved from executing the algorithm o n the existing ECU to implementation in an advanced
modular ECU development platform that is commercially available. The development platform is described in this report and it operates within an industry standard graphical user interface providing full progra mming flexibility in a real

- time manner. Changes, revisions, and updates were possible without requiring documentation to the vendor or without contracts having to be issu ed. Furthermore, processor speed and memory availability was eliminated as a limitation.

A secondary goal of this project was to deliver a functional generator set with the algorithm in place. This required that the ECU functional ity be migrated from th e modular development platform to a b lack box system. A commercially available programmable engine controller was selected as the final implementation platform. This system offe red the ability to include all ECU and shutdown algorithm
functions in a closed box without the need for extensive off

- board hardware and processing capability. However, data logging and reporting as well as “on

- the

- fly” adjustment was no longer an option. Thus,
the EC U system on the final prototype is much like that which would be found on a commercially available generator unit.3 

## 2. Engine Management System

Prior to initiating discussion on implementation details and experimental procedures, it is important to
note th at c ertain trade names (e.g., Nova, Labview, Matlab, etc.) or company products are mentioned throughout this document to adequately specify the experimental procedure s and equipment used. In no case does such identification imply recommendation or endorse ment by the University of Alabama staff, nor does it imply that the equipment is the best available for the purpose.

The gasoline powered engine’s engine management system ( EMS ) is intended for the management of multiple engine tasks such as engine position tracking and synchronization of engine fuel an d spark timing [4]. The modular development platform

- based EMS for this project was to utilize a setup that would parallel the setup in the previous proje ct, as described in [6, 7] . Because the new oxyge n depletion shutdown algorithm wa s initially based on post

- processing of data from the previous project’s EMS, the basic management criteria were to remain constant

, including the engine operation and control principles. Specifically, the EMS setup i s comprised of the host personal computer (PC), an upgraded ECU, an electronic fuel injector (EFI), a fuel pump and pressure regulator, and an ignition coil, along with multiple sensors for continuous engine operation monitoring. The host PC is used for h uman interfacing with the ECU to monitor and adjust engine specific parameters. The ECU is an electronic based system with multiple inputs and multiple outputs used to enhance engine performance. Specifically, the ECU is used to execute pre

- programed cal culations based on data provided from engine sensors and is responsible for controlling associated outputs to achieve desired engine operation. The list, shown below in Table 2.1, details the multiple inputs and outputs to the modular ECU, and this list i s similar to the I/O list from the previous system [6]

.

Table 2.1 : Input and output signals of the m odular ECU

. Signal Input / Output Type Oil Temperature Input Analog Intake Air Temperature Input Analog
Manifold Absolute Pressure Input Analog
Heated Oxygen Sensor Input Analog Battery Voltage Input Analog
Crank Position Input Pulse Fuel Injector Output Digital Spark Coil Output Digital

Each of the individual inputs and outputs to the ECU serve a specific role in the overall engine control scheme. The two ECU outputs, for the fuel injector and spark coil, together serve a common purpose of permitting fuel delivery and spark timing for fu el ignition through means of the EFI, fuel pump, fuel pressure regulator, and ignition coil. The heated oxygen sensor is used to detect oxygen content in the exhaust gas and determine whether the fuel mixture is rich or lean through means of a correspondi ng voltage signal. The oil temperature sensor is responsible for monitoring the temperature of the engine’s4 oil. The intake air temperature (IAT) sensor is responsible for monitoring the temperature of the air entering the engine. These two sensors, oil temperature and IAT , provide signals that contribute to
various calculations and look

- up tables for parameters which effect engine operation. The crank position sensor is a variable reluctance (VR) sensor, used in conjunction with a 24 tooth (minus 1) cr ank wheel, responsible for defining engine speed (RPM) and a crank position reference point. By establishing a crank position reference point, essential engine parameters such as manifold absolute pressure (MAP), fuel delivery, and spark timing can be eva luated. The crank position sensor and 24 tooth crank wheel are shown in Figure 2.1 [6, 7].

Figure 2.1: Crank p osition s ensor and 24 t ooth c rank w heel.

Via a variable reluctance sensor , a pulse train voltage signal is produced by the 24 tooth crank wheel by exciting the crank position sensor that has magnitude proportional to engine speed. A missing tooth, or gap, on the crank wheel is used as a reference point by the crank position sensor for determining several useful parameters. First, the missi ng tooth is used to establish a reference point for determining when the piston is at top dead center (TDC). In the present strategy, the positioning of the piston at TDC is inferred by the falling edge of the 9 th tooth after the gap on the 24 tooth crank wheel, due to its specific alignment with respect to the engine. In addition, the missing tooth and crankshaft synchronization system are used to ensure that, at minimum pressure on the engine’s intake stroke, the MAP read crank angle can be determined. Due to MAP signal fluctuation, caused by the single

- cylinder engine, a MAP read crank angle algorithm is required for establishing a common MAP determination point. The MAP read crank angle is a function of speed and load, which requires a calibration lo ok

- up table. Since MAP is the primary variable used to indicate load, MAP read crank angle, sampled once per two engine revolutions at minimum pressure, is based upon MAP itself [6, 7]. A block diagram, shown in Figure 2.2, illustrates the complete layou t an d flow of all the EMS components including the host PC, real

- time ECU, a connected chassis with four engine contr ol modules, and multiple inputs/ outputs to the generator. All5 bold lines indicate a voltage signal and all dashed lines indicate signals t o or from engine control modules harbored in the ECU chassis. Additional signals are labeled accordingly.

Crank Position Sensor Oil Temp Sensor

Intake Air Temp Sensor MAP Sensor Heated O 2 Sensor

A / D Module 24 Tooth

Wheel

ECU Power Supply Modular ECU O 2 Sensor Module

Host PC

Port Fuel Injector Module

Fuel Injector Pressure Regulator Fuel Pump Spark Driver Module

Spark Coil SENSORS ( analog outputs )

12 V Power Supply COMPUTATION RJ 45 Ethernet Analog Signal Analog Signal Analog Signal Analog Signal

Digital Signal

Digital Signal ( multiplexed )

Power Source

Digital Signal Digital Signal Analog Signal

Power Source Power Source

Power Source

Power Source

OPERATIONAL HARDWARE Analog Signal Analog Signal Analog Signal
Fuel Flow

Fuel Flow

Figure 2.2: Diagram of m odular EMS configuration with hardware connections and data/signal flow.6 The EMS chassis currently contains four operational modules for engine control a nd one
instrumentation module, not included in the EMS diagram, for additi onal data acquisition. The five modules harbored in the chassis include the following: A/D Combo Module Kit, Port Fue l Injector (PFI) Driver Module Kit, Spark Driver Module Kit, Oxygen Sensor Module Kit, and Bidirectional Digital I/O Module. The A/D Combo Module Kit is responsible for interfacing between any analog or digital inputs on the generator, such as those senso rs which indicate operating conditions. Specifically, the A/D Combo Module Kit converts the generator oil temperature, intake air temperature, crank position sensor, and MAP sensor from analog to digital signals, which can be monitored and utilized in sep arate calculations. The PFI Driver Module Kit is used for driving low

- impedance and high

- impedance PFIs as well as generator solenoid valves. Specifically, the main task of the PFI Driver Module Kit is to control the generator’s fuel pump and fuel inject or. The Spark Driver Module Kit is responsible for controlling the spark coil, ensuring precise timing for correct engine synchronization. The Oxygen Sensor Module Kit is responsible for interfacing with wide

- band and narrow

- band oxygen sensors. Specifi cally, the Oxygen Sensor Module Kit is used for engine tuning, closed

- loop engine control, and data acquisition. The Bidirectional Digital I/O Module was acquired, in addition to the four previous modules needed for engine control, in order to output digi tal signals to an analog oscilloscope. This module allowed for rapid controller and engine debugging, without having to modify and recompile the associated source code [4].

Each of the previously described control modules are support ed by graphical virtu al instruments (VIs)

, which are programs running in a programming environme nt that is an industry standard that contain s the source code used to operate and control the associated hardware [11]. In addition, the system must utilize c alibration software, n ecessary for establishing communications between the real

- time kernel and the host VI by means of managing all necessary data points and lookup tables. The host VI is used to monitor and control any desired system input or output in a real

- time manner. O pen

- loop and
closed

- loop engine tuning for stoichiometric engine operation are also performed in the host VI, in real

time, which ma kes it vital to the new ECU platform

.

During the course of the previous contract, which involved the development of a low C O emissions prototype generator and safety shutdown feature, two separate commercially available engine
controllers , which were user configurable , but not user programmable, were utilized. A now obsolete controller, the IMEC

- 168 ECU , was used for initial calibration, testing, and developing the low CO emissions prototype generator. This particular ECU, used with a 3

- way catalyst, aided in the reduction of CO emissions from a portable gasoline powered g enerator by 97% [6]. The MT05 ECU was subsequently us ed specifically for work completed on the previous oxygen depletion shutdown algorithm, with the same gasoline powered generator already modified for low CO emissions.

In an effort to improve enclosed operation detection and shutoff of the existing setup, the new modular
ECU was then introduced to the previously used generator rated at a continuous output of 7 kW. A photograph depicts the portable gasoline powered generator equipped with EMS in Figure 2.3. As a replacement to t he previous controller , the advantageous modular ECU allows for more real

- time engine adjustments, as well as modifications and additions to the ECU. Replacin g the ECU was7 necessary, and fortunately

, the spark coil and all sensors used with the previous MT05 ECU were able to
be r eu sed with the upgraded modular ECU.

Figure 2.3: Modular EMS equipped generator. Modules housed in grey electrical box and connected to generator hardware via custom wiring harness.

2.1. Description of Theoretical ECU Operation

Two different engine controllers have been used throughout the course of the two contracts with CPSC for the purpose of developing an oxygen depletion safety shutdown feature; however, the fundamental bases upon which they oper ate are the same, as the modular ECU utilizes a s imilar speed

- densit y method as the previous MT05. A parallel deterministic approach and set of principle equations are used, as described in [6, 7, 8], which utilize the primary inputs of engine speed and a load variable, based on MAP, for ultimately cont rolling the mass of fuel delivered. The speed

- density method, based on the ideal gas law, is used to calculate the quantity of air entering the engine, thus delivering a stoichiometric fuel mixture to the engine. The ideal gas law is shown in Equation 2. 1 where (P) is pressure, (V) is volume, (m) is mass, (R) is the air gas constant, and (T) is temperature. The actual mass of air entering the cylinder divided by the theoretical mass of air entering the cylinder is defined as the volumetric efficiency, sh own in Equation 2.2. As seen in Equation 2.2, the theoretical mass of air entering the cylinder is equal to the product of the air density entering the cylinder (ρ air ) and the engine displacement volume (V D ). As part of the calibration procedure, the volumetric efficiency is determined as a function of engine speed and load and entered into a lookup table for use by the algorithm as part of the air flow calculation [6, 7].

T R m V P * * * = (2.1)8 

## ( ) ( ) D air air

air

air V m l theoretica m actual

m VE * ρ = = (2.2)

Because the air is an ideal gas, a relationship with the ideal gas law can be developed. Specifically, by combining Equation 2.1 with the fact that air density is defined by air mass divided by air volume, the manifold air density can be calculated in terms of the specific pressure, temperature, and air gas constant. The manifold density is directly proportional to the manifold pressure (P man ) and inversely proportional to the manifold temperature (T man ), as shown in Equation 2.3 [6, 7, 8].

man man man T R P

* = ρ (2.3)

Using the combination of Equations 2.2 and 2.3, equating air density entering the cylinder to manifold air density, the actual mass of air entering the cylinder is calculated, as shown in Equation 2.4, with respect to the specific manifold conditions. As described in [6], a unique relationship between Equation 2.3 and the current EMS can be drawn by the following parameters: P man = MAP (kPa), V D = volume of the cylinder, 389 (cm 3 ), R = air gas constant, 0.286 (kJ/[kg*K]), and T man = charge air temperature (CAT) (°C). The CAT is a useful calculation that estimates the air temperature entering the cylinder and is based on experimental correlation which is dependent upon an RPM and MAP based coefficient lookup table, IAT, and oil temperature (CLTS).

man D man air T R VE V P m * * *

= (2.4)

The calculated mass of air entering the cylinder is used by the ECU to determine the desired mass of fuel to be supplied to the engine, shown in Equation 2.5, based on the desired AFR set point. The desired AFR set point for this project is 14.6 to 1, sto ichiometric for gasoline powered engines, for every operating condition. Equation 2.5 can be combined with equation 2.4 to express the desired mass of fuel to be supplied to the engine (per cycle) in terms of parameters measured as the engine operates (P m an , T man ), obtained from a calibration lookup table (VE, AFR) as a function of speed and load, and constant values (V D , R), as shown in Equation 2.6 [6, 7].

) ( desired AFR m m air

fuel = (2.5)

) ( * * * *
desired AFR T R VE V P m

man D man fuel = (2.6)

The ECU attempts to deliver the desired fuel mass (per cycle) by controlling the fuel injector opening pulse width. For insurance of expected fuel delivery, an experiment was conducted to estimate the injector flow rate (IFR), which was determined to be a pproximately 1.34 (g/s). Specifically, the IFR is used by the ECU, in conjunction with various transient fuel parameters, to calculate the injector fuel9 pulse width ( FPW ) , thus ensuring that the correct mass flow rate of fuel is delivered. A fuel pressur e regulator is used to maintain constant pressure across the fuel injector’s exit nozzle, ensuring that the fuel injector pulse width is proportional to the amount of fuel it supplies. By including some variable of the fuel injector opening and closing ti mes, the FPW needed to achieve the fuel mass calculated in (2.6) can be determined by injector flow rate parameters. The mass of fuel delivered, shown in Equation 2.7, demonstrates a relationship to the IFR, the FPW time (t FPW ), and the FPW time correctio n (t C ), used to account for time needed to fully open the injector and close the injector. Furthermore, by equating the mass of fuel delivered in (2.7) to the desired mass of fuel in (2.6), the FPW time needed to supply the
desired mass of fuel can be cal culated, as shown in Equation 2.8 [6,7].


## ( ) C FPW del fuel t t IFR m

− = *

, (2.7)

C

man D man FPW t IFR desired AFR T R VE V P t + = * ) ( * * * * (2.8)

In order to control the engine around a stoichiometric fuel mixture, the same closed

- loop control (CLC) algorithm from the MT05 controller was us ed in the newly acquired modular E CU. Initially, the system

run s in the open

- loop mode until temperature and run time thresholds have been achieved

, which activates CLC. These particular threshold s were extracted from the previous system; however, the new plat form allows for CLC to be initiated at the user’s discretion if a scenario arises which calls for CLC to be activated sooner or later than normal. An oxygen sensor, placed in the exhaust stream, acts as a feedback signal for the closed

- loop control algori thm, sen sing either a fuel rich or lean mixture. Accordingly, the calculated fuel pulse width time is adjusted so the oxygen signal constantly switches between rich and lean, ensuring the fuel mixture is always near stoichiometric. A proportional

- integra l (PI) control method was used to ensure that the AFR constantly oscillated around stoichiometric. The proportional component of the controller is responsible for the size of the FPW adjustment, which is determined by the magnitude of the difference betwe en the actual and desired conditions. Essentially, the proportional factor uses the oxygen sensor feedback to constantly vary the fuel mixture between rich and lean. The integral component is responsible for ensuring that an event, or particular value, w ill eventually occur by constantly adjusting until the feedback signal surpasses a set value. Therefore, the integral factor increases for a lean fuel mixture and decreases for a rich fuel mixture, ensuring that the
controller maintains an AFR near 14.6 t o 1. Finally, the proportional and integral corrections are applied
to the FPW after each calculation

, and the control process is subsequently repeated. Gain coefficients must be adjusted for both the proportional and integral components, located in a lo okup table based on engine speed and load, in order to ensure quick and accurate corrections are made by the controller adjus tments [6, 7]. The new ECU is modified to emulate engine operation an d control of the previous
MT05 ECU. H owever, the subsequent subsections discuss how each controller remains unique.

2.2. MT05 ECU Description

As described in [6], the previously used MT05 ECU, shown in Figure 2.4, was a replacement, and

u pgrade, for the obsolete IMEC

- 168 ECU. The MT05 ECU provided a slimmer design, which allowed for10 the controller to be mounted inside of the generator frame, helping to eliminate unintended damage. Also, the MT05 ECU utilized an external MAP sensor, unlike its predecessor, in ord er to increase the MAP sign al consistency from the IMEC

- 168 system b y eliminating the 300 mm MAP tube and being placed directly above the engine’s existing MAP port. Allowing for a more reliable MAP signal was vital, as it is used for calculating many eng ine control parameters.

Figure 2.4: MT05 ECU , used in previous work, mounted inside the generator frame [6].

The MT05 ECU possessed a 20 MHz microprocessor with 512 bytes of EEPROM memory space and 256 Kbytes of flash EEPROM memory space. A controll er area network (CAN) was used as communication
link between the ECU and laptop computer. The associated software contained a calibration toolbox

, which was used for real

- time data logging, data playback, and exporting data. As previously mentioned,
the MT05 system utilized an external MAP sensor, as well as a heated oxygen sensor. Also, an upgrade on the MT05 ECU was the ability to modify the look

- up table axes for improved engine performance [6, 9]. As the MT05 ECU served as a subs tantial upgrade from the IMEC

- 168 ECU, it still lacked the ability to be modified as an open

- source controller. Upon completion of the previous oxygen depletion shutdown algorithm, based on post

- processing of data, a submission to the manufacturer was required for implementation. This eliminated the possibility of shutdown algorithm modification based on current
test data.

2. 3. Modular ECU Description

The newly acquired modular EMS controller, shown in Figure 2.5, is based on a National Instrum ents Compact RIO (reconfigurable input / output) NI cRIO

- 9022 which allows for real

- time deterministic control, data logging, and a wide variety of engine management tasks such as tracking engine position and engine synchronization of fuel delivery and spa rk control. These ECU operations are based on field programmable gate arrays (FPGA) [4, 5]. Figure 2.5 also depicts the attached chassis with four control modules and one NI module for additional data acquisition. The primary advantage of the modular EC U11 is that it is a mostly open

- source controller that provides the ability for modifications and additions to the existing ECU source code through the LabVIEW

- based software which accompanies each individual control module present in the chassis. In additi on, the modular ECU still possessed the main upgrade
features of the previous MT05 ECU such as an external MAP sensor and the ability to modify the look

- up table axes for increased resolution and engine performance. One notable difference from the previou s MT05 ECU is the modular system’s location with respect to th e generator itself. Due to the system’s larger size, it cannot be mounted directly on the generator and must be placed inside of a protective box, as shown in Figure 2.5, to limit exposure to p otentially harmful elements and prevent any accidental damage. , I t is worth noting that the finished product for engine operation, control, and new safety shutdown algorithm were implemented on a smaller, less complex, and less expensive controller,
inte nded only for use after all desired modifications had been finalized. This allowed for ease of ECU
modifications with the Modular system, while final implantation on a smaller controller allowed for the final product to be mounted on the generator.

Figure 2.5: M odular ECU components mounted in protective electrical box.

The modular ECU system possesses a 533 MHz processor with 2 G B of nonvolatile storage and 256 Mbytes of dynamic random

- access memory (DRAM). The real

- time kernel operates at 1 kHz, while the FPGA kernel operates at 40 MHz for more time

- critical engine operations. The controller itself has several different external connection capabilities such as multiple Ethernet ports for remote interfacing with the host PC and file servers, a US B port for hosting external memory devices, and RS232 serial port connection which could be used as to communicate between the ECU and peripherals. The controller is designed to function for long periods of time, at low power consumption, and a wide opera ting temperature range [5].12 The modular EMS and ECU was modified in hardware and software to emulate that of the previous
MT05 controller as close ly as practically possible. The modular ECU was originally designed for a multi

cylinder engine, while the g enerator used for this project utilized a single

- cylinder engine. Therefore, due to the ECU’s ability to be reconfigured, it was modified in order to accommodate a single

- cylinder engine. In order to begin this modification, the associated code in the mo dular ECU was altered in the way of disabling the three additional cylinders needed for four

- cylinder operation. In addition, the engine design warranted the previously discussed MAP read crank angle algorithm to be implemented for determining MAP at a co mmon point, the minimum pressure read once every two engine revolutions. Due to the generator’s absence of a cam sensor, a pseudo cam signal algorithm was implemented in the ECU, using LabVIEW code, which would emulate that of a physical cam signal. A ph ysical cam sensor produces a true signal synchronized with the camshaft which can be combined with the crank position sensor to establish crank position relative to the complete four

- stroke engine cycle. One important calculation that was performed by the previous MT05 controller, missing in the modular ECU, was the CAT calculation. Therefore, necessary additions were made to the modular ECU software to perform the CAT calculation. CAT is absolutely vital because of the fact that oxygen estimation and
th e emergency engine shutdown algorithm, discussed in the following chapter, are dependent upon the
CAT estimation. The final modification to the modular ECU was the implementation of the previously discussed CLC algorithm used in the previous MT05 controller to control the AFR to stoichiometric.13 

## 3. ENCLOSED OPERATION DETECTION STRATEGY

During work done in this project’s previous phase, an oxygen depletion shutdown algorithm was developed that, although demonstrated a proof of concept, possessed shortcomings which needed to be addressed. Specifically, the previous shutdown algorithm was only a heuristically based model which did not address the air chemistry directly related to an oxygen depleted environment. Also, the previous algorithm sometimes produced false

- positive shutdowns with sudden and significant load changes. Finally, there were occasions where it would not shutoff when operated in an enclosed environment, particularly with extremely light loads applied

.

In an effort to improve the oxygen depletion safety shutdown feature, an advanced algorithm was
devised by attempting to estimate the oxygen percentage in a gasoline portable generator’s intake air without the use of any external emission sensors. While several numerical estimation methods proved unsuccessful, a hybrid analytical and heuristic strategy demonstrated some pr omising results. The general purpose of this strategy was to be able to generate a curve that matched the oxygen data measured throughout testing at the NIST test facility. It was determined that by utilizing the gas constant for air, the actual gas cons tant at the generator’s air intake, expected fuel

- air ratio, and actual
fuel

- air ratio, a useful relationship could be derived to estimate the amount of oxygen in the air intake stream if the small injector opening or closing times were neglected. In the ECU, the base FPW is calculated by using the gas constant for air and a desired air

- fuel mixture ratio. Then, through control system feedback, the actual gas constant at the generator’s air intake could be calculated based on the actual FPW corrected by t he controller, also known as the final FPW. Also, the actual fuel

- air ratio could be determined once the control system corrections are made. Through some mathematical simplification, the ratios of the actual intake air gas constant to the gas constant f or air and expected
fuel

- air ratio to actual fuel

- air ratio are used to provide a useful FPW ratio for oxygen estimation, as shown in Equation 3.1 [7].

final FPW base FPW

air actual

actual 

### t t
R R
A F A

F

, , exp



### =                
(3.1)

This ratio proved useful for developing a strategy to estimate the oxygen percentage in the generator’s
intake air stream. In fact, a measu re of control system correction for oxygen deficiency in the intake gas

stream is described by this ratio of base FP W to final FPW ; it was further observed that the ratio described in Equation 3.1, in conjunction with the generator’s calculated CAT, could be used as a parameter in a linear oxygen estimation equation. In particular, this constant value (C) used for line ar estimation is described by the ratio shown in Equation 3.2. In addition, it was determined that a basis of this constant value was able to more accurately estimate oxygen once the CAT stabilized [7].



### CAT t t C final FPW base FPW



### *

, , 

### = (3.2)14 Once the relationship in (3.2) was developed, an oxygen percentage estimation equation was heuristically developed from the measured oxygen data obtained during seven tests , listed in Table 3.1,
that were conducted at NIST

. These tests were conducted duri ng the first phase of this work as part of a larger series of tests performed to assess the efficacy of the prototype design , with and without the catalyst, in reducing the CO poisoning hazard by measuring the CO and O2 concentrations in the garage
as well as all rooms in the house while the generator was operating in the garage with a cyclic load applied [ 3 ] . In these tests, the prototoype generator designated SO1 was operated with the algorithm disabled, which means it would run until the test operator manually shut the engine off . Four of the seven tests were conducted with the garage bay door fully closed, causing oxygen depletion to occur in the garage.

Table 3.1 NIST scenarios used for initial oxygen estimation algorithm [ 7].

Test ID Catalyst Installed in Muffler Position of Garage Bay Door
N Yes Closed
T Yes Open 24”
Z No Closed
W Yes Closed
AH No Closed
U Yes Open 24”
V No Open 24”

Th e resulting linear relationship, shown in Equation 3.3, was initially used to estimate the oxygen percentage in the generator’s intake air stream.

18 175 % 2 + = C O (3.3)

All of the estimations developed herein are based on the characterization of the specific generator used in this study interacting in various indoor and outdoor environments. Had another model generator been used, a different set of equations may have resulted. The point is to illustrate that these estimation equations represent one example of how a shutoff algorithm can be devised.

Th is initial oxygen estimation algorithm, developed for purposes of an advanced shutdown algorithm, showed some promising results in generating a curve to estimate the oxygen content measured during
NIST testing. However, due to the fact that the linear estimation in Equation 3.3 was developed by inspection , it was decided that the oxygen percentage levels could be calculated more accurately if new linear coefficients, other than 175 and 18, were mathemat ically derived. Also, because of the fact that
all seven test sets used to init ially develop the new algorithm were conducted indoors under a cyclic load profile, it was decided to includ e three indoor constant load tests and five outdoor constant load

tests since similar tests with the initial shutdown algorithm revealed some of its limitations that were
described in S ection 1 . The processes of developing the new optimum linear estimation coefficients

, based on the fifteen tests listed in T able 3.2

, a re presented in Appendix A, and the final O2 estimation15 equation is shown in equation (3.4). The c riteria for generator shutdown decision s and off

- line
validation thereof are described in the following report sections.

Table 3.2 : All fifteen NIST test scenarios used for final oxygen estimation algorithm.

Test ID Date Load Profile Environment Garage Door

N 04/01/2010 Cyclic Indoors Closed

T 04/14/2010 Cyclic Indoors Open 24”

Z 05/05/2010 Cyclic Indoors Closed

W 04/29/2010 Cyclic Indoors Closed

AH 05/13/2010 Cyclic Indoors Closed

U 04/22/2010 Cyclic Indoors Open 24”

V 04/23/2010 Cyclic Indoors Open 24”

AK 05/19/2010 5500 W Indoors Fully Open

AS 06/10/2010 5500 W Indoors Closed

AV 07/09/2010 500 W Indoors Closed

CA 09/10/2010 2500 W Outdoors

CB 09/10/2010 1500 W Outdoors

CC 09/10/2010 3000 W Outdoors

CD 09/10/2010 4500 W Outdoors

CE 09/10/2010 5500 W Outdoors

96

. 16 55

. 201 % 2 + = C O (3. 4 )

3. 1. Generator Shutdown Decision

Although the previously described oxygen estimation algorithm will detect an enclosed and hazardous operating environment when significant oxygen depletion is detected, an effort was made to use the oxygen estimation algorithm in determining the approximat e COHb level 2 , which could be used for generator shutdown criteria , because it was determined to offer some indication of CO in the way of magnitude and length of exposure without having to estimate CO itself. It was determined through
observation that th e rate of oxygen decrease showed some direct correlation with the rate of COHb increase. One point of interest that arose from this correlation was an individual area calculation of oxygen estimation, for every two sampling points, once it dropped below a mbient air, or approximately 21% oxygen. Trapezoidal integration was used to calculate such individual areas between oxygen estimation and a 21% threshold value, as shown in Equation 3. 5 . In (3. 5 ) d(t) is the difference between oxygen estimation and 21% at any time (t), d(t

- 1) i s the previous difference, and t elap is the time elapsed between the two difference measurements. Because area is determined based on current and previous difference measurements, at least two data points are needed before an area can be calculated.

2 As calculated per an equation provided on page 67 of ref [15].16 Through further observation, it was theorized that the oxygen estimation area (below 21%) could possibly be used in a linear equation, shown in Equation 3. 6 , to estimate COHb percentage.


## [ ]

2 * ) 1 ( ) ( elap i 

### t t d t d A − +

= (3. 5 )

4 3 

### ) ( % k k A COHb i 

### + = (3. 6 )

A least squares curve fitting method was employed in an effort to estimate COHb using the improved oxygen estimation; however, this particular method proved unsuccessful in providing an accurate
estimate of COHb du e to large variations in COHb percentage scales across the wide range of testing scenarios. Therefore, coefficients k 3 and k 4 were developed heuristically to provide a trend

- oriented estimate of COHb, shown in Equation 3. 7 , and verified through visual ins pection. This trend

- oriented COHb estimate proved somewhat successful in numerical estimation for small percentages COHb. Although accurate numerical estimation of larger COHb percentages could not be achieved, along with smaller percentages, it was dete rmined to be unnecessary due to the fact that the generator would have already triggered the safety shutdown feature by the time such percentages were reached. The
trend

- oriented COHb estimate (in green) is plotted with the COHb calculation [15] , as shown in Figure 3.1. It is worth noting that a less efficient first

- order lag filter was used in the trend

- oriented COHb estimation in anticipation of physical implementation, which would not provide such an efficient filter. Also, for outdoor tests (CA throu gh CE), measured CO emissions were assumed to be 0 parts per million (ppm) and COHb was assumed to be 1%. The same test set order was used, as described in the oxygen estimation development, for concatenating all fifteen test cases.



### 45

. 2 72

. 10 ) ( % + = i 

### A COHb (3. 7 )17 Figure 3.1 : Calculated COHb levels and the COHb index computed from O 2 estimate (calc filt) for multiple tests.

For the purpose of this project , a 10% COHb threshold was theorized to indicate indoor operation and an oxygen depleted environment. From observation of Figure 3.1 , it was determined that the trend

oriented COHb estimate exceeded 10% in all indoor tests which should, in fact, shutdown; furthermore,
it was observed that the trend

- oriented COHb estimate did not exceed 10% in any outdoor test environment, which should not trigger a shutdown. Therefore, the new safety shutdown feature would trigger if the trend

- oriented COHb estimate exceeded 10% constantly for 20 s. A 20 s threshold was chosen to ensure that the generator did not trigger a false shutoff in the event t hat a transient spike in
COHb estimate exceeded 1 0% for a short period of time. 0 2 4 6 8 10

x 10 4 0 10 20 30 40 50 60 70 80

Time (s)COHb % COHb estimates

meas calc filt

U AH AK AS AV CA

- N T V W Z CE COHb (per EPA) COHb (calculated)18 Clearly, the COHb calculation is not an accurate representation of the actual COHb. However, it is an
efficient index to base a shutdown decision upon when concerned with C OHb levels. Hence, in this report, when the term “COHb estimate” is employed, the reader should interpret this to mean estimate up to 10% and strictly as an index otherwise

. A pseudo code for the oxygen depletion shutdown algorithm is shown below:

- Oxyg en Estimation O2_calc = (Base Pulse Width / Final Pulse Width / Charge Air Temp.)*k1+k2 k1=201.55, k2=16.96

- Calculating Individual Area Measurements under 21% Oxygen Threshold If CLC activated and O2_calc < 21% (must have at least 2 points):
Ind. Are a = (Time Elap)*[(21

- Current O2_calc) + (21

- Previous O2_calc)]/2 If O2_calc > 21%:
Ind. Area = 0

- COHb Index Calculation & Shutdown Decision COHb_calc = (Ind. Area)*k3+k4, k3=10.72, k4=2.45 If COHb_calc > 10%: total_time counter starts If COHb_calc > 1 0% for less than 20 seconds: total_time counter reset to zero If COHb_calc > 10% constantly (total_time >20 seconds): Generator shutdown triggered

3. 2. Off

- Line Validation of Oxygen Depletion Shutdown Algorithm

In an effort to conduct an off

- line validation of the newly derived oxygen depletion safety shutdown algorithm, simulations were performed for all fifteen test cases to analyze when an actual shutoff would occur, as determined by the algorithm, versus idea l shutoff, based on the COHb calculation of the NIST
test data. After simulating each individual test set, key parameters observed at actual and ideal shutdown were identified as the following: shutdown times, COHb percentages, measured CO / maximum CO, a nd estimated oxygen. The key parameters identified during simulations and off

- line
validations are summarized in charts, shown in Figures 3.2 throu gh 3.9 , for those test sets where shutdown should eventually occur. It was observed during simulations that , although the trend

oriented COHb estimate may trigger a shutdown slightly early or slightly late in some cases, an actual shutdown is only triggered when warranted and possible false

- positive shutdown triggers are eliminated during outdoor test cases.19 Figure 3.2 : Oxy gen depletion algorithm shutdown time evaluated through simulation vs. ideal shutdown
times based on COHb calculation at 10%

.

Figure 3.3 : COHb index percent age, COHb calculated per EPA
, and measured CO ppm at simulated
shutdown. AH AS AV N W Z
Actual Shutdown Time 43.98 18.71 36.92 53.68 46.06 41.23
Ideal Shutdown Time 29.93 33.82 60.50 76.62 30.88 40.48 0.00 10.00 20.00 30.00 40.00 50.00 60.00 70.00 80.00 90.00Minutes 

### Algorithm Shutdown Times

AH AS AV N W Z
COHb estimate 10.25 10.21 10.02 10.41 10.12 10.22
COHb actual 17.1 2.72 6.7 6.67 14.91 10.23
CO at Shutdown 852 711 260 158 443 322 0 100 200 300 400 500 600 700 800 900

0 2 4 6 8 10 12 14 16 18CO (ppm)COHb % 

### COHb Percentages and Measured CO at Shutdown20 Figure 3.4 : Measured CO emissions at actual shutdown time from simulation and at the ideal shutdown
time based on a 10% COHb level computed per EPA

.

Figure 3.5 : Oxygen concentration estimates at actual shutdown time from simulation and at ideal
shutdow n times based on 10% COHb computed per EPA

. AH AS AV N W Z
CO at Shutdown 852 711 260 158 443 322
CO at Ideal Shutdown 757 811 238 217 525 325 0 100 200 300 400 500 600 700 800 900CO (ppm) 

### Measured CO at Shutdown and Ideal Shutdown

AH AS AV N W Z
O2 Est. at Shutdown 19.73 19.74 19.79 19.70 19.75 19.73
O2 Est. at Ideal Shutdown 20.32 19.54 19.64 19.88 20.27 19.82 19 19.2 19.4 19.6 19.8

20 20.2 20.4O2 (%) 

### Estimated O2 Percentages at Shutdown and Ideal Shutdown21 Figure 3. 6 : Measured CO concentration at actual shutdown time from simulation and at ideal shutdown

time based on 10% COHb computed per EPA . The m axiumum CO concentration at the end of the test run is also indicated

.

Figure 3.7 : Maximum CO concentration for all indoor test cases. AH AS AV N W Z
CO at Shutdown 852 711 260 158 443 322
CO at Ideal Shutdown 757 811 238 217 525 325

Maximum CO 2353.8 885.7 271.5 304.7 958.7 596.8 0 500 1000 1500 2000 2500CO (ppm) 

### Measured CO at Shutdown and Ideal Shutdown

U AH AK AS AV N T V W Z

Max. CO 257.8 2353.8 197.1 885.7 271.5 304.7 332.3 432.3 958.7 596.8 0 500 1000 1500 2000 2500CO (ppm) 

### Maximum CO (All tests with non

- zero CO values) Outdoor tests (CA

- CE) were assumed to be approximately 0 ppm CO Red = tests that should shut down Green = tests that should NOT shut down22 Figure 3.8 : COHb index and actual COHb computed per EPA at shutdown time determined by simulation along with the maximum COHb per EPA at the end of the test run

.

Figure 3.9 : Maximum COHb ( EPA calculation) for all indoor test cases. C OHb P erc entag es at S hutdown (with maximum C OHb)

0 10 20 30 40 50 60 70 80 90C OHb %

C O Hb es timate 10.25 10.21 10.02 10.41 10.12 10.22

C O Hb actual 17.1 2.72 6.7 6.67 14.91 10.23

Maximum C O Hb 77.6 50.4 16.0 14.0 54.9 16.8 AH AS AV N W Z

Maximum C OHb (All tes ts with C OHb es timated values )
- Outdoor tes ts (C A - C E ) were as s umed to be approximately 1 % C OHb R ed = tes ts that s hould s hut down; G reen = tes ts that s hould NOT s hut down

0 10 20 30 40 50 60 70 80 90C OHb (% )

Max. C O Hb 3.7 77.6 3.6 50.4 16.0 14.0 4.2 7.2 54.9 16.8 U AH AK AS AV N T V W Z23 

## 4. IMPLEMENTATION O N THE MODULAR PLATFORM

For work done on this project’s phase, a modular based ECU was acquired to serve as a replacement to the formerly used MT05 ECU. As previously mentioned, the proprietary nature of the MT05 ECU eliminated the ability for modifications or additions to the existing source code. Although both
controllers accomplished similar tasks in the way of engine management and control, the main advantage of the modular ECU was its almost completely open

- source nature. Access to the ECU source code allowed for necessary additions and modifications to be made in the w ay of engine operation, control, and shutdown. This access also provided the user with the ability to implement or modify any engine specific tasks or algorithms, which conserved time by not having to out

- source the job to the ECU’s company of origin. In addition, multiple instances arose which challenged the initial strategy of implementation; however, the mostly open

- source nature of the ECU allowed for flexibility and ease of implementation. Finally, access to the majority of the ECU source code would permit changes in the oxygen depletion shutdown algorithm, if necessary, following post

- processing of physical test data. A description of changes made to the oxygen depletion shutdown algorithm and ECU source code for ease
of implementation , as well as a summary of the final implementation process, is provided in the subsequent sections.

4.1

. Alternate Equivalent Oxygen Estimation

During the course of implementing the engine operation and control scheme into the newly acquired ECU source code, base VE and final VE were used in the CLC method, as opposed to base FPW and final FPW. This utilization of VE was based on the fact that it allowed for a simplistic engine tuning strategy, as the primary variable used in open

- loop and CLC regulation, because of its ability to be easily altered in a calibration lookup table based on RPM and MAP. Conversely, the newly devised oxygen estimation shutdown algorithm was dependent on the ratio of base FPW to final FPW. This presented an initial challenge to the imple mentation strategy of the new oxygen estimation equation because immediate access to base FPW and final FPW could not be established. However, because VE is defining air quantity entering the cylinder, the quotient of base VE (VE before CLC correction) an d final VE (VE after CLC correction) should provide a ratio which defines the magnitude of controller compensation for oxygen deficiency in the generator’s intake air stream. Likewise, because FPW is defining fuel quantity entering the cylinder, the ratio of base FPW (FPW before CLC correction) to final FPW (FPW after CLC correction) indicates how much the control system has to compensate for the oxygen deficit in the intake air stream, as described in Chapter 3 and [7]. Therefore, the two ratios utilizin g VE and FPW are essentially a measure of identical quantities and can be concluded to be equivalent, as shown in Equation 4.1. Furthermore, substituting this ratio equivalence from (4.1) into the generator dependent variable (C) from (3.2), used in the n ewly derived oxygen estimation equation, it can be redefined in terms in terms of base VE and final VE, as shown in Equation 4.2.

final base
final FPW base FPW 

### VE VE

t t

=

, , (4.1)24 CAT VE VE C final base

* = (4.2)

4.2

. Alternative Implementation Strategy for Shutdown Algorithm

Upon beginning the implementation process for the oxygen depletion shutdown algorithm, based on a
trend

- oriented COHb estimate, another scenario arose which challenged the initial implementation strategy in LabVIEW based source code. The initial impleme ntation strategy for the shutdown algorithm was dependent upon individual area calculations, based on oxygen estimation difference measurements below a 21% threshold. It was determined that this particular strategy would require some data buffering becaus e of the fact that previous difference measurements must be considered in the individual area calculations. Although this initial implementation strategy could have been accomplished, significant time was not devoted to completing it when a new, equally v alid, method for producing a trend

- oriented COHb estimate showed promise, which involved no data buffering.

The initial shutdown algorithm implementation strategy

, which relied on individual area calculations for producing a trend

- oriented COHb estimate, exhibited an example of a piecewise linear function. Specifically, by using trapezoidal integration, this function was comprised of a set of data where each point essentially represented the average of the current and previous difference measur ements between oxygen estimation percentage and 21%. An illustration of the trapezoids used to calculate individual area, formed by individual difference measurements, and the resulting plot of area calculations from trapezoidal integration is shown in Fi gure 4.1.25 Figure 4.1: Individual area calculations (piecewise linear function).

A newly devised alternative shutdown algorithm implementation strategy would provide an equally
valid trend

- oriented COHb estimate without the need to buffer data in the LabVIEW source code implementation . Specifically, the new implementation strategy would involve using only the individual difference measurements, as opposed to the individual area calculations, to develop a new trend

oriented COHb estimate with minimal d eviation from its original. This particular type of strategy, differing from the original, demonstrated an example of a piecewise constant function by exhibiting a data set where each point represented only the current difference measurement between oxyge n estimation percentage and 21%; therefore, no previous data is considered. A general illustration of how
the new COHb trend

- oriented estimate is constructed, based on individual difference measurements, is shown in Figure 4.2. It is worth noting that th e difference measurements used in Figures 4.1 and 4.2 were kept constant in order to exploit the variations in the two different types of functions.26 Figure 4.2: Individual difference measurements (piecewise constant function).

In order to begin such a transformation, the general COHb estimate equation in (3. 7 ) was revised to include the individual difference measurements (d i ), instead of individual area measurements, and new heuristically developed constant coefficients were established to compensate fo r the change in strategy. The newly developed trend

- oriented COHb estimate equation is shown in Equation 4.3.



### 43

. 2 14

. 6 ) ( % + = i new 

### d COHb (4.3)

Because of the fact that the new constant coefficients in (4.3) were developed heuristically, it was of particular interest to approximately verify, through mathematical representation, that the change in strategy did, in fact, render an equally valid meth od for producing a trend

- oriented COHb estimate. First, the original trend

- oriented COHb estimate from (3. 7 ) was revisited in Equation 4.4 and a general equation representing the new trend

- oriented COHb estimate in (4.3) was defined, as shown in Equation

4.5.

45

. 2 72

. 10 ) ( % + = i orig A COHb (4.4)

new new k k d COHb i new 4 3 ) ( % + = (4.5)

In order to approximately verify the coefficients for a new trend

- oriented COHb estimate based on individual difference measurements, the individual area calculation for trapezoidal integra tion in (3.7) is substituted into the original estimate in (4.4), and then subsequently approximated to the new estimate in (4.5), as shown in Equation 4.6.27 

## [ ]

new new 

### k k d t t d t d

i elap 4 3 

### ) ( 45

. 2 72

. 10 2 * ) 1 ( ) ( + ≈ +      

− +

(4.6)

Because the resulting equation in (4.6) consisted of two unknown coefficients and the heuristically developed new k 4 of 2.43 in (4.5) was comparable to its counterpart value of 2.45 in (4.4), a reduced approximation equation was achieved by subtracting each value from both sides of the equation, as shown in Equation 4.7

. 

## [ ]

new 

### k d t t d t d

i elap 3 

### ) ( 72

. 10 2 * ) 1 ( ) (

≈      

− +

(4.7)

Additional assumptions must be made in order to complete the approximate mathematical verification
of the new trend

- oriented COHb model. Because such a large amount of data was sampled by the ECU during NIST tests, data files were truncated by eliminating 9 data points between computations [7]. Through observation, it was determined that this truncation led to a sampling rate whic h allowed t elap to be equal to approximately 0.5 s. Furthermore, it was determined that, because samples were taken so often, even after skipping 9 data points, the change between the current difference measurement d(t) and previous difference measurement d(t

- 1) was minimal; therefore, the assumption was made that, from point

- to

- point, the two difference measurements in (4.7) were approximately equal. Using this fact to combine the two difference measurements in (4.7) into one individual difference measur ement, multiplied by two, along with the previous approximation of t elap =0.5 s, a reduced equation was obtained, as shown in Equation 4.8.

new k d d
i

i 3 ) ( 72

. 10 2 ≈

     

(4.8)

Finally, each side of the equation in (4.8) can be divided by d i , which yields the fa ct that, in order for the new strategy of using only individual difference measurements to create an equally valid trend

- oriented COHb estimate, the new k 3 coefficient must be approximately equal to 10.72 (the original k 3 coefficient) divided by 2, or 5.36 . Because of the fact that the new k 3 had already been heuristically developed to be 6.14, which is comparable to that of the theoretically produced 5.36, the approximate mathematical validation was deemed successful. It is worth noting that the previous ly described Figure 4.2 is only a general representation of the newly devised implementation strategy by way of using difference measurements, with no consideration of changing the constant coefficients necessary in achieving a similar function as in Figur e 4.1; however, it was verified by inspection, in addition to the approximate mathematical validation, that the two trend

- oriented COHb estimates were, in fact, equally valid implementation methods. By slightly altering the shutdown algorithm implementati on strategy, appropriate modifications to the ECU LabVIEW source code must be considered. The new shutdown algorithm implementation , which proved equally valid in producing a trend

- oriented COHb estimate,28 eliminated the need for data buffering, and allowe d for ease of implementation is illustrated in the pseudo code below:

- Oxygen Estimation O2_calc = (Base Pulse Width / Final Pulse Width / Charge Air Temp.)*k1+k2 k1=201.55, k2=16.96

- Calculating Individual Difference Measurements under 21% Oxygen Threshold If CLC activated and O2_calc < 21%:
Individual Difference = 21

- Current O2_calc If O2_calc > 21%:
Individual Difference = 0

- COHb Index Calcul ation & Shutdown Decision COHb_calc = (Individual Difference)*k3+k4, k3=6.14, k4=2.43 If COHb_calc > 10%: total_time counter starts If COHb_calc > 10% for less than 20 seconds: total_time counter reset to zero If COHb_calc > 10% constantly (total_time >20 seconds): Generator shutdown triggered

4.3

. Final Implementation of Shutdown Algorithm

Once all necessary revisions had been made to the shutdown algorithm implementation strategy, final implementation in the ECU could commence. Because the oxygen estimation and shutdown algorithm were initially developed in the MATLAB software environment, they had to be implemented using LabVIEW due to the nature of the ECU’s source code. Specifically, the oxygen estimation and shutdown algorithms were implemented into a port fuel control subVI within the ECU source code. The decision was made to implement these algorithms in the fuel control portion of the ECU source code in order to establish a means for terminating engine operation if the Boolean (binary, 1 or 0) shutdown signal was

ever tru e. In particular, appropriate LabVIEW code commands were used to disable the fuel injector pulse if the Boolean shutdown signal was present . The final ECU implementation of the oxygen estimation algorithm and shutdown algorithm, based on a trend

- oriented COHb estimate, in LabVIEW code are shown in Figure 4.3 and Figure 4.4, respectively. However, it is worth noting that both algorithms possess the ability to be altered, if necessary, based on post

- processing of final physical test
results.29 CAT Filtered

Figure 4.3: Block diagram implementation of oxygen estimation algorithm in ECU (filtered O2 estimate passed to Figure 4.4 as input)

.

Filtered Oxygen Estimate Time (s)

Figure 4.4: Block diagram implementation of shutdown algorithm in ECU.30 

## 5. ALGORITHM TESTING RESULTS

For purposes of validating the newly devised oxygen depletion shutdown algorithm, a series of indoor
and outdoor tests were conducted on the UA campus. The testing setup included the EMS equipped generator described in Chapter 2, a variable resistive load bank, and emissions analyzer. The individuals performing the tests and host computer, used for monitoring tests, were pos itioned inside of a campus laboratory, away from any potential CO emissions, for safety purposes. The tests were performed immediately outdoors of this particular campus laboratory, providing immediate access if a test variable required altering or, in ca se of an emergency, the situation could be addressed promptly. For purposes of performing the indoor test scenarios, a mobile trailer with an approximate volume of 1420 cubic feet was placed immediately outside of the campus laboratory to serve as an encl osed structure. A photograph, shown in Figure 5.1, depicts the interior (on left) and exterior (on right) of the test trailer
used to simulate an indoor environment.

Figure 5.1: Trailer used for indoor operation test scenarios.

For outdoor testing s cenarios, an area outside of the test trailer and campus laboratory was used. The selectable load bank was used to tune the generator across a wide range of operating points for testing in both indoor and outdoor environments. From the broad spectrum of operating modes, six particular loads were chosen for purposes of performing validation tests at UA, as shown in Table 5.1. Because testing during this project’s previous phase, as well as tests performed at NIST, utilized a six mode
method that was meant to replicate the Environmental Protection Agency’s (EPA’s) standardized test procedure for the regulation of small off road spark ignition engines rated 19 kW (25hp) or less (40 CFR Part 90) , it was of particular interest to use the same load point s as described in [6,7] for continuity.31 Table 5.1 Load points used for validation testing at UA.
Mode Load (W)

1 0

2 500

3 1500

4 3500

5 4750

6 5500

The final piece of equipment used in the setup for validation testing at UA was the emissions analyzer. Specifically, a weatherproof Nova 376 Series portable analyzer was appropriately calibrated for measuring oxygen (%) and CO (ppm) gases in the surrounding air. The analyzer completes these measurements by way of electrochemical sensors with a r esolution of 0.1% oxygen and 1 ppm CO [12]. In order to achieve the most unbiased emissions data, with respect to the generator’s location, the attached sampling line must be placed in a central location inside of the test trailer. Furthermore, the

gener ator was positioned at the far end of the test trailer, while the emissions sampling line was positioned in the center of the test trailer. It is worth noting that the Nova emissions analyzer was not used for outdoor testing scenarios, as the surrounding air should experience only minimal oxygen depletion. Furthermore, it was assumed that the emissions in the surrounding air were comprised of 21% oxygen and 0 ppm CO, approximately that of ambient air, for outdoor tests cases. A photograph, shown in Figur e 5.2, depicts the Nova emissions analyzer used throughout indoor testing.

Figure 5.2: A nalyzer used to measure emissions in enclosed environment.32 T ests were conducted in indoor and outdoor environments, under constant and cyclic load profiles, and under random load profiles. However, all test cases included the use of a muffler catalyst due to the fact that the generator had already been modified for low CO emissions in the previous phase of this project. For purposes of demonstrating that the oxy gen estimation and shutdown algorithms functioned properly under constant load, a low, medium, and high load were specifically chosen from the load points listed in Table 5.1. In addition, these same low, medium, and high load points were used
to demonstr ate the validity of the algorithms under cyclic loads by conducting a low

- to

- high load profile test and high

- to

- low load profile test. Finally, in order to ensure that the newly developed algorithms did not produce any false

- positive shutdowns with sudden and significant load changes, random load profile tests were conducted using all load points described in Table 5.1 for both, indoor and outdoor, environments. Specifically, two random load profiles were generated, with each profile to be conducted

once indoors and once outdoors. The twelve testing scenarios conducted at UA are detailed and identified, accordingly, by name, as shown in Table 5.2.

Table 5.2 Operating conditions used for validation testing at UA.

Test ID Load Profile Environment

UA1 Con stant (500 W) Indoors

UA2 Constant (3000 W) Indoors

UA3 Constant (5500 W) Indoors

UA4 Cyclic (Low to High) Indoors

UA5 Cyclic (High to Low) Indoors

UA6 Random 1 (All Loads) Indoors

UA7 Random 2 (All Loads) Indoors

UA8 Constant (500 W) Outdoors

UA9 Constant (3000 W) Outdoors

UA10 Constant (5500 W) Outdoors

UA11 Random 1 (All Loads) Outdoors

UA12 Random 2 (All Loads) Outdoors

An effort was made to maintain a testing procedure that was as consistent as possible throughout all of the previously described test cases. The subsequent sections highlight the procedures used for both, indoor and outdoor, testing environments, the results of all twelve tests conducted, and a brief description of observations and conclusions drawn from analyzing the res ulting test data.33 5.1

. Indoor Testing

For indoor testing, the initial step included opening both trailer doors while a large fan was used for two reasons: 1) to blow out any emissions remaining from the previous test, essentially cleaning the air within the trailer and returning it to approxim ately an ambient state, and 2) to speed up the cooling process of the generator. The generator must be cooled back to an ambient temperature as each of the validation test cases, performed at UA, were conducted with a cold start. Once ambient generator

t emperature and air chemistry were achieved, the generator was cranked and operated with open

- loop control while the fan continued to blow out any emissions not resulting from CLC. This process continued while waiting on the oxygen sensor, used for feedbac k, to appropriately heat for activation. A time of approximately 30 s was usually needed before the oxygen sensor could begin properly functioning. Upon heating of the oxygen sensor, CLC was activated, the fan was turned off, and both
trailer doors were closed, allowing for the replication of an enclosed operating environment.

During the course of indoor testing, the ECU was used to collect relevant data, in intervals of 0.5 s, which included the following variables: run time (s), shutdown signal (Boolea n), engine speed (RPM), oil temperature (°C), MAP (kPa), CAT (°C), base VE, final VE, oxygen estimation (%), COHb estimation (%), measured oxygen (%), and measured CO (ppm). The calculated COHb (%) per EPA in ref [15] was also
included in the final data files; however, these calculations were completed during data post

- processing and subsequently added to the data files. For validation purposes, it was of particular interest to plot oxygen estimation (in green , from equations 3.4 and 4.2 ) with measured o xygen (in blue), COHb estimation (in green) with COHb calculation (in blue), CO emissions, and the generator shutdown signal. The following plots, shown in Figure 5.3 through Figure 5.9, which were generated through post

processing of the resultant data in the MATLAB software environment, illustrate the results collected from all indoor tests described in Table 5.2. Because of the large data file sizes, 9 points were skipped between computations, similar to that done during the post

- processing of NIST te st data and development of the algorithms. It is noteworthy that the COHb estimate diverges from the EPA

- based estimate after the levels become somewhat higher. However, this occurs after the point at which shutdown would happen.34 Figure 5.3(a): Oxyg en estimation and oxygen measured for Test UA1.

Figure 5.3(b): COHb index and COHb calculation for Test UA1. 0 200 400 600 800 1000 1200 1400 1600 1800 15 16 17 18 19 20 21 22 23 24 25%O2

Time (s)

0 200 400 600 800 1000 1200 1400 1600 1800 -1 0 1 2Shutdown Signal (Boolean) Oxygen Estimation (0.5 kW - Indoors)

O2 meas O2 calc Shutdown Signal

0 200 400 600 800 1000 1200 1400 1600 1800 0 5 10 15 20 25 30COHb %

Time (s)

0 200 400 600 800 1000 1200 1400 1600 1800 -1 0 1 2Shutdown Signal (Boolean) COHb Estimation (0.5 kW - Indoors)

COHb meas (CPSC) COHb index Shutdown Signal COHb (per EPA) Shutdown Signal COHb Index35 Figure 5.3(c): Measured CO emissions for Test UA1.

Figure 5.4(a): Oxygen estimation and oxygen measured for Test UA2. 0 200 400 600 800 1000 1200 1400 1600 1800 0 100 200 300 400 500 600 700 800 900 1000

Time (s)CO (ppm)

0 200 400 600 800 1000 1200 1400 1600 1800 -1 0 1 2Shutdown Signal (Boolean) CO Emissions (0.5 kW - Indoors)

CO emis Shutdown Signal

0 200 400 600 800 1000 15 16 17 18 19 20 21 22 23 24 25%O2

Time (s)

0 200 400 600 800 1000 -1 0 1 2Shutdown Signal (Boolean) Oxygen Estimation (3 kW - Indoors)

O2 meas O2 calc Shutdown Signal COHb (per EPA) Shutdown Signal COHb Index36 Figure 5.4(b): COHb index and COHb calculation for Test UA2.

Figure 5.4(c): Measured CO emissions for Test UA2. 0 200 400 600 800 1000 0 5 10 15 20 25 30COHb %

Time (s)

0 200 400 600 800 1000 -1 0 1 2Shutdown Signal (Boolean) COHb Estimation (3 kW - Indoors)

COHb meas (CPSC) COHb index Shutdown Signal

0 200 400 600 800 1000 0 200 400 600 800 1,000 1,200 1,400 1,600 1,800 2000

Time (s)CO (ppm) CO Emissions (3 kW - Indoors)

0 200 400 600 800 1000 -1 0 1 2Shutdown Signal (Boolean) CO emis Shutdown Signal COHb (per EPA) Shutdown Signal COHb Index37 Figure 5.5(a): Oxygen estimation and oxygen measured for Test UA3.

Figure 5.5(b): COHb index and COHb calculation for Test UA3. 0 500 1000 1500 15 16 17 18 19 20 21 22 23 24 25%O2

Time (s) Oxygen Estimation (5.5 kW - Indoors)

0 500 1000 1500 -1 0 1 2Shutdown Signal (Boolean) O2 meas O2 calc Shutdown Signal

0 500 1000 1500 0 5 10 15 20 25 30COHb %

Time (s)

0 500 1000 1500 -1 0 1 2Shutdown Signal (Boolean) COHb Estimation (5.5 kW - Indoors)

COHb meas (CPSC) COHb index Shutdown Signal COHb (per EPA) Shutdown Signal COHb Index38 Figure 5.5(c): Measured CO emissions for Test UA3.

Figure 5.6(a): Oxygen estimation and oxygen measured for Test UA4. 0 500 1000 1500 0 200 400 600 800 1000 1200 1400 1600 1800 2000

Time (s)CO (ppm)

0 500 1000 1500 -1 0 1 2Shutdown Signal (Boolean) CO Emissions (5.5 kW - Indoors)

CO emis Shutdown Signal

0 200 400 600 800 1000 1200 15 16 17 18 19 20 21 22 23 24 25%O2

Time (s)

0 200 400 600 800 1000 1200 -1 0 1 2Shutdown Signal (Boolean) Oxygen Estimation (Cyclic Load: Low to High - Indoors)

O2 meas O2 calc Shutdown Signal39 Figure 5.6(b): COHb index and COHb calculation for Test UA4.

Figure 5.6(c): Measured CO emissions for Test UA4. 0 200 400 600 800 1000 1200 0 5 10 15 20 25 30COHb %

Time (s)

0 200 400 600 800 1000 1200 -1 0 1 2Shutdown Signal (Boolean) COHb Estimation (Cyclic Load: Low to High - Indoors)

COHb meas (CPSC) COHb index Shutdown Signal

0 200 400 600 800 1000 1200 0 500 1000 1500

Time (s)CO (ppm) CO Emissions (Cyclic Load: Low to High - Indoors)

0 200 400 600 800 1000 1200 -1 0 1 2Shutdown Signal (Boolean) CO emis Shutdown Signal COHb (per EPA) Shutdown Signal COHb Index40 Figure 5.7(a): Oxygen estimation and oxygen measured for Test UA5.

Figure 5.7(b): COHb index and COHb calculation for Test UA5. 0 200 400 600 800 1000 1200 15 16 17 18 19 20 21 22 23 24 25%O2

Time (s)

0 200 400 600 800 1000 1200 -1 0 1 2Shutdown Signal (Boolean) Oxygen Estimation (Cyclic Load: Low to High - Indoors)

O2 meas O2 calc Shutdown Signal

0 200 400 600 800 1000 1200 0 5 10 15 20 25 30COHb %

Time (s)

0 200 400 600 800 1000 1200 -1 0 1 2Shutdown Signal (Boolean) COHb Estimation (Cyclic Load: Low to High - Indoors)

COHb meas (CPSC) COHb index Shutdown Signal COHb (per EPA) Shutdown Signal COHb Index41 Figure 5.7(c): Measured CO emissions for Test UA5.

Figure 5.8(a): Oxygen estimation and oxygen measured for Test UA6. 0 200 400 600 800 1000 1200 0 500 1000 1500

Time (s)CO (ppm) CO Emissions (Cyclic Load: Low to High - Indoors)

0 200 400 600 800 1000 1200 -1 0 1 2Shutdown Signal (Boolean) CO emis Shutdown Signal

0 200 400 600 800 1000 1200 1400 1600 1800 15 16 17 18 19 20 21 22 23 24 25%O2

Time (s)

0 200 400 600 800 1000 1200 1400 1600 1800 -1 0 1 2Shutdown Signal (Boolean) Oxygen Estimation (Random Load Profile 1 - Indoors)

O2 meas O2 calc Shutdown Signal42 Figure 5.8(b): COHb index and COHb calculation for Test UA6.

Figure 5.8(c): Measured CO emissions for Test UA6. 0 200 400 600 800 1000 1200 1400 1600 1800 0 2 4 6 8 10 12 14 16 18 20COHb %

Time (s) COHb Estimation (Random Load Profile 1 - Indoors)

0 200 400 600 800 1000 1200 1400 1600 1800 -1 0 1 2Shutdown Signal (Boolean) COHb meas (CPSC) COHb index Shutdown Signal

0 200 400 600 800 1000 1200 1400 1600 1800 0 50 100 150 200 250 300 350 400 450 500

Time (s)CO (ppm) CO Emissions (Random Load Profile 1 - Indoors)

0 200 400 600 800 1000 1200 1400 1600 1800 -1 0 1 2Shutdown Signal (Boolean) CO emis Shutdown Signal COHb (per EPA) Shutdown Signal COHb Index43 Figure 5.9(a): Oxygen estimation and oxygen measured for Test UA7.

Figure 5.9(b): COHb index and COHb calculation for Test UA7. 0 500 1000 1500 2000 15 16 17 18 19 20 21 22 23 24 25%O2

Time (s)

0 500 1000 1500 2000 -1 0 1 2Shutdown Signal (Boolean) Oxygen Estimation (Random Load Profile 2 - Indoors)

O2 meas O2 calc Shutdown Signal

0 500 1000 1500 2000 0 2 4 6 8 10 12 14 16 18 20COHb %

Time (s)

0 500 1000 1500 2000 -1 0 1 2Shutdown Signal (Boolean) COHb Estimation (Random Load Profile 2 - Indoors)

COHb meas (CPSC) COHb index Shutdown Signal COHb (per EPA) Shutdown Signal COHb Index44 Figure 5.9(c): Measured CO emissions for Test UA7.

5.2

. Outdoor Testing

Although similar to that of indoor testing, the procedure used for outdoor testing was much simpler and involved fewer steps. The initial step still involved using the fan to speed the generator’s cooling process. Once an ambient generator temperature wa s achieved, the fan’s operation was terminated and the generator was started cold. Because the generator did not reach such high temperatures as experienced during indoor testing, the cool down time was significantly reduced. Similar to the indoor
testin g procedure, the generator was operated in an open

- loop manner until the oxygen sensor heated. Once the oxygen sensor was heated, after about 30 s, CLC was activated and an outdoor test environment replication was established so that data could be collect ed

.

During the course of outdoor testing, the ECU was once again used to collect relevant data, in intervals of 0.5 s, which included the same variables recorded for indoor testing; however, measured oxygen and CO were not recorded, as previously mentione d, and approximate ambient air conditions were assumed. Specifically, measured oxygen was assumed to be 21% and measured CO was assumed to be 0 ppm. Because of this assumption, the COHb calculation resulted in approximately 1% COHb,. It is worth noting that this same basis for COHb calculation was used in the shutdown algorithm development stage. For validation of outdoor test cases, it was of particular interest to plot oxygen estimation ( in green , from equations 3.4 and 4.2 ) with assumed oxygen measur ed (in blue) and COHb estimation (in green) with COHb calculation (in blue). The Boolean shutdown signal was not plotted 0 500 1000 1500 2000 0 100 200 300 400 500 600

Time (s)CO (ppm) CO Emissions (Random Load Profile 2 - Indoors)

0 500 1000 1500 2000 -1 0 1 2Shutdown Signal (Boolean) CO emis Shutdown Signal45 because the algorithm did not trigger a shutoff when tested outdoors. The following plots, shown in Figure 5.10 through Figure 5.14, which were generated through post

- processing of the resultant data in the MATLAB software environment, illustrate the results collected from all outdoor tests described in Table 5.2. As was the case for indoor test plots, 9 points were skipped between com putations because of the large data file sizes, similar to that done during the post

- processing of NIST test data and algorithm developments.

Figure 5.10(a): Oxygen estimation and oxygen measured for Test UA8.

0 200 400 600 800 1000 1200 1400 1600 1800 15 16 17 18 19 20 21 22 23 24 25

Time (s)%O2 Oxygen Estimation (0.5 kW - Outdoors)

O2 meas O2 calc46 Figure 5.10(b): COHb index and COHb calculation for Test UA8.

Figure 5.11(a): Oxygen estimation and oxygen measured for Test UA9.

0 200 400 600 800 1000 1200 1400 1600 1800 0 2 4 6 8 10 12 14 16 18 20

Time (s)COHb % COHb Estimation (0.5 kW - Outdoors)

COHb meas (CPSC) COHb calc

0 200 400 600 800 1000 1200 1400 1600 1800 15 16 17 18 19 20 21 22 23 24 25

Time (s)%O2 Oxygen Estimation (3 kW - Outdoors)

O2 meas O2 calc COHb (per EPA) COHb (calculated)47 Figure 5.11(b): COHb index and COHb calculation for Test UA9.

Figure 5.12(a): Oxygen estimation and oxygen measured for Test UA10.

0 200 400 600 800 1000 1200 1400 1600 1800 0 2 4 6 8 10 12 14 16 18 20

Time (s)COHb % COHb Estimation (3 kW - Outdoors)

COHb meas (CPSC) COHb calc

0 200 400 600 800 1000 1200 1400 1600 1800 15 16 17 18 19 20 21 22 23 24 25

Time (s)%O2 Oxygen Estimation (5.5 kW - Outdoors)

O2 meas O2 calc COHb (per EPA) COHb (calculated)48 Figure 5.12(b): COHb index and COHb calculation for Test UA10.

Figure 5.13(a): Oxygen estimation and oxygen measured for Test UA11.

0 200 400 600 800 1000 1200 1400 1600 1800 0 2 4 6 8 10 12 14 16 18 20

Time (s)COHb % COHb Estimation (5.5 kW - Outdoors)

COHb meas (CPSC) COHb calc

0 500 1000 1500 2000 2500 3000 3500 15 16 17 18 19 20 21 22 23 24 25

Time (s)%O2 Oxygen Estimation (Random Load Profile 1 - Outdoors)

O2 meas O2 calc COHb (per EPA) COHb (calculated)49 Figure 5.13(b): COHb index and COHb calculation for Test UA11.

Figure 5.14(a): Oxygen estimation and oxygen measured for Test UA12.

0 500 1000 1500 2000 2500 3000 3500 0 2 4 6 8 10 12 14 16 18 20

Time (s)COHb % COHb Estimation (Random Load Profile 1 - Outdoors)

COHb meas (CPSC) COHb calc

0 500 1000 1500 2000 2500 3000 3500 15 16 17 18 19 20 21 22 23 24 25

Time (s)%O2 Oxygen Estimation (Random Load Profile 2 - Outdoors)

O2 meas O2 calc COHb (per EPA) COHb (calculated)50 Figure 5.14(b): COHb index and COHb calculation for Test UA12.

5.3

. Analysis and Discussion of Validation Test Results

It is worth noting that test data continued to record, even past the point where a true shutdown signal was detected. Although it was verified that the generator would, in fact, shutdown upon detection of a true Boolean shutdown signal by disabling the fuel injector by forcing the fuel pulse width to zero , the generator was allo wed to continue running well past the signaled termination point in order to collect a sufficient amount of data. It was observed that the temperature normally increased when an enclosed environment was detected and when higher loads were experienced. Fo r all cases, the test duration was predetermined to allow for capturing an adequate quantity of data; however, all indoor tests except that of UA1 required an early termination, due to a critically high oil temperature, in order to prevent any potential ge nerator damage. Alternatively, all outdoor tests were able to successfully run for their predetermined duration because the oil temperature did not rise to a critically high level.

Several important observations were made through post

- processing and anal ysis of the resulting validation test data. By inspection of the resulting oxygen data, it was determined that the oxygen estimation algorithm normally displayed a minimal overestimate of measured oxygen in indoor tests
and minimal underestimate of measur ed oxygen in the outdoor tests. However, some overestimations and underestimations were expected due to the curve fitting method employed during the development stage, which considered a wide range of operating scenarios. In order for the algorithm to es timate oxygen content as accurately as possible, for a broad spectrum of operating conditions, sacrifices must be made to compensate for the large variations experienced between indoor and outdoor test 0 500 1000 1500 2000 2500 3000 3500 0 2 4 6 8 10 12 14 16 18 20

Time (s)COHb % COHb Estimation (Random Load Profile 2 - Outdoors)

COHb meas (CPSC) COHb calc COHb (per EPA) COHb (calculated)51 conditions. Nonetheless, the outdoor tests should not underestimate oxygen to the extent of producing
a false

- positive shutdown and the indoor tests should not overestimate oxygen to the extent of allowing the generator to run too far past the ideal termination point; therefore, the oxygen estimation algorit hm development was deemed to be a success. With respect to the shutdown decision, it was observed that all COHb estimations increased quicker than that of the COHb calculation which led to an earlier shutdown time than originally expected; however, this w as determined to be more efficient than the alternative of shutting down later than expected because of the dangerous environments experienced if such a situation arose. It can also be observed from several tests, particularly in Tests UA2, UA3, and UA5, that the CO emissions tended to level out at approximately 1700 ppm. This phenomenon was believed to be caused by saturation of the analyzer

.

In summary, the algorithm produced an oxygen estimation, as anticipated from the development phase,
across a bro ad range of range of operating scenarios. When higher levels of CO were experienced, as expected when operating in an enclosed structure, the algorithm subsequently signaled an oxygen depleted environment and shutdown the engine based on a trend oriented COHb estimate. Also, the oxygen depletion shutdown algorithm proved successful when operating in an outdoor environment by not producing any false

- positive shutdowns. Furthermore, the random load profile tests demonstrated that the algorithm would not pr oduce any nuisance shutdowns when subjected to sudden and significant load changes. Based on these significant observations, along with the fact that no false

positive shutdowns are produced outdoors, the oxygen depletion shutdown algorithm was deemed to
be valid for the purpose at hand . The results of all tests which should produce a generator shutdown (all indoor tests) are summarized in Table 5.3, where (SD) represents shutdown. These results provide a validation of the shutdown algorithm by detailing the COHb estimate, COHb calculation, measured CO emissions, and estimated oxygen at the algorithm shutdown time and ideal shutdown time (10% COHb for constant 20 s). Due to the fact that the COHb calculation did not reach 10% in all of the tests, due to a critically high oil temperature, some cells are labeled as not applicable (NA); however, 10% COHb would have been achieved if these particular tests would have been allowed to continue. Finally, although the ECU allowed for source code alterations, it w as decided that no modifications to the oxygen depletion shutdown algorithm were necessary following post

- processing of validation test data.52 Table 5.3 Summary of validation testing results at UA.

Test Actual
SD
Time (s) Ideal
SD
Time (s) COHb Est. (%)
at SD COHb
Calc. (%) at
SD COHb Est. (%)

at Ideal
SD COHb
Calc. (%) at
Ideal
SD CO (ppm)
at SD CO (ppm)

at Ideal
SD O2
Est. (%)
at SD O2
Est. (%)

at Ideal
SD

UA1 591 NA 10.47 1.34 NA NA 227 NA 19.69 NA
UA2 526 782 10.81 5.24 12.39 10.43 1313 1700 19.64 19.38
UA3 484 899 11.03 3.64 14.73 10.44 907 1696 19.60 19.00

UA4 873 NA 12.06 2.27 NA NA 496 NA 19.43 NA
UA5 687 1100 10.39 2.69 11.70 10.43 730 1693 19.70 19.49
UA6 770 NA 10.53 1.18 NA NA 109 NA 19.68 NA
UA7 870 NA 11.12 1.40 NA NA 220 NA 19.59 NA53 

## 6. BLACK BOX ECU IMPLEMENTATION

The algorithm performed well with the modular EMS. However, such a system with the many external components is not conducive to general use and testing. This was expected at the initiation of the work, and the original plans called for an implementation of a small unit that req uired minimal external hardware and no host computer. The modular implementation was employed as a development platform that provided many features that would not be necessary when the algorithm was complete. Thus, with development and testing complete, the control method was transitioned to a much simpler platform. While there was an effort to make the black box system equivalent to the modular system, there are differences and can be seen in the test data in the subsequent sections and graphs.

The generator , equipped with the black box controller

, is shown in Figure 6.1, with the significant hardware components labeled. This system enables the user to disable the shutoff algorithm and run without this added feature while still operating with a cont rolled AFR and reduced CO emissions. Operational details can be found in Appendix B.

Figure 6.1: Generator equipped with black box ECU implementation.

The black box implementation is based on a single c hip microprocessor and associated interface electronics, including some custom electronics built by the investigators labeled “spark controller” in Figure 6.1.

The significant difference between the black box implementation and the modular implementation is that the single chip ECU is coded in C rather than graphically. Thus, the existing block diagrams were ECU Spark Coil Driver Spark Controller54 implemented in C code for the new implementation. Without the additional overhead, the loop closure time is roughly 3 times faster than that of the modular system. This resulted in much tighter control of the AFR during engine operation.

Indoor and outdoor tests were conducted with the black box ECU system. Specifically, indoor tests were performed with 500, 3000, and 5500 W continuous loads as well as a cyclic load. The cyclic load test was performed with the load switched back and forth between 500 and 5500 W in 1 minute intervals. The outdoor tests were performed under the same 4 conditions. During the indoor tests, O2 and CO concentrations in the trailer were monitored at 1 minute intervals and recorded. Figures 6.2 through 6.4 show the results of the tests along with the corresponding load tests with the modular ECU implementation for comparison. A comparison of shutoff times for these t hree constant load cases with both ECU implementations is presented in Table 6.1. The cyclic load test data is presented in Figure 6.5.

Figure 6.2: 500 W load indoor test with black box ECU implementation compared to same indoor load condition with modular ECU implementation. The end of data on the black box curve indicates shutoff. 0 2 4 6 8 10 12 18 20 22

Time (min)% O2 Concentration

Modular ECU Black Box ECU

0 2 4 6 8 10 12 0 200 400

Time (min)ppm CO Concentration

Modular ECU Black Box ECU

0 2 4 6 8 10 12 0 0.5

1

Time (min)Binary Shutoff (Modular)55 Figure 6. 3 : 3000 W load indoor test with black box ECU implementation compared to same indoor load condition with modular ECU implementation. The end of data on the black box curve indicates shutoff. 0 1 2 3 4 5 6 7 8 9 19 20 21 22

Time (min)% O2 Concentration

Modular ECU Black Box ECU

0 1 2 3 4 5 6 7 8 9 0 500 1000 1500

Time (min)ppm CO Concentration

Modular ECU Black Box ECU

0 1 2 3 4 5 6 7 8 9 0 0.5

1

Time (min)Binary Shutoff (Modular)56 Figure 6. 4 : 5500 W load indoor test with black box ECU implementation compared to same indoor load condition with modular ECU implementat ion. The end of data on the black box curve indicates shutoff.

Table 6.1 Comparison of shutoff times for black box and modular ECU implementation

. Load (W) Black Box Shutoff (minutes:seconds) Modular Shutoff (minutes:seconds)
500 11:35 9:50
3000 5:34 8:46
5500 6:11 8:04 0 1 2 3 4 5 6 7 8 9 19 20 21 22

Time (min)% O2 Concentration

Modular ECU Black Box ECU

0 1 2 3 4 5 6 7 8 9 0 500 1000

Time (min)ppm CO Concentration

Modular ECU Black Box ECU

0 1 2 3 4 5 6 7 8 9 0 0.5

1

Time (min)Binary Shutoff (Modular)57 Figure 6.5: Cyclic load indoor results. The end of data indicates engine shutoff.

All outdoor tests were executed of a period of 1 hour continuously. Under no circumstances , that were a part of this study, did the generator shutdown. Thus, the black box implementation successfully shutdown in an enclosed environment and did not shutdown when operating outdoors.

It is important to recognize that the CO concentrations recorded when operating with the black b ox ECU are considerably lower than those recorded with the modular system. As previously mentioned, the loop closure rate in the black box is approximately 3 times greater than with the modular unit. Thus, the closed loop AFR control is significantly fas ter resulting in far less CO. Effectively, even though both systems control to the same average AFR, the swings about this average are significantly less with the black box ECU. Thus, the degree to which the engine runs rich is drastically lower. 1 2 3 4 5 6 7 8 20 20.5

21

Time (min)% O2

1 2 3 4 5 6 7 8 0 100 200CO (ppm)58 

## 7. CONC LUSION

This work has addressed the issues associated with the previous implementation of an algorithm to shut
off the en gine on a portable gasoline powered generator prior to creating an unacceptable carbon monoxide ( CO ) exposure environm ent when operated indoors . CPSC specifically requested that the algorithm be programmed into the prototype generator’s engine control unit ( ECU ) and that it have the ability to be enabled and disabled for testing purposes. CPSC also specifically directed that the algorith m rely only on data already existing in the ECU and not use any additional sensors.

The newly developed algorithm addresses issues from the original work that surfaced during testing at NIST :

1. With sudden and significant load changes , as well as under constant load (though less frequently), the algorithm would sometimes cause the engine to shut off when operated
unconfined in the outdoors.
2. Rarely would the algorithm cause the engine to shut off in an enclosed environment with extremely light loads.
3. Rare ly, but even with high load, the algorithm would not shut the engine off when operating in
an enclosed environment.

Now, with a new O2 estimation algorithm and COHb index calculation, the system is much more robust

. During UA testing, indoor scenarios res ulted in appropriate shutoff, and outdoor scenarios never nuisance tripped , meaning the system did not shut down during outdoor tests. The results were satisfactory with both the modular ECU and black box ECU implementations.

For future consideration, since the black box ECU rapid loop closure results in very tight control of the engine AFR, shutoff thresholds could be finely tuned for a given generator and target COHb level. It is important to recognize that levels, limits, and thresholds in the new s hutoff algorithm will be specifically dictated by the engine used and the desired shutoff criteria.5 9 

## 8. REFERENCES

[1] Puzinauskas, Paulius V., et. al., Low Carbon Monoxide Prototype Portable Generator

– Build Description and Performance Evaluation

, Contract CPSC

- S

- 06

- 0079 Final Project Report

, July, 2011.

[ 2 ] Nabinger, Steven and Andrew Persily, Airtightness, Ventilation, and Energy Consumption in a Manufactured House: Pre

- Retrofit Results , NISTIR 7478, National Institute of Standards and Technolog y, U.S. Department of Commerce, May 2008.

[ 3 ] Emmerich, S.J., et. al., Interim Report

- Measured CO Concentrations at NIST IAQ Test House from Operation of Portable Electric Generators in Attached Garage

, July 6 , 2011.

[4] Drivven Website, http://www.drivven.com/ , n.d., Accessed on: October 12, 2012.

[5] National Instruments Website, “NI cRIO

- 9022”, http://sine.ni.com/ds/app/doc/p/id/ds

2 02/lang/en , 2012.

[6] Smelser, Jennifer Beasley, “Oxygen Depletion Shutdown Algorithm for Portable Gasoline Generators”, MS Thesis, The University of Alabama, 2009.

[7] Haskew, Ti m A. and Paul Puzinauskas, Algorithm Development for Enclosed Operation Det ection and Shutoff of a Portable Gasoline

- Powered Generator

, Additional Volume to Final Project Report
, Contract CPSC

- S

- 06

- 0079 Final Project Report, 2011.

[8] William B. Ribbins, Understanding Automotive Electronics , Butterworth

- Heinemann, Fifth Edition, 1998.

[9] Delphi Website, “Delphi MT05 Engine Control Module Series”, http://delphi.com/shared/pdf/ppd/pwrtrn/mt05.pdf , 2007.

[10] Mathworks Website, http://www.mathworks.com/products/matlab/ , 2012.

[11] National Instruments Website, http://www.ni.com/labview/ , 2012.

[12] Nova Analytical Systems Website, “Item # Model 376WP”, http://catalog.nova

gas.com/item/carbon

- monoxide

- co

- /dioxide

- and

- oxides

- of

- nitrogen

- analyzer

- 376

- series/series

376?&plpver=10&origin=keyword&by=prod&filter=0 , 2010.

[13] Linear Algebra: A Concrete Introduction, Schneider , Dennis M., Manfred Steeg, and Frank H. Young, McMillan Publishing Company, New York, New York, 1982 (0

- 02

- 476810

- 3).

[14] Inkster, Sandra, PhD, A Comparison of the Carbon Monoxide (CO) Poisoning Risk Presented By A Commercially

- Available Portable Gasoline

- Powered Generator Versus A Prototype “Reduced CO Emissions” Generator, Based On Modeling Of Carboxyhemoglobin (COHb) Levels From Empirical CO Data, U.S. Consumer Product Safety Commission, Bethesda, MD, August 13, 2012.60 [15] United States Environmental Protection Agency, Office of Pollution Prevention and Toxics CARBON MONOXIDE (CAS Reg. No. 630

- 08

- 0), PROPOSED ACUTE EXPOSURE GUIDELINE LEVELS (AEGLs), "PUBLIC DRAFT", Federal Register

- February 2001

[16] Spiegel, Joshua P., “Small Engine Oxygen Depletion Shutoff Algorithm and Implementation,” MS Thesis, The University of A labama, 2012.

[17] Emmerich , Steven J., et. al., NIST Technical Note 1781 Modeling and Measuring the Effects of Portable Gasoline Powered Generator Exhaust on Indoor Carbon Monoxide Level

, National Institute of Standards and Technology, U.S. Department of Commerce, March 2013

.61 

## APPENDIX A Development of Estimation Strategy62 T he two estimation coefficients

, from equation 3.3

, that were determined during the previous phase of
this work

, numerically 175 a nd 18, were heuristic ally developed. I t was of particular interest in the project’s current phase to mathematically derive new coefficients that would represent a more accurate linear estimation. In addition, the test sets used in the initial oxygen estimation algorithm were performed under s everal different conditions , such as a muffle r catalyst, HVAC fan, and total/ partial indoor operation. However, it became of particular interest to ensure that all operating conditions were

accou nted for in the way of indoor/ outdoo r test environment and c onstant/ cyclic load profile to ensure that oxygen estimation was as accurate as possible for other operating scenario s . Therefore, eight additional cases from NIST testing were included, with the seven existing cases, to result in fifteen total

test sets which would represent a broadened range of operating conditions. These fifteen test cases, used in determining the new optimal oxygen estimation coefficients, are lis ted in Table A.1

.

Table A.1: NIST test scenarios used for final oxygen estimation algor ithm.

Test ID Date Load Profile Environment Garage Door

N 04/01/2010 Cyclic Indoors Closed

T 04/14/2010 Cyclic Indoors Open 24”

Z 05/05/2010 Cyclic Indoors Closed

W 04/29/2010 Cyclic Indoors Closed

AH 05/13/2010 Cyclic Indoors Closed

U 04/22/2010 Cyclic Indoors Open 24”

V 04/23/2010 Cyclic Indoors Open 24”

AK 05/19/2010 5500 W Indoors Fully Open

AS 06/10/2010 5500 W Indoors Closed

AV 07/09/2010 500 W Indoors Closed

CA 09/10/2010 2500 W Outdoors

CB 09/10/2010 1500 W Outdoors

CC 09/10/2010 3000 W Outdoors

CD 09/10/2010 4500 W Outdoors

CE 09/10/2010 5500 W Outdoors

In order to achieve the two new coefficients that would most accurately estimate the oxygen percentage in the generator’s intake air, for a broad spectrum of operating conditions, a linear best fit algorithm was employed. To begin, the linear math ematical relationship shown in equation A.1 was used to generally describe the estimated oxygen percentage, where k 1 and k 2 would represent the new
estimation coefficients, or estimation parameters.

2 1 2 ) ( % k k C O + = (A.1 )

Using this generalized linear equation, an algorithm was implemented using the MATLAB software environment to determine new estimation parameters that would produce the most accurate oxygen
calculation [10]. For the purpose of implementing th e generalized oxygen equation (A.1 ) into MATLAB63 software, the resulting matrix form of the linear estimati on equation, shown in Equation A.2 , was developed.



### k C O   * ] [ = (A.2 )

In order to obtain a best fit calculation, the method of least squares [13] was performed in MATLAB by manipulatin g the generalized equation in (A.2 ) to solve for the estimation parameters. The (C) matrix represented the generator data as described in equation A .2 and would posse ss dimensions of ( n x 2),
where n represents the number of samples. Specifically, one column would contain the generator data from equation A .2 while the other column would act as a place

- holder filled with ones. The oxygen percentage variable (the O vec tor), would represent the measured oxygen data, in order to obtain the least squared error between the oxygen estimation and the actual oxygen content, and would possess dimensions of ( n x 1). Due to the fact that the measured oxygen data only possessed a rate of 1 sample per 360 seconds (s), there were a limited number of data points that could be utilized in the least squares curve fitting algorithm. Solving for the new estimation parameters (the k vector), with dimensions of (2 x 1), and accounting for matrix multiplication dimension requirements yielded the matrix form equation shown in Equation A

. 3

. 

# ( ) O C C C k T T 

###   ] [ ] [ ] [ 1

−



### = ( A.3 )

Each of the fifteen previously mentioned test sets was individually analyzed using the new parameter estimation algorithm (least squares method) to calculate more accurate linear estimation coefficients. To determine the most accurate estimation parameters, several statistical factors were considered. In particular, two significant factors arose while observing the calculat ed data curves and attempting to derive more accurate estimation parameters: 1) the transient period of the calculated data, and 2) the amount of error that exists, between the measured and calculated data, once the transient phase was
over. In order to d erive estimation parameters which most accurately calculated the oxygen percentage in the intake air, for the large majority of time, data cut times were employed in increments of 360 s to clip the data previous to the prescribed cut time.

Simply put, the cut time defines how many data points in the in i tial transient period of the recorded data for each test are discarded from consideration in the least squares estimation of the curve fit coefficients. To illustrate, with random numbers for the purpose of explanation, assume the recorded data (pulse widths, temperatures, etc. used to compute the constant C at each instant of time) contains 20 seconds of data at a sample rate of 2 samples/second. This results in a total of 40 data points spaced
0.5 seconds apart. A cut time of 10 seconds will eliminate the first 10 seconds of data, or more specifically, the first 20 data points. Therefore, the estimation coefficients would be computed using the final 20 data points, and the error of the estimate would be minimized over the steady

- state response period without becoming skewed by attempting to produce an accurate estimate during the transient64 time. By varying the cut time, it was decided how much data needed to be discarded to reach an optimal estimation eq uation.

Once the transient period of the calculated data was eliminated, a better linear curve fit was achieved by deriving new estimation parameters for every possible remaining cut time. In order to statistically verify which cut time and new estimatio n parameters provided an optimum linear curve fit to the measured oxygen data, a sum of squared error measure was employed. The squared error was calculated at every sample point, from the current cut time to the end of the test, by squaring the
differenc e, or error, between estimated oxygen and measured oxygen. Once all sample points had been considered, the squared errors were added together to produce a sum of squared error for each cut time. Using each possible individual cut time, and each individua l new set of estimation parameters, a new individual oxygen percentage calculation was created which spanned the test’s entire time scale. From each new calculation, the sum of squared error was measured, once the transient period was over, between the fo llowing data sets: 1) the raw oxygen calculation and measured oxygen data, and 2) the filtered oxygen calculation and the measured oxygen data. Filtered oxygen calculation curves were generated using a first

- order lag filter to reduce the large variations that existed in raw oxygen
calculation curves.

The following plots, Figures A .1 through A .15, graphically illus trate several important factors relevant to determining the optimum linear estimation parameters for each individual test set. For each data s et, part (a) of the figure illustrates the measured oxygen data (in blue), plotted along with the original filtered oxygen linear estimation (in green), from Equation 3.3, and the new best fit filtered oxygen linear estimation (in red), generated by the le ast squares algorithm. Measured oxygen for outdoor tests, CA through CE, was assumed to be 21% oxygen, approximately that of ambient air. The new estimation parameters would differ significantly between test sets, due to various generator operating
envir onments; however, the long

- term goal was to achieve the most accurate pair of estimation parameters to fit the full scale of all fifteen combined test sets. In addition, the newly derived estimation parameters, k 1 and k 2 (in blue and green, respectively), and sum of squared errors, for the filtered curve fit and raw curve fit (in blue and green, respectively), are plotted against all possible cut times in part (b) of each figure.65 Figure A .1(a): Measured and calculated O 2 percentages for Test N. Green line based on equation 3.3 and LP filtered, red line based on general equation A.1 with optimized coefficients.

Figure A .1(b): New estimation parameters and sum of squared errors (Test N). Raw line indicates optimal fit without LP filter, while filtered line indicates optimal fit with LP filter. 0 1000 2000 3000 4000 5000 6000 7000 18 19 20 21 22 23 24

Time (s)%O2 Oxygen Percentages

meas orig calc filt filterd curve fit

0 1000 2000 3000 4000 5000 6000 7000 8000 0 50 100 150

Cut Time (s)k1 k1
k2

0 1000 2000 3000 4000 5000 6000 7000 8000 17 18 19 20k2 New O2 Estimation Parameters

0 1000 2000 3000 4000 5000 6000 7000 8000 0 0.5

1 1.5

Cut Time (s)Error Sum of Squared Errors

sum of sq error vs. filt line sum of sq error vs. raw line66 Figure A .2(a): Measured and calculated O 2 percentages for Test T. Green line based on equation 3.3 and LP filtered, red line based on general equation A.1 with optimized coefficients.

Figure A 2(b) : New estimation parameters and sum of squared errors (Test T). Raw line indicates optimal fit without LP filter, while filtered line indicates optimal fit with LP filter. 0 2000 4000 6000 8000 10000 18 19 20 21 22 23 24

Time (s)%O2 Oxygen Percentages

meas orig calc filt filterd curve fit

0 2000 4000 6000 8000 10000 12000 -5 0 5 10

Cut Time (s)k1 k1
k2

0 2000 4000 6000 8000 10000 12000 20.85 20.9 20.95 21k2 New O2 Estimation Parameters

0 2000 4000 6000 8000 10000 12000 0.015 0.02 0.025 0.03 0.035 0.04

Cut Time (s)Error Sum of Squared Errors

sum of sq error vs. filt line sum of sq error vs. raw line67 Figure A .3(a): Measured and calculated O 2 percentages for Test Z. Green line based on equation 3.3 and LP filtered, red line based on general equation A.1 with optimized coefficients.

Figure A .3(b): New estimation parameters and sum of squared errors (Test Z). Raw line indicates optimal fit without LP filter, whil e filtered line indicates optimal fit with LP filter. 0 500 1000 1500 2000 2500 3000 3500 4000 18 19 20 21 22 23 24

Time (s)%O2 Oxygen Percentages

meas orig calc filt filterd curve fit

0 500 1000 1500 2000 2500 3000 3500 4000 0 100 200

Cut Time (s)k1 k1
k2

0 500 1000 1500 2000 2500 3000 3500 4000 18 19 20k2 New O2 Estimation Parameters

0 500 1000 1500 2000 2500 3000 3500 4000 0 0.2 0.4 0.6 0.8

Cut Time (s)Error Sum of Squared Errors

sum of sq error vs. filt line sum of sq error vs. raw line68 Figure A .4(a): Measured and calculated O 2 percentages for Test W. Green line based on equation 3.3 and LP filtered, red line based on general equation A.1 with optimized coefficients.

Figure A .4 (b): New estimation parameters and sum of squared errors (Test W). Raw line indicates optimal fit without LP filter, while filtered line indicates optimal fit with LP filter. 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

x 10 4 15 16 17 18 19 20 21 22 23 24 25

Time (s)%O2 Oxygen Percentages

meas orig calc filt filterd curve fit

0 0.5 1 1.5 2 2.5

x 10 4 -500

0 500

Cut Time (s)k1 k1
k2

0 0.5 1 1.5 2 2.5

x 10 4 16 18 20k2 New O2 Estimation Parameters

0 0.5 1 1.5 2 2.5

x 10 4 0 10 20 30 40

Cut Time (s)Error Sum of Squared Errors

sum of sq error vs. filt line sum of sq error vs. raw line69 Figure A .5(a): Measured and calculated O 2 percentages for Test AH. Green line based on equation 3.3 and LP filtered, red line based on general equation A.1 with optimized coefficients.

Figure A .5(b): New estimation parameters and sum of squared errors (Test AH). Raw line indicates optimal fit without LP filter, while filtered line indicates optimal fit with LP filter. 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 15 16 17 18 19 20 21 22 23 24 25

Time (s)%O2 Oxygen Percentages

meas orig calc filt filterd curve fit

0 2000 4000 6000 8000 10000 12000 14000 16000 18000 -100

0 100 200 300

Cut Time (s)k1 k1
k2

0 2000 4000 6000 8000 10000 12000 14000 16000 18000 16 16.5 17 17.5 18k2 New O2 Estimation Parameters

0 2000 4000 6000 8000 10000 12000 14000 16000 18000 0 10 20 30 40

Cut Time (s)Error Sum of Squared Errors

sum of sq error vs. filt line sum of sq error vs. raw line70 Figure A .6(a): Measured and calculated O 2 percentages for Test U. Green line based on equation 3.3 and LP filtered, red line based on general equation A.1 with optimized coefficients.

Figure A .6(b): New estimation parameters and sum of squared errors (Test U). Raw line indicates optimal fit without LP filter, while filtered line indicates optimal fit with LP filter. 0 500 1000 1500 2000 2500 3000 3500 4000 4500 18 19 20 21 22 23 24

Time (s)%O2 Oxygen Percentages

meas orig calc filt filterd curve fit

0 500 1000 1500 2000 2500 3000 3500 4000 4500 -10

0 10 20 30 40

Cut Time (s)k1 k1
k2

0 500 1000 1500 2000 2500 3000 3500 4000 4500 20.4 20.6 20.8 21 21.2 21.4k2 New O2 Estimation Parameters

0 500 1000 1500 2000 2500 3000 3500 4000 4500 0 0.05 0.1 0.15 0.2

Cut Time (s)Error Sum of Squared Errors

sum of sq error vs. filt line sum of sq error vs. raw line71 Figure A .7(a): Measured and calculated O 2 percentages for Test V. Green line based on equation 3.3 and LP filtered, red line based on general equation A.1 with optimized coefficients.

Figure A .7(b): New estimation parameters and sum of squared errors (Test V). Raw line indicates optimal fit without LP filter, while filtered line indicates optimal fit with LP filter. 0 1000 2000 3000 4000 5000 6000 7000 8000 18 19 20 21 22 23 24

Time (s)%O2 Oxygen Percentages

meas orig calc filt filterd curve fit

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 -2 -1 0 1 2 3

Cut Time (s)k1

k1
k2

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 20.915 20.92 20.925 20.93 20.935 20.94k2 New O2 Estimation Parameters

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 0 0.01 0.02 0.03 0.04 0.05 0.06

Cut Time (s)Error Sum of Squared Errors

sum of sq error vs. filt line sum of sq error vs. raw line72 Figure A .8(a): Measured and calculated O 2 percentages for Test AK. Green line based on equation 3.3 and LP filtered, red line based on general equ ation A.1 with optimized coefficients.

Figure A .8(b): New estimation parameters and sum of squared errors (Test AK). Raw line indicates optimal fit without LP filter, while filtered line indicates optimal fit with LP filter. 0 500 1000 1500 2000 2500 3000 3500 4000 4500 18 19 20 21 22 23 24

Time (s)%O2 Oxygen Percentages

meas orig calc filt filterd curve fit

0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 -15 -10 -5 0 5

Cut Time (s)k1

0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 21.1 21.2 21.3 21.4 21.5k2 New O2 Estimation Parameters

0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 2 2.5

3 3.5

4 x 10 -3

Cut Time (s)Error Sum of Squared Errors

sum of sq error vs. filt line sum of sq error vs. raw line k1
k273 Figure A .9(a): Measured and calculated O 2 percentages for Test AS. Green line based on equation 3.3 and LP filtered, red line based on general equation A.1 with optimized coefficients.

Figure A .9(b): New estimation parameters and sum of squared errors (Test AS). Raw line indicates optimal fit without LP filter, while filtered line indicates optimal fit with LP filter. 0 2000 4000 6000 8000 10000 12000 18 19 20 21 22 23 24

Time (s)%O2 Oxygen Percentages

meas orig calc filt filterd curve fit

0 2000 4000 6000 8000 10000 12000 14000 0 200 400

Cut Time (s)k1

0 2000 4000 6000 8000 10000 12000 14000 16 18 20k2 New O2 Estimation Parameters

0 2000 4000 6000 8000 10000 12000 14000 0 2 4 6 8

Cut Time (s)Error Sum of Squared Errors

sum of sq error vs. filt line sum of sq error vs. raw line k1
k274 Figure A .10(a): Measured and calculated O 2 percentages for Test AV. Green line based on equation 3.3 and LP filtered, red line based on gener al equation A.1 with optimized coefficients.

Figure A .10(b): New estimation parameters and sum of squared errors (Test AV). Raw line indicates optimal fit without LP filter, while filtered line indicates optimal fit with LP filter. 0 1000 2000 3000 4000 5000 6000 7000 18 19 20 21 22 23 24

Time (s)%O2 Oxygen Percentages

meas orig calc filt filterd curve fit

0 1000 2000 3000 4000 5000 6000 7000 -100

0 100 200 300

Cut Time (s)k1 k1
k2

0 1000 2000 3000 4000 5000 6000 7000 17 18 19 20 21k2 New O2 Estimation Parameters

0 1000 2000 3000 4000 5000 6000 7000 0 0.2 0.4 0.6 0.8

1

Cut Time (s)Error Sum of Squared Errors

sum of sq error vs. filt line sum of sq error vs. raw line75 Figure A .11(a): Measured and calculated O 2 percentages for Test CA. Green line based on equation 3.3 and LP filtered, red line based on general equation A.1 with optimized coefficients.

Figure A .11(b): New estimation parameters and sum of squared errors (Test CA). Raw line indicates optimal fit without LP filter, while filtered line indicates optimal fit with LP filter. 0 500 1000 1500 2000 2500 3000 18 19 20 21 22 23 24

Time (s)%O2 Oxygen Percentages

meas orig calc filt filterd curve fit

0 500 1000 1500 2000 2500 3000 3500 -1 0 1 2 3 4 x 10 -8

Cut Time (s)k1

0 500 1000 1500 2000 2500 3000 3500 21 21 21 21 21 21k2 New O2 Estimation Parameters

0 500 1000 1500 2000 2500 3000 3500 0 0.2 0.4 0.6 0.8

1 1.2 x 10 -18

Cut Time (s)Error Sum of Squared Errors

sum of sq error vs. filt line sum of sq error vs. raw line k1
k276 Figure A .12(a): Measured and calculated O 2 percentages for Test CB. Green line based on equation 3.3 and LP filtered, red line based on genera l equation A.1 with optimized coefficients.

Figure A .12(b): New estimation parameters and sum of squared errors (Test CB). Raw line indicates optimal fit without LP filter, while filtered line indicates optimal fit with LP filter. 0 200 400 600 800 1000 1200 1400 1600 18 19 20 21 22 23 24

Time (s)%O2 Oxygen Percentages

meas orig calc filt filterd curve fit

0 500 1000 1500 -1 0 1 2 3 4 x 10 -10

Cut Time (s)k1

0 500 1000 1500 21 21 21 21 21 21k2 New O2 Estimation Parameters

0 500 1000 1500 0 1 2 3 4 x 10 -23

Cut Time (s)Error Sum of Squared Errors

sum of sq error vs. filt line sum of sq error vs. raw line k1
k277 Figure A .13(a): Measured and calculated O 2 percentages for Test CC. Green line based on equation 3.3 and LP filtered, red line based on general equation A.1 with optimized coefficients.

Figure A .13(b): New estimation parameters and sum of squared errors (Test CC). Raw line indicates optimal fit without LP filter, while filtered line indicates optimal fit with LP filter. 0 200 400 600 800 1000 1200 1400 1600 18 19 20 21 22 23 24

Time (s)%O2 Oxygen Percentages

meas orig calc filt filterd curve fit

0 500 1000 1500 0 1 2 3 4 5 x 10 -9

Cut Time (s)k1

0 500 1000 1500 21 21 21 21 21 21k2 New O2 Estimation Parameters

0 500 1000 1500 0 0.5

1 1.5

2 2.5 x 10 -21

Cut Time (s)Error Sum of Squared Errors

sum of sq error vs. filt line sum of sq error vs. raw line k1
k278 Figure A .14(a): Measured and calculated O 2 percentages for Test CD. Green line based on equation 3.3 and LP filtered, red line based on gener al equation A.1 with optimized coefficients.

Figure A .14(b): New estimation parameters and sum of squared errors (Test CD). Raw line indicates optimal fit without LP filter, while filtered line indicates optimal fit with LP filter. 0 100 200 300 400 500 600 700 800 900 18 19 20 21 22 23 24

Time (s)%O2 Oxygen Percentages

meas orig calc filt filterd curve fit

0 100 200 300 400 500 600 700 800 -3 -2 -1 0 x 10 -11

Cut Time (s)k1

0 100 200 300 400 500 600 700 800 21 21 21 21k2 New O2 Estimation Parameters

0 100 200 300 400 500 600 700 800 -1 -0.5

0 0.5

1

Cut Time (s)Error Sum of Squared Errors

sum of sq error vs. filt line sum of sq error vs. raw line k1
k279 Figure A .15(a): Measured and calculated O 2 percentages for Test CE. Green line based on equation 3.3 and LP filtered, red line based on general equation A.1 with optimized coefficients.

Figure A .15(b): New estimation parameters and sum of squared errors (Test CE). Raw line indicates optimal fit without LP filter, while filtered line indicates optimal fit with LP filter. 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 18 19 20 21 22 23 24

Time (s)%O2 Oxygen Percentages

meas orig calc filt filterd curve fit

0 1000 2000 3000 4000 5000 6000 -5 -4 -3 -2 -1 0 1 2 3 4 5 x 10 -9

Cut Time (s)k1

0 1000 2000 3000 4000 5000 6000 21 21 21 21 21 21 21 21 21 21 21k2 New O2 Estimation Parameters

0 1000 2000 3000 4000 5000 6000 0 0.5

1 1.5

2 2.5 x 10 -19

Cut Time (s)Error Sum of Squared Errors

sum of sq error vs. filt line sum of sq error vs. raw line k1
k280 Several resulting trends from these newly derived estimation parameters and sum of squared errors, from each individual test set, were used in the determination of the most accurate linear oxygen estimation curve. First, the trends of the newly derived estimation parameters followed very similar patterns when compared among all of the individual test sets. Namely, the coefficient k 1 showed a
defin ite maximum value, while the coefficient k 2 showed a definite minimum value; these phenomena appeared to take place generally at the same cut time, which was immediately flagged as a particular point of interest. Second, the trends of the sum of squared e rrors plots also followed very similar patterns when compared among all of the individual tests sets. The particular trend of interest among these errors was the fact that an approximate minimum value was observed at about the same cut time
as that of the newly derived estimation parameters’ point of interest. After flagging several different cut times and new estimation parameter sets as points of interest, it was finally determined through observation that the optimum estimation parameters and thus, the optimum oxygen estimation curve,
occurred at the cut time where the coefficient k 1 reached its approximate maximum value, the
coefficient k 2 reached its approximate minimum value, and the filtered sum of squared errors reached approximately its minimum value. In the instance that more than one cut time generated approximately the same estimation parameters and sum of squared errors, the earli er cut time was deemed optimal due to the fact that more measured data was used in this particular computation; therefore, the linear estimation equation should reach more accurate oxygen values quicker than the later cut time(s). The
different cut times and estimation parameters deemed to be the optimum values for the best fit linear oxygen estimation equation, for each of the fifteen individual test sets, are tabulated below, as shown in
Table A.2

. Table A

. 2
New O 2 estimation best fit cut times and estim ation parameters.

Test ID Cut Time (s) k1 k2

N 1080 148.853 17.824

T 3600 3.442 20.869

Z 1080 142.947 18.404

W 1080 240.868 16.221

AH 720 205.275 16.229

U 3600 33.327 20.463

V 0 2.779 20.916

AK 0 1.959 21.132

AS 720 198.971 17.605

AV 4320 258.577 17.340

CA 0 0 21

CB 0 0 21

CC 0 0 21

CD 0 0 21

CE 0 0 2181 Upon completion of analyzing the fifteen data sets individually, it was concluded that, to achieve the optimum estimation parameters for a linear oxygen approximation equation, all of the test sets must be considered in order to consider the wide range of generator operating scenarios. In order to derive the optimum estimation parameters that encompassed all fifteen tests, two different procedures were
theorized.

The first theorized procedure involved a simple method of averaging the optimum estimation parameters from each of the individual test sets in attempting to achieve the final optimum estimation parameters; however, this method proved unsuccessful in achieving a more accurate oxygen es timation equation than the original heuristically developed equation. Several factors contributed to this method being deemed unsuccessful. One reason was the fact that many of the individual test sets yielded proportional estimation parameters (k 1 ) acro ss a very broad spectrum when analyzed by the curve fit algorithm of least squares. Specifically, Tests T, U, V, and AK yielded k 1 values that were particularly low, with respect to other tests. By yielding such low proportional coefficients, the depende nce on generator variables (i.e. C from Equation A.1 ) used in the linear oxygen estimation equation is significantly decreased. In addition, Tests CA through CE yielded k 1 values of approximately zero, which essentially eliminates any dependence on genera tor variables. The intent of such a linear oxygen estimation equation was based on the fact that oxygen percentages would be dependent on generator variables; therefore, this method was deemed somewhat insufficient. Another reason behind this
estimation parameter averaging method being deemed unsuccessful was the fact that some tests (i.e. Tests W and AH) were conducted over a significantly longer time span than others. This large difference in time scales, between several test sets, meant that some of t he newly derived estimation parameters would need to be more heavily weighted than others. Significant time was not devoted to attempting to normalize, and subsequently average, the newly derived estimation parameters because a new procedure for determini ng the final optimum estimation parameters showed more promise.

The second theorized procedure for determining the final optimum estimation parameters involved the concatenation of all fifteen individual test sets into one single set of measured oxygen an d dependent generator data. The order in which these tests were concatenated was not significant because time dependence, over the entire range of generator operation scenarios, was not a factor. Once all fifteen
individual test sets were concatenated to gether, the same curve fitting algorithm of least squares was used to analyze the entire range of data, as was used for each of the individual test sets. The data for each individual test set was clipped at a prescribed cut time and remaining data concate nated together in order to analyze each possible cut time. However, due to the fact that some tests were only conducted over a short period of time, and therefore consisted of very few possible cut times, the largest possible cut time for total concatenat ed data was equal to the largest possible cut time of the shortest test. It must be noted that Test CD was excluded from the least squares curve fitting algorithm due to the fact that its maximum possible cut time was 720 s. As was performed for each ind ividual test set, new estimation parameters were derived and sum of squared errors measured for each possible cut time, in increments of 360 s. Also, as previously performed, the sum of squared errors measurement began only after the transient period had deceased for each respective test set. Because this new algorithm had already been performed on fifteen different data sets, in order to determine the optimum82 estimation parameters for each individual test, the necessary trends and guidelines for determin ing such values had already been concluded. Therefore, the same trends were used on this full range of concatenated data in order to determine the final optimum estimation parameters. As previously mentioned, the optimum values tended to be located at th e cut time with approximate maximum k 1 value, approximate minimum k 2 value, and approximate minimum sum of squared errors. Visual observations were also used to verify that the newly derived oxygen estimation curve did indeed fit the measured oxygen curve as accurately as possible. Figure A .16 shows the measured oxygen (in blue) plotted for the full range of concatenated test sets along with the original filtered oxygen linear estimation (in green), from equation 3.3, and a new filtered oxygen linear esti mation (in red), generated by the least squares algorithm. By using the method of least squares to obtain a new oxygen estimation equation, an approximate 43% error reduction was achieved. It should be noted that the concatenation
of all individual test sets was performed in the following order: Test U, AH, AK, AS, AV, CA, CB, CC, CD, CE, N, T, V, W, and Z.

Figure A .16: Measured and calculated O 2 percentages for concatenated tests.

Although the new oxygen estimation proved more accurate than the original estimation, one important o bservation was made in the way of the sudden and significant oxygen estimation change noted particularly in cyclic load tests. The sudden changes in oxygen estimation were found to occur usually following a load change in the cyclic load profile tests. U pon further investigation, it was concluded that these large changes, or transient spikes, were due to similar changes in CAT, which the oxygen estimation equation is dependent on. In order to reduce such unexpected transient spikes in estimated oxygen, t he CAT estimation was improved by way of using a more finely tuned RPM and MAP 0 2 4 6 8 10

x 10 4 15 16 17 18 19 20 21 22 23 24 25

Time (s)%O2 Oxygen Percentages

meas orig calc filt filterd curve fit U AH AK AS AV CA

- N T V W Z CE83 based coefficient lookup table. By improving the CAT estimation, and using the least squares method to obtain a final best fit oxygen estimation, an overall error reduction of approximately 15% was achieved from the previous filtered curve fit in Figure A .16. The final filtered oxygen estimation with a refined CAT calculation (in red) is plotted along with the previous filtered curve fit (in green) and measured oxygen (in blue), as shown in Figure A .17.

Figure A .17: Measured and calculated O 2 percentages (different CAT estimates).

The final filtered oxygen estimation is plotted (in red) along with the original oxygen estimation (in green) and measured oxygen (in blue), as shown in Figure A .18(a), to illustrate the advantage gained from using the least squares method and improved CAT calculation to obtain a best fit equation across a wide range of operating conditions. An overall error reduction of approximately 52% was achieved from the original heuristic oxygen estimation. In addition, the final estimation parameter options, k 1 an d k 2 (in blue and green, respectively), and sum of squared error for the filtered curve fit (in blue), are plotted against all possible cut times, as shown in Figure A .18(b). 0 2 4 6 8 10

x 10 4 15 16 17 18 19 20 21 22 23 24 25

Time (s)%O2 Oxygen Percentages

meas calc filt w/ orig CAT factor table filt curve fit w/ new CAT factor table U AH AK AS AV CA

- N T V W Z CE84 Figure A .18(a): Measured and calculated O 2 percentages (original and final).

Figure A .18(b): Final estimation parameters and sum of squared error (all tests). 0 2 4 6 8 10

x 10 4 15 16 17 18 19 20 21 22 23 24 25

Time (s)%O2 Oxygen Percentages

meas orig calc filt filterd curve fit

0 500 1000 1500 100 150 200 250

Cut Time (s)k1

0 500 1000 1500 16.5 17 17.5 18k2 New O2 Estimation Parameters

0 500 1000 1500 105 110 115 120 125 130 135

Cut Time (s)Error Sum of Squared Error

sum of sq error vs. filt line k1
k2 U AH AK AS AV CA

- N T V W Z CE85 During the determination of the final oxygen estimation parameters, it was observed from Figure

A .18(b) that the coefficient k 1 reaches a large comparable value, the coefficient k 2 reaches a small comparable value, and the filtered estimation sum of squared error is minimized at a cut time of approximately 720 s. Therefore, due to the fact that all possible values of k 1 , k 2 , and sum of squared error are comparable in the interval f rom 720 s to 1440 s, the earliest possible cut time should be deemed to possess the final optimum oxygen estimation parameters. As previously mentioned, if all three vital factors are comparable at multiple cut times then the earliest possible cut time sh ould be deemed optimal due to the fact that more measured data was used in the particular computation, allowing for the oxygen estimation curve to reach more accurate values quicker than using later cut times. Therefore, 720 s was chosen as the optimal cu t time for a linear best fit oxygen estimation curve to be generated. As shown in Figure A .18(b), to optimize the linear oxygen approximation equation, the new estimation parameters, occurring at 720 s, consisted of the following set: coefficient k 1 =201.5 5 and
coefficient k 2 =16.96. It is worth noting that, in particular, test AH and test W play a significant role in determining the overall estimation parameters due to their extraordinary large time scales. Specifically, because tests AH and W are perform ed in such extreme indoor environments, the final oxygen estimation will be particularly sensitive to indoor operation. Finally, it can be observed from Figure

A .18(a) that the newly generated oxygen estimation curve more accurately matches the measured

o xygen curve than that of the original estimation, generated from Equation 3.3. This conclusion was made evident by measuring the sum of squared error between the original filtered oxygen estimation curve and the measured oxygen curve. As shown in Table A .3 , the error between the new optimal filtered oxygen estimation and measured oxygen is significantly lower than the error between the original filtered oxygen estimation and measured oxygen; therefore, the new estimation algorithm
allows for a more accura te oxygen calculation over a wide range of generator operating scenarios.

Table A.3 Estimation parameters and sum of squared error (all algorithms).

Algorithm k1 k2 Sum of Squared Error (meas. v s. filt.) Original O2
Estimation 175.00 18.00 228.35

1st O2 Curve Fit
Estimation 227.00 16.80 129.32

Final O2 Estimation
with new CAT 201.55 16.96 109.2786 

## APPENDIX B Summary of Generator Operation with Black Box ECU87 This appendix defines operational procedures for the generator that are unique to operation with the black box ECU installed. Figure B.1 shows the operator panel of the generator and the throttle arm of the generator.

Figure B.1: Generator operator panel and throttle arm location.

Starting the Engine:
1. Switch on the ECU Power (switch 1).
2. Switch on t he fuel/spark power (switch 2).
3. Turn ignition key switch and hold until engine is started.

a. If cold starting, the engine may have to be choked by manually closing the throttle by pressing the throttle are (indicated in Figure B.1).

Stopping the Engine:
1. Switch off the fuel/spark power (switch 2).
2. Switch off the ECU power (switch 1).

If modification of the ECU software is desired, o r if monitoring the ECU performance is desired, a PC may be connected to the device. The PC to be employed must have TunerStudio installed, which is software available for download at www.tunerstudio.com . The PC can be connected to the ECU using a 9

- pin serial port to 1/8” jack cable. Through TunerStudio, select File, Project, and Open Project. The appropriate project to choose is CPSC. 1 2 Throttle Arm