This invention relates generally to a method and system for determining cylinder position within the engine, and more particularly for enabling rapid starting of the engine from such cylinder position determination.
As is known in the art, engine position is conventionally determined using crankshaft position information. The crankshaft position information is typically produced using a toothed wheel with a missing tooth, so that an engine control module can determine relative engine position to each cylinder. However, since the crankshaft rotates twice per engine cycle, information for the crankshaft can only locate engine position to one of two possibilities. To determine the unique engine position, additional information is used. Typically, this information is provided from a cylinder identification (CID) signal coupled to a camshaft. Thus, the engine control module can therefore uniquely determine relative engine position to each cylinder.
During conventional engine starting, the engine control module waits to receive the CID signal before commencing sequential fuel injection, since sequential fuel injection requires unique identification of engine position. In other words, since the CID signal is provided only once per 2 revolutions of the engine, it takes a certain amount of time to uniquely determine engine position. Therefore, there is a certain delay time before sequential fuel injection can commence. Such a system is described in U.S. Pat. No. 5,548,995. Since it can take as many as 2 engine revolution before sequential fuel injection can commence, increased starting time can occur, which degrades customer satisfaction. Conventional approaches in reducing engine start time require injection of fuel using all fuel injectors simultaneously (not sequential), since unique engine position is unknown, and any cylinder may be on an induction stroke drawing in fuel and air. A disadvantage with injecting into all cylinders is that it may be an unfavorable time to receive fuel for some of the cylinders. In particular, it may be a long time until a given cylinder undergoes an induction. The fuel remains in the port area and wets port walls, leading to puddling. Then, when the induction stroke occurs, an inappropriate amount of fuel is inducted, leading to misfire in the extreme and to higher emissions due to poor air-fuel ratio control. To overcome this, one measure is to inject more fuel into all cylinders to ensure there is enough for the leanest cylinder. If engine position can be more quickly determined, it may be possible to reduce the amount of fuel injected into cylinders not currently inducting fuel and air while providing acceptable engine starting times.
In accordance with the present invention, an internal combustion engine is provided having a crankshaft rotatable within an engine block of the engine and at least one camshaft driven by the crankshaft. The crankshaft is fixed to a crankshaft wheel having a plurality of crankshaft wheel marks and at least one crankshaft position indicia. The camshaft is fixed to a camshaft wheel having a predetermined pattern of camshaft wheel marks. A crankshaft sensor is fixed to the engine block for producing a crankshaft signal in response to detection of the crankshaft position indicia. A camshaft sensor is fixed to the engine block for producing camshaft signals in response to detection of the camshaft wheel marks. Rotation of the crankshaft generates a pattern comprising the crankshaft signal and the camshaft signals. A processor compares the generated pattern to a stored reference pattern for determining from such comparison the position of the crankshaft within the engine bock.
In one embodiment, the generated pattern is converted by the processor into a corresponding digital word and wherein the stored reference is a reference digital word and wherein the processor compares the corresponding digital word with the reference digital word to determine the position of the crankshaft within the engine block
The invention enables a “quick sync” capability which allowed for accurate fuel placement resulting in lower start emissions.
The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.
Like reference symbols in the various drawings indicate like elements.
Referring now to
The crankshaft 12 is fixed to a crankshaft wheel 22. The crankshaft wheel 22 has a plurality of crankshaft wheel marks 24, here teeth, disposed about the periphery of the wheel 22 and at least one crankshaft position indicia 26, here one indicia, the absence of a tooth, i.e., a missing tooth. Here, in this example, the marks and missing tooth 26 are regularly positioned angularly about the periphery of the wheel 22, one every ten degrees. That is, there is a series of 35 equally spaced teeth 24 followed by a space, or gap, i.e., the missing tooth 26.
It is noted that there because engine 10 is a four-stroke engine there are 720 degrees of rotation of the crankshaft 12 to complete one complete combustion cycle for the engine 10. Here, rotational angles will be measured in terms of rotational angle of the crankshaft 12. Thus, every 360 degrees of physical rotation of the one of the camshafts 16, 18 results from a 720 degree physical rotation of the crankshaft 12. Therefore, there are 720 degrees or two revolutions of the crankshaft for one camshaft rotation.
A crankshaft sensor 28 is fixed to the engine block 14 for producing a crankshaft signal in response to detection of the crankshaft position indicia, i.e., the detection of the missing tooth 26. More particularly, each time a tooth of the crankshaft passes the sensor 28 a pulse is produced. Thus, a series of pulses is produced having the time, T, between pulses except when the missing tooth 26 passes by the sensor 28 in which case the time T′ between pulses with the missing tooth will be twice as long as the time T, thus, when the missing tooth passes by the sensor 28 a gap in time of 2T=T′ will be produced by sensor 28 thereby providing a crankshaft signal in response to detection of the crankshaft position indicia; i.e, here the missing tooth 26.
The crankshaft 12 is positioned in the block 14 relative to the sensor 28 so that when the sensor 28 produces the crankshaft signal, the missing tooth 28 has a predetermined angular relationship with the engine block 14 (i.e., a particular cylinder, not shown, in the engine block is at Top Dead Center, TDC).
The engine 10 also includes a pair of camshaft wheels 30, 32 fixed to a corresponding one of the camshafts 16, 18, respectively, each one of the wheels 30, 32 having a predetermined pattern of camshaft wheel marks, here teeth 36, 38, respectively. More particularly, wheel 30 has teeth 36a, 36b, 26c and 36d and wheel 32 has teeth 38a, 38b, 38c and 38d. Tooth 36b is physically 60 degrees from both tooth 36a and tooth 36c and tooth 36d is physically 120 degrees from both teeth 36a and 36c.
The engine 10 includes a pair of camshaft sensors 42, 44, fixed to the engine block 14, for producing camshaft signals in response to detection of the camshaft wheel marks 36a, 36b, 36c and 36d, and 38a, 38b, 38c and 38d, respectively.
Thus, referring to
Further, at 60 degrees of rotation of the crankshaft 12, sensor 42 detects tooth 36c of camshaft wheel 30, labeled as event E1 in
Next, at 80 degrees of rotation of the crankshaft 12, sensor 44 detects tooth 38d of camshaft wheel 32, labeled as event E2 in
Thus, rotation of the crankshaft 12 generates a pattern comprising the crankshaft signal, PT and the camshaft signals C1 from sensor 42 and C2 from sensor 44 shown in
Thus, the interval between the crankshaft start angle and the end angle is the range of engine starting positions which will result in the unique pattern of signals from the camshaft and the crankshaft given in the table below where C1 indicates detection of a tooth (i.e., tooth 36a, 36b, 36c or 36d) on the camshaft 16 wheel 30 by sensor 42, C2 indicates detection of a tooth (i.e., tooth 38a, 38b, 38c or 38d) on camshaft 18 wheel 32 from sensor 44, and PT indicates detection of the principal crankshaft tooth, PT (i.e., the first tooth after missing tooth 26), the crankshaft teeth being detected by sensor 28.
Further, it is desired that the process to operate correctly. Thus, the process declares engine position after the second detection of the principal tooth. This is required in order to start the engine with failed cam sensors. Also, it is desired that a determination be made as to whether the engine position has been positively determined (using the state table to be described) or has been assumed according to the logic described above. This information is used by the spark control during startup to determine whether the spark must be fired once per engine cycle (normal spark) or twice (waste spark) in order to start the engine. Firing the waste spark is to be avoided as much as possible in order to minimize the possibility of engine backfires.
The implication of these two requirements is that the process not confuse one engine position with another due to a failed cam sensor.
The “state” in the state table below is a numerical value corresponding to each pattern calculated using an algorithm to be described in connection with
In the strategy described in this example, the crankshaft missing tooth will be detected only if at least four crankshafts are detected prior to the missing tooth.
It is should be noted that the only states stored in TABLE I are: 23, 27, 29, 87, 89, 91, 102, 105, and 407 and that each state corresponding to one of the patterns of C1, C2 and PT. More particularly, state 89 corresponds to pattern C1, C2, C1 (i.e., indicating a crank angle of 180 degrees), state 407 corresponds to pattern C2, C1, C1, PT (i.e., indicating a crank angle of 310 degrees), state 87 corresponds to pattern C1, C1, PT (i.e., indicating a crank angle of 310 degrees), state 23 corresponds to pattern C1, PT (i.e., indicating a crank angle of 310 degrees), state 105 corresponds to pattern C2, C2, C1 (i.e., indicating a crank angle of 540 degrees), state 102 corresponds to pattern C2, C1, C2 (i.e., indicating a crank angle of 560 degrees), state 91 corresponds to pattern C1, C2, PT (i.e., indicating a crank angle of 670 degrees), state 27 corresponds to pattern C2, PT (i.e., indicating a crank angle of 670 degrees), and state 29 corresponds to pattern PT, C1 (i.e., indicating a crank angle of 60 degrees).
It is noted that the “C1” signal must be detected no more than three teeth before the principal tooth is detected in order to assure that the engine position is 310 degrees. Without this interval test, if there is a failure of camshaft sensor 44, the process might incorrectly determine that the engine position is 310 degrees when the true position is 670 degree.
The engine 10 includes a processor, here an engine control unit (ECU) 50 for comparing the generated pattern to a stored reference pattern for determining from such comparison the position of the crankshaft 12 within the engine bock 14.
The ECU 50 includes a central processing unit (CPU) 52, a read-only memory (ROM) 54 for storing control programs, a random access memory (RAM) 56 for temporary data storage, a keep-alive memory (KAM), 57, for storing learned values, and an Input/Output (I/O) section 58 fed by signals produced by the sensors 42, 44 and 28 and for providing spark coil timing and fuel injection signals to the engine 10.
Referring now to
In Step 302 (
In Step 304, the CPU 52 determines whether the detected signal is from camshaft sensor 42, and if it is an “id”=1, base ten, (i.e., 01, base 2) is stored in the least significant bits of register 60; if not in Step 306 the CPU 52 determines whether the detected signal is from camshaft sensor 44, and if it is an “id”=2, base ten, (i.e., 10, base 2) is stored in the least significant bits of register 60; and, if not, in Step 308 the CPU 52 determines whether a crankshaft missing tooth has been detected. If not, the process returns to Step 302; if a missing tooth was detected, mt is incremented by one. i.e., mtcount=mtcount=1, Step 308a.
The CPU 52 then determines whether mtcount<2, Step 308b. If not, the process assumes the engine crank angle position is at the principal tooth, Step 308c; otherwise, if mtcount is <2, an “id”=3, base ten, (i.e., 11, base 2) is stored in the least significant bits of register 60 and the process proceeds to Step 310. In Step 310, the detected signal is from crankshaft sensor 28, and the state stored in register 60 is (4*state+id), in base 10.
Next, in Step 312, the CPU 52 searches Table I to determine whether there is a match between the current state and the states in Table I.
For example, considering
In Step 312, a search is made of the Table I above to determine whether state 5 is one of the states stored in the TABLE I above. As noted above, the only states stored in the TABLE I are: 23, 26, 27, 29, 87, 89, 91, 102, and 407. Thus, because state 5 is not stored in the TABLE I, (Step 314), the process returns to Step 302.
Continuing, the next event is detection so that the data in register 60 shifts two bits to the left, as shown in
Continuing, the next event is detection so that the data in register 60 shifts two bits to the left, as shown in
In Step 314a, the CPU 52 calculates the interval in crankshaft teeth between the current signal (i.e., tooth count) and the prior signal (i.e., tooth count). The CPU 52 then determines whether the interval test shown in the Table I above is satisfied, Step 314b. If it is satisfied, then the CPU 52 reads the engine crank angle position from Table I, Step 316; otherwise, the process returns to Step 302.
Here such angle is 180 degrees from the angle cylinder #1 was at TDC. The CPU 52 then uses this information to determine spark coil timing and fuel injection in accordance with any known strategy.
Considering a second example in
In Step 312, a search is made of the TABLE I above to determine whether state 6 is one of the states stored in the TABLE I above. As noted above, the only states stored in the TABLE I are: 23, 26, 27, 29, 87, 89, 91, and 102. Thus, because state 6 is not stored in the TABLE I, (Step 314), the process returns to Step 302.
The next event is state C1 and an id=1 is produced. The prior state was 6. Thus, the digital word now stored in register 60 is 25, i.e., state=4*state+id=4*6+1=25.
In Step 312, a search is made of the TABLE I above to determine whether state 25 is one of the states stored in the TABLE above. As noted above, the only states stored in the TABLE are: 23, 26, 27, 29, 87, 89, 91, 102, and 407. Thus, because state 25 is not stored in the TABLE I, (Step 314), the process returns to Step 302.
The next event is state C1 and an id=1 is produced. The prior state was 25. Thus, the digital word now stored in register 60 is 101, i.e., state=4*state+id=4*25+1=101.
In Step 312, a search is made of the TABLE I above to determine whether state 101 is one of the states stored in the TABLE I above. As noted above, the only states stored in the TABLE I are: 23, 26, 27, 29, 87, 89, 91, 102, and 407. Thus, because state 101 is not stored in the TABLE I, (Step 314), the process returns to Step 302.
The next event is state PT (i.e., a missing tooth) and Step 308 produces an id=3. The prior state was 101. Thus, the digital word now stored in register 60 is 101, i.e., state=4*state+id=4*101+3=407.
In Step 312, a search is made of the TABLE I above to determine whether state 407 is one of the states stored in the TABLE I above. As noted above, the only states stored in the TABLE I are: 23, 26, 27, 29, 87, 89, 91, 102, and 407. Thus, because state 407 is stored in the TABLE I, (Step 314), the process reads the engine crank angle from the TABLE I, Step 316, here such angle being 310 degrees from the angle cylinder #1 was at TDC.
Thus, it follows that identification of one of the states stored in the TABLE I in Step 316, i.e., states 23, 26, 27, 29, 87, 89, 91, 102, and 407 enables the process to read the crank angles 180 degrees, 310, degrees, 310, degrees, 310 degrees, 540 degrees, 560 degrees, 670 degrees, 670 degrees, and 60 degrees, respectively, as indicated in the table above.
Referring now to
Thus, considering the wheel 30 on camshaft 16 (
Considering the wheel 32 on camshaft 18 (
As noted in
In order to keep the size of the table to a minimum (especially for V8 and V10 engines), a unique identifier is used when the signals from both cam sensors 42, 44 occur at the same time, as at event E1, in
More particularly, at 82 degrees of rotation of the crankshaft 12, sensors 42 and 44 both detect a tooth, detector 42 detects tooth #0 on the wheel attached thereto while sensor 44 detects tooth #2 on the wheel attached thereto.
Next, at 202 degrees of rotation of the crankshaft 12, sensor 42 detects tooth #1 of camshaft wheel 30, labeled as event E2 in
Next, at 310 degrees of rotation of the crankshaft 12, sensor 28 detects the principal tooth PT of the crankshaft wheel 22, labeled as event E3 in
Next, at 322 degrees of rotation of the crankshaft 12, sensor 44 detects tooth #3 of camshaft wheel 32, labeled as event E4 in
Next, at 442 degrees of rotation of the crankshaft 12, sensors 42 and 44 both detect a tooth, detector 42 detects tooth #2 on the wheel attached thereto while sensor 44 detects tooth #0 on the wheel attached thereto.
Next, at 562 degrees of rotation of the crankshaft 12, sensor 44 detects tooth #1 of camshaft wheel 32, labeled as event E6 in
Next, at 670 degrees of rotation of the crankshaft 12, sensor 28 detects the principal tooth PT of the crankshaft wheel 22, labeled as event E7 in
Finally, at 682 degrees of rotation of the crankshaft 12, sensor 42 detects tooth #3 of camshaft wheel 30, labeled as event E8 in
Thus, whereas with the arrangement described above in connection with
More particularly, in the strategy described in this example, the crankshaft missing tooth will be detected only if at least four crankshaft teeth are detected prior to the missing tooth. It should be noted that because the camshaft teeth from both wheels occur at approximately the same time, the state TABLE II below is longer than the TABLE I used above in connection with
The interval between the start angle and the end angle is the range of engine starting positions which will result in the unique pattern of signals from the camshaft and the crankshaft given in the table (C1=camshaft sensor 42 for camshaft 16, C2=camshaft sensor 44 for camshaft 18, C1+C2 camshaft sensors 42 and 44 concurrent, PT=principal crankshaft tooth. PT i.e., the first tooth after missing tooth). The state is a numerical value corresponding to each pattern calculated using the algorithm to be described in
It should be understood that the processor can only process one sensor signal at a time. Therefore, the for concurrent signals C1 and C2, signal C1 may be processed before signal C2 or signal C2 may be processed before signal C1.
Referring now to
Thus, at ignition, Step 600, the register 60 in the CPU 52 is initialized to a count of 1, id=−1, and mtcount=0, Step 601.
In Step 602, the CPU 52 waits for a signal from any one of the crankshaft sensor 28, the camshaft sensor 42 or the camshaft sensor 44.
In Step 604, the CPU 52 determines whether the detected signal is from camshaft sensor 42, and if it is the processor sets iid_last=id; id=1; if not in Step 606 the CPU 50 determines whether the detected signal is from camshaft sensor 44, and if it is the processor sets id_last=id; id=2; and, if not, in Step 608 the CPU 52 determines whether the crankshaft has a missing tooth, Step 608. If not, the process returns to Step 602. If a missing tooth is detected in Step 608, mtcount is incremented by one, i.e., mtcount=mtcount+1, Step 608a. Next, the CPU 52 determines whether mtcount>2. If not, the process proceeds to Step 608c and it is assumed that the engine crank angle position is at the principal tooth; if in Step 608b it is determined that mtcount<2, the detected signal is from crankshaft sensor 28, and the processor sets id_last=id; id=3 and proceeds to Step 609a.
Next, in Step 609a, the processor determines whether the difference in crank angle teeth between the last two camshaft teeth detections is less than 6. If not, the proceeds to Step 614 and state−4*state+id; if it is, the process Step 609c and state=state−id_last.
In either case, the process passes to Step 612. In Step 612, a search is made of the table above to determine whether the state is one of the states stored in the table above. The only states stored in the table are: 17, 18, 20, 23, 24, 27, 29, 30, 87, 91, 103, and 107.
If a match is found, Step 614, the current crankshaft angle is read from the TABLE II by the processor; if a match is not found, the process returns to Step 602. Otherwise, the process proceeds to Step 614a.
In Step 614a, the CPU 52 calculates the interval in crankshaft teeth between the current signal (i.e., tooth count) and the prior signal (i.e., tooth count). The CPU 52 then determines whether the interval test shown in the Table Ii above is satisfied, Step 614b. If it is satisfied, then the CPU 52 reads the engine crank angle position from Table II, Step 616; otherwise, the process returns to Step 602.
Referring now to
In Step 802, the CPU 52 waits for a signal from any one of the crankshaft sensor 28, the camshaft sensor 42 or the camshaft sensor 44. If a signal from one of theses sensors is detected, the bits in the register 60,
In Step 804, the CPU 50 determines whether the detected signal is from camshaft sensor 42, and if it is an “id”=1, base ten, (i.e., 01, base 2) is stored in the least significant bits of register 60; if not in Step 806 the CPU 52 determines whether the detected signal is from camshaft sensor 44, and if it is an “id”=2, base ten, (i.e., 10, base 2) is stored in the least significant bits of register 60; and, if not, in Step 808 the CPU 52 determines whether the detected signal is from crankshaft sensor 28, and if not, the process returns to Step 802, if there is a missing tooth, an “id”=3, base ten, (i.e., 11, base 2) is stored in the least significant bits of register 60. Thus, as shown in Step 310, the state stored in register 60 is (4*state+id), in base 10.
With the algorithm in Steps 804, 806 and 808, the following TABLE III results:
It should first be noted that the interval between the start angle and the end angle is the range of engine starting positions which will result in the unique pattern of signals from the camshaft and the crankshaft given in the table (C1=camshaft #1, C2=camshaft #2, PT=principal crankshaft tooth (first tooth after missing tooth)). Also the state is a numerical value corresponding to each pattern calculated using the algorithm shown in FIG. 8.1 In this strategy, the crankshaft missing tooth will be detected only if at least four crankshafts are detected prior to the missing tooth.
It should next be noted that the pattern C1, C2, C1 (i.e., state 89) appears twice and that the pattern C2, C1, C2 (state 102) appears twice. The first time the pattern C1, C2, C1 (state 89) is when, reading the
Thus, referring to
Referring now to
For the diagram shown in
The interval between the start angle and the end angle is the range of engine starting positions which will result in the unique pattern of signals from the camshaft and the crankshaft given in the table (interval in degrees, PT=principal crankshaft tooth (first tooth after missing tooth)). The state is a numerical value corresponding to each pattern calculated using the algorithm shown in
Thus referring to the
(K) a missing tooth by followed by an interval of 90 degrees between a sequential pair of cam signals C1, (state 122).
Thus, there are 11 unique patterns, each one being defined by a state.
Referring now to
Next, in Step 1002, the processor waits for next signal from camshaft PT or crankshaft sensor signal C1.
Next, in Step 1004a, the processor determines whether there is a missing tooth. If not, a determination is made as to whether this is the first cam, Step 1004b. If it is, “first_cam” is TRUE and the process returns to Step 1002. If it is not the first cam, the process proceeds to Step 1004d. In Step 1004d, the CPU 52 calculates the interval, in teeth, between last two cam teeth and sets “ispan” as follows:
In Step 1006, state=8*state=id. Then next in Step 1012, a search is made of Table IV for match between current state and state values listed in TABLE IV, Step 1012. If a match is not found, the process returns to Step 1002. If a match is found, the process proceeds through Steps 1014a, 1014b and 1016 as described above for steps 614a, 614b and 616, respectively in connection with
If, however, in Step 1004a, a missing tooth is detected, the CPU 52 increments mtcount by one, i.e., mtcount=mtcount+1, Step 1004e, and the process proceeds to Step 1004f.
In Step 1004f, the CPU 52 determines whether mtcount<2. If not, the engine crankshaft position is assumed to be at the principal tooth, Step 1004g. If, however, in Step 1004f it is determined that mtcount is <2, id=7 and the process proceeds through Steps 1006, 1012, 1013, 1014a, 1014b and 1016, as described above.
It should be noted that here a time processing unit or TPU 61 (
More particularly, the generated pattern is converted by the processor into a corresponding digital word and wherein the stored reference is a reference digital word and wherein the processor compares the corresponding digital word with the reference digital word to determine the position of the crankshaft within the engine block.
A number of embodiments of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other embodiments are within the scope of the following claims.
Number | Name | Date | Kind |
---|---|---|---|
5079945 | Hansen et al. | Jan 1992 | A |
5156125 | Fukui et al. | Oct 1992 | A |
5209202 | Maurer et al. | May 1993 | A |
5269274 | Flaetgen et al. | Dec 1993 | A |
5469823 | Ott et al. | Nov 1995 | A |
5562071 | Urushihata et al. | Oct 1996 | A |
6035826 | Matsuaka | Mar 2000 | A |
6202634 | Siegl | Mar 2001 | B1 |
6499342 | Gonzales, Jr. | Dec 2002 | B1 |
20020157641 | Sakakibara | Oct 2002 | A1 |
20020157649 | Zimmerman et al. | Oct 2002 | A1 |
20020189562 | Iizuka et al. | Dec 2002 | A1 |
20030000293 | Robertson et al. | Jan 2003 | A1 |
20040011311 | Takahashi | Jan 2004 | A1 |
Number | Date | Country | |
---|---|---|---|
20060052932 A1 | Mar 2006 | US |