Method for monitoring and storing the angular position of a heat engine using a camshaft sensor
The method leverages camshaft sensor data to monitor and store the angular position of a heat engine, addressing the challenge of unreliable engine speed monitoring during crankshaft sensor failures, and ensuring continuous and accurate engine speed calculation.
Patent Information
- Application Number
- FR2023014356
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-18
- Publication Date
- 2025-06-20
AI Technical Summary
Existing methods struggle to reliably monitor and store the angular position of a heat engine, especially during degraded operating modes when the crankshaft sensor fails, leading to inaccurate engine speed monitoring.
A method utilizing data from a camshaft sensor to monitor and store the angular position of a heat engine, even in the absence of a functional crankshaft sensor, by detecting successive camshaft fronts and calculating the engine's angular position based on learned positioning data.
Enables continuous and reliable monitoring of engine speed, reducing errors and maintaining accurate speed calculations even during crankshaft sensor failures, thus enhancing engine management and vehicle performance.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: Method for monitoring and storing the angular position of a heat engine using a camshaft sensor Technical field of the invention
[0001] The invention relates to a method for monitoring and storing the angular position of a heat engine, making it possible in particular to determine the speed, or rotational speed of the engine.
[0002] More particularly, the invention relates to a method for monitoring and storing the angular position of a heat engine (in particular internal combustion), operating according to a predetermined cycle, which is implemented during a degraded operating mode of the internal combustion engine. Technical background
[0003] A thermal engine is, for example, a so-called four-stroke engine.
[0004] It comprises cylinders in each of which a piston moves according to a back and forth movement and this movement is transformed by connecting rods into a rotational movement of a crankshaft.
[0005] To complete a combustion cycle in a cylinder, the crankshaft makes two revolutions, or 720 degrees of rotation angle or 720°CRK. The person skilled in the art knows how such an engine works.
[0006] For a thermal engine, an engine management method generally provides for triggering a software task called a segment, once per cylinder and per engine cycle, i.e. during a cycle of 720°CRK of crankshaft rotation angle, there are as many segments as there are cylinders.
[0007] This segment is an angular appointment determined for each cylinder a segment such that a computer can determine new setpoint values, and has time to apply them to execute associated setpoint tasks.
[0008] For an engine with four cylinders, there are therefore four segments per 720°CRK cycle, and therefore one segment every 180°CRK.
[0009] For an engine with three cylinders, there are therefore three segments per 720°CRK cycle, and therefore one segment every 240°CRK.
[0010] The angular position of the engine (expressed in °CRK modulo 720°CRK) at which, for a cylinder, the calculation of setpoint values begins is called a “segment”.
[0011] For an engine cycle (over two crankshaft revolutions or 720°CRK), there are as many segments as there are cylinders in the engine. At each segment (for example every 180°CRK for an engine with four cylinders in line), the system of control and management, or more specifically a calculator (or ECU for Engine Control Unit) is used to determine setpoint values.
[0012] A task performed by the engine management and control system starting at a given segment is called a "segment task".
[0013] The speed, or rotational speed, must be monitored in order, for example, to avoid unexpected acceleration of the vehicle.
[0014] Indeed, when the clutch which connects the engine to the transmission of torque to the driving wheels of the vehicle is engaged or clutched, a connection between the thermal engine and the driving wheels is established, and an unexpected deviation in the rotational speed of the engine negatively influences the acceleration of the vehicle.
[0015] To accomplish such monitoring when the engine is synchronized, i.e. when the angular position of the crankshaft is known over the engine cycle, when the angular position of the crankshaft reaches a given value, a software segment task is activated.
[0016] In a known manner, the angular position of the engine is estimated on the basis of signals representative of the angular position of the crankshaft and / or of a camshaft belonging to the distribution of the thermal engine.
[0017] For this purpose, it is known to provide the crankshaft with a crankshaft target with peripheral teeth.
[0018] A CRK crankshaft angular position sensor, which provides a crankshaft signal, is placed opposite the target and detects the passage of each tooth of the target. The signal generated by the sensor is an electrical signal whose amplitude varies according to the passage of the tooth. The analysis of this signal thus makes it possible to detect tooth edges. Each edge is thus representative of the profile of the target seen by the sensor. The sensor thus detects each passage of a rising edge or a falling edge of each tooth.
[0019] In the same way, it is known to provide the camshaft with a target with peripheral teeth.
[0020] A camshaft angular position sensor CAM, which provides a camshaft signal, is placed opposite the target and detects the passage of each tooth of the target. The CAM sensor thus makes it possible to detect each passage of an active front of a tooth, also called the camshaft front or cam front, and produces a corresponding signal. The sensor thus detects each passage of a rising front or a falling front of each tooth.
[0021] A camshaft is driven by the crankshaft via a 1 / 2 ratio reducer.
[0022] Of course, the number of fronts can vary depending on the number of teeth of the camshaft target used.
[0023] It is known, during the first kilometers traveled by the motor vehicle, to carry out a phase or step of learning the positioning of the rising edges and the falling edges of the camshaft signal with reference to the angular distance from the crankshaft target.
[0024] Alternatively, the learning step is carried out in the factory during assembly of the motor vehicle.
[0025] Advantageously, the positioning relative to the crankshaft target of the rising and falling edges of the camshaft signal is stored in storage or memorization means.
[0026] For example, when the vehicle completes its first kilometers, the learning phase consists of identifying, and storing in a dedicated memory, the positioning of the rising edges and falling edges of the camshaft signal as a function of the crankshaft target.
[0027] Alternatively, an interpolation, and for example an average, of the positioning of the rising and falling edges of the first camshaft signal is carried out during several engine cycles.
[0028] In the event of a failure, for example, of the crankshaft sensor, when the signal from the CRK crankshaft sensor is absent, manufacturers have developed an operating mode for the internal combustion engine called "Limp home mode". This operating mode uses the information from the CAM sensor as a substitute for the CRK sensor.
[0029] Calculating the nominal engine speed using the crankshaft CRK sensor The rotation speed, or N speed, of the engine is expressed in number of revolutions per minute (rpm).
[0030] When a segment is activated, the timestamp of the crankshaft edge used is stored and the time, or duration, T elapsed between the edges used to generate the current segment and the previous segments is calculated.
[0031] The angle, or Length, between the last segment and the current segment is a constant value given by the engine (Length = 720°CRK / number of cylinders; for example, for a four-cylinder engine Length=180°).
[0032] The calculated value of the engine speed N is then calculated using the following formula in which the time T is expressed in seconds. JV (rpm). = 60- *
[0033] Monitoring by calculation of engine speed When this segment task is enabled, data including the estimated angular position of the motor and the timestamp is acquired and stored.
[0034] The difference with the similar data of the previous segment is calculated. PosnEngDifMon is the variation of the angular position of the motor when two consecutive calculations of this speed are carried out, and TiSegMon is the value of the time elapsed between the two timestamps.
[0035] The PosnEngDifMon value is therefore reestimated during each segment from the estimated position of the motor when the task is actually executed.
[0036] The engine speed monitoring value NEngMdlMon is calculated using the following formula:
[0037] If the two calculated speeds differ too much, an error is triggered.
[0038] The invention aims to enable reliable and continuous monitoring of the engine speed when the signal from the crankshaft sensor CRK is absent, for example in the event of a failure of the crankshaft sensor. Summary of the invention
[0039] The invention proposes a method for monitoring and storing the angular position of a heat engine which is implemented during a degraded operating mode of the heat engine using only data representative of the angular position of a camshaft driven in rotation synchronously by a crankshaft of the engine, said data being provided by a camshaft sensor making it possible to detect successive fronts of a target linked in rotation to said camshaft, the process comprising the successive steps consisting of: - El) detect a first front of the camshaft; - E2) determine the index of said first front of the camshaft; - E3) use the expected angular position (PosnCamLearn), learned during a learning phase of the positioning of the rising edges and falling edges of the camshaft signal, provided by the camshaft sensor, with reference to the angular position of the crankshaft, of said first indexed edge of the camshaft; - E4) from historical data, acquire the calculated angular position (PosnCamAcq) of the motor; - E5) calculate a first difference Dif 1 between the expected angular position (PosnCamLearn) of the first indexed front of the camshaft and the angular position calculated (PosnCamAcq) of the engine; - E6) compare the first difference Difl with a first threshold value Thdl; - E61) if Difl < Thdl, acquire and store the angular position of the engine and the system time stamp using a camshaft event activated by said first indexed edge of the camshaft; or - E62) if Difl > Thdl: —E621) activate a new camshaft event at an angular position equal to the expected angular position (PosnCamLearn) of said first indexed camshaft front increased by a second threshold value Thd2; then —E622) acquire and store a new angular position of the motor (PosnCamTrig) and the system timestamp.
[0040] According to other characteristics of the process:
[0041] - when the new camshaft event is activated, said step E62 consists of more to: —E623) calculate a second difference Dif2 between the new calculated angular position (PosnCamTrig) of the engine and the expected angular position (PosnCamLearn) of the first indexed front of the camshaft; then — E624) compare the second difference Dif2 with a second threshold value Th2 for: —E6241) if Dif2 < ThD2, acquire and store the new angular position of the motor (PosnCamTrig) and the system timestamp; or —E842) if Dif2 > Thd2, compare the second difference Dif2 with a third threshold value Thd3 strictly greater than the second threshold value Thd2 to, if Dif2 < Thd3, acquire and store the new angular position of the engine (PosnCamTrig) and the system time stamp or, if Dif2 >= Thd3 acquire and store another new expected angular position of the engine (PosnCamLearn) and the system time stamp upon detection of a following cam edge of the camshaft; - said next camshaft front is the camshaft front following said first camshaft front; - said first threshold value Thdl is less than or equal to three degrees of angle; - said second threshold value Thd2 is less than or equal to one degree of angle; - said third threshold value Thd3 is less than or equal to two degrees of angle. Brief descriptions of the figures
[0042] Other characteristics and advantages of the invention will appear during the reading of the detailed description which follows for the understanding of which reference will be made to the appended drawings in which:
[0043] [Fig.l] - [Fig.l] is a schematic diagram representing an example of offsets of generated segment triggers relative to actual motor angular positions;
[0044] [Fig.2] - [Fig.2] is a diagram illustrating an example of differences in positions or offsets between the values seen and the actual values of the cam front positions;
[0045] [Fig.3] - [Fig.3] is a diagram illustrating poor positioning of the fronts of the camshaft;
[0046] [Fig.4] - [Fig.4] is a diagram detail illustrating the calculated angular position and the acquired angular position of the motor;
[0047] [Fig.5] - [Fig.5] is another diagram detail illustrating the angular position calculated and acquired angular position of the motor;
[0048] [Fig.6] - [Fig.6] is a diagram detail illustrating three different hypotheses interpolation into a new CAM segment;
[0049] [Fig.7A] - Figure A7 is a detail of a diagram illustrating an example of a deviation between acquired value and estimated value;
[0050] [Fig.7B] - Figure B7 is a larger scale view of the detail circled in [Fig.7A];
[0051] [Fig.8] - [Fig.8] is a diagram illustrating an example of an erroneous estimation of the segment trigger;
[0052] [Fig.9] - [Fig.9] is a partial flowchart illustrating certain steps and sub- main steps of the method according to the invention. Detailed description of the invention
[0053] In the following description, identical, similar or analogous elements will be designated by the same reference.
[0054] Engine speed monitoring in degraded mode (when the CRK sensor is faulty or does not transmit information / signals to the system) In the case of a so-called variable valve timing engine, when the variable valve timing is in the locked position and the signal supplied by the CRK crankshaft sensor is available, the angular position of the successive edges of the camshaft is learned in order to know precisely each absolute angular position of the different edges of the camshaft.
[0055] If the crankshaft CRK sensor is defective, the angular position must be able to be determined on the basis of the information or data relating to the angular position of the camshaft provided by the camshaft CAM sensor.
[0056] In a VVT variable valve timing engine, if an error is detected on the signal representing the angular position of the crankshaft, the camshaft returns to the reference position.
[0057] The triggering of the segment is based on the angular position of the engine estimated using the signal representative of the angular position of the camshaft.
[0058] Sometimes, in case of very rapid acceleration or deceleration, the angular position of the motor is not precise and the triggering of the segment is generated far from the actual angular position of the motor at which it should have been.
[0059] This is illustrated schematically in [Fig.l] where the abscissa indicates the angular position of the crankshaft over a complete cycle of 720° and the ordinate indicates the trigger times in seconds.
[0060] The triggers of the segments TDC0, TDC1, TDC2, TDC3 which are angularly offset, and progressively more and more, relative to the associated real angular positions of the motor have been surrounded by ellipses.
[0061] For a constant speed of rotation, instead of being equidistant in time, the segments are not spaced regularly in time.
[0062] Current control strategies implemented by a management computer of an internal combustion engine operating according to a predetermined cycle generate segment tasks when the estimated angular position of the engine reaches expected associated values.
[0063] But since the estimates of the angular positions of the engine can be erroneous, the segments can be poorly located, and this generates poor monitoring of the engine speed.
[0064] In [Fig.2] the differences in positions or offsets between the values seen and the actual values of the positions of the fronts of the camshaft are represented on the abscissa in degrees of angle and on the ordinate in degrees of angle.
[0065] In the crankshaft angular position error limitation mode, current strategies are not robust to high accelerations and some monitoring errors may occur.
[0066] A monitoring problem can then lead to the replacement of the computer or controller or control unit, which is desirable to avoid.
[0067] The example illustrated in [Fig.3] shows poor location of the camshaft fronts.
[0068] Even during strong engine acceleration, the acceleration between two camshaft fronts can decrease (compression phase of a cylinder), which leads to an erroneous extrapolation of the position.
[0069] In case of combustion, regardless of the engine speed, regardless of the condition of the crankshaft CRK sensor, the monitoring of the angular velocity must be carried out correctly.
[0070] The invention also aims to make monitoring more robust and less dependent on the component used to estimate the angular position of the motor.
[0071] Indeed, the monitoring of the segment speed is carried out at the segment event, which is angularly dependent.
[0072] If a problem appeared in this component, the segment would no longer be of the correct duration and therefore neither would the monitoring speed.
[0073] Definitions: PosnCamLearn = Expected angular position learned during the learning phase of the positioning of the rising and falling edges of the camshaft signal PosnCamAcq = Calculated angular position (Acquired by calculation) of the engine when the camshaft front is detected. PosnCamTrig = Calculated angular position of the engine when the software task triggered by the detection of a new camshaft front is executed; PosnCamAcq = Read angular position of the camshaft.
[0074] The invention comprises the following steps Step A When the motor angular position is estimated between cam edges from the CAM sensor, it is always necessary to limit the motor angular position to a value just below the next learned cam edge angular position.
[0075] In other words, the angular position of the motor can never be calculated after the angular position of the next cam front; that is: Angular position of the motor < PosnCamLearn.
[0076] If the angular position of the engine has been underestimated, the gap to be covered when receiving the cam front may be significant.
[0077] If the angular position of the motor has been overestimated, the angular position of the motor will be saturated at the value just before the exact angular position of the next received cam edge.
[0078] Step B When a new cam front is received, the calculated angular position of the motor is stored, i.e.: Angular position of the motor = PosnCamAcq, and the difference Difl (which is strictly positive following the limitation of Step A) between the calculated angular position and the acquired angular position is calculated: Difl = PosnCamLearn - PosnCamAcq.
[0079] Sub-step Bl A comparison of the difference Difl is made with a first threshold value Thdl, making it possible to ensure that the angular position at which the time stamp and the acquisition of the angular position of the motor are plausible.
[0080] As can be seen in [Fig.4], if the difference Difl is lower than a threshold Thdl (For example equal to 3°CRK), the acquisition of the angular position of the motor and the time stamp are immediately carried out.
[0081] As it is certain that the calculated angular position of the engine is close to the actual angular position of the engine (because Difl is less than 3°CRK and a new cam front is received), the acquisition of the timestamp / calculated angular position is performed by an existing camshaft SW "trigger" (which is a software tool managed by the ECU operating system), a delay related to this processing will be applied.
[0082] When this trigger is actually applied, the actual angular position of the motor will therefore be closer to the actual angular position.
[0083] Substep B2 As can be seen in [Fig.5], if the difference Difl is greater than a threshold Thdl (for example equal to 3°CRK), a request to generate a new “confirmed edge received” trigger is made.
[0084] The request for generation of this trigger must be made after the planned CAM angular position, i.e. at: PosnCamLearn) + threshold (Thd2, for example equal to 1°).
[0085] When this trigger is executed, the acquisition of the angular position and the timestamp is performed.
[0086] This new SW triggering of the camshaft is carried out just after receiving the camshaft front. When this triggering is carried out, the difference between the actual angular position of the engine and that calculated must be reduced to a very low value (Close to 1°CRK, given by the value of the threshold Thd2).
[0087] To confirm this, the calculated angular position of the motor is stored; i.e.: PosnCamTrig= Angular position of the motor and the difference Dif2 (which is strictly positive) between the calculated angular position and the expected angular position when the cam front was received is calculated; that is: Dif2 = PosnCamTrig - PosnCamLearn.
[0088] This value should be close to 1° if the new calculated angular position is correct.
[0089] The example illustrated in [Fig.6] shows the three different interpolation hypotheses in the new CAM segment.
[0090] Hypothesis 1 is a correct estimate of the engine speed.
[0091] Hypothesis 2 is a poor estimate of the angular position with too low an estimate of the slope.
[0092] Hypothesis 3 is a poor estimate of the angular position with too high an estimate of the slope.
[0093] The acquisition used for safety of the new camshaft trigger does not pose no problem in hypotheses 1 and 2, because the angular position is close to the real angular position (The difference is less than Thd2).
[0094] In hypothesis 3, the angular position could already be very far from reality.
[0095] As can be seen by referring to figures HA and HB, a new threshold Thd3 (for example equal to 2°CRK) is thus defined to distinguish hypotheses 1 and 2 from hypothesis 3.
[0096] The value of Thd3 must be strictly greater than that of Thd2.
[0097] The acquisition and storage of the calculated angular position and the time stamp must be carried out if the value of Dif2 is less than the value of Thd3. This means that the actual error on the angular position is less than the value of Thd3. Since the value of Thd3 is sufficiently low, the estimation of the monitoring speed will then be correct.
[0098] If the angular position is already too large, the acquisition used for safety will not be done, but will be done at the next cam front. Indeed, as the next angular position of the camshaft will be reached quickly, the angular position will be saturated, and when the real cam front is received, the new calculated value of Difl will be lower than that of Thdl
[0099] In this regard, reference may be made to Figures 7A and 7B.
[0100] Thdl: The 3° margin or threshold value is the (angular) length to ensure that the angular position in which the timestamp / angular position is acquired is plausible.
[0101] Thd2: The margin or threshold value of 1° must be as close as possible to the instant (But after the instant) at which the angular position is known.
[0102] Thd3: The margin or threshold value of 2° ensures that 1° after the previous cam edge, the estimated angular position is still plausible.
[0103] The combination of the two margins or threshold values Thd2 and Thd3 results in a low angular position error for all cam edges; the measurement error is thus reduced.
[0104] If a value does not seem plausible, it is rejected.
[0105] Advantageously, this mechanism guarantees that only one sample will be rejected. In addition, the speed used for safety will always be calculated with a longer cam segment. Thus, the speed and its variation remain plausible.
[0106] The speed is always calculated using consistent data and therefore the calculated speed is always plausible.
[0107] Indeed, the determination of the pair of quantities used for the calculation of the monitored speed [Motor position, timestamp of the present instant] is always consistent, because the principle described ensures that the position of the motor used in the calculation is always very close to a known value, which is the actual position of reception of the edge of the camshaft target.
[0108] The calculation of the monitored speed can always be carried out at the position of the segment, even if this position is not precise, because the information used for this calculation is always consistent because it was previously determined close to the reference position.
[0109] This proposal reduces the negative effects of estimating the engine angular position. Indeed, if the engine calculation is poorly estimated between edges, the engine angular position is wrong when the new camshaft edge is received.
[0110] If the front is received earlier than expected, the angular position of the motor has been underestimated and the angular position of the motor is quickly updated to find the correct position.
[0111] If the underestimation was too large, the generation of the new 1°CRK trigger after receiving the camshaft front then makes the position estimate close to reality.
[0112] If the front is received later than expected, the angular position of the engine has been overestimated and the angular position of the engine is saturated just above the theoretical angular position of the next camshaft front until it is received. Triggering then only takes place when the new camshaft front is received. The angular position estimated at this time is therefore close to reality.
[0113] The segment trigger can still be used for monitoring speed display / calculation, even if the actual angular position of this trigger is not correct.
[0114] The example illustrated in [Fig.8] shows an example of erroneous estimation of the segment trigger.
[0115] The 546° segment is for example generated upon receipt of edge #5, while the actual angular position of the motor is equal to 603° (with a 60° delay). The segment trigger is generated while the calculation of the angular position of the motor is quickly updated.
[0116] In the case of a return to normal, the engine speed is really monitored.
[0117] In other words, the speed is monitored using the clock and time of the system and the angular position of the motor.
[0118] Such monitoring is different from nominal cam speed monitoring which uses the time between camshaft edges and the known angular position between the edges).
[0119] The main advantage of this method is to give the system a chance to find the correct engine speed, even if the angular position of the engine is not correct.
Claims
Claims
1. Method for monitoring and storing the angular position of a heat engine which is implemented during a degraded operating mode of the heat engine using only data representative of the angular position of a camshaft driven in rotation synchronously by a crankshaft of the engine, said data being provided by a camshaft sensor making it possible to detect successive edges of a target linked in rotation to said camshaft, the method comprising the successive steps consisting of: - E1) detecting a first edge of the camshaft; - E2) determining the index of said first edge of the camshaft;- E3) use the expected angular position (PosnCamLearn), learned during a learning phase of the positioning of the rising edges and falling edges of the camshaft signal, provided by the camshaft sensor, with reference to the angular position of the crankshaft, of said first indexed edge of the camshaft; - E4) from historical data, acquire the calculated angular position (PosnCamAcq) of the engine; - E5) calculate a first difference Dif 1 between the expected angular position (PosnCamLearn) of the first indexed edge of the camshaft and the calculated angular position (PosnCamAcq) of the engine; - E6) compare the first difference Dif 1 with a first threshold value Thdl; - E61) if Difl < Thdl, acquire and store the angular position of the engine and the time stamp of the system using a camshaft event activated by said first indexed edge of the camshaft;or - E62) if Difl > Thdl: —E621) activate a new camshaft event at an angular position equal to the expected angular position (PosnCamLearn) of said first indexed edge of the camshaft increased by a second threshold value Thd2; then —E622) acquire and store a new angular position of the engine (PosnCamTrig) and the system timestamp.;
2. Method according to claim 1, characterized in that, when the new camshaft event is activated, said step E62 further consists of:
3.
4.
5.
6. —E623) calculate a second difference Dif2 between the new calculated angular position (PosnCamTrig) of the engine and the expected angular position (PosnCamLeam) of the first indexed front of the camshaft; then — E624) compare the second difference Dif2 with a second threshold value Th2 for: —E6241) if Dif2 < ThD2, acquire and store the new angular position of the engine (PosnCamTrig) and the system time stamp; or —E842) if Dif2 > Thd2, compare the second difference Dif2 with a third threshold value Thd3 strictly greater than the second threshold value Thd2 to, if Dif2 < Thd3, acquire and store the new angular position of the engine (PosnCamTrig) and the system time stamp or, if Dif2 >= Thd3 acquire and store another new expected angular position of the engine (PosnCamLeam) and the system time stamp upon detection of a following cam edge of the camshaft. A method according to claim 2, characterized in that said next camshaft cam front is the camshaft front following said first camshaft front. Method according to any one of claims 1 to 3, characterized in that said first threshold value Thdl is less than or equal to three degrees of angle. Method according to claim 2, characterized in that said second threshold value Thd2 is less than or equal to one degree of angle. Method according to one of claims 2 or 3, characterized in that said third threshold value Thd3 is less than or equal to two degrees of angle.
Citation Information
Patent Citations
Method for simulating a crankshaft signal of an internal combustion engine from a camshaft signal of the internal combustion engine
DE102013213705A1
Control method at time of emergency in internal combustion engine
JP1995310582A
Method for synchronising a combustion engine
WO2020084055A1
Validation of a signal from a crankshaft sensor
WO2020245080A1