FLEXIBLE CRANK ANGLE POSITION DETECTION

DE102012112219B4Active Publication Date: 2026-08-06WOODWARD INC
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
WOODWARD INC
Filing Date
2012-12-13
Publication Date
2026-08-06

AI Technical Summary

Technical Problem

Existing engine control systems require time-consuming and costly development of specialized software to interpret the angular position of encoder wheels, which are specific to different crankshaft and camshaft patterns, necessitating frequent interaction with engine manufacturers and potential disclosure of trade secrets.

Method used

An apparatus and method for determining the angular position of encoder wheels using a sensor, memory for storing encoder wheel pattern data, and a controller with a pattern matching block to compare patterns, eliminating the need for specialized software by allowing users to create a data representation of the encoder wheel and generate an algorithm for position determination.

Benefits of technology

Enables efficient and flexible determination of encoder wheel positions without the need for specialized software, reducing development time and costs, while maintaining proprietary information confidentiality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Device for determining the angular position of an encoder wheel (102), the device comprising: a first encoder wheel (102), the first encoder wheel (102) having several protruding teeth along the rotor circumference, the first encoder wheel (102) being a crankshaft encoder wheel belonging to an engine; a first sensor (104) for detecting a first pattern from the first encoder wheel (102); a memory (118) for storing first encoder wheel pattern data, the first encoder wheel pattern data describing the first pattern in data; a control unit comprising a pattern matching block (110) communicatively coupled to the first sensor (104) and comparing the first pattern and the first encoder wheel pattern data, the control unit further comprising a signal conditioning circuit (106) arranged between the first sensor (104) and the pattern matching block (110).wherein the signal conditioning circuit (106) converts the first pattern into a digital pulse stream, wherein the control unit further comprises an input signal acquisition system (109), wherein the input signal acquisition system (109) is configured to receive the digital pulse stream from the signal conditioning circuit (106), generate a timestamp for each falling and / or rising edge of the first encoder wheel (102), and generate ratios using the timestamps according to the following equation: Ratio = Tooth Period(s) / Tooth Period(n-1), where the Tooth Period(s) is the period of the last detected encoder tooth and the Tooth Period (n-1) is the period of the tooth detected before it, wherein the ratios form at least one encoder key, wherein the first pattern contains at least one encoder key, and the first encoder wheel pattern data define a data key corresponding to the encoder key.wherein the first encoder wheel pattern data are defined in an encoder wheel data structure, the data structure containing an encoder system definition array defining an encoder wheel system of a motor, an absolute source encoder wheel definition array defining an absolute source encoder wheel of the motor, and an absolute source encoder pattern definition array defining an absolute source tooth structure of the absolute source encoder wheel.
Need to check novelty before this filing date? Find Prior Art

Description

Area of ​​INVENTION

[0001] This invention relates generally to the determination of the angular position of coding wheels and in particular relates to methods and a device for determining the crank angular position. BACKGROUND of the INVENTION

[0002] It is desirable for an engine control system to know the crankshaft angle during engine operation. Knowing the precise position of the crankshaft during operation allows the control system to determine and / or control a variety of engine parameters necessary to achieve optimal engine performance. One such control parameter is, for example, the ignition timing of a spark plug. By precisely controlling the ignition timing of a spark plug according to the position of a piston on the crankshaft, it is possible to generate maximum engine power while reducing wear on the cylinder and piston structure.

[0003] A device that determines the crankshaft rotation angle of an engine typically includes a encoder wheel, a sensor, and a control unit. The encoder wheel is a disc-shaped rotor that rotates with the crankshaft or camshaft. The encoder wheel has several protruding teeth or recessed structures along its circumference. These protruding teeth or recessed structures are not evenly spaced around the disc, and certain sections may be missing one or more teeth, or one or more recesses may be enlarged or reduced to form a unique section of the disc. These uneven sections correspond to specific crankshaft rotation angles.

[0004] The sensor is configured to detect how many of these protruding teeth or recesses are moving past, and at what rate they are moving past, and to form a pulse chain based on the detected information, with the uneven sections of the pulse chain corresponding to the sections with missing teeth or extended or shortened recesses, which in turn correspond to a specific crankshaft rotation angle.

[0005] Before the system can be operated, specialized software must be installed in the control unit to interpret the pulse chain generated by the sensor and the encoder wheel. This is achieved by creating a table that correlates the expected crankshaft rotation angle when an uneven section of the pulse chain is detected. In other words, when the engine is running, the control unit compares the pulse chain from the sensor with the table and uses this information to determine the crankshaft rotation angle.

[0006] While the device described above is typically found in systems used to determine the crankshaft's angle of rotation, a similar device is also used to determine the camshaft's angle of rotation. And because the camshaft must be precisely controlled to open and close the valves based on the crankshaft's position, the camshaft's angle of rotation information is also related to the crankshaft's angle of rotation. Therefore, the specialized software written to interpret the crankshaft position must also be able to incorporate the camshaft's angle of rotation information.

[0007] Writing specialized software for every change to the coding wheel, whether for the camshaft or crankshaft, is a time-consuming process requiring many man-hours. Furthermore, different implementations of an engine may use different crankshaft and / or camshaft patterns, which have varying timing requirements. New software must be written to correctly control the actuators associated with each individual camshaft and crankshaft combination. The customer working with the engine must contact the engine manufacturer multiple times to have this specialized software written, potentially disclosing trade secrets to an external company.

[0008] Therefore, it would be advantageous if it were no longer necessary to write or rewrite the specialized software required to interpret the various encoder wheel systems. The invention eliminates the need to write specialized software by enabling an end user to create a data representation of an encoder wheel and subsequently use this data to generate an algorithm that determines the angular position of the encoder wheel. These and other advantages of the invention, as well as further features according to the invention, will become apparent from the following description of the invention. Brief description of the invention

[0009] According to one aspect, the invention provides a device for determining the angular position of an encoder wheel. The device comprises a first sensor for detecting a first pattern from a first encoder wheel. The device further comprises a memory for storing first encoder wheel pattern data, wherein the first encoder wheel pattern data describes the first pattern in data. The device further comprises a control unit, which in turn includes a pattern matching block that is communicatively coupled to the first sensor and compares the first pattern and the first encoder wheel pattern data.

[0010] Furthermore, in a specific embodiment, the device for determining the angular position of an encoder wheel also includes a second sensor for detecting a second pattern from a second encoder wheel, wherein the second pattern from the second encoder wheel has a reference to the first pattern from the first encoder wheel.

[0011] According to another aspect, the invention provides a method for determining the angular position of an encoder wheel. The method comprises selecting first encoder wheel pattern data containing a first encoder wheel data key. The method further comprises detecting a first pattern of a first encoder wheel, wherein the first pattern contains a first encoder key corresponding to the first encoder wheel data key. The method further comprises comparing the first pattern and the first encoder wheel pattern data and calculating an angular position of the first encoder wheel if the first encoder wheel data key matches the first encoder key of the first pattern.

