Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
FAULT DETECTION FOR FUEL CELL ENGINES USING RUNTIME VALVE CONTROL DATA
Document Type and Number:
WIPO Patent Application WO/2023/219620
Kind Code:
A1
Abstract:
Fault detection and fuel leak detection for fuel cell engines using runtime valve control data is provided. An example electronic controller for the fuel cell engine has a fault detector that applies analysis such as averaging, principle component analysis (PCA), and dynamic histograms to runtime control data and to additional parameter data of the fuel cell engine. The data-driven fault detector establishes a baseline of normal performance using runtime control data for operating an electronically controlled fuel valve in relation to other parameters of the fuel cell engine. The runtime control data and parameter data provide data-driven fault detection, including fuel leak detection. The fault detector does not rely on any model of the fuel cell engine or its operation. In an implementation, the electronic controller detects a fault using 2-dimensional data, and then diagnoses the fault by adding additional parameter dimensions and performing principal component analysis.

Inventors:
ORLOWSKI DANIEL (US)
Application Number:
PCT/US2022/028959
Publication Date:
November 16, 2023
Filing Date:
May 12, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
US HYBRID CORP (US)
International Classes:
G01M15/05; G01M15/02; G01M17/007
Foreign References:
US5477826A1995-12-26
US20040231404A12004-11-25
US20040099048A12004-05-27
KR20130086050A2013-07-30
US20080264157A12008-10-30
Attorney, Agent or Firm:
WHITTEN-DOOLIN, Paula et al. (US)
Download PDF:
Claims:
CLAIMS

What is claimed is:

1. A method, comprising: storing runtime control data at set time intervals, the runtime control data associated with operating an orifice of an electronically controlled fuel valve in a fuel cell engine; storing parameter data of the fuel cell engine at the set time intervals, the parameter data indicating a current condition in the fuel cell engine for each of one or more parameters represented in the parameter data; associating data points of the parameter data with data points of the runtime control data at each time interval of a selected number of the set time intervals to determine a functional relationship between the parameter data and the runtime control data; detecting a change in the functional relationship over a selected time period; and when the change in the functional relationship exceeds a threshold, creating a physical alert for a user, an error code, a physical action in the fuel cell engine, or a physical action in a vehicle hosting the fuel cell engine.

2. The method of claim 1, further comprising comparing an average of the parameter data for each of the one or more parameters represented in the parameter data over the selected number of the set time intervals in relation to the runtime control data operating the orifice over the selected number of the set time intervals to determine the functional relationship between the parameter data for each parameter and the runtime control data.

3. The method of claim 1, wherein the parameter data comprises power output data of the fuel cell engine.

4. The method of claim 3, further comprising comparing an average of the power output data of the fuel cell engine over the selected number of the set time intervals in relation to the runtime control data associated with operating the orifice over the selected number of the set time intervals to determine the functional relationship between the power output data and the runtime control data associated with operating the orifice.

5. The method of claim 1, further comprising assigning the runtime control data for a given state of the orifice of the electronically controlled fuel valve to a histogram; assigning the associated data points of the parameter data to the histogram in relation to the runtime control data for the given state of the orifice; finding a central tendency of the histogram for the given state of the orifice; determining a drift or a skew in the central tendency of the histogram over the selected time period; when the drift or the skew of the central tendency of the histogram exceeds a threshold, creating the physical alert.

6. The method of claim 1, further comprising assigning the data points of the runtime control data and the data points for each of n parameters in the parameter data to an n-dimensional problem space; and determining a pattern of relationships between the runtime control data and each parameter of the n parameters as a baseline; and when the pattern of relationships changes beyond a threshold, creating the physical alert.

7. The method of claim 6, further comprising applying principal component analysis (PCA) for assigning the data points of the runtime control data and the data points for each of the n parameters in the parameter data to the n-dimensional problem space, including: centering each data point of the runtime control data and the parameter data; calculating a covariance matrix from the runtime control data and the parameter data; transforming the runtime control data and the parameter data into the n dimensions via the covariance matrix; selecting a principal component demonstrating a high variance with respect to the runtime control data for diagnosing the fault; converting the data points for the parameter corresponding to the selected principal component into the n-dimensional problem space; and identifying the parameter of the fuel cell engine associated with the selected principal component as a cause of the fault.

8. The method of claim 6, further comprising associating data points of a power output parameter in the parameter data of the fuel cell engine versus data points of the runtime control data to determine the functional relationship in 2-dimensional data between the power output data and the runtime control data; detecting a fault in the fuel cell engine via a change in the functional relationship over the selected time period; associating additional data points of additional parameters in the parameter data of the fuel cell engine versus the data points of the power output parameter and the runtime control data in respective additional dimensions of an n-dimensional problem space for a principal component analysis of the data points of the runtime control data, the power output parameter, and the additional parameters; performing the principal component analysis on all the data points; selecting a principal component demonstrating a high variance with respect to the runtime control data for diagnosing the fault; converting the data points for the parameter corresponding to the selected principal component into the n-dimensional problem space; and identifying the parameter of the fuel cell engine associated with the selected principal component and the fault.

9. The method of claim 8, wherein the parameter data to be associated with the runtime control data and the power output data comprise data points received from a sensor or a calculation selected from the group consisting of a fuel input pressure sensor, a fuel input temperature sensor, a post-fuel valve pressure sensor, a post-fuel valve temperature sensor, a pre-anode pressure sensor, a pre-cathode air pressure sensor, a post-cathode air pressure sensor, a cell stack exhaust output pressure sensor, a fuel mileage algorithm, a fuel economy algorithm, a cell element voltage sensor, a cell stack power output sensor, an amperage sensor, a coolant flow sensor, an accelerometer, an incline sensor, a vehicle airflow resistance sensor, a torque sensor, a battery charging current sensor, a fuel flow rate, a cell stack temperature, and a coulombs per liter of hydrogen fuel calculation.

10. The method of claim 1, further comprising multiplying the detected change in the functional relationship over the selected time period by a correction factor to filter out a degree of change in the functional relationship due to a predicted degradation of the fuel cell stack over time, the correction factor subtracting a degree of the change caused by the predicted degradation per unit time.

11. An apparatus, comprising: an electronic controller for a fuel cell engine, the electronic controller executing a data-driven operation of an electronically controlled fuel valve of the fuel cell engine, the data- driven operation dynamically changing a size of an orifice of the electronically controlled fuel valve; a memory of the electronic controller; a processor of the electronic controller; and a fault detector of the electronic controller, the fault detector performing actions comprising: storing runtime control data at set time intervals, the runtime control data for operating the orifice of the electronically controlled fuel valve of the fuel cell engine; storing parameter data of the fuel cell engine at the set time intervals, the parameter data indicating a current condition in the fuel cell engine for each of one or more parameters represented in the parameter data; associating data points of the parameter data with data points of the runtime control data at each time interval of a selected number of the set time intervals to determine a functional relationship between the parameter data and the runtime control data; detecting a change in the functional relationship over a selected time period; and when the change in the functional relationship exceeds a threshold, creating a physical alert for a user, an error code, a physical action in the fuel cell engine, or a physical action in a vehicle hosting the fuel cell engine.

12. The apparatus of claim 11, wherein the electronic controller of the fuel cell engine sends a fault signal to an electronic control unit (ECU) of the vehicle hosting the fuel cell engine via a Controller Area Network defined under SAE JI 939; and wherein the electronic control unit of the vehicle actuates the physical alert for the user, creates the error code, commands the physical action in the fuel cell engine, or commands the physical action in the vehicle.

13. The apparatus of claim 11, wherein the actions of the fault detector further comprise comparing an average of the parameter data for each of the one or more parameters represented in the parameter data over the selected number of the set time intervals versus an average of the runtime control data operating the orifice over the selected number of the set time intervals to determine the functional relationship between the parameter data for each parameter and the runtime control data.

14. The apparatus of claim 11, wherein the parameter data comprises power output data of the fuel cell engine.

