The present disclosure generally relates to fueling systems and more specifically to adjusting fueling commands to correct fueling rate errors.
In power generation systems, the engine combusts fuel provided by the fuel system using an oxidant, such as oxygen, to provide energy that drives the generator. Specifically, an engine controller (e.g., an electronic control module (ECM)) monitors a plurality of system operating parameters via various sensors and interprets a subset of the monitored parameters, such as engine speed, mass air flow rate, etc., to determine the fueling command that indicates desired amount of fuel to be injected. Fuel is then metered by the fuel system based on the fueling command and mixed with air stream aspirated by the engine. The air/fuel mixture is then transported through the air intake and finally ignited by sparks in power cylinders to generate power through its combustion.
Ideally, the actual fueling resulting from the fueling commands should maintain the lambda (i.e., the air to fuel ratio normalized by the stoichiometric air/fuel ratio) of the mixture at its target to achieve varying engine operation requirements. However, uncertainties in generating fueling commands in various operating conditions as well as uncertainties in the fuel system, and other factors may result in actual fueling varying from its desired amount.
Typically, the errors in actual fueling are absorbed and accounted for using a closed-loop lambda control in which the lambda target is compensated by a closed-loop controller, such as a proportional-integral-derivative (PID) controller. The closed-loop lambda controller measures the lambda via a lambda sensor and then generates a compensated lambda target through the comparison between the desired and measured lambda. The compensated lambda target, typically deviated from the original target, is used to cancel out the errors in actual fueling such that lambda can still be maintained at its original target in steady state even with fueling uncertainties.
However, in some examples, the measurements from the lambda sensor may be unavailable and thus lambda control only relies on a feed-forward control manner. For example, lambda measurements are typically unavailable during cranking (e.g., starting the engine) as the sensor requires time to warm up before it can provide an output. In the feed-forward control examples, the lambda target may be generated by pre-calibrated look-up tables and might not be compensated by the closed-loop controller. As a result, the uncertainties in fueling may result in steady-state errors in lambda tracking, and thus either preventing the engine from starting on time or, in the worst case, not starting at all. In this regard, there remains a need for providing systems and methodologies to address these and other shortcomings of the uncertainty-induced fueling errors, especially in feed-forward lambda control scenarios.
In the one or more embodiments, a system may determine one or more corrected fueling commands, such as by substituting/altering conventional fueling commands (e.g., nominal fueling command) with fueling rate correction data (e.g., one or more adaptive correction terms). The corrected fueling commands are used to control the fuel valves within the system. The change on the nominal fueling command made by the fueling rate correction data are used to compensate for the errors in fueling that may be induced by related accuracy errors (e.g., fueling uncertainties). The accuracy errors may be identified based on the determination of nominal fueling commands. Then, the values of the accuracy errors may be estimated using a steady state mode (e.g., off-line engine calibration method) in which the steady-state errors in lambda are compared with the identified accuracy errors in various engine operating conditions. After the off-line calibration, the fueling rate correction data are computed to correct the nominal fueling commands in real-time engine operation. The final form of the fueling rate correction data may depend on the estimated accuracy errors and/or related sensor readings. Further, the fueling rate correction data might not depend on the lambda measurements. In other words, they can be used to effectively eliminate or reduce the steady state error in lambda induced by fueling accuracy errors even when lambda feedback is unavailable in some scenarios. Additionally, and/or alternatively, in some examples, gradient-based approach may be employed to determine the structure of the fueling rate correction data through analyzing the relations between them and the identified accuracy errors.
In some instances, the corrected fueling may be used for feed-forward lambda control scenarios in which it is used to reduce the steady state error in lambda induced by fueling accuracy errors when lambda measurement is not available. In other instances, it may be used with closed-loop lambda controls in which it is expected to improve the transient performance of lambda tracking as it generates more accurate fueling commands compared to nominal ones.
In some embodiments, the present disclosure provides a system and method for correcting fueling commands. For example, the system may include a controller configured to perform the method. The method may comprise calibrating, by a controller, an engine operating in a steady-state mode by determining a plurality of accuracy errors associated with a fueling rate based on a plurality of measurements associated with a lambda sensor, determining fueling rate correction data during on-line operation of the engine based on the plurality of accuracy errors from calibrating the engine, wherein the on-line operation of the engine comprises operating the engine in a transient mode at a first period of time and the steady-state mode at a second period of time, and controlling at least one fueling valve during on-line operation of the engine using a corrected fueling command, wherein the corrected fueling command is based on the fueling rate correction data.
In some instances, the method may comprise calibrating the engine by providing one or more commands to cause the engine to operate at a plurality of operating parameters, receiving the plurality of measurements, wherein each measurement corresponds to a different operating parameter of the plurality of operating parameters, and calculating the plurality of accuracy errors based on the plurality of measurements. In some examples, the method may comprise receiving the plurality of measurements from the lambda sensor.
In some variations, the at least one of the plurality of accuracy errors may include a charge estimation gain error, a charge estimation offset error, an intake manifold pressure (IMP) sensing gain error, an IMP sensing offset error, an intake manifold temperature (IMT) sensing gain error, an IMT sensing offset error, a first valve fueling gain error, a second valve fueling gain error, a total fueling offset error, and/or a stoichiometric air fuel ratio (AFR) offset error.
In some instances, the fueling rate correction data comprises a first fueling rate correction value and a second fueling rate correction value. The method may further comprise determining the first fueling rate correction value based on a desired lambda value, the plurality of accuracy errors, a nominal stoichiometric air fuel ratio, and a secondary fueling rate command ratio that is set to zero, and determining the second fueling rate correction value based on the desired lambda value, the plurality of accuracy errors, the nominal stoichiometric air fuel ratio, and the secondary fueling rate command ratio that is set to one.
In some examples, the corrected fueling command comprises a first corrected fueling command defined by
wherein {dot over ({circumflex over (m)})}*f1 is the first corrected fueling command, {dot over ({circumflex over (m)})}*f1 is a first fueling command based on a desired lambda value, is a nominal stoichiometric air fuel ratio, λdes is a desired lambda, ϕ(r=0) are a set of coefficients with a secondary fueling rate command ratio set to zero, and Θ′ are the plurality of accuracy errors.
In some instances, the corrected fueling command comprises a second corrected fueling command defined by
wherein {dot over ({circumflex over (m)})}*f2 is the second corrected fueling command, {dot over ({circumflex over (m)})}*f2 is a second fueling command based on a desired lambda value, is a nominal stoichiometric air fuel ratio, λdes is a desired lambda, ϕ(r=1) are a set of coefficients with a secondary fueling rate command ratio set to one, and Θ′ are the plurality of accuracy errors.
While multiple embodiments are disclosed, still other embodiments of the present disclosure will become apparent to those skilled in the art from the following detailed description, which shows and describes illustrative embodiments of the present disclosure. Accordingly, the drawings and detailed description are to be regarded as illustrative in nature and not restrictive.
The above-mentioned and other features of this disclosure and the manner of obtaining them will become more apparent and the disclosure itself will be better understood by reference to the following description of embodiments of the present disclosure taken in conjunction with the accompanying drawings, wherein:
While the present disclosure is amenable to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and are described in detail below. The intention, however, is not to limit the present disclosure to the particular embodiments described. On the contrary, the present disclosure is intended to cover all modifications, equivalents, and alternatives falling within the scope of the present disclosure as defined by the appended claims.
In the following detailed description, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific embodiments in which the present disclosure is practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the present disclosure, and it is to be understood that other embodiments can be utilized and that structural changes can be made without departing from the scope of the present disclosure. Therefore, the following detailed description is not to be taken in a limiting sense, and the scope of the present disclosure is defined by the appended claims and their equivalents.
In the current state of the art, traditional fueling commands (e.g., nominal fueling commands) are determined based on the estimated charge/air flow rate, the stoichiometric air-fuel ratio, the lambda setpoint, etc., without considering fueling accuracy errors. For example, the relation between λ target and the nominal fueling command may be given by:
where λdes is λ target, {dot over ({circumflex over (m)})}c is the estimated charge flow, {dot over ({circumflex over (m)})}f is the nominal fueling command, is the nominal Air Fuel Ratio (AFR). The symbol hat ({circumflex over ( )})over parameters herein stands for estimation, sensor readings, or commands, which are observables but typically deviated from their true values. λdes is the compensated lambda target if the system has the closed-loop lambda control and the original target if the lambda measurement is unavailable. The charge flow may be estimated by the speed density equation shown below:
where {circumflex over (N)}e is the measured engine speed, {circumflex over (P)}im and {circumflex over (T)}im are measured intake manifold pressure (IMP) and temperature (IMT), {circumflex over (η)}vol is the estimated volumetric efficiency (Vol. Eff.) and C is a constant given by:
where D is the engine displacement and R is the gas constant of the charge mixture. Based on equation (Eq.) (1), the nominal fueling command may be calculated by:
Ideally, the actual fueling resulting from the nominal fueling commands {dot over ({circumflex over (m)})}f should maintain the actual lambda at its target λdes. However, accuracy errors in nominal fueling commands for various operating conditions as well as in various fuel systems, and other factors may result in actual fueling varying from its desired amount. As explained below, the accuracy errors in generating fueling commands include the air estimation error caused by an imperfect air/charge estimation model, the sensing drifts of related signals, and others. Such accuracy errors may cause a deviation between the desired fueling and fueling commands. The accuracy errors (e.g., uncertainties) in the fuel system (e.g., a pressurized fuel supply and/or fuel control valve(s)) include part-to-part variation of fuel control valves, Gas Mass Flow (GMF) sensing drifts and others, which may cause the errors between fueling commands and actual fueling. In short, the nominal fueling commands {dot over ({circumflex over (m)})}f in Eq. (4) might not be adaptive to the above accuracy errors in fueling generation and thus lambda tracking performance may be degraded if fueling accuracy errors exist.
For example,
The pressurized fuel supply 216 may provide fuel, such as gasoline, natural gas, diesel fuel, to the engine and/or generator 220. An exemplary fueling system is described in International Application No. PCT/US2017/058078, titled FUEL PUMP PRESSURE CONTROL STRUCTURE AND METHODOLOGY, filed Oct. 24, 2017, the entire disclosure of which is hereby incorporated by reference. One or more components within the system 200 (e.g., sensors 212, unit 245, unit 230, and/or the fueling control valves 214) may be subjected to fueling accuracy errors 218 as will be explained below.
The engine and/or generator 220 may be any suitable type of system that generates power for a load. For example, the engine and/or generator 220 may be a power generator (PowerGen) system. The engine and/or generator 220 may receive fuel from a fueling system (e.g., a pressurized fuel supply 216) and combust fuel as is known in the art. Using the combustion process, the engine and/or generator 220 may provide power to the load. The load may be a device, system, and/or other type of entity that uses the energy from the combustion process to perform tasks. In some examples, the engine may be a diesel engine and the fuel may be diesel fuel.
The controller 202 may be any suitable type of module, apparatus, system, processor, or device suitable for implementing aspects of embodiments of the disclosed subject matter. Examples of the controller 202 may include, but are not limited to one or more workstations, servers, cloud computing platforms, laptops, desktops, tablet computers, hand-held devices, general-purpose units, state machines, APUs, CPUs, GPUs, engine control modules (ECMs), engine control units (ECUs), and the like, all of which are contemplated within the scope of the controller 202.
The controller 202 may include and/or use one or more units such as a stochiometric air-fuel ratio unit 230, a lambda setpoint determination unit 235, a fueling command adaptive correction unit 240, a charge/air estimator unit 245, and/or a fueling command generation unit 222. The stochiometric air-fuel ratio unit 230 may determine a stochiometric air-fuel ratio based on fuel type and quality. The lambda setpoint determination unit 235 may determine a lambda setpoint based on application needs. If a closed-loop lambda method is used, unit 235 may output a compensated lambda setpoint. The fueling command adaptive correction unit 240 may compute fueling correction data in real time and send them to the fueling command generation unit 222 for the computation of corrected fueling commands. The charge/air estimator unit 245 may estimate charge/air flow for the fueling command calculation. The units 222, 230, 235, 240, and/or 245 may be used by the controller 202 to receive information from one or more sensors 212, correct the fueling commands, and/or control operation of the engines and/or generators 220. As used herein, the term “unit” refers to, be part of, or include an Application Specific Integrated Circuit (ASIC), an electronic circuit, a processor or microprocessor (shared, dedicated, or group) and/or memory (shared, dedicated, or group) that executes one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality. In some examples, these units 222, 230, 235, 240, and/or 245 may be operated as separate units. In other examples, the functionalities of one or more of these units 222, 230, 235, 240, and/or 245 may be combined together (e.g., a single unit, such as a fuel correction unit, is used to perform the methods described herein).
In some examples, the controller 202 may include memory 225. Memory 225 may be RAM, ROM, or any other suitable memory and/or medium. In some examples, the memory 225 includes computer-executable instructions that when executed cause a processor (e.g., the controller 202 and/or one or more processors within the controller 202) to cause the controller 202 to implement aspects of embodiments as discussed herein and/or to perform aspects of embodiments of methods and procedures discussed herein.
The controller 202 may be in communication with and/or control one or more systems, apparatuses and/or devices within the system 200. For example, as will be explained below, the controller 202 may be configured to generate fueling commands by correcting for fueling accuracy errors 218 within the system 200. The controller 202 may also be configured to receive information and/or control operation of the engine and/or generator 220.
The engine and/or generator 220 may include one or more fuel valves. The controller 202 may provide one or more corrected fueling commands indicating one or more fueling rates to the fueling system 220. The fueling system 220 may provide fuel to the engine and/or generator 220 based on the fueling commands. The corrected fueling command may be determined by altering the nominal fueling command with fueling rate correction data (e.g., correction terms) given below:
{dot over ({circumflex over (m)})}*f={dot over ({circumflex over (m)})}f((1+Δf) (5)
where {dot over ({circumflex over (m)})}*f is the corrected fueling command, Δf is the fueling rate correction data, and {dot over ({circumflex over (m)})}f is the nominal fueling command, such as the one given by Eq. 4. In a multi-valve engine system, the fueling rate correction data may include multiple correction terms with each term altering a respective nominal fueling command corresponding to each fuel valve. For the system with n fuel valves:
where {dot over ({circumflex over (m)})}*fj, {dot over ({circumflex over (m)})}*fj, Δfj, j=1,2 . . . n are the corrected fueling command, nominal fueling command, fueling rate correction data for each fuel valve, respectively. The change on the nominal fueling command made by the adaptive correction term {dot over ({circumflex over (m)})}*fΔf is intended to compensate the errors in fueling induced by accuracy errors.
For example, the accuracy errors in fueling may be identified based on and/or using a fueling uncertainty model introduced below:
where λmeas is measured by lambda sensors and assuming the lambda measurement is accurate during steady state, {dot over (m)}c is the true charge flow rate, {dot over (m)}f is the actual fueling, AFRs is the true AFR.
The fueling accuracy errors of a two fuel-valves engine are analyzed below as an illustrating example. The analysis may be similarly performed or extended to any engine systems including multi-valve engines. In the illustrating example, a charge flow uncertainty model may be introduced below:
{dot over (m)}c=(1+ΔG{dot over (m)}
where a gain error ΔG{dot over (m)}
where Pim and Tim are the true pressure and temperature possibly deviated from their sensor readings due to sensor drifts, degradation, etc. The sensor accuracy errors may be modeled below,
Pim=(1+ΔGP
Tim=(1+ΔGT
where gain errors ΔGP
Ne={circumflex over (N)}e (12)
Using true signal values, the actual volumetric efficiency in the illustrating example maybe estimated by the model below
ηvol=(a0+a1Ne+a2Pim+a3Ne2+a4Pim2+a5NePim)*(a6+a7Tim+a8Tim2) (13)
where ai are the model coefficients to be calibrated.
The fuel system may include another set of accuracy errors. For example, in a two-valve system, the total nominal fueling commands are the summation of the fueling commands of the two individual valves.
A parameter, named 2nd fueling ratio, is defined
With the introduced r, the nominal fueling commands of the 1st and 2nd fuel valves may be re-written as
{dot over ({circumflex over (m)})}f1=(1−r){dot over ({circumflex over (m)})}f (16)
{dot over ({circumflex over (m)})}f2=r*{dot over ({circumflex over (m)})}f (17)
The accuracy errors and the fueling rate correction in the 1st fueling may be modeled as
{dot over (m)}f1=(1+ΔG{dot over (m)}
where {dot over (m)}f1 is the actual fueling of the 1st fuel valve, ΔG{dot over (m)}
{dot over ({circumflex over (m)})}f1={dot over ({circumflex over (m)})}f1(1+Δf1) (19)
The accuracy errors and the fueling rate correction in the 2nd fueling may be modeled as
{dot over ({circumflex over (m)})}f2=(1+ΔG{dot over (m)}
where {dot over (m)}f2 is the actual fueling of the 2nd fuel valve, ΔG{dot over (m)}
{dot over ({circumflex over (m)})}f2={dot over ({circumflex over (m)})}f2 (1+Δf2) (21)
The actual total fueling is then obtained by combining Eqs. (18) and (20), given below
{dot over (m)}f={dot over ({circumflex over (m)})}f((1−r)(1+ΔG{dot over (m)}
In Eq. 22, {dot over ({circumflex over (m)})}f is the nominal total fueling command and its deviation from actual total fueling is caused by the coupled effect of the accuracy errors and fueling rate correction data of the two fuel valves. In addition, fuel quality uncertainty may be modeled by
AFRs=+ΔBAFR
where an offset error ΔBAFR
In the illustrating example, ten fueling accuracy errors are introduced and fueling rate correction data includes two fueling rate corrections that are proposed to cancel out the effect of the accuracy errors in resulting in fueling and lambda tracking errors. Table 1 summarizes the introduced fueling accuracy errors and the corrections. The fueling accuracy errors hereafter are denoted by:
Θ=[θ1 θ2 . . . θm]′ (24)
In this illustrating example, m=10. The typical error range of each error is shown below in Table 1:
At step 304, the controller 202 derives a plurality of regressors (ϕ) corresponding to the plurality of accuracy errors (Θ). For example, by applying Taylor series expansion to the fueling uncertainty model introduced by Eq. (7) at the nominal condition (θi=0 and Δfj=0, ∀i,j), the controller 202 may determine the below equation
where m=10 and n=2 in the illustrating example. In Eq. (25), λθ
In Eq. (26),
is the lambda deviation caused by the fueling accuracy errors Θ and
is the lambda deviation caused by the proposed fueling rate correction data Δf. The controller 202 uses Eq. 26 to determine Δfj such that the fueling rate correction data cancel out the effect of the fueling accuracy errors on lambda deviation and thus, the true lambda λmeas is equal or close to its desired value λdes.
For example, the controller 202 may derive the equation (27) below
using suitable fueling rate correction data Δf, which consists of the first fueling rate correction term Δf1 and the second first fueling rate correction term Δf2 in the illustrating example. If Eq. (27) holds, then according to Eq. (26), λmeas is equal or close to its desired value λdes.
λmeas−λdes≈0 (28)
The partial derivatives of λmeas with respect to fueling accuracy errors Θ are denoted by ϕ and named regressors hereafter,
Further, the lambda deviation caused by fueling accuracy errors can be written into a vector form given below
For the illustrating example, a full expansion of ϕ′Θ is
where KP and KT are the terms from the partial derivative of ηvol, given by
The identified accuracy errors Θ may have different units varying from pressure, temperature, percentage, fraction, etc. The numerical range of each θi may be largely different. In some examples, the accuracy errors and regressors are normalized such that
ϕ′Θ=
and
Further, ϕ and Θ used below may stand for their normalized values.
At step 306, the controller 202 calibrates an engine (e.g., engine and/or generator 220) by determining (e.g., estimating) the accuracy errors (Θ) based on the regressors (ϕ) and lambda measurements from a lambda sensor (e.g., offline calibration of the engine 220). For example, the engine (e.g., 220) may run at multiple different operating parameters (e.g., conditions) such as at various engine speeds, different loads, lambda setpoints, and/or fueling command ratios. The controller 202 may set the operating parameters of the engine 220 and measure the lambda at the steady state of each operating condition. Using the lambda measurements at the different operating parameters, the controller 202 may determine the plurality of accuracy errors. By calculating, determining, and/or estimating the accuracy errors during the calibration process (e.g., step 306), the controller 202 may use the estimated accuracy errors to adjust the fueling commands to correct for errors in the fueling rates of the fueling system 220 during run-time even when the lambda measurements are unavailable. A lambda scouting may be needed to assist in initial engine start for the calibration.
In some examples, the controller 202 may use an optimization equation, algorithm, and/or function (e.g., a least square optimization) to determine the plurality of accuracy errors for the engine 220. In some examples, depending on the engine 220, the controller 202 may calibrate the engine 220 using different (e.g., additional and/or less) accuracy errors than the ones described at step 302. For example, for certain engines 220, the controller 202 might not use any gain errors and/or offset errors. Additionally, and/or alternatively, for certain engines 220, the controller 202 might not use the intake manifold pressure and/or temperature gain/offset errors. Additionally, and/or alternatively, for certain engines 220, the controller 202 may use additional errors not listed above to calibrate the engine.
In some examples, if the fueling rate correction terms from the data are set to zero in Eq. (26), meaning nominal fueling commands are used, then
λmeas−λdes=ϕ′Θ (36)
Eq. (36) indicates the relation between the lambda error and the identified accuracy errors Θ with nominal fueling commands, which can be used in offline calibration to estimate the accuracy errors Θ by measuring λmeas−λdes and ϕ across engine operating range. Based on Eq. (36), the controller 202 determines the Θ estimation problem as follows: Find {circumflex over (Θ)} such that the norm of (λmeas−λdes−ϕ′{circumflex over (Θ)}) across the complete operating range is minimized. In other words, the controller 202 determines a set of estimated accuracy errors such that:
where XϵRk is a numerical vector evaluating lambda errors and YϵRk×m is a numerical matrix evaluating ϕ′ at all the k operating points. ϕ only contains nominal parameters that are available for computing Y, such as estimation, sensor readings, desired lambda, etc. In the illustrating example, ϕ=ϕ({circumflex over (P)}im, {circumflex over (T)}im, {dot over ({circumflex over (m)})}c, , λdes, r).
In some examples, the calibration can also be done in steady state during on-line operation when lambda measurements are available. In such examples, the lambda deviation caused by fueling rate correction data Δf, referring to Eq. (26), may also need to be taken into account in estimating accuracy errors.
Referring to Eq. (37), X comes out to be a 36-by-1 vector and Y comes out to be a 36-by-10 matrix denoting 36 data points on the data points map and 10 fueling accuracy errors.
In some examples, such as in Eq. (38), {circumflex over (θ)}4=0.9929 closely matches the value of its corresponding imposed accuracy error θ4. However, other accuracy errors, such as {circumflex over (θ)}8=−0.0683, might not match the corresponding imposed accuracy error θ8. This may mean some of the uncertainties might not be observable, but the overall estimation performance is still good enough across the engine operating range.
At step 308, the controller 202 determines (e.g., derives) fueling rate correction data equations (Δ) based on ϕ and/or the determined {circumflex over (Θ)}. The fueling rate correction data indicates correction terms for each of the fueling valves. The correction terms are used to cancel out the effect of the plurality of accuracy errors such that the lambda value within the engine 220 is substantially similar to the desired lambda value even when lambda feedback is not available.
Θ is estimated by {circumflex over (Θ)} as described at step 306. Then, {circumflex over (Θ)} can be used to substitute Θ in Eq. (27), as rewritten below
For the illustrating example, the expansion of the correction terms in Eq. (39) is
Eq. (41) is obtained by combining Eqs. (39) and (40),
Eq. (41) should be held all the time regardless the value of the r. Therefore, the first fueling rate correction term (Δf1) equation can be obtained by setting r=0, meaning the moment the fuel is solely injected by 1st fuel valve,
Similarly, the second fueling rate correction term (Δf2) equation can be obtained by setting r=1, meaning the moment the fuel is solely injected by 2nd fuel valve,
The explicit forms of the fueling rate correction data equations Δf1 and Δf2 in the illustrating example are given below in Eq. (44) and (45)
At step 310, the controller 202 determines (e.g., derives) corrected fueling commands equations based on the fueling rate correction data. For example, after determining the fueling rate correction data (e.g., Δf1 and Δf2), the controller 202 corrects a fueling rate command for the fueling valves with the fueling rate correction data (e.g., correcting the nominal fueling command using the fueling rate correction data).
In other words, during the calibration process, the controller 202 calibrates the engine 220 using the lambda sensor by finding the accuracy errors within the system 200. For example, the system 200 may have an IMP and/or IMT sensing offset error that is present for the particular engine 220. The controller 202 may determine the sensing offset errors during the calibration process by using the lambda measurements. Then, during run-time, these accuracy errors (e.g., the sensing offset errors) may still be present. The controller 202 determines/uses fueling rate correction data and/or corrected fueling commands for the valves to account for the presence of these accuracy errors that were determined during the calibration process. The lambda measurements are only required in the calibration process in determining the accuracy errors. During run-time, corrected fueling commands are computed based on the determined accuracy errors, which do not rely on the lambda measurement from the lambda sensor. Therefore, corrected fueling commands are still implementable even when lambda measurements are not available in some time during run-time such as engine start-up phases.
In some examples, Δf is calculated at step 308 and then the corrected fueling commands can be constructed according to Eq. (5). For the illustrating example, the two corrected fueling commands are explicitly given below
At step 312, the controller 202 stores the corrected fueling command equations from step 310, the estimated accuracy errors from step 306, and/or the fueling rate correction data equations from step 308 in memory 225. In some instances, the fueling command adaptive correction unit 240 may perform the steps from method 300 (e.g., 302-310) and then store the results, such as the equations, accuracy errors, corrected fueling commands, and/or correction terms in memory 225. Then, as described below in method 400, the controller 202 may use the correction terms (e.g., Eq. 42 and Eq. 43) and/or estimated accuracy errors to generate corrected fueling commands according to Eq. (5) for controlling the engine 220.
At step 404, the controller 202 may determine fueling rate correction data (e.g., first and second correction terms) during on-line operation of the engine 220 based on the plurality of accuracy errors. The on-line operation of the engine may be when the engine 220 is providing power to a load and/or include a time period that the engine is operating in a transient state mode and another time period that the engine is operating in a steady-state mode. For example, the engine 220 may be in a transient state mode when the engine 220 is ramping up, ramping down, start-up, cranking, and/or shutting down. If the engine 220 is not in the transient state mode, the engine 220 may be in a steady-state mode. For example, in some instances, the engine 220 is in a transient mode when the engine 220 is ramping up (e.g., cranking or starting up). Then, the engine 220 is in a steady state mode for a period of time. After, the engine 220 is back in the transient mode when the engine 220 is ramping down (e.g., shutting down).
In other words, the controller 202 may retrieve the fueling rate correction data equations (e.g., Eqs. 42, 43, 44, and/or 45) determined at step 308 above. The controller 202 may also measure parameters from the sensors 212 such as engine speed, IMP, IMT, etc. The controller 202 may use these parameters to calculate the regressors (ϕ) for the fueling rate correction data equations. Then, the controller 202 may determine fueling rate correction data based on the accuracy errors from step 402, the measured parameters from the sensors 212, and the fueling rate correction data equations from block 308.
At step 406, the controller 202 controls the fuel valve(s) 214 during on-line operation of the engine 220 using corrected fueling commands {dot over ({circumflex over (m)})}*f. The corrected fueling commands may be based on the fueling rate correction data from step 404.
In other words, the controller 202 may retrieve the corrected fueling command equations (e.g., Eqs. 46 and 47) from the memory 225. The controller 202 may also determine the nominal fueling commands as described above and/or based on Eq. 4. Then, based on the nominal fueling commands, the corrected fueling command equations, and the fueling rate correction data from step 404, the controller 202 may determine the corrected fueling commands. The corrected fueling commands may be for one or more valves. For example, the controller 202 may use Eq. 46 to determine a first fueling command for the first valve of the fuel control valves 214. The controller 202 may use Eq. 47 to determine a second fueling command for the second valve of the fuel control valves 214. After, the controller 202 may use the determined fueling command(s) to control the fuel valves 214 during on-line operation of the engine 220.
Additionally, and/or alternatively, the computation of fueling correction data Δf and the corrected fueling commands {dot over ({circumflex over (m)})}*f in on-line operation of the engine 220 might not require lambda measurements from a lambda sensor if off-line calibration is adopted. Thus, they can be used to effectively to eliminate or reduce the steady state error in lambda induced by fueling accuracy errors even when lambda feedback is unavailable in some scenarios.
In other words, when the engine 220 is at a steady state (e.g., off-line mode or after a ramp up period of during on-line operation), the controller 202 may calibrate an engine to determine the accuracy errors. Then, during a transient mode (e.g., ramp up mode), measurements from the lambda sensor may be unavailable (e.g., inaccurate and/or the lambda sensor is not providing measurements) to the controller 202. The controller 202 may use steps 404 and/or 406 to determine fueling rate correction data and corrected fueling commands to control the fueling valves 214. In some examples, the controller 202 may determine the lambda sensor is unavailable based on an engine start up or shut down command.
Embodiments of the present disclosure are described by way of example only, with reference to the accompanying drawings. Further, the following description is merely illustrative in nature and is in no way intended to limit the disclosure, its application, or uses. As used herein, the term “unit” or “module” refers to, be part of, or include an Application Specific Integrated Circuit (ASIC), an electronic circuit, a processor or microprocessor (shared, dedicated, or group) and/or memory (shared, dedicated, or group) that executes one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality. Thus, while this disclosure includes particular examples and arrangements of the units, the scope of the present system should not be so limited since other modifications will become apparent to the skilled practitioner.
It is to be understood that the above description is intended to be illustrative, and not restrictive. Many other embodiments will be apparent to those of skill in the art upon reading and understanding the above description. For example, it is contemplated that features described in association with one embodiment are optionally employed in addition or as an alternative to features described in associate with another embodiment. The scope of the present disclosure should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.
The present application claims priority to U.S. patent application Ser. No. 62/884,456, filed Aug. 8, 2019, the entire disclosure of which being expressly incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5755212 | Ajima | May 1998 | A |
8219302 | Yamashita | Jul 2012 | B2 |
8573185 | Miura | Nov 2013 | B2 |
20100132681 | Okazaki | Jun 2010 | A1 |
Number | Date | Country | |
---|---|---|---|
20210040909 A1 | Feb 2021 | US |
Number | Date | Country | |
---|---|---|---|
62884456 | Aug 2019 | US |