[0012] Furthermore, according to another embodiment, the method for determining the angular position of an encoder wheel includes selecting two encoder wheel pattern data sets, each containing a second encoder wheel data key. Next, the method detects a second pattern from a second encoder wheel, wherein the second pattern contains a second encoder key corresponding to the second encoder wheel data key. Finally, the method compares the second pattern with the first encoder wheel pattern data sets and calculates an angular position of the first encoder wheel if the second encoder wheel data key matches the second encoder key of the second pattern.

[0013] According to another aspect, the invention provides a data structure for defining an encoder wheel system for use in a motor control system belonging to a motor. The data structure includes an encoder system definition array that defines an encoder wheel system of a motor. The data structure also includes an absolute source encoder wheel definition array that defines an absolute source encoder wheel of the motor. Furthermore, the data structure includes an absolute source encoder pattern definition array that defines an absolute source tooth structure of the absolute source encoder wheel.

[0014] According to another embodiment of the data structure, a companion source encoder wheel definition array is included. This companion source encoder wheel definition array defines a companion source encoder wheel of the motor. The companion source encoder wheel definition array has an associated companion source encoder pattern definition array, which defines a companion source tooth structure of the companion source encoder wheel.

[0015] According to another aspect, the invention provides a data structure for defining an encoder wheel for use in an engine control system. The data structure comprises an encoder definition array that defines at least one block definition array of an encoder wheel and at least one key definition array of the encoder wheel.

[0016] Further aspects, tasks and advantages of the invention will become clearer from the following detailed description in conjunction with the accompanying drawings. Brief description of the drawings

[0017] The accompanying drawings, which are incorporated into and form part of the specification, illustrate various aspects of the present invention and, together with the description, serve to explain the principles of the invention. The drawings depict the following:

[0018] Fig. 1 is a flexible coding system according to a specific embodiment of the present invention;

[0019] Fig. 2 is a 24-minus-1 encoder wheel according to a specific embodiment of the present invention;

[0020] Fig. 3 are pulse chains generated by an encoder wheel, according to a specific embodiment of the present invention;

[0021] Fig. 4 is a coding wheel according to a specific embodiment of the present invention;

[0022] Fig. 5 is an absolute source and a companion source according to a specific embodiment of the present invention;

[0023] Fig. Figure 6 is an example of signal inversion error waveforms according to a specific embodiment of the present invention;

[0024] Fig. Figure 7 illustrates an exemplary embodiment of the individual parts of a coding wheel system data structure according to a specific embodiment of the present invention; and

[0025] Fig. Figure 8 is a data structure according to a specific embodiment of the present invention. Although the invention is described in connection with certain preferred embodiments, it is not intended to limit it to these embodiments. On the contrary, the intention is to include all alternatives, modifications, and equivalents that fall within the spirit and scope of the invention as defined in the accompanying claims. DETAILED DESCRIPTION OF THE INVENTION

[0026] Fig. Figure 1 shows a specific embodiment of an encoder system. 100 with an encoder source in the form of a first and a second encoder wheel 102 and 126 together with a first decoder block absolute source 116 and a second decoder block companion source 140 The coding system 100 It also contains data storage blocks for pattern data.118 and other data 138 The first decoder block 116 feeds output signals into an absolute position selector 120 one, which in turn is connected to a control unit 122 coupled, the engine injectors 124 controls. Furthermore, specific embodiments of the coding system are described. 100 described in relation to an engine system that includes a crankshaft and a camshaft, however the coding system 100 It can be implemented in any system that uses coding wheels and requires a determination of the position of these coding wheels.

[0027] Let's turn to the first coding wheel. 102 and its respective decoder block 116 to. A sensor 104 is configured to engage the teeth of the coding wheel 102 to detect while it is rotating with the engine running. The sensor output signal is fed into a signal conditioning circuit.106 fed in, which the sensor 104 -converts data into a digital pulse chain, where at least one edge of each pulse represents an angular position along the encoder wheel 102 represents.

[0028] The output of the signal conditioning circuit 106 is connected to an input signal acquisition system 109 connected, which in turn is connected to a pattern matching block 110 and a position follower block 112 is connected. The pattern matching block 110 uses data from the sample data block 118 , to find patterns in the pulse chain generated by the signal conditioning circuit 106 observed and through the input signal acquisition system 109 were recorded. The pattern matching block 110 can detect these patterns because they are defined by the user in the pattern data block 118to be defined. In this context, "user" refers to a person who implements the system; however, a "user" can also be a computer that processes coding wheel data.

[0029] Furthermore, the pattern matching block 110 and the input signal acquisition system 109 with the position follower block 112 coupled. The position tracking block 112 It also receives the data from the sample data block. 118 The position follower block 112 determines the exact position of the coding wheel 102 based on the data from the sample data block 118 and the pulse chain from the signal conditioning circuit 106 , which are processed by the input signal acquisition system 109 were captured, along with the pattern information from the pattern matching block 110 This is achieved when the pattern matching block 110It outputs information that it has detected a pattern in the encoder wheel pulse chain that indicates an absolute position, which the position tracker 112 then into an absolute position along the coding wheel 102 implements.

[0030] The position follower 112 The absolute position is then transmitted to the clock position block. 114 and the other data block 138 The time signature block 114 gives the user the option to perform multiple revolutions (e.g., a four-stroke engine has this feature). 720 Degrees in one beat, which is two revolutions of the coding wheel. 102 (corresponds to) a coding wheel 102 to convert it into a position. The clock position block requires pattern matching data from the other data block. 138 to accomplish this. This data is obtained from the other data interface. 108 to the beat position block 114transmitted. If the user does not need several rotations to track the position, then the absolute position is transmitted by the position tracking block. 112 via the time signature block 114 guided.

[0031] Regardless of whether the user chooses to use the beat position block 114 To implement this, data regarding the absolute position is sent to the absolute position selector block. 120 passed on. The control unit 122 selects which absolute source it uses to communicate the system position to the injectors. 124 to transmit. Although in the Fig. 1 shown specific embodiment the coding system 100 It is represented as having only a single absolute source and a single companion source. However, it is also considered that multiple absolute sources or companion sources may exist in a single encoder system. 100 can be implemented.

[0032] The companion source block 140 It is used to read data from a secondary encoder wheel. 126 to output that is relative to the primary coding wheel 102 of the absolute source block 116 Because the companion encoder wheel rotates. 126 relative to the absolute encoder wheel 102 As it rotates, the rotational position of the absolute encoder wheel is determined. 102 based on the rotational position of the companion encoder wheel 126 interpreted.

[0033] The companion source block 140 It works similarly to the absolute source block. 116 The sensor 128 It forwards raw data to a signal conditioning circuit. 132 further, which in turn connects to an input signal acquisition system 142 It is connected to a digital pulse chain that generates a digital pulse chain. The digital pulse chain is connected to a pattern matching block. 134 transmitted. The pattern matching block134 of the companion source block 140 It works somewhat differently than the corresponding pattern matching block. 110 of the absolute source block 116 The pattern matching block 134 requires data from both the sample data block and the sample data block. 118 as well as from the other data block 138 , which is through the other data interface 130 be transmitted. Based on this information, the pattern matching block provides 134 the position follower block 136 when an absolute position mark (a distinguishing mark of the coding wheel) of the companion coding wheel 126 is determined.