15. The apparatus of claim 14, wherein the actions further comprise comparing an average of the power output data of the fuel cell engine over the selected number of the set time intervals versus an average of the runtime control data operating the orifice over the selected number of the set time intervals to determine a functional relationship between the power output data and the runtime control data for operating the orifice.

16. The apparatus of claim 11, wherein the actions further comprise: assigning the runtime control data for a given state of the orifice of the electronically controlled fuel valve to a histogram; assigning the associated data points of the parameter data to the histogram in relation to the runtime control data for the given state of the orifice; finding a central tendency of the histogram for the given state of the orifice; determining a drift or a skew in the central tendency of the histogram over the selected time period; when the drift or the skew of the central tendency of the histogram exceeds a threshold, creating the physical alert.

17. The apparatus of claim 11, wherein the actions further comprise assigning the data points of the runtime control data and the data points for each of n parameters in the parameter data to an n-dimensional problem space; and determining a pattern of relationships between the runtime control data and each parameter of the n parameters as a baseline; and when the pattern of relationships changes beyond a threshold, creating the physical alert.

18. The apparatus of claim 17, wherein the actions further comprise applying principal component analysis (PCA) for assigning the data points of the runtime control data and the data points for each of the n parameters in the parameter data to the n-dimensional problem space, including: centering each data point of the runtime control data and the parameter data; calculating a covariance matrix from the runtime control data and the parameter data; transforming the runtime control data and the parameter data into the n dimensions via the covariance matrix; selecting a principal component demonstrating a high variance with respect to the runtime control data for diagnosing the fault; converting the data points for the parameter corresponding to the selected principal component into the n-dimensional problem space; and identifying the parameter of the fuel cell engine associated with the selected principal component and the fault.

19. The apparatus of claim 17, wherein the actions further comprise: associating data points of a power output parameter in the parameter data of the fuel cell engine versus data points of the runtime control data to determine the functional relationship in 2-dimensional data between the power output data and the runtime control data; detecting a fault in the fuel cell engine via a change in the functional relationship over the selected time period; associating additional data points of additional parameters in the parameter data of the fuel cell engine versus the data points of the power output parameter and the runtime control data in respective additional dimensions of an n-dimensional problem space for a principal component analysis of the data points of the runtime control data, the power output parameter, and the additional parameters; performing the principal component analysis on all the data points; selecting a principal component demonstrating a high variance with respect to the runtime control data for diagnosing the fault; converting the data points for the parameter corresponding to the selected principal component into the n-dimensional problem space; and identifying the parameter of the fuel cell engine associated with the selected principal component and the fault.

20. The apparatus of claim 19, wherein the parameter data to be associated with the runtime control data and the power output data comprise data points received from a sensor or a calculation selected from the group consisting of a fuel input pressure sensor, an fuel input temperature sensor, a post-fuel valve pressure sensor, a post-fuel valve temperature sensor, a pre-anode pressure sensor, a pre-cathode air pressure sensor, a post-cathode air pressure sensor, a cell stack exhaust output pressure sensor, a fuel mileage algorithm, a fuel economy algorithm, a cell element voltage sensor, a cell stack power output sensor, an amperage sensor, a coolant flow sensor, an accelerometer, an incline sensor, a wind resistance sensor, a torque sensor, and a battery charging current sensor.

21. The apparatus of claim 11, wherein the actions further comprise multiplying the detected change in the functional relationship over the selected time period by a correction factor to filter out a degree of change in the functional relationship due to a predicted degradation of the fuel cell stack over time, the correction factor subtracting a degree of the change caused by the predicted degradation per unit time.

Description:
FAULT DETECTION FOR FUEL CELL ENGINES USING

RUNTIME VALVE CONTROL DATA

BACKGROUND

[0001] Conventional fuel control for fuel cell engines relies on mechanical valves that are physically governed. Fuel leak detection and fault detection in such mechanical control systems rely on one or more physical feedbacks, either a manual physical inspection or input from physical sensors, for example. The physical sensors may have been added to the fuel cell engine for the express purpose of fault diagnosis, as an extra expense. In many cases the conventional fuel cell engine must be connected to external diagnostics or even disassembled in order to determine a fault or fuel leak and to isolate the cause.

[0002] To detect and identify faults in a fuel cell engine is not an easy task. The control of gaseous fuel with different fuel and exhaust pressures through the system is interleaved with electrochemical power generation, including various transformed voltages throughout the system. In addition, other factors affect sensing, diagnostics, and fault detection such as coolant circulation, the cell stack producing power differently at different temperatures, and fuel/air stoichiometry. These are but a few of the challenges when detecting faults or a fuel leak amidst the noise of these varying parameters. Moreover, a fuel cell engine behaves differently as it ages, even if degradation over time is well-predicted ahead of time. Virtual modeling of a fuel cell engine for purposes of fault detection is also a difficult task. All of the internal parameters governing operation, materials, design, and system geometry are difficult to identify, let alone monitor.

SUMMARY

[0003] Fault detection for fuel cell engines using runtime valve control data is provided. The fault detection includes fuel leak detection, and in some cases, diagnosis of faults. An example electronic controller for the fuel cell engine has a fault detector that applies analysis such as averaging, principle component analysis (PCA), and dynamic histograms to runtime control data and to additional parameter data of the fuel cell engine. The data-driven fault detector establishes a baseline of normal performance using runtime control data for operating an electronically controlled fuel valve in relation to other parameters of the fuel cell engine. The runtime control data and parameter data provide data-driven fault detection, including fuel leak detection. The fault detector does not rely on any model of the fuel cell engine or its operation. In an implementation, the electronic controller detects a fault using 2-dimensional data, and then diagnoses the fault by adding additional parameter dimensions and performing principal component analysis.

[0004] This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in limiting the scope of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

[0005] The detailed description is set forth with reference to the accompanying figures. The use of the same reference numbers in different figures indicates similar or identical items or features.

[0006] Fig. 1 is a diagram of an example fuel cell electric vehicle hosting a fuel cell engine that includes an electronically controlled fuel valve and a fault detector.

[0007] Fig. 2 is a block diagram of a fuel cell engine that includes an electronically controlled fuel valve and an electronic controller possessing the fault detector.

[0008] Fig. 3 is a flow diagram of an example electronic control process for governing an electronically controlled fuel valve.

[0009] Fig. 4 is a block diagram of an example electronic controller for governing an electronically controlled fuel valve of a fuel cell engine, including the fault detector.

[0010] Fig. 5 is a diagram of an example fault detection technique of the fault detector. [0011] Fig. 6 is another diagram of an example fault detection technique of the fault detector.

[0012] Fig. 7 is a diagram of a time lapse fault detection technique of the fault detector.

[0013] Fig. 8 is a diagram of a histogram fault detection technique of the fault detector.

[0014] Fig. 9 is a diagram of a multi-dimensional pattern recognition fault detection technique of the fault detector.

[0015] Fig. 10 is a diagram of a two-part principal component analysis (PCA) fault detection technique and diagnostic technique of the fault detector.

[0016] Fig. 11 is a flow diagram of an example method of fault detection in a fuel cell engine using runtime control data for an electronically controlled fuel valve.

[0017] Fig. 12 is a flow diagram of an example two-part principal component analysis method of fault detection and diagnosis in a fuel cell engine using runtime control data for an electronically controlled fuel valve.

DETAILED DESCRIPTION

[0018] This disclosure describes fault detection and fuel leak detection for fuel cell engines using runtime valve control data. In an embodiment, a fuel cell engine has one or more fuel valves, each with a variable orifice purely under electronic control. The degree that one or more of the electronically controlled fuel valves are respectively open determines the amount of power currently being produced by the fuel cell engine. Hence, the one or more electronically controlled fuel valves provide the “throttle” for the fuel cell engine. Importantly, the electronic control of the one of more fuel valves is not by analog electronic control, but is mediated by data, such as digital data. A processor receives various data available to the fuel cell engine, and computes a command to each electronically controlled fuel valve to open or close to a certain degree. The degree that an orifice of a given electronically controlled fuel valve is open determines the fuel pressure available to anodes of the fuel cell stack, acting as the “gas pedal” for the fuel cell engine and the vehicle hosting the fuel cell engine.