[0034] Once an absolute position marker is determined, this position, along with the original digital pulse chain, is sent to the position tracking block. 136 transmitted. The position follower block 136 determines the rotational actual position of the companion encoder wheel 126The rotational actual position is then transferred to the other data block. 138 transmitted.

[0035] That's why the other data interface 108 able to provide rotation position information regarding the companion encoder source 126 to the pattern matching block 110 of the absolute source block 116 to transmit. This enables an additional information component that is used to determine when a specific pattern is applied to an absolute encoder wheel. 102 in unity with an associated rotational position of the companion encoder wheel 126 This function allows the determination of the rotational position of the absolute encoder wheel. 102 at least partly based on the rotational position of the companion encoder wheel 126 .

[0036] Furthermore, the embodiment of the present invention shows in Fig. 1 only individual sensors 104 and128 , but multiple sensors could also be implemented.

[0037] The main purpose of implementing multiple sensors is to provide redundant sensors to the encoder system. 100 allow work to continue if one of the sensors 104 or 128 fails. Another reason is to include multiple sensors in the coding system. 100 To implement is a multi-camshaft engine system. Or, more generally: the coding wheel system. 100 It can be designed to implement any system that works with multiple encoder wheels, which would require multiple sensors.

[0038] As noted above, the data contained in the sample data block 118 are included, by the user of the coding system 100 entered. The data entered by the user describes the coding wheels. 102 and 126by defining the pattern of teeth that is detected by the sensors 104 and 128 It is detected during engine operation. That's why the pattern data functions 118 as a master key for the coding system 100 Without the data, proper engine timing control would not be possible because the pattern data 118 -structure that provides the information needed to decode the chain of pulses sent to the encoder wheels 102 and 126 The measurement is taken to interpret the angular position of the crankshaft.

[0039] In the coding system 100 Various types of coding wheels can be implemented. Therefore, a flexible data structure, as shown in the sample data block, is required. 118 The stored data is needed to describe these different coding wheels. Fig. 2 shows a coding wheel 200according to a specific embodiment of the present invention. The coding wheel 200 It's a 24-minus-1 encoder wheel because it has twenty-four teeth, with one tooth removed. The removed tooth is the twenty-fourth tooth. 206 The sensor 104 (out of Fig. 1) is able to measure either the rising or the falling flank (or both) as well as the time when each tooth makes contact with the sensor 104 This happened. To obtain information from the sensor 104 The pattern matching block is used to process the data. 110 the input signal acquisition system 109 The input signal acquisition system has high-speed digital inputs that possess an input signal acquisition function to capture the measured pulses from the sensor. 104 to process correctly and send time control data to the pattern matching block 110 to send these impulses via a pattern matching process.

[0040] The sensor 104 (out of Fig. 1) the signal conditioning circuit 106 and the input signal acquisition system 109 of the coding system 100 create relationships between the flanks of the individual teeth of the encoder wheel. 216 , by observing when the sensor 104 A tooth is detected relative to a previously detected tooth. Based on this timing information, a ratio is calculated, and a series of ratios is used in the pattern matching process, which is carried out by the pattern matching block. 110 is executed.

[0041] For example, the sensor observes 104 (out of Fig. 1) a tooth and transmits a signal to the signal conditioning circuit 106 , which converts the sensor signal into a digital pulse chain, with at least one edge being processed by a single encoder wheel 102 -Zahn correlates. The input signal acquisition system 109The digital pulse chain receives an input signal and generates a timestamp for each falling and / or rising edge of a tooth. The input signal acquisition system 109 The timestamp information is then used to generate ratios using the following equation: Ratio = Tooth Period(s) / Tooth Period(s – 1) (1), where Tooth Period(s) represents the period of the last captured encoder tooth and Tooth Period(s – 1) represents the period of the previously captured tooth. While the above equation (1) calculates a ratio based on timestamp information from falling or rising edges, another method under consideration is to calculate the ratio based on the pulse width of individual pulses of the signal from the sensor. 106 to calculate.

[0042] Fig. 3 is an example of a chain reaction 302 , which are driven by the coding wheel 216 (out of Fig. 2) is generated using equation (1). The impulse chain 302 shows tooth 22 202 up to tooth 2 210 It should be noted that tooth 24 206 is missing. Therefore, as in the input event signal, 304 shown, impulses through the sensor 104 (out of Fig. 1) on each sloping flank of each tooth of the coding wheel 216 The sensor is detected. Then, as shown, ratios are calculated using equation (1). The ratio is a constant value of 1 until the sensor... 104 No tooth is detected when tooth 24 206 It should have been detected. At this point, a ratio of 2 is calculated after the sensor 104 Tooth 1 208 This is captured because the period for the currently observed event (tooth period(s) from equation 1) is twice as long as the previous period (tooth period(s) – 1)). Furthermore, the ratio calculated after tooth 2 is210 through the sensor 104 The recorded value was 0.5, because the previous period is twice the current period.

[0043] According to another embodiment, the ratios of Fig. 3 practically a series of pulses corresponding to the detected edges of an encoder wheel. As in input signal acquisition event 304 As shown, the series of edge events can form an edge key, which is a series of pulses captured at different times. If multiple pulses are present, a series of ratios can be developed from this information, as described above. However, in the case of an encoder wheel with only a single tooth, this encoder wheel would use an edge key.

[0044] Therefore, if the control unit sees a ratio of 2, it knows that tooth 1 is the correct tooth. 208 (out of Fig. 2) was observed, and if the control unit sees a ratio of 0.5, it knows that tooth 2 is currently engaged. 210 was observed. This enables the coding system 100 (out of Fig. 1) to synchronize the crankshaft position with this detected sequence of ratios; or in other words: this can serve as a synchronization event.

[0045] Furthermore, this combination of ratios is what is known as a key. A key is a single ratio or combination of ratios that denotes rotational position information. For example, in the example above, seeing a ratio of 2 was sufficient to recognize that tooth 1 was straight. 208 was recorded; but this could just as easily be achieved by the coding system. 100 (out of Fig. 1) can be recorded as a ratio of 1 followed by a ratio of 2. The same applies if a ratio of 2 is recorded followed by a ratio of 0.5, because this indicates that tooth 2 is exactly 210 was recorded. In both of these cases, the requirement to add two sequential ratios potentially makes this key an improved key if system noise interferes with the timestamp measurements.

[0046] Incidentally, the ratios discussed earlier result from an ideal operating environment, where the motor rotates at a constant speed. In a non-ideal operating environment, precise measurement is not possible. Therefore, a tolerance is incorporated into the calculation of the ratios, such that a ratio close to the exact value is still sufficient to detect a specific tooth.

[0047] The combination or individual ratios show a clear standard key insofar as tooth 24 206 the only missing tooth is, so that a unique position on the coding wheel 216 (out of Fig. 2) is designated. Not all keys are constructed in such a way as the example of the coding wheel of Fig. 4 shows. Fig. Figure 4 shows an example of a 3 × (12 minus 2) encoder wheel. 402 The name of the coding wheel 402 This states that the wheel consists of three groups of twelve teeth, and that the last two of the twelve teeth are missing. Therefore, the same key is used three times during a single revolution of the coding wheel. 402The exact rotational position is captured, and it cannot be precisely determined by detecting a single key. This type of key structure is called a semi-unique standard key structure because no single key specifies a precise rotational position.

[0048] The coding wheel 402 is known as an absolute source because it provides data directly related to the rotational position of the crankshaft. But the semi-unique key structure of the encoder wheel 402 allows the coding system 100 (out of Fig. 1) Determining the exact rotational position of the crankshaft alone and without additional information is not possible. Additional information can come from a so-called companion source. In the case of an encoder wheel assigned to a crankshaft (absolute source), the companion source usually takes the form of an encoder wheel assigned to the camshaft.

[0049] For example, in a four-stroke engine equipped with a crankshaft encoder wheel, such as in Fig. 4 works, the rotational position based on the crankshaft encoder wheel 402 and are determined by information from a camshaft encoder wheel because the two structures have linked control points. The most important use of this relationship is determining so-called half-stroke information. This is information indicating that the crankshaft has currently completed half of a full engine cycle. But the camshaft encoder wheel can also perform a number of other tasks, such as outputting synchronization information for the crankshaft encoder wheel. 402 , or can even serve as a redundant crankshaft coding system if the actual crankshaft coding system has failed.

[0050] To illustrate the additional benefits of a companion source, let's consider the following: Fig. The coder wheel shown is a representative example of a 6-plus-1 camshaft coder wheel. 504 It depicts a device with six aligned, evenly spaced encoder teeth plus one extra tooth. Furthermore, it shows Fig. 5 a 3 × (20 minus 2) crankshaft encoder wheel 502 The crankshaft encoder wheel 502 has only semi-unique keys because the sections 506 The missing teeth are evenly distributed around the circumference of the wheel. Therefore, data from a companion source is needed to program the crankshaft encoder wheel. 502 to synchronize and thereby determine the absolute rotational position. In this case, the companion source is the camshaft encoder wheel. 504 It should be noted that the teeth 508 on the missing teeth 506are aligned and that teeth 510 the missing teeth 506 opposite each other. In the Fig. The specific embodiment illustrated in point 5 is the camshaft encoder wheel. 504 thus onto the crankshaft encoder wheel 502 aligned so that if a tooth 508 It is detected that he has exactly one set of missing teeth. 506 correlated. However, it is not necessary for this alignment to be maintained as long as the tooth 512 with the same section 506 The missing teeth correlate. This feature allows this specific embodiment to operate in variable cam systems, where the camshaft phase changes relative to the crankshaft. Furthermore, half-stroke information is received from the camshaft encoder wheel. 504 recorded. In the Fig. 5 shown specific embodiment of the invention could be tooth 512 to represent the zero tooth. The coding system 100(out of Fig. 1) is able to detect this because tooth 512 represents a unique standard key. That's why the coding system knows this. 100 by detecting the tooth 512 that the camshaft is in the first half-stroke of the engine's operation. Due to the tooth structure, the coding system 100 able to detect the second half-stroke of the engine running by detecting the third tooth after the tooth 512 recorded.

[0051] Furthermore, the camshaft coding wheel can 504 as a redundant encoder source for the crankshaft encoder wheel 502 The crankshaft encoder wheel should function as such. 502 or the sensor 104 (out of Fig. 1) fail. Due to the precise array of teeth on the camshaft encoder wheel. 504and a known phase relationship between the crankshaft and the camshaft, rotational position information regarding the crankshaft can be obtained by the camshaft encoder wheel. 504 even without the crankshaft encoder wheel 502 This can be determined. This can happen if the coding system 100 (out of Fig. 1) noticed that either the sensor 104 none of the teeth of the crankshaft encoder wheel 502 detected, but the sensor 128 Teeth of the camshaft encoder wheel 504 sees, or when the crank sensor 104 detected that a specific key was on the crankshaft encoder wheel 502 is not detected several times in a row.

[0052] Furthermore, the sample data block 118 (out of Fig. 1) The stored data structure is not only capable of storing data relating to the rotational position of specific user-defined encoder wheels, but also contains data that enables the encoder system to 100 to enable the detection of system malfunctions. One such system malfunction is a synchronization error.

[0053] A synchronization error occurs when the tracked position of an encoder wheel does not match the calculated position of the encoder wheel. The tracked position is updated each time a source tooth is observed. The calculated position is updated each time a unique key is observed. This error is detected when the tracked and calculated positions do not match and the source has previously achieved synchronization. The tracked position is only valid once the first calculated position has been observed, and therefore no synchronization errors are possible until the first key match has occurred.

[0054] Another system fault detected by the data structure is a signal inversion error. In one embodiment of the present invention, the sensors 104 and 128Reluctance-variable sensors that can be incorrectly connected in a system in such a way as to generate an inverted control signal, as in Fig. Figure 6 illustrates the waveform. 602 shows the digital pulse chain, which originates from the signal conditioning circuit. 106 (out of Fig. 1) is obtained. If the sensor 104 If installed correctly, the waveform will show 604 the correct polarity, which means that the correct ratios can be determined, such that the key is passed through the pattern matching block. 110 The waveform is recognized. 608 shows a situation where the sensor 104 is not installed correctly and due to the wrong sensor 104 -Measurements may result in incorrect calculations.

[0055] The coding system 100It can detect that a signal inversion error has occurred. To detect these errors, a user can insert a data structure into the pattern data block. 118 input in such a way that, when the specific digital impulse chain is encountered in the system, the control unit 122 is able to signal to the user that a signal inversion error has occurred.

[0056] Another system malfunction is the half-cycle error. A half-cycle error is observed when the tracked position does not match the calculated position, but no synchronization error has been observed. This error implies that a companion source has failed, because the half-cycle is determined by companion source data.

[0057] Another system error is the loss error. A loss error occurs when enough teeth are observed on a sensor for a companion source, but no teeth are observed on the sensor for the absolute source. Another system error is the phase error. A phase error occurs when one source (either absolute or companion) is out of phase with another source (either absolute or companion). A phase error is detected when a specific tooth on an encoder wheel does not fall within a window of teeth on the reference encoder wheel (either absolute or companion).

[0058] Another system malfunction is reverse rotation. Reverse rotation occurs when the encoder wheel rotates in the wrong direction. This fault is detected when the encoder system 100 (out of Fig. 1) detects that the series of ratios from which a key is composed is viewed backwards.

[0059] As mentioned above, the pattern data array stores 118 (out of Fig. 1) User-defined parameter data regarding the type of encoder implementations used by the encoder system 100 It will be supported. Various parameter fields would be filled with information to correctly describe the physical design of the encoder wheel in data. Fig. Figure 7 illustrates an exemplary embodiment of the data structure of the invention. More precisely, it illustrates Fig. 7 the individual parts that enable a user to build a coding wheel system 702 to define completely in data. Various array definitions of parameter data are considered, such as an encoder system array definition. 704 and an absolute source array definition 706 Optionally, one or more companion source array definitions can also be used. 708 for various coding systems100 Implementations are defined.

[0060] Incidentally, the term "array" as used in this text describes a sequence and organization or hierarchy of data and is not strictly limited to a more traditional mathematical definition.