[0019] The electronic control of the fuel valves may be executed by a processor, computer, or programmable logic controller (PLC). The computer or PLC adjusts the size of each operative orifice in real time to provide instantaneous fuel pressure changes at the cell stack. Providing electronic control of fuel pressure and fuel flow enables a fuel cell or fuel cell engine to adjust to conditions without the need for mechanical tuning.

[0020] An example electronic controller of the fuel cell engine applies data analysis as described herein, such as averaging, principle components analysis (PCA) with matrix modification, and dynamic histograms to store and process runtime control data and current status data (parameter data) of the fuel cell engine. The electronic controller establishes a baseline of normal performance using the example data analysis techniques. Ongoing analysis of current data of the fuel cell engine provides data-driven fault detection, such as detection of a fuel leak, and in some cases provides diagnosis of the fault, without relying on added physical sensors that are not already part of the fuel cell engine. Moreover, the data- driven fault and leak detection described herein does not rely on virtual modeling of the fuel cell engine or its operational parameters. The example data-driven fault and leak detection described herein uses data that is already available to the electronic controller of the fuel cell engine when providing data-driven commands to the electronically controlled fuel valve or valves, and when receiving feedback data from sensors already present in the fuel cell engine. [0021] In an implementation, associating runtime control data for one or more electronically controlled fuel valves versus parameter data for one or more status parameters of the fuel cell engine provides a baseline functional relationship between the runtime control data and the one or more status parameters of the fuel cell engine. Ongoing monitoring and/or storing of the runtime control data and the parameter data allows detection of a deviation from a clear demarcation line of normal operation established under the baseline functional relationship. An operation for a defined amount of time occurring outside of the demarcation indicates a problem with the fuel cell engine, such as a fuel leak.

[0022] As a simple example using only one status parameter versus the runtime control data, if the electronic controller normally commands the orifice of an electronically controlled fuel valve to open at 54.3% to generate 100 amps at the usual voltage present in the cell stack, then needing to command the electronically controlled fuel valve to open at 65% to generate the same 100 amps at the usual voltage indicates a need to feed more fuel than normally necessary, indicating a fuel leak, for example. The electronic controller detects this fault and generates a fault signal, which may result in an error code (fault code, trouble code) and a physical alert for a user indicating the fault or fuel leak. The electronic controller may also generate a physical action in the fuel cell engine or the vehicle hosting the fuel cell engine. The error code may be stored for later troubleshooting. The physical alert may be a check-engine light, an audible sound, or other warning to the user. The physical action may be a mechanical, electric, or electronic intervention in the fuel cell engine or the vehicle, such as limiting a power output of the fuel cell engine, limiting the fuel pressure or fuel flow, activating safety measures, or shutting down the fuel cell engine in response. Whenever a fault is detected, the electronic controller may generate an error code and also generates a physical alert and/or one or more physical actions in the fuel cell engine or the vehicle.

Example Systems

[0023] Electronic solenoids or other electronic actuators adjust the orifice of each electronically controlled fuel valve in an example fuel cell engine based on command data, thereby controlling fuel pressure. Predictive electronic control of fuel pressure is computed that enables fast startup of a fuel cell by increasing the pressure during startup, preemptive fuel pressure control for dynamic response to load changes, and diagnostics by removing fuel pressure to detect and troubleshoot issues with the fuel cell.

[0024] In an implementation, an electronic controller of the example fuel cell engine has memory access to preprogrammed pressure setpoints for each operational state of a fuel cell vehicle. The electronic controller monitors multiple pressures in the fuel cell engine in relation to the setpoints to devise electronic fuel valve control. For instantaneous responsiveness in the vehicle or other machine, the setpoints are updated in real time in one or more circuits that include a PID control loop or the like governing the orifice of a respective electronic fuel valve.

[0025] Fig. 1 shows an example fuel cell engine 100 in a fuel cell electric vehicle (FCEV) 102, referred to herein as “vehicle 102.” The example vehicle 102 is representative of a machine hosting the fuel cell engine 100, but numerous types of other machines may host the fuel cell engine 100, or the fuel cell engine 100 may be a standalone device. The example fuel cell engine 100 generates electric power for the vehicle 102 or machine but is not a mechanical engine that produces rotational torque, for example. Hence, the example vehicle 102 in Fig. 1 also has an electric motor 104 for propulsion.

[0026] The electric motor 104 converts electricity from the fuel cell engine 100 and from high-voltage batteries 106 into motion. The fuel cell engine 100 powers the electric motor 104 through a power distribution unit 110, and also charges the high-voltage batteries 106. The high-voltage batteries 106 may assist in powering the electric motor 104, complementing the fuel cell engine 100 through the power distribution unit 110. The high- voltage batteries 106 may also reclaim energy generated from braking as electrical energy, in addition to storing power from the fuel cell engine 100. The power distribution unit 110 directs various high-voltage electric currents between the fuel cell engine 100, high-voltage batteries 106, power distribution unit 110, and electric motor 104 along a high-voltage power bus 112.

[0027] The example vehicle 102 has a high-pressure supply of hydrogen gas 108 used as fuel at the cell stack 114 of the fuel cell engine 100 to produce electric power. The hydrogen gas 108 is provided to the cell stack 114 though an electronically controlled fuel valve 116, governed by the electronic controller 118 onboard the fuel cell engine 100. The electronic controller 118 of the fuel cell engine 100 may be in communication with a more general electronic control unit (ECU) 120 of the vehicle 102 and is to be differentiated from the ECU 120 of the vehicle 102. The ECU 120 of the vehicle may also be called the “engine control unit,” “electronic control module,” or “onboard computer” of the vehicle 102. The vehicle’s ECU 120 tracks and controls conventional functions of the vehicle 102, such as speed, acceleration, braking, signaling, electric motor functioning, shifting, heating and cooling, and accessories of the vehicle 102. The electronic controller 118 of the fuel cell engine 100, on the other hand, controls the power production and functioning of the fuel cell engine 100 via systems and components that are usually onboard and contained within the fuel cell engine 100.

[0028] A fault detector 122 of the electronic controller 118 processes runtime control data and parameter data of the fuel cell engine 100. The fault detector 122 performs the example fault detection methods described herein, applying a variety of data handling and fault detection techniques, and electronic communication.

[0029] The layout of components in the example vehicle 102 of Fig. 1 is only one example configuration. The various components of the example vehicle 102 may be arranged in numerous different layouts and may have many more incidental components not shown in Fig. 1. For example, the vehicle 102 may have a low voltage battery (e.g., 12 volts) to power conventional automotive devices and accessories. The low voltage battery (not shown) may be charged by a DC/DC step down transformer of a power conditioning system (not shown) of the fuel cell engine 100 and/or from the high-voltage batteries 106. The supply of high- pressure hydrogen gas 108 (gas tank) may have a filler port on the outside of the vehicle 102 to replenish the supply of hydrogen gas 108.

[0030] Each of the major components shown in Fig. 1 may have numerous subcomponents. For example, the fuel cell engine 100 has its own inherent electrical system and its own electronics, including one or more DC/DC converters of a power conditioning system. The DC/DC converters modify the voltage and current of the electric power generated for transmission onto the high-voltage power bus 112: for the power distribution unit 110, the electric motor 104, and the high-voltage batteries 106. The DC/DC converter(s) of the fuel cell engine 100, which step-up low voltage electrical output from the cell stack 114 of the fuel cell engine 100, are to be differentiated from the power distribution unit 110 of the vehicle 102, which directs high-voltage and high-current electrical flows between major components of the vehicle 102 (including the fuel cell engine 100) via the high-voltage power bus 112. Thus, the power distribution unit 110 of the vehicle 102 is in communication with a high-voltage side of the DC/DC converters of the fuel cell engine 100.

[0031] Fig. 2 shows the example fuel cell engine 100 in greater detail. The fuel cell engine 100 has multiple systems, but not all systems are shown in Fig. 1. For example, a power conditioning system of the fuel cell engine 100 containing DC/DC transformers, regulators, and so forth, is not shown in Fig. 2. The example fuel cell engine 100 may also have a cooling system, including a water circulator and cooling plates among the heatproducing anodes 202 and cathodes 204. In routine operation, the fuel cell engine 100 produces heat, which usually must be heat-sinked and proactively cooled to prevent destructive heat damage to components of the fuel cell engine 100 during operation. [0032] Each electrochemical cell of the cell stack 114 has an anode 202 and a cathode 204 on either side of an intervening electrolyte, such as a polymer electrolyte membrane (PEM), for example. “Anode” and “anodes” is used interchangeably herein, although Fig. 2 shows a single anode 202 as an example, the cell stack 114 contains numerous anodes 202. Likewise, “cathode” and “cathodes” is used interchangeably. Instances of the PEM (electrolyte) between each anode 202 and cathode 204 are not shown in Fig. 2.

[0033] A fuel processing system 208 provides the hydrogen gas 108 fuel to the cell stack 114 and has an electronically controlled fuel valve 116. The fuel processing system 208 may have other valves capable of assuming various valve configurations and may have additional instances of the electronically controlled fuel valve 116 and other electronically controlled non-fuel valves, depending on implementation.

[0034] In an implementation, the fuel processing system 208 has one or more ejectors 210, 212 that flow gaseous hydrogen 108 to the anode 202. Each ejector 210, 212 also creates a vacuum and suction through a return line 214 to draw and recycle unreacted hydrogen gas 108 from the anode exhaust 216 back to the respective ejector 210, 212. One or more overdrive valves 218 may be opened to bring each additional ejector 212 into the fuel supply circuit, when more power is needed from the fuel cell engine 100 than a single ejector 210 can provide. The fuel processing system 208 has additional components, such as an initial filter 220 for the incoming hydrogen gas 108, and an on-off valve 222 that closes off gas flow coming into the electronically controlled fuel valve 116. A check valve 224 at the output of each additional ejector 212 prevents fuel backflow through each additional ejector 212 and the return line 214.

[0035] An air processing system 226 of the fuel cell engine 100 provides oxygen to the cell stack 114 through a blower 228, turbocharger, or compressor for injecting air into the cell stack 114. A recycle valve 230 may be opened to create suction at the cathode exit 232 through an air return line 234 to the blower 228 in order to deplete the cathode air of oxygen or in failure cases where pressures in the cathode are too extreme. The air processing system 226 has an air filter 236 for incoming air and may have other ancillary components.

[0036] An exhaust system 238 of the fuel cell engine 100 provides an exit for gases from the fuel cell engine 100 and may determine the disposition of a water vapor end product of the cell stack 114 during operation. Some exhaust systems 238 may include mechanisms for handling or burning any hydrogen gas 108 still present in the exhaust flow. An exhaust valve 240 is opened to allow gases to exit but may also provide backpressure and may be closed for other states and functions of the fuel cell engine 100.

[0037] The example fuel cell engine 100 has multiple sensors installed in numerous locations in the fuel processing system 208, the air processing system 226, the exhaust system 238, and the cooling system (not shown in Fig. 2). Each sensor may also have a transmitter as needed for sending data to the electronic controller 118. For example, an input pressure sensor 242 and an input temperature sensor 244 determine physical characteristics of the hydrogen gas 108 at the entrance to the initial on-off valve 222. A post-fuel-valve pressure sensor 246 intervenes downstream from the electronically controlled fuel valve 116, but before the main ejector 210 at this location, because the electronically controlled fuel valve 116 has the purpose of changing fuel flow and pressure there. A pre-anode pressure sensor 248 determines the fuel pressure at the output of the one or more ejectors 210, 212 and provides a key pressure measurement quantifying the fuel available at surfaces of the anodes 202. The fuel is intended to be in a stoichiometrically correct ratio with the oxygen at the cathodes 204, or in slight excess, for purposes of the electrochemical reaction in the cell stack 114 that will produce electric power from the fuel and oxygen. The fuel processing system 208 may have more sensors than shown in Fig. 2, including flow and temperature sensors of the cooling system, which also relates to the fuel processing system 208. [0038] The air processing system 226 may have an input pressure sensor 250 relative to the cathode 204, between the blower 228 and the cathode 204. An output pressure sensor 252 relative to the cathode 204 intervenes at the cathode output 232, between the cathode 204 and the exhaust valve 240. The output pressure sensor 252 may also be regarded as an output pressure sensor 252 for the anode 202 too, when the anode output 216 and cathode output 232 join in a common “wye” junction before the exhaust valve 240.

[0039] The electronic controller 118 of the fuel cell engine 100 manages and supervises all the operations of the fuel cell engine 100 during routine operation. In an implementation, the electronic controller 118 has a communication channel, data link, a direct electrical connection, or an indirect electrical connection to every component in the fuel cell engine 100 that involves electricity, including the cell stack 114. In an implementation, the electronic controller 118 of the fuel cell engine 100 and the hosting vehicle 102 may use a communicative vehicle bus, such as a Controller Area Network (CAN) defined by SAE JI 939 and/or a Local Interconnect Network (LIN) or other communication channels.

[0040] The fault detector 122 of the electronic controller 118 of the fuel cell engine 100 may send a fault signal to the electronic control unit (ECU) 120 of the vehicle 102 that is hosting the fuel cell engine 100 via a Controller Area Network defined under SAE J1939. In this case, in response to the fault signal, the electronic control unit (ECU) 120 of the vehicle 102 may create a physical alert for the user, an error code, a physical action in the fuel cell engine 100, or a physical action in the vehicle 102 in response to the fault, instead of the electronic controller 118 of the fuel cell engine 100 performing these actions.

[0041] In an implementation, the electronic controller 118 governs one or more instances of the electronically controlled fuel valve 116 with no conventional extra tubes or passages to affect the electronically controlled fuel valve 116. Control of the fuel valve 116 is purely electronic, managed by the electronic controller 118 and sensors located throughout the fuel cell engine 100 that are in communication with the electronic controller 118.

[0042] During routine operation of the fuel cell engine 100, the fuel processing system 208 supplies the hydrogen gas 108 to the anodes 202 of the cell stack 114 at pressures calculated by the electronic controller 118. The fuel processing system 208 controls the pressure of the hydrogen gas 108 at the anodes 202 in real time along a continuum of possible pressure values, based on the current state and power requirements of the vehicle 102 or other machine.

[0043] The pressure of the hydrogen gas 108 at the anodes 202 is precision-controlled by the electronically controlled fuel valve 116 and electronic controller 118 in real time. The electronically controlled fuel valve 116 has a variable orifice that is fully adjustable to any opening size between fully open and fully closed via the electronic control. The electronically controlled fuel valve 116 and the opening size of its orifice may be electrically actuated by a solenoid, servo, linear actuator, rotary actuator, and so forth. In an example implementation, a small electric motor drives a train of reduction gears with a potentiometer connected to the mechanical output shaft, for example. Electronics provide a closed-loop servomechanism for variably actuating the electronically controlled fuel valve 116 to any size opening along the continuum, from fully open to fully closed. In another implementation, a linear actuator moved by the magnetic flux generated by an electronic solenoid is used to control the orifice size of the electronically controlled fuel valve 116 in real time. Other mechanisms may be used to electronically control the orifice size of the electronically controlled fuel valve 116 within the continuum of variable openness.

Electronic Fuel Control

[0044] The electronically controlled fuel valve 116 is under dynamic control of the electronic controller 118 based on several sources of information, including feedback from one or more pressure sensors 242, 246, 248, 250, 252, for example. The electronic controller 118 monitors, analyzes, and decides a current orifice size of the electronically controlled fuel valve 116 in the context of current power requirements of the vehicle 102 or other machine, various states of the vehicle 102, temperature information from the cooling system, and several other factors to be described below. The electronic controller 118 may employ advanced logic and decision-making taking into account stored data and pressure readings across multiple sensors in the fuel cell engine 100 when controlling fuel pressure and fuel flow through the electronically controlled fuel valve 116 in real time.