[0061] Furthermore, some coding wheel systems 702 -Implementations of a sync companion array definition 714 require. The Sync companion 714 This is required in systems that implement two coding wheels assigned to the crankshaft, such that one of the coding wheels provides information to the coding system. 100 (out of Fig. 1) Allow the two coding wheels to synchronize. The coding wheel that enables the coding system 100The encoder wheel that allows synchronization with the other encoder wheel is considered the sync companion. For example, a first encoder wheel with evenly spaced teeth and a second encoder wheel with only a single tooth can be used in conjunction such that the system can monitor the encoder wheel rotation position for the first encoder wheel and synchronize the position measurement with the second encoder wheel when the single tooth is observed. In this example, the second encoder wheel is considered the sync companion. Not all encoder wheel system implementations require a sync companion. 714 Therefore, this specific field is not always present in the coding wheel system data structure. 702 available.

[0062] Additionally, a user can define one or more companion source array definitions. 708 define. Although it shows Fig. 7 only a single companion source array definition708 , but other embodiments of the invention could have more than one companion source array definition 708 use, for example, a coding system 100 (out of Fig. 1), which is assigned to a V8 engine with two overhead camshafts. Furthermore, the coding system requires 100 (out of Fig. 1) Depending on the motor, there may not be a companion source at all. Therefore, other embodiments of the invention may not include a companion source array definition at all. 708 as part of the coding wheel system 702 , even if that in Fig. 7 is not illustrated.