[0045] In an example system, the electronic controller 118 may execute a logic process at regular intervals that includes: monitoring multiple different pressures of the fuel cell engine 100 via a selected combination of the available pressure sensors 242, 246, 248, 250, 252; calculating a current pressure setpoint for the fuel pressure at the anode 202, wherein the current pressure setpoint is calculated from the selected combination of the multiple pressures; and controlling the orifice size of the electronically controlled fuel valve 116 valve via a PI or PID control loop based on the current pressure setpoint calculated for the current time interval. The operational logic of the electronic controller 118 may be implemented purely in hardware, such as CMOS digital circuitry, one or more application-specific integrated circuits (ASICs) or even total-transistor-logic, or other hardware elements.

[0046] Fig. 3 shows an example electronic control process 300 (“cycle 300”) implemented by the electronic controller 118 for governing the electronically controlled fuel valve 116 in real time. In the flow diagram of Fig. 3, operations are shown in discrete visual blocks. At cycle start 302, an individual cycle of the electronic control process 300 begins. In an implementation, the entire execution time of one cycle is 1 millisecond (ms). Thus, the scan rate for repeating the cycle at regular intervals can be once or several times per second, tens of times per second, or even hundreds of times per second. [0047] In an implementation, the cycle start 302 includes polling or receiving input from the vehicle 102 hosting the fuel cell engine 100. The electronic controller 118 may include electronics for communicating with sensors in the vehicle and deciding a state of the vehicle (such as starting up, accelerating, decelerating, shutting down, off, and so forth). Alternatively, the electronic controller 118 may include electronics for simply receiving the current state of the vehicle 102 from the ECU 120, from an engine control module, or from another onboard computer of the vehicle 102 as a message or as data.

[0048] At 304, in one implementation, the electronic controller 118 may query a truth table 306 (lookup table, binary decision tree, etc.) onboard the fuel cell engine 100 using the current state of the vehicle 102 as the query. The truth table 306 is accessed to retrieve a set of stored pressure data 308 associated with the current state of the vehicle 102 used for executing the current cycle of the electronic control process 300. Alternatively, the electronic controller 118 may query the truth table 306 with sensor data directly, in which case the truth table 306 is outfitted to return both a current state of the vehicle 102 and the stored pressure data 308 for that current state of the vehicle 102, for the current cycle of the electronic control process 300.

[0049] The stored pressure data 308 may include a startup pressure setpoint, a shutdown pressure setpoint, a minimum pressure setpoint, a first pressure increment value for a first pressure measured at the cathode air input, a second pressure increment value for a second pressure measured at the cathode exhaust, a capacity pressure setpoint, and a step change factor, for example. These data will be described further below.

[0050] At decision 310, the electronic control process 300 decides whether the current state of the vehicle 102 is startup or not. If the current state of the vehicle 102 is startup, then a startup pressure setpoint 312 from the stored pressure data 308 is forwarded as a first input 314 for a PI or PID control loop 316 or controller (hereinafter “PID control loop 316”). The PID control loop 316 is the interface between the electronic controller 118 (and electronic control process 300) and the electronically controlled fuel valve 116. The first input 314 is the dynamic fuel pressure setpoint for the logic of the PID control loop 316. A measured value of fuel pressure at pressure sensor 248 (see Fig. 2), which is the fuel pressure at the active surfaces of the anode 202, is the second input 318 for the PID control loop 316 and provides a process variable for the PID control loop 316. The PID control loop 316 makes reference to the current pressure measured at pressure sensor 248 during the current cycle of the electronic control process 300. The PID control loop 316 compares this pressure 248 with the pressure setpoint of the first input 314, and determines the difference, or error, between the first input 314 and second input 318. The PID control loop 316 “steers” the orifice of the electronically controlled fuel valve 116 by either opening or closing the orifice in proportion to the magnitude and direction of the difference, in order to adjust the fuel pressure (as measured at pressure sensor 248) up or down, and back to the setpoint that is provided to the PID control loop 316 as the first input 314.

[0051] The PID control loop 316 may have a scan rate that matches the scan rate of the entire electronic control process 300, especially if the electronic control process 300 cycles many times per second. Alternatively, the PID control loop 316 may have its own independent scan rate that includes executing PID calculations and adjusting the orifice of the electronically controlled fuel valve 116 at the scan rate using the current first input 314 and second input 318 at hand. For example, the entire electronic control process 300 may cycle 1 time per second, while the PID control loop 316 cycles 1-20 times per second. The PID control loop 316 and its first input 314 and second input 318 may be considered the duty cycle control of the electronically controlled fuel valve 116.

[0052] In the electronic control process 300, if the state of the vehicle 102 at decision 310 is not startup, then the electronic control process 300 tests whether or not the current state of the vehicle 102 is shutdown at decision 320. If the current state of the vehicle 102 is shutdown, then a shutdown pressure setpoint 322 from the stored pressure data 308 is forwarded as the operative setpoint for the first input 314 of the PID control loop 316.

[0053] In the example electronic control process 300 shown in Fig. 3, if the current state of the vehicle 102 is neither at startup decision 312 nor shutdown decision 320, then the electronic control process 300 employs additional logic to calculate a dynamic pressure setpoint to be used as the first input 314 of the PID control loop 316.

[0054] In one example embodiment of constructive setpoint logic, the electronic controller 118 considers the combination of pressures at the entrance of the cathodes 204, measured by pressure sensor 250, and at the exhaust output 232 of the cathodes 204, measured by pressure sensor 252. At block 324, the pressure monitored at pressure sensor 250 is input into a first adder 326. This pressure value represents the air pressure at the entrance to the cathode 204. In this example, it is important to maintain anode pressure above cathode pressure for failure mode reasons and proper operational performance. The adder 326 increments this pressure value by first pressure increment value 328 from the set of pressure data 308 obtained from the truth table 306. This incrementing tells the PID control loop 316 to maintain a fuel pressure at the anode 202 that is slightly higher than the air pressure at the cathode 204. Therefore, the fuel pressure follows the air pressure in the logic of this electronic control process 300. The air pressure, controlled by the blower 228, is controlled by the electrical current generated by the cell stack, which follows the electrical load applied to the fuel cell engine 100 by the vehicle 102. However, the example electronic control process 300 of Fig. 3 does not necessarily use the single value from pressure sensor 250 as the setpoint value for the first input 314 for the PID control loop 316, even though the pressure read from sensor 250 has been slightly incremented. [0055] At block 330, the electronic control process 300 also monitors an air pressure at the cathode exit 232 using pressure sensor 252. The electronic control process 300 increments this pressure reading 252 by a second pressure increment value 332 from the pressure data 308 obtained from the truth table 306, or calculated. The two air pressures processed at adders 326, 334 represent the air pressure difference across the cathodes 204 of the cell stack 114, which in combination is a reading of the amount of oxygen being consumed during power production in the cell stack 114. This pressure change derived from the combination of pressures provides more sophisticated information for electronically controlling fuel pressure via the electronically controlled fuel valve 116, than just a single air pressure reading alone.

[0056] A comparator 336 compares the output of the first adder 326 and the second adder 334 with each other and with a minimum pressure setpoint 338 from the pressure data 308 obtained from the truth table 306 for the current state of the vehicle 102. In an implementation, the comparator 336 selects the maximum value from these three candidate values, to pass forward as the current dynamic fuel pressure setpoint and the first input 314 for the PID control loop 316.

[0057] At block 340, the electronic controller 118 may open an additional ejector 212 of the fuel processing system 208 when the dynamic fuel pressure setpoint and first input 314 for the PID control loop 316 exceeds a capacity pressure setpoint 342 in the pressure setpoint data 308 obtained from the truth table 306, or calculated by the electronic control process 300, depending on implementation. When an additional ejector 212 has been opened to increase the fuel flow to the anodes 202, a step change factor 344 in the pressure setpoint data 308 obtained from the truth table 306 is fed forward to the PID control loop 316 to increase the fuel pressure by the step change factor 344. The PID control loop 316 of the electronic controller 118 scales the output of the PID control loop 316 to account for increased fuel flow through the additional ejector 212, thereby also stepping up the orifice size of the electronically controlled fuel valve 116. The step change factor 344 may also be calculated by the electronic control process 300 instead of retrieved from the truth table 306, depending on implementation.

[0058] The electronic control process 300 shown in Fig. 3 is just one example layout of control logic for the sake of illustrating electronic fuel control for the electronically controlled fuel valve 116. Many other pressures inside the fuel cell engine 100, and many other combinations of those pressures, may be joined or compared through various logical operators to enable the electronic controller 118 to govern the orifice size of the electronically controlled fuel valve 116 in real time. Many different logic schemata are possible in the electronic controller 118 for controlling the orifice size of one or more electronically controlled fuel valves 116 in real time.

[0059] Fig. 4 shows an example electronic controller 118 capable of executing the electronic control process 300 of Fig. 3. The electronic controller 118 of Fig. 4 is not limited to one control process but can use numerous different control processes or generate a custom electronic control process to govern one or more instances of the electronically controlled fuel valve 116.

[0060] The electronic controller 118 may adjust the orifice size of one or more electronically controlled fuel valves 116 in gradual changes, increments, or smooth changes, but may also switch to simple on-off, fully-open-or-fully-closed, operation of the electronically controlled fuel valve 116 when the electronic controller 118 concludes that this mode of operation is best for the circumstances at hand.

[0061] Hardware interfaces of the electronic controller 118 include a vehicle interface 400 and a fuel cell engine interface 402. The fuel cell engine interface 402 includes a sensors interface 404 and a valve control interface 406, which may further include a dedicated fuel valve interface 408. The hardware interfaces shown in Fig. 4 may be wired, with plug and socket interfaces for example, or may be wireless in part or in full. When the hardware interfaces are wireless, the electronic controller 118 may include a communicative vehicle bus, such as a Controller Area Network (CAN) defined by SAE J1939 and/or a Local Interconnect Network (LIN). In some instances Wi-Fi, BLUETOOTH, ZIGBEE networking, or other capabilities and/or communication channels may be utilized.

[0062] A state determination module 410 receives data from the vehicle 102 or other machine hosting the fuel cell engine 100. The state determination module 410 queries or otherwise addresses one or more truth tables 306 (lookup tables, binary decision trees, databases) using data from the vehicle 102 as the query to determine a current state of the vehicle 102. In an implementation, the vehicle’s electronic control unit 120 or other onboard computer of the vehicle 102 relays the current state of the vehicle 102 to the state determination module 410. A setpoint engine 412 obtains data from the truth table 306, specifically including pressure setpoint data 308 associated with the current state of the vehicle 102, as stored in the truth table 306. As introduced above, the current state of the vehicle 102 may be startup, shutdown, accelerating, decelerating, fuel economy mode, cruising, hauling, idling, cabin cooling, overheating, testing, braking, storing energy, and many other vehicle states that are associated with an amount of electric power to be produced by the fuel cell engine 100.

[0063] The setpoint engine 412 may have a stored setpoint retrieval unit 414 for parsing pressure setpoint data 308 from the truth table 306. Alternatively, the setpoint calculator 416 of the setpoint engine 412 may calculate some or all pressure setpoints, pressure increments, and other data 308 that can be used in a given electronic control process 300. The setpoint engine 412 provides a dynamic setpoint as the first input 314 for the PID control loop 316. The electronic control process 300 of Fig. 3 provides an example of some of the logic that may be used in an example setpoint engine 412.

[0064] A sensor selection module 418 may choose which pressure sensors 242, 246, 248, 250, 252 (for example) to use, combine, compare or link with logical operators to devise one or more pressure setpoints for a given electronic control process 300. The sensors to be selected are not limited to pressure sensors 242, 246, 248, 250, 252 but may be temperature sensors, speed sensors, power sensors, voltage sensors, amperage sensors, or any other data input available in the vehicle 102, machine, or fuel cell engine 100. The selected pressure data 420 is fed directly or indirectly as the second input 318 of the PID control loop 316. The electronic control process 300 of Fig. 3 provides an example of some of the logic that may be used in an example sensor selection module 418 and selected pressure data 420.

[0065] A processor 422 and memory 424 give the example electronic controller 118 computing power to perform functions and calculations and govern the electronically controlled fuel valve 116 in real time. The processor 422 may draw from logic schemata 426 stored in the electronic controller 118 or stored in a separate data storage medium. For example, a timing logic schema of the logic schemata 426 may include information for deciding a scan rate of the electronic controller 118 and PID control loop 316.

[0066] The logic schemata 426 available to the processor 422 may further include a startup logic schema, a shutdown logic schema, a power logic schema, an acceleration logic schema, the timing schema introduced above, a pressure logic schema, a fuel economy logic schema, and a thermal and cooling logic schema, as examples. Other logic schemas may be included in the body of logic schemata 426 available to the processor 422.

[0067] The electronic controller 118 may include a schema modifier 428 for customizing one of the logic schemata 426 based on data: input from the vehicle interface 400; output from the setpoint engine 412; output from the sensor selection module 418; and/or other data available to the electronic controller 118. An artificial intelligence (Al) engine 430 may be included to drive the schema modifier 428 or work independently to maximize efficiency of fuel pressure control or fuel economy, for example. The Al engine 430 may also take part in other components of the electronic controller 118, such as the setpoint engine 412 and the sensor selection module 418.

[0068] In an implementation, the Al engine 430 may apply machine learning from past and ongoing performance of the fuel cell engine 100 to customize the given electronic control process 300 (and one or more of the logic schemata 426) for governing the action of the orifice of the electronically controlled fuel valve 116. A given embodiment of the Al engine 430 may apply one or more Al algorithms when customizing a given electronic control process 300 or logic schema from the body of logic schemata 426. In one implementation, the Al engine 430 uses a “limited memory” type of artificial intelligence to customize or attempt to optimize behavior of the electronically controlled fuel valve 116 in controlling fuel pressure of the hydrogen gas 108 at the anodes 202. In other implementation, the Al engine 430 uses artificial narrow intelligence (ANI) processing schemes and algorithms to customize performance of one or more electronically controlled fuel valves 116 in the fuel cell engine 100.

[0069] The fault detector 122 processes runtime control data and parameter data of the fuel cell engine 100, in conjunction with the processor 422, memory 424, and other components of the electronic controller 118. The fault detector 122 performs the example fault detection methods described herein, applying a variety of data handling and fault detection techniques.

Example Fault Detection

[0070] Fig. 5 shows a graph 500 of an example fault detection process executed by the fault detector 122 of the electronic controller 118. In an implementation, the fault detector 122 stores runtime control data associated with operating the orifice of an electronically controlled fuel valve 116 in association with a related status parameter (or condition parameter) of the fuel cell engine 100. For example, at set time intervals, the fault detector 122 may store the percentage (%) degree that the orifice is open, as shown on a first axis 502 of the graph 500, versus the power output of the fuel cell engine 100 in units of amps at a constant automotive voltage, for example, as shown on a second axis 504. The % degree that the orifice is open corresponds to the rate of fuel flow or the effective fuel pressure in the fuel cell engine 100. The set time intervals for capturing data points may be milliseconds, seconds, minutes, hours, days, and so forth. The runtime control data is command data generated by the electronic controller 118 for operating each electronically controlled fuel valve 116 in the fuel cell engine 100. The parameter data, in this example case the power output of the fuel cell engine 100, is real time feedback from one or more electrical sensors or meters. The fault detector 122 may store the various data points in short term or long term memory 424 or other data storage. The fault detector 122 may associate these two example dimensions of data with each other in a database, as ordered pairs, or in other ways.

[0071] After a number of set time intervals, each at which a respective data point is captured, the dataset 506 may look like graph 500. The fault detector 122 determines a functional relationship between the associated data, or at the least tries to find bounds, variances, or standard deviations for determining a baseline normal performance of the fuel cell engine 100 from the collected data points. In an implementation, the fault detector 122 may calculate a tentative linear functional relationship among the data points using as little as two ordered pairs of data. In an example slope-intercept calculation 508, the fault detector 122 calculates a line approximating the dataset 506, for example, by calculating the slopeintercept of a line via an equation such as y = ax + b from the data points as ordered pairs, where a is the slope of the line and b is the y intercept. When a new data point is captured that falls too far outside the line and a zone around the line or linear function, detection of a fault may be triggered. More data points in the dataset 506 improve the calculation of the linear functional relationship between the runtime control data and the parameter data. This process establishes a baseline of normal performance for the fuel cell engine 100, from which a fault may be detected later on. The functional relationship determined by the fault detector 122 may not be linear, but may approximate some other type of function, and when more than two parameters are used in the fault detection, the determined functional relationship may also be multi-dimensional.

[0072] Fig. 6 shows another graph 600 of another example fault detection process executed by the fault detector 122 of the electronic controller 118. The fault detector 122 stores the percentage (%) degree that the orifice is open, as shown on a first axis 602 of the graph 600, versus the power output of the fuel cell engine 100 in units of amps at a constant automotive voltage, for example, as shown on a second axis 604. In this example process, the fault detector 122 determines a functional relationship among the dataset 606, such as a linear relationship, by applying an averaging algorithm 608 to at least the vertical axis component of the data points in the dataset 606. The results are similar to the example process in Fig. 5, except that the fault detector 122 arrives at the linear relationship by using an averaging technique, instead of calculating the slope-intercept of a line via an equation such as y = ax + b using the data points as ordered pairs as in Fig. 5. In either case, in Fig. 6 the fault detector 122 establishes a zone or region around the line within which new data points do not trigger a fault detection, but a certain number of data points 610 falling outside the zone or region does trigger detection of a fault, such as a fuel leak (610) of the gaseous hydrogen fuel somewhere in the cell stack 114 or fuel cell engine 100. The fault detector 122 may count a certain number of outlier data points 610 before declaring a fault, or may only trigger a fault if enough of these outlier data points 610 are captured over a predetermined time period. [0073] Fig. 7 shows example time lapse graphs 700. 702, 704 in another fault detection technique. The fault detector 122 may compare timeframes or may expand a timeframe to detect a change in trend, indicating a fault. In an implementation, the fault detector 122 samples runtime control data and associated parameter data only at certain steps along a continuum, for example only certain percentage % degree steps that the orifice of an electronically controlled fuel valve may be open or closed. In one scenario, the fault detector 122 stores data points only when the orifice is open 25 %, or 50%, or 75%, or all of these steps, in order to sample the performance of the fuel cell engine 100 instead of collecting all possible data points. When the runtime control data outgoing to the electronically controlled fuel valve 116 commands the orifice to open at 25%, for example, the fault detector 122 automatically stores one or more associated parameters of the fuel cell engine 100, such as the current power output of the fuel cell engine 100, in association with the 25% open command, and stores a timestamp with these data.

[0074] Over the course of a day, the resulting graph 700 may look unremarkable, the power output in amps is consistent according to baseline. Over the course of a week, the resulting graph 702 may also look similarly unremarkable. But over the course of a 5-month span, the resulting graph 704 may show a decompensation trend 706, for example. When the trend 706 exceeds a threshold, the fault detector 122 declares a fault and creates a physical alert, an error code, and/or a physical action in the fuel cell engine or the vehicle.

[0075] In an implementation, the fault detector 122 distinguishes between a detected decompensation 706 of the fuel cell engine 100 sufficient to trigger detection of a fault, and a predicted gradual decompensation of the cell stack 114 of the fuel cell engine 100 due to normal wear and aging during long term operation. Over long term use even platinum coated anodes and cathodes of the fuel cell stack 114 can build up charge polarities and can accumulate oxidation and reduction corrosion at the electrode surfaces. This can be reversed in a rejuvenation process applied to the cell stack 114 and its electrodes. But the accumulation of charge polarities and small amounts of corrosion can degrade performance slightly over time, and may be detected by the fault detector 122. The fault detector 122 may multiply the detected change in the functional relationship (e.g., trend 706) over a selected time period as shown in graph 704 by a correction factor to filter out a degree of the change in the functional relationship due to the predicted degradation of the fuel cell stack 114 over time. This corrective factor subtracts the effect of the predicted degradation and thereby filters out a degree of the detected change in the functional relationship caused by the predicted degradation per unit time, thereby avoiding detection of a fault and the associated error code, physical alert, and/or physical action resulting from fault detection.

[0076] Fig. 8 shows a histogram technique 800 that the fault detector 122 may use to perform fine-tuned fault detection or fault diagnosis. In an example implementation, a fixed value, or a fixed range, such as 24.5% to 26.5 % open for the % degree of openness of the electronically controlled fuel valve 116 is selected as a sampling vantage of the fault detection technique. When the runtime control data outgoing to the electronically controlled fuel valve contains this preselected value or range, such as a data command to be 26.0% open, the fault detector 122 stores associated parameter data, such as the power output of the fuel cell engine 100, for example. The received data points of the parameter data are fed into the histogram, which may be an array in memory 454. The fault detector 122 calculates the central tendency 802 of the histogram. As ongoing data points are collected in future time, when the runtime control data commands 24.5% to 26.5 % open, the fault detector 122 stores the new data points and monitors for drift or skew of the central tendency 802. If the central tendency 802 drifts beyond a preset threshold, the fault detector 122 declares a fault and creates a physical alert, an error code, and/or a physical action in the fuel cell engine or the vehicle in response. [0077] Fig. 9 shows a graph 900 of another example fault detection process executed by the fault detector 122 of the electronic controller 118. The fault detector 122 may assign data points of the runtime control data and data points for each of n parameters in the parameter data of the fuel cell engine 100 to an n-dimensional problem space. The example graph 900 assumes three dimensions, and shows the runtime control data on a first axis 902 versus power output data of the fuel cell engine 100 on a second axis 904, and another parameter of the fuel cell engine 100, such as temperature of the cell stack 114, on a third axis 906. The fault detector 122 may use any number of parameters of the fuel cell engine 100 versus the runtime control data in the n-dimensional problem space, even though dimensionality higher than three is not easy to represent in a human-readable visual graph. The graph 900 shows three dimensions of data used, but any number of parameters can be assigned to additional dimensions.

[0078] The fault detector 122 determines a pattern of relationships between the runtime control data on axis 902 and each parameter of the n parameters, and establishes a baseline for normal performance of the fuel cell engine 100 with respect to the selected parameters. When the pattern of relationships changes beyond a threshold, the fault detector 122 declares a fault and creates a physical alert, an error code, and/or a physical action in the fuel cell engine or a hosting vehicle in response. .

[0079] Fig. 10 shows graphs 1000, 1002 of an example two-part process in which the fault detector 122 performs a generic fault detection and then may diagnose the cause of the fault. In a first part of the example process in graph 1000, the fault detector 122 associates data points of a single parameter in the parameter data, such as the power output of the fuel cell engine 100, versus data points of the runtime control data to determine a functional relationship in this 2-dimensional data between the power output data (or other parameter) versus the runtime control data. When the fault detector 122 detects a fault in this 2-dimensional data space via a change in the functional relationship over a selected time period, the fault may sometimes be considered generic, since a fault in a parameter like power output of the fuel cell engine 100 may be caused by many different problems or causes in the fuel cell engine 100. So the identity of the specific fault may not be known at this point.

[0080] In a second part of the example process, shown in graph 1002 of Fig. 10, the fault detector 122 next associates n additional parameters of the fuel cell engine 100 with the runtime control data and the power output data (or other parameter) in respective additional dimensions of the problem space, in preparation for a principal component analysis (PCA) of the data points of: the runtime control data, the power output data, and the data of the n additional parameters. The fault detector 122 performs a principal component analysis (PCA) technique on all the data points and selects the largest principal component (or multiple principal components) as the parameter or parameters with the most significant variances, which is likely to indicate (diagnose) the cause of the detected fault, or assist in diagnosing the cause of the fault.

[0081] In graph 1002, three parameters are shown for simplicity, including the runtime control data versus the power output of the fuel cell engine 100. The temperature of the cell stack 114 is used as a third example parameter selected for the sake of description, but the additional parameters of the fuel cell engine 100 for principal component analysis (PCA) may be any of the numerous parameters operative in the fuel cell engine 100. The graph 1002 after a PCA transposition shows data points 1004 of the baseline functional relationship that exists between power output of the fuel cell engine 100 and the runtime control data. The graph 1002 also shows data points 1006 indicating a fuel leak, in which the power output drops for a given % degree opening of the orifice of the electronically controlled fuel valve 116. The graph 1002 also shows data points 1008 indicating a cooling system failure with runaway overheating. Thus, the example processes shown in graphs 1000, 1002 detect faults and may diagnose some faults or assist in the diagnosis.

[0082] In an implementation, the fault detector 122 is capable of applying principal component analysis (PCA) for assigning the data points of the runtime control data and the data points for each of the n parameters in the parameter data to the n-dimensional problem space using well-known PCA techniques. Since the details of PCA are already well-known they are not described in detail here, but may include: centering each data point of the runtime control data and the parameter data; calculating a covariance matrix from the runtime control data and the parameter data; transforming the runtime control data and the parameter data into the n dimensions via the covariance matrix; selecting a principal component demonstrating a high variance with respect to the runtime control data for diagnosing the fault; converting the data points for the parameter corresponding to the selected principal component into the n-dimensional problem space; and identifying the parameter of the fuel cell engine associated with the selected principal component and the fault.

[0083] The parameter data of the fuel cell engine 100 representing parameters to be associated with the runtime control data and with each other, depending on the fault detection technique and/or diagnosis technique to be applied by the fault detector 122 can originate in numerous ways in the fuel cell engine 100 and may be received by the electronic controller 118 from different sensors, calculations, or algorithms in the fuel cell engine 100 or the vehicle. For example, the parameter data may come from the fuel input pressure sensor 242, the fuel input temperature sensor 244, the post-fuel valve pressure sensor 246, a post-fuel valve temperature sensor, the pre-anode pressure sensor 248, the pre-cathode air pressure sensor 250, the post-cathode air pressure sensor 252, a cell stack exhaust output pressure sensor, a fuel mileage algorithm, a fuel economy algorithm, an individual cell element voltage sensor in the cell stack 114, a cell stack power output sensor, an amperage sensor, a coolant flow sensor, an accelerometer, an incline sensor of the vehicle, a vehicle airflow resistance sensor, a torque sensor, a battery charging current sensor, a fuel flow rate, a cell stack temperature, or from a coulombs per liter of hydrogen fuel calculation, for example.

Example Methods

[0084] Fig. 11 shows an example method 1100 of fault detection in a fuel cell engine. The fuel cell engine may be in a vehicle. In the flow diagram of Fig. 11, operations of the example method 1100 are shown in individual blocks. The order in which the operations are described in the example method 1100 is not intended to be construed as a limitation, and any number of the described blocks can be combined in any order and/or in parallel to implement the process.

[0085] At block 1102, the method 1100 includes storing runtime control data at set time intervals, the runtime control data associated with operating an orifice of an electronically controlled fuel valve in a fuel cell engine.

[0086] At block 1104, the method 1100 includes storing parameter data of the fuel cell engine at the set time intervals, the parameter data indicating a current condition in the fuel cell engine for each of one or more parameters represented in the parameter data.

[0087] At block 1106, the method 1100 includes associating data points of the parameter data with data points of the runtime control data at each time interval of a selected number of the set time intervals to determine a functional relationship between the parameter data and the runtime control data.

[0088] At block 1108, the method 1100 includes detecting a change in the functional relationship over a selected time period.

[0089] At block 1110, the method 1100 includes, when the change in the functional relationship exceeds a threshold, creating a physical alert, an error code, and/or a physical action in the fuel cell engine or the vehicle in response. [0090] In an implementation, the example method 1100 may include comparing an average of the parameter data for each of the one or more parameters represented in the parameter data over the selected number of the set time intervals in relation to the runtime control data operating the orifice over the selected number of the set time intervals to determine the functional relationship between the parameter data for each parameter and the runtime control data. For example, the parameter data may be power output data of the fuel cell engine.

[0091] The example method 1100 may include assigning the runtime control data for a given state of the orifice of the electronically controlled fuel valve to a histogram, assigning the associated data points of the parameter data to the histogram in relation to the runtime control data for the given state of the orifice, and finding a central tendency of the histogram for the given state of the orifice. The method determines a drift or a skew in the central tendency of the histogram over the selected time period, and when the drift or the skew of the central tendency of the histogram exceeds a threshold, the method creates a physical alert, an error code, and/or a physical action in the fuel cell engine or vehicle.

[0092] In an implementation, the example method 1100 assigns the data points of the runtime control data and the data points for each of n parameters in the parameter data to an n-dimensional problem space, determines a pattern of relationships between the runtime control data and each parameter of the n parameters as a baseline, and when the pattern of relationships changes beyond a threshold, creates the physical alert, the error code, and/or the physical action in the fuel cell engine or vehicle in response.

[0093] The example method 1100 may include multiplying the detected change in the functional relationship over the selected time period by a correction factor to filter out a degree of change in the functional relationship due to a predicted degradation of the fuel cell stack 114 over time, the correction factor subtracting a degree of the change caused by the predicted degradation per unit time.

[0094] Fig. 12 shows another example method 1200 of fault detection in a fuel cell engine. In the flow diagram of Fig. 12, operations of the example method 1200 are shown in individual blocks. The order in which the operations are described in the example method 1200 is not intended to be construed as a limitation, and any number of the described blocks can be combined in any order and/or in parallel to implement the process.

[0095] At block 1202, the method 1200 includes associating data points of a power output parameter in the parameter data of the fuel cell engine with data points of runtime control data of the fuel cell engine to determine a functional relationship in a 2-dimensional problem space between the power output data and the runtime control data.

[0096] At block 1204, the method 1200 includes detecting a fault in the fuel cell engine via a change in the functional relationship over a selected time period.

[0097] At block 1206, the method 1200 includes associating additional data points of additional parameters in the parameter data of the fuel cell engine with the data points of the power output parameter and the data points of the runtime control data in respective additional dimensions of an n-dimensional problem space for a principal component analysis of the data points of the runtime control data, the power output parameter data, and the additional parameters.

[0098] At block 1208, the method 1200 includes performing the principal component analysis on all the data points.

[0099] At block 1210, the method 1200 includes selecting a principal component demonstrating a high variance with respect to the runtime control data for diagnosing the fault. [00100] At block 1212, the method 1200 includes converting the data points for the parameter corresponding to the selected principal component into the n-dimensional problem space.

[00101] At block 1214, the method 1200 includes identifying the parameter of the fuel cell engine associated with the selected principal component and the fault.

[00102] The parameter data to be associated with the runtime control data and the power output data, for example, in the respective additional dimensions for the principal component analysis may originate from numerous different sources in the fuel cell engine, including from a fuel input pressure sensor, a fuel input temperature sensor, a post-fuel valve pressure sensor, a post-fuel valve temperature sensor, a pre-anode pressure sensor, a precathode air pressure sensor, a post-cathode air pressure sensor, a cell stack exhaust output pressure sensor, a fuel mileage algorithm, a fuel economy algorithm, a cell element voltage sensor, a cell stack power output sensor, an amperage sensor, a coolant flow sensor, an accelerometer, an incline sensor, a vehicle airflow resistance sensor, a torque sensor, a battery charging current sensor, a fuel flow rate, a cell stack temperature, or a coulombs per liter of hydrogen fuel calculation.

[00103] In the foregoing specification, embodiments of the invention have been described with reference to numerous specific details that may vary from implementation to implementation. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. The sole and exclusive indicator of the scope of the invention, and what is intended by the applicants to be the scope of the invention, is the literal and equivalent scope of the set of claims that issue from this application, in the specific form in which such claims issue, including any subsequent correction.