[0063] The various definitions needed to fully describe an encoder system in terms of data are interrelated. For example, the encoder system definition describes 704The overall system is defined by information such as the degree of rotation in a complete engine cycle or the number of cylinders that this specific application must track. Furthermore, the encoder system definition is applied. 704 on all absolute source definitions 706 back, which is in the pattern data array 118 (out of Fig. 1) are included. The encoder system refers to one of the absolute source definitions. 706 as active (it should be noted that the illustration in Fig. 7. For the sake of simplicity, only a single box is used for the absolute source array definitions. 706 and the companion source array definitions 708 (shows). The active source is the source used to determine the crank angle position of the system. Therefore, the active source could be an encoder wheel associated with the crankshaft or camshaft. The active absolute source definition 706can in turn refer to at least one companion source definition 708 The system can fall back on the source if the user has chosen to define a companion source. This way, the coding system knows which source is currently being used in the specific system.

[0064] Furthermore, every absolute source and companion source definition applies. 706 , 708 on a user-defined coder pattern definition 710 , 712 back, which is assigned to the specific source, to which the absolute source or companion source definition refers. 706 , 708 is referenced. The various user-defined encoder pattern definitions. 710 , 712 One can choose between different absolute source or companion source definitions. 706 , 708 They are mixed and balanced. The absolute source definition. 706 can refer to various companion source definitions. 708refer to, and the encoder system definition 704 can be based on different absolute source definitions. 706 reference. In this way, a library of definition data can be saved by the user and used for different implementations of the engine system. 100 (out of Fig. 1) can be retrieved.

[0065] Therefore, there is an array definition hierarchy. The hierarchy is designed so that the entire system is generally defined in the encoder system definition. 704 is defined, which in turn refers to all absolute source definitions. 706 with a user-selected active absolute source. The active absolute source definition 706 depending on the coding wheel system 702 also on a user-defined companion source definition 708reference (but it doesn't have to). Furthermore, it is not necessary for the user to specify the absolute or companion source definitions when entering the data. 706 , 708 Define, possible, a coder pattern definition 710 , 712 with that specific absolute source definition 706 or companion source definition 708 to link them. By creating the array definition structure described above. 702 Is the user able to access the coding system? 100 (out of Fig. 1) to provide all data necessary to determine the position of the crankshaft and / or camshaft.

[0066] Several parameter fields are required to implement an encoder system definition. One such parameter field is a "crank angle in a single cycle" parameter field. This field allows the user to define the number of degrees of a complete motor cycle. Typically, this value is either 360° or 720°.

[0067] Another such field is the "Crank Position Sources" parameter field. This field allows a user to specify the name of an absolute source definition (such as those discussed below) that the encoder system definition uses. Multiple absolute source definitions can be defined and recalled for later use by entering the name of the absolute source definition into this parameter field.

[0068] A "zero speed timeout" is another parameter field used to define an encoder system definition. This parameter field defines a duration that the encoder system waits without seeing encoder data from the sensor before deciding that a zero speed condition has occurred.

[0069] Another parameter field is the "Time delay from the first encoder edge before a synchronization attempt". This parameter field allows the user to define a time period to wait after the first encoder edge is detected before initiating synchronization activities. This allows system and environmental noise that occurs during system initiation to be discarded.

[0070] “TDC angle in crank angle degrees after TDC No. 1” is another parameter field. This field defines the TDC angle used by some crank-synchronous encoder definitions.

[0071] The encoder system definition also contains a parameter field labeled "Number of cylinders". This parameter field defines how many cylinders the engine system uses.

[0072] As mentioned above, the encoder system definition has a parameter field where a user can enter the name of an absolute source definition to be used by the encoder system definition. The absolute source definition also contains various parameter fields used to define how the user-defined absolute source functions.

[0073] One such parameter field of the absolute source definition is the "Name" parameter field. This field allows the user to define a name for this absolute source definition, so that the encoder system definition can refer to this name to use this definition for encoder system operation.

[0074] Another parameter field of the absolute source definition is the "Reference Encoder Pattern Definition". This parameter field allows the user to link a user-defined encoder pattern definition (as discussed below). The user can enter a specific name for a previously defined encoder pattern definition, which the absolute source definition will then reference during operation of the encoder system. 100 (out of Fig. 1) resorts to.

[0075] Another parameter field is the "Source revolutions per stroke" field. This parameter field allows the user to define how many times the encoder source rotates during a single engine stroke. A crankshaft encoder wheel used in a four-stroke engine rotates twice during each stroke, and a camshaft encoder wheel rotates once per stroke in the same four-stroke engine.

[0076] Another parameter field is the "Sync Polarity" field. This field allows a user to define whether the falling edge or the rising edge of the encoder wheel signal from the sensor represents the point in time at which the crank angle position should be determined.

[0077] Another parameter field of the absolute source definition is the "Error-free keys until error deletion" field. This parameter field specifies how many keys the encoder system must monitor without additional errors before it deletes an initially detected encoder system error.

[0078] Another parameter field is the "Key event aligns with companion source" field. This field allows the user to specify that a key from an absolute source aligns with specific teeth of a companion encoder wheel. This allows events from the companion source to be delayed in such a way as to avoid "race" conditions, where two related events occur close together. By delaying one, the order of events can be guaranteed.

[0079] Another parameter field is the "Has Loss Companion" field. This field allows a user to specify that this particular active absolute source definition has a companion source that can be used to detect losses.

[0080] If the "Has Loss Companion" parameter field indicates that the absolute source definition has a companion source, then the "Name of Loss Companion" parameter field is required. This parameter field allows the user to specify the name of another previously created absolute source definition or companion source definition that is being used as the companion source in the absolute source definition.

[0081] Another parameter field is the "teeth-before-loss" field. This parameter field defines a number of companion source encoder wheel teeth of the encoder wheel source defined in the "loss companion name" parameter field that must be detected without any teeth of the absolute source encoder wheel being seen before a fault is detected.

[0082] Another parameter field is the "Validate phase using the loss companion" field. This parameter field allows a user to specify that the phase of a defined, concrete absolute source must be checked periodically in order to detect a possible phase error between an absolute source and a companion source.

[0083] Another parameter field is the "Has Sync Companion" field. This parameter field allows a user to specify that the defined absolute source has a sync companion source. If the user specifies that this absolute source definition has a sync companion, several other parameter field entries are required.

[0084] First, the user must provide a "Sync Companion Name" field. This parameter field allows the user to reference the name of a previously defined companion source definition that will be used as the sync companion. Next, the user must provide a parameter field named "Sync Window Teeth." This parameter field defines the maximum number of source teeth that must be seen on this absolute source before a key is seen on the companion source. This parameter field defines the window in which the synchronization event is expected.

[0085] Another field related to the sync companion is the "Allow OT synchronization on loss of sync companion" field. This parameter field allows the first semi-unique key observed at the absolute source after the sync companion detects an error to be considered unique. This allows a semi-unique key to trigger a synchronization event if the sync companion has suffered a loss error.

[0086] There are several other parameter fields unrelated to a sync accompaniment, such as the "Has Half-Bar Accompaniment" parameter field. This parameter field indicates that this absolute source definition has an accompaniment source used to determine the half-bar information. When this parameter field indicates the presence of a half-bar accompaniment source, several other related parameter fields are used to determine how the half-bar accompaniment source functions. One such parameter field is the "Half-Bar Accompaniment Name" field. This parameter field simply allows the user to specify the name of the previously defined accompaniment source used as the half-bar source.

[0087] Another parameter field related to the half-beat source is the "half-beat window teeth" field. This parameter field defines the maximum number of teeth that, when observed at the absolute source, imply that the state of the half-beat companion can be reliably inferred.

[0088] Finally, the absolute source definition has parameter fields that define when the engine speed is observed. The various RPM measurements are stored so that both the average and instantaneous RPM can be calculated.

[0089] As mentioned above, the absolute source definition has a parameter field where a user can enter the name of a companion source definition to be used by the absolute source definition. The companion source definition also contains various parameter fields used to define how the user-defined companion source functions.

[0090] One such parameter field is the "Reference Encoder Pattern Array" field. This parameter field links this companion source to a flexible encoder pattern definition (as discussed below). The flexible encoder pattern definition allows the user to define the key patterns of the encoder wheel—among other attributes.

[0091] Another parameter field of the companion source definition is the "Source revolutions per clock cycle" field. This parameter field defines how many times this companion source rotates during a single clock cycle of the motor.

[0092] Another parameter field is the "Sync Polarity" field. This field allows a user to define whether the falling edge or the rising edge of the encoder wheel signal from the sensor represents the point in time at which the crank angle position must be determined.

[0093] Another parameter field of the companion source definition is the "Error-free keys until error deletion" field. This parameter field specifies how many keys the encoder system must observe without additional errors before it deletes an initially detected encoder system error.

[0094] Another parameter field of the companion source definition is the "Key event aligns to companion source" field. This parameter field allows the user to specify that a key event of this companion source aligns to specific teeth of an associated absolute source.

[0095] Another parameter field of the companion source definition is the "Name of Loss Companion" field. This parameter field allows the user to specify the name of another absolute or companion source definition that acts as a companion source to this companion source. A companion source always has a loss companion because a companion source never exists in a construct without at least one absolute source. The encoder system 100 (out of Fig. 1) establishes that a encoder wheel system malfunction has occurred if this source detects a certain number of teeth on the reference source without detecting any teeth on that defined reference source.

[0096] Another parameter field of the companion source definition is the "teeth-before-loss" field. This parameter field defines the number of teeth that are detected by the encoder wheel defined in the "loss companion name" parameter field without detecting any teeth of the encoder wheel defined in this companion source definition before a fault is detected.

[0097] Finally, the companion source definition has a parameter field labeled "Validate phase against loss companion." This parameter field allows the user to specify whether the phase of this source needs to be checked periodically. The phase is compared to the loss companion referenced in the "Loss Companion Name" parameter field.

[0098] The final component of the array definition hierarchy is the flexible encoder pattern definition, which both the absolute source definition and the companion source definition rely on. The main purpose of this array definition is to give the user the flexibility to define different nuances of each element within the encoder system. 100 (out of Fig. 1) to adapt the coding wheel used.

[0099] When creating a flexible encoder source definition, the user must assign a name to the specific definition so that the absolute source definition and the companion source definition can refer to this specific flexible encoder source definition.

[0100] Furthermore, the flexible encoder source definition requires the precise definition of the structure of the encoder wheel's physical teeth. To accomplish this, each tooth is assigned a name and a LogicalDeg node value. The name is conventionally a number that starts at zero and increases by one with each additional tooth. The LogicalDeg defines the angle around the encoder wheel relative to the zero tooth. Thus, if the user assigns a name and a LogicalDeg, each tooth will have a name and a position relative to the zero tooth.

[0101] The flexible encoder pattern definition also requires that key information be provided. As discussed above, keys are a ratio or a series of ratios which, when passed through the encoder system, 100 (out of Fig. 1) To be detected, specify the rotational position of the encoder wheel. One key is the tooth period type or the pulse width type. The tooth period type constructs the ratio of adjacent tooth periods, while the pulse width type constructs the ratio of the tooth period to the tooth width.

[0102] The key itself consists of a series of key values. Each key value has a tooth node and a ratio node. Therefore, each tooth that has a key value has either a tooth period ratio or a pulse width ratio, to which the previously defined numerical name of that specific tooth refers. This key definition structure is the same for both the absolute source definition and the companion source definition and applies to all keys, regardless of whether the key is a unique standard key, a semi-unique standard key, a reverse rotation key, or a signal-inverted key.

[0103] Another attribute of the flexible coder pattern definition is `TeethBeforeAbsentkeyFault`. This attribute allows a user to define how many coder teeth can be detected without detecting a default key before an error is reported. Before the coder system100 (out of Fig. 1) If a standard key is detected, it therefore begins counting the number of subsequent teeth it detects. If the number of detected keys is greater than the `TeethBeforeAbsentKeyFault`, an error for a encoder wheel failure is reported.

[0104] Theoretically, a ratio match is an exact match. However, the engine speed is not constant. During normal operation, the engine speed fluctuates and also varies spontaneously during each engine revolution, even if the average speed is constant. Consequently, a tolerance must be allowed for each key to compensate for the fluctuations caused by varying engine speeds in the ratio calculation. This attribute of the flexible encoder pattern definition is called DefaultKeyTolerance. This allows the user to define a small measurement tolerance to make it easier for the system to detect a specific key. Essentially, the DefaultKeyTolerance defines a value that is added to the ideal ratio to define an upper limit and subtracted from the ideal ratio to define a lower limit.This creates a window into which the coding system can fit a specific ratio that can still be classified as a concrete tooth ratio measurement. Furthermore, if not changed by the user, the DefaultKeyTolerance is set to a standard default value. The user can then modify this default value before or even during system operation to widen the tolerance in certain situations. One specific situation where the user might change the tolerance would be during cranking, where larger crankshaft accelerations are expected, and then reduce the tolerance once the engine is running and the accelerations are less extreme.

[0105] The flexible encoder pattern definition also includes information about half-cycle attributes. If an encoder source for half-cycle information is used, this attribute must be included in the definition. Three specific types of half-cycle encoding are possible: key state, key pin, and key window.

[0106] The key state type is used when the flexible encoder pattern definition uses unique default keys. This is because a unique default key is capable of generating the rotational encoder position itself without assistance from a companion source.

[0107] The key pin type is used to define the sensor state that represents the half-clock position. An example of an encoder wheel that would use this attribute is a half-moon encoder wheel. The half-moon encoder wheel has a single tooth that occupies half the encoder wheel, such that the sensor indicates one tooth for half a clock cycle. An encoder system operating with this half-moon encoder wheel would access the key pin type to determine whether the half-clock position is the half-clock position in which the sensor detects the tooth or the half-clock position in which the sensor does not detect the tooth.

[0108] The key window type is used when the flexible encoder pattern definition does not allow for precise half-cycle determination. This special type of half-cycle attribute determines half-cycle information by detecting a key, and if the key falls within the window defined in the key window type, the engine is currently in a specific half-cycle. If the key is detected outside the defined window, the encoder system determines that the engine is in the other half-cycle.

[0109] Fig. Figure 8 shows a specific embodiment of a data structure 800 , which has a coding wheel 802describes. Some of the parameter field entries described above are included in this specific embodiment of the data structure, while others are not. Therefore, the corresponding data structure changes depending on the specific coding wheel application and sometimes contains fewer fields than in the previous version. Fig. 8 are shown.

[0110] The coding wheel 802 is a 36-2 crank encoder wheel, which is shown in the cam angle area because there are two blocks with thirty-six teeth, where the last two teeth of each block are 804 , 806 missing and which are on a single toothed cam encoder wheel 816 are aligned. It is a key. 808 shown, which includes two missing teeth, tooth 0 of the first block of teeth and 31, 32 and 33 of the second block of teeth.

[0111] The data structure 800consists of four main blocks that are related to each other and form a main block definition 810 , a coder definition 816 , a key definition 818 and a unique key value array 820 belong.

[0112] The main block definition 810 contains two subblocks 812 , 814 Each sub-block 812 and 814 defines a group of teeth with the same spacing of the coding wheel. 802 .

[0113] The lower block 812 defines the first tooth 807 , 809 , which is located in the missing tooth region 804 , 806 comes, while the lower block 814 all other teeth defined.

[0114] The TeethInBlock section is the total number of teeth in this specific block. In subblock 812 is this just a single tooth, while in subblock 814There are 33 teeth. The TeethInBlock section allows large groups of similar, adjacent teeth to be described using a relatively small amount of data. This is desirable for implementation in embedded systems with limited resources.

[0115] The BlockslstTooth section, in combination with the TeethInBlock section, provides a mechanism to detect whether a specific tooth is defined by a particular block. For subblock 812 This value is 0 because that is the beginning of the sub-block definition. 812 is. Because the TeethInBlock of the subblock 1 The coding system knows this. 100 (out of Fig. 1) that the block is only one tooth long. For the subblock 814 Is this value a 1 because the first tooth of the subblock 814 Tooth 1 811 is and the TeethInBlock entry 33 is. That's why the coding system knows 100, that each tooth from 1 to 33 is part of the subblock 814 is.

[0116] The encoder definition array 816 Contains the fields pBlockDefnArr and NumBlocks. NumBlocks displays the number of blocks from the block definition. 810 -section of the data structure. In Fig. In the 8th block, there are two blocks, as described above. The `pBlockDefnArr` field points to the information from the block definition. 810 -Section.

[0117] The encoder definition array 816 It also contains the fields NumKeys and pKeyDefnArr. NumKeys contains the number of keys per defined block. Since we are defining the block in Fig. If you have defined 8 with 36 teeth, there is only a single key. The pKeyDefnArr field points to the key definition array. 818 .

[0118] The key definition array 818describes an array of key definitions containing information such as which tooth position a referenced key corresponds to, and the number of key ratio key values ​​used by the key definition. Fig. 8 corresponds to the referenced key position tooth one, and there are a total of four key values ​​that form the key.

[0119] Furthermore, the key definition block contains 818 a pointer pRatioKeyArr that points to the unique key-value array 820 shows the unique key value array. 820 contains the ratio values ​​for each key calculated using equation (1). For the in Fig. In the embodiment shown in Figure 8, the key ratios are 1, 1, 3 and 0.33. These ratios are the key values ​​used to find a match in the pattern matching block. Fig. 1 to determine.

[0120] All references, including publications, patent applications and patents, cited in this text are hereby incorporated into the present text by reference to the same extent as if each reference had been individually and expressly stated to be incorporated into the present text by reference and had been fully set forth in the present text.

[0121] The use of the terms “a,” “one,” “an,” and “the,” and similar words in the context of the description of the invention (particularly in the context of the following claims) is to be interpreted as including both the singular and the plural, unless otherwise specified in the present text or the context unambiguously requires otherwise. The terms “comprise,” “have,” “including,” and “contain” are to be understood as open terms (i.e., in the sense of “including but not limited to”), unless otherwise noted. The indication of value ranges in the present text serves only as a shorthand method of individually referring to each separate value falling within the range, unless otherwise specified in the present text, and each separate value is included in the specification as if it had been individually mentioned in the present text.All procedures described herein may be carried out in any suitable order unless otherwise specified herein or the context unambiguously requires otherwise. The use of any examples or illustrative language (e.g., "such as") in this text serves only to better illustrate the invention and does not in any way limit its scope unless otherwise claimed. No wording in the specification may be construed as designating any unclaimed element as essential to the practice of the invention.

[0122] This text describes preferred embodiments of this invention, including the best ways of carrying it out known to the inventors. The person skilled in the art will likely think of variations of these preferred embodiments when reading the above description. The inventors assume that the person skilled in the art will use such variations appropriately, and they intend for the invention to be practiced in ways other than those expressly described in this text. Accordingly, to the extent permitted by law, this invention also includes all modifications and equivalents of the subject matter described in the claims attached to this text. Furthermore, every combination of the elements described above, in all its possible variations, is included in the invention, unless otherwise stated in this text or the context unambiguously requires otherwise.

Claims

[1] Device for determining the angular position of an encoder wheel, the device comprising: a first sensor for detecting a first pattern from a first encoder wheel; a memory for storing initial encoder wheel pattern data, wherein the initial encoder wheel pattern data describe the first pattern in data; a control unit comprising a pattern matching block that is communicatively coupled to the first sensor and compares the first pattern and the first encoder wheel pattern data. [2] Device according to claim 1, wherein the control unit further comprises a signal conditioning circuit arranged between the first sensor and the pattern matching block; where the signal conditioning circuit converts the first pattern into a digital pulse stream. [3] Device according to claim 2, wherein the pattern matching block compares the first encoder wheel pattern data with the digital pulse stream. [4] Device according to claim 1, wherein the first pattern contains at least one encoder key and the first encoder wheel pattern data define a data key corresponding to the encoder key. [5] Device according to claim 4, wherein the control unit further comprises a position tracking block which converts a match between the encoder key and the data key, which is determined by the pattern matching block, into an angular position of the first encoder wheel. [6] Device according to claim 1, wherein the first encoder wheel pattern data are selected from a library of previously defined encoder wheel data. [7] Device according to claim 1, wherein the first encoder wheel pattern data are defined in an encoder wheel data structure. [8] Device according to claim 1, further comprising a second sensor for detecting a second pattern from a second encoder wheel, wherein the second pattern from the second encoder wheel has a reference to the first pattern from the first encoder wheel. [9] Device according to claim 8, wherein the memory stores second encoder wheel pattern data that describes the second pattern in data. [10] Device according to claim 9, wherein the first encoder wheel pattern data and the second encoder wheel pattern data are selected from a library of previously defined encoder wheel data. [11] Device according to claim 9, wherein the first encoder wheel pattern data and the second encoder wheel pattern data are defined in an encoder wheel data structure. [12] Device according to claim 1, wherein the first encoder wheel is a crankshaft encoder wheel belonging to an engine. [13] Device according to claim 8, wherein the second encoder wheel is a camshaft encoder wheel belonging to an engine. [14] Device according to claim 8, wherein the second encoder wheel is a sync companion of the first encoder wheel. [15] Method for determining the angular position of an encoder wheel, the method comprising the following steps: Selecting first coder wheel pattern data; wherein the first encoder wheel pattern data contain a first encoder wheel data key; Detecting an initial pattern from a first encoder wheel; wherein the first pattern contains a first encoder key corresponding to the first encoder wheel data key; Comparing the first pattern and the first encoder wheel pattern data; Calculating an angular position of the first encoder wheel if the first encoder wheel data key matches the first encoder key of the first pattern. [16] Method according to claim 15, wherein the first encoder wheel pattern data are selected from a library of encoder wheel pattern data. [17] Method according to claim 15, wherein the first encoder wheel pattern data are defined in an encoder wheel data structure. [18] The method of claim 15, further comprising the following steps: selecting a second encoder wheel pattern data containing a second encoder wheel data key; Detecting a second pattern from a second encoder wheel, wherein the second pattern contains a second encoder key corresponding to the second encoder wheel data key; Comparing the second pattern and the first encoder wheel pattern data; Calculating an angular position of the second encoder wheel if the second encoder wheel data key matches the second encoder key of the second pattern. [19] Method according to claim 18, wherein the step of calculating the angular position of the first encoder wheel is further based on the angular position of the second encoder wheel. [20] Method according to claim 18, wherein the first encoder wheel pattern data and the second encoder wheel pattern data are selected from a library of encoder wheel pattern data. [21] Method according to claim 18, wherein the first encoder wheel pattern data and the second encoder wheel pattern data are defined in an encoder wheel data structure. [22] Method according to claim 15, wherein the first encoder wheel is a crankshaft encoder wheel belonging to an engine. [23] Method according to claim 18, wherein the second encoder wheel is a camshaft encoder wheel belonging to an engine. [24] Method according to claim 18, wherein the second encoder wheel is a sync companion associated with the first encoder wheel. [25] Data structure for defining an encoder wheel system for use in an engine control system, wherein the data structure comprises: a encoder system definition array, wherein the encoder system definition array defines an encoder wheel system of a motor; an absolute source encoder wheel definition array, wherein the absolute source encoder wheel definition array defines an absolute source encoder wheel of the motor; an absolute source encoder pattern definition array, wherein the absolute source encoder pattern definition array defines an absolute source tooth structure of the absolute source encoder wheel. [26] Data structure according to claim 25, which further comprises a companion-source companion-source encoder wheel definition array, wherein the companion-source companion-source encoder wheel definition array defines a companion-source companion-source encoder wheel of the motor. [27] Data structure according to claim 26, which further comprises a companion-source encoder pattern definition array, wherein the companion-source encoder pattern definition array defines a companion-source tooth structure of the companion-source companion-source encoder wheel. [28] Data structure according to claim 25, wherein the encoder system definition array defines the crank angle degree number during a complete engine cycle. [29] Data structure according to claim 28, wherein the encoder system definition array defines the number of cylinders of the engine. [30] Data structure according to claim 25, wherein the absolute Q source encoder wheel definition array defines how many times the absolute encoder source completes one full revolution during one full motor cycle. [31] Data structure according to claim 25, wherein the absolute source tooth structure of the absolute source encoder pattern definition array comprises an absolute source tooth name for each tooth of the absolute source encoder wheel. [32] Data structure according to claim 31, wherein the absolute source tooth structure of the absolute source encoder pattern definition array comprises an angular position around the absolute source encoder wheel for each tooth. [33] Data structure according to claim 32, wherein the absolute source tooth structure of the absolute source encoder pattern definition array comprises a sequence of ratios formed by comparing the position for each adjacent tooth of the absolute source encoder wheel. [34] Data structure according to claim 33, wherein the sequence of ratios forms a key of the absolute source encoder wheel. [35] Data structure according to claim 32, wherein the absolute source tooth structure of the absolute source encoder pattern definition array comprises a sequence of pulses formed by detecting either the falling edge or the rising edge for each adjacent tooth of the absolute encoder wheel. [36] Data structure according to claim 27, wherein the companion-source tooth structure of the companion-source encoder pattern definition array comprises a companion-source tooth name for each tooth of the companion-source companion-source encoder wheel. [37] Data structure according to claim 36, wherein the companion-source tooth structure of the companion-source encoder pattern definition array comprises an angular position around the companion-source companion-source encoder wheel for each tooth. [38] Data structure according to claim 37, wherein the companion-source tooth structure of the companion-source encoder pattern definition array comprises a sequence of ratios formed by comparing the position for each adjacent tooth of the companion-source companion-source encoder wheel. [39] Data structure according to claim 38, wherein the sequence of ratios forms a key of the companion-source companion-source encoder wheel. [40] Data structure according to claim 37, wherein the companion source tooth structure of the companion source encoder pattern definition array comprises a sequence of pulses formed by detecting either the falling edge or the rising edge for each adjacent tooth of the companion encoder wheel. [41] Data structure for defining an encoder wheel for use in an engine control system, wherein the data structure comprises: an encoder definition array, wherein the encoder definition array defines at least one block definition array of an encoder wheel and at least one key definition array of the encoder wheel. [42] Data structure according to claim 41, wherein the block definition array comprises a number of encoder wheel teeth in a block of encoder wheel teeth and a position of the first tooth in the block of teeth. [43] Data structure according to claim 41, wherein the key definition array comprises at least one distance ratio between adjacent teeth of the encoder wheel that forms a key of the encoder wheel.

Citation Information

Patent Citations

  • crank angle detection device

    DE10322689A1

  • Engine crankshaft position recognition and tracking method applicable to cam and crankshaft signals with arbitrary patterns

    US20050223787A1

  • Crank angle detecting apparatus and reference angular position detection method for internal combustion engine

    US20070033995A1

  • Engine position tracking for internal combustion engines

    US20080245142A1