When starting an internal combustion engine, during the time of cranking, an on-board computer is attempting to determine the position of pistons in order to provide fuel delivery at an appropriate time to start the engine, provide efficient starts, and to avoid undesirable engine operation. Some engine position sensors need to have a certain engine velocity to get an output signal for the engine controller to read a position. The circuits typically used to interface to such sensors have a fixed minimum threshold, so the sensors may wait for the engine to come up to speed in order to appropriately detect position. The magnitude of the signal developed by some sensors is proportional to engine speed, so it can be difficult for the circuitry to accommodate very-low-speed signals, such as during starting. A variable reluctance (VR) sensing system, without more, may have a definite limit as to how slow the target can move and still develop a usable signal, which may make it unsuitable for low speed detection. An alternative, but more expensive, technology is Hall effect sensors, which are true zero-rpm sensors that actively supply information even when there is no engine motion.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key factors or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
One or more techniques and systems are described herein for identifying a position of an engine, such as the position of the pistons, camshaft, and/or crank shaft, during engine starting. That is, during starting of the engine it may be difficult to identify proper engine position due to low signal strength and signal noise. In some implementations, the input voltage signal from a variable reluctance sensor can be filtered and detection can be enhanced using programming logic to mitigate noise and identify the engine position signal.
In one implementation of an engine speed and position sensor interface system, a sensor that outputs a voltage signal based on detected magnetic reluctance may be used to produce an input analog voltage signal. Further, a microcontroller can be electrically coupled with the sensor. The microcontroller can comprise an analog to digital converter to convert the voltage signal to a digital voltage signal. Further, the microprocessor can comprise stored controller logic, and a processor that processes the controller logic in combination with the voltage signal, resulting in an engine position determination. The controller logic executed by the processor can comprise instructions that are configured to use a peak voltage signal of the digital voltage signal to trigger an opening of a detection window. Additionally, the instructions can be configured to identify a first zero-cross of the digital voltage signal within the detection window to identify an engine position.
To the accomplishment of the foregoing and related ends, the following description and annexed drawings set forth certain illustrative aspects and implementations. These are indicative of but a few of the various ways in which one or more aspects may be employed. Other aspects, advantages and novel features of the disclosure will become apparent from the following detailed description when considered in conjunction with the annexed drawings.
The claimed subject matter is now described with reference to the drawings, wherein like reference numerals are generally used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the claimed subject matter. It may be evident, however, that the claimed subject matter may be practiced without these specific details. In other instances, structures and devices are shown in block diagram form in order to facilitate describing the claimed subject matter.
A system can be devised that provides for detection of engine position and speed, which may be useful during startup. That is, for example, it may be beneficial to detect engine position early during starting to allow for early synchronization of fueling, to improve engine performance and life. Knowing the position of respective pistons can help the engine control unit (ECU) identify fueling synchronization, for example, providing fuel to the appropriate piston in the firing sequence. In this way, for example, starting of the engine may be achieved faster, and wear and tear on the starter and engine can be reduced.
In some implementations, engine position can be provided by detecting a position of a timing gear using a sensor that identifies the location of teeth (e.g., and absence of teeth) in a timing gear. For example, a sensor can detect the presence of teeth while the timing gear rotates and detect the gap in gear teeth where teeth are missing, which can indicate a specific engine position (e.g., first piston). In some implementations the sensor can comprise a variable reluctance (VR) sensor that detects magnetic reluctance that results from the proximity of respective teeth (e.g., and gaps between teeth) to the sensor, and outputs a signal that is indicative of the proximity of the teeth. In this way, for example, based on predetermined knowledge of the engine's position (e.g., with respect to the compression and exhaust stroke of respective pistons, the position of the cam, and/or position of the crank) with respect to the position of the timing gear, the indication of the output signal of the VR sensor can help identify a position of the engine. In other implementations, the sensor can comprise a hall-effect sensor that is configured to detect the intensity of a magnetic field, by measuring a value of magnetic flux density created by the proximity of the teeth of the timing gear to the sensor.
In some implementations, the timing gear may have one or more portions with one or more missing teeth 154 (e.g., or smaller/shortened teeth). In this implementation, for example, the location of the missing teeth 154 can be indicative of a pre-determined engine position, such as the first or number one piston beginning its intake stroke at top dead center (TDC). Or some other position or cylinder during the timing cycle of the engine. In these implementations, it may be useful to know the position of the engine in the cycle in order to appropriately synchronize fueling operations in the correct sequence at startup.
As an illustrative example,
Where the signal 206 crosses the zero-voltage position it indicates the center of a target tooth 152. In this way, the system may be able to identify an engine position, for example, to synchronize the control system. Further, as illustrated, the voltage signal 206 indicates a gap 204 at the location of the missing teeth, where there is no change in reluctance. In this way, a predetermined engine position may be associated with the position of the missing tooth, which can provide for identification of engine position based at least on the voltage signal.
Returning to
As an example, the voltage signal can be monitored and the peak of the voltage signal can be used to identify a trigger for opening the detection window. In some implementation, a percentage of the peak signal voltage can be used as a trigger threshold. For example, twenty-five percent of the peak voltage of the prior peak voltage signal may be used as a trigger to open the detection window. As an illustrative example,
Further, in this example, the trigger threshold 308 is set to the zero-cross voltage 304. When the analog voltage signal 310, comprising the input signal, falls below the zero-cross voltage, the digital voltage signal 306, comprising the output signal, drops to zero voltage. At this point, the trigger threshold 308 is set to a pre-determined percentage 312 of the previous measured peak amplitude 302. That is, for example, if the prior peak voltage signal amplitude is A, the new trigger threshold 308 may be set to 0.3(A) (e.g., twenty-five percent of the amplitude). Subsequently, in this example, when the input signal 310 goes above the trigger threshold 308 (e.g., new threshold) the output signal 306 rises to the new peak amplitude 302. In this way, for example, the zero-crossing of the input signal 310 can be identified, which can be used to identify an engine position.
As illustrated in
In this aspect, the example system 100 may be able to identify an engine position even at slow engine speeds, such as during start-up. For example, detection of the engine position, using the identification of gear teeth locations, can be difficult at slow speeds due to interference or noise. As an example, noise may be generated by mechanical and/or electro-mechanical forces, such as from radial, tangential, and/or lateral movement of one or more of the system components. The noise may show up as distortion in the input signal, for example, and may create an extra pulse, including an extra zero-cross during position detection. As an illustrative example,
As described above, after the input analog voltage signal (e.g., 310 of
In some implementations, the controller logic executed by the processor can comprise instructions that are further configured to apply a low pass frequency filter to the voltage signal to filter out portions of the voltage signal above a predetermined frequency threshold. For example, a software-based or hardware-based frequency filter can be applied to merely monitor a sine wave that is less than a pre-determine frequency, such as 30 hertz, which is typical when first starting an engine. So, for example, a low pass filter can be set up to only allow frequencies below a certain amount, in order to eliminate higher frequencies that may be associated with electrical circuits, environmental conditions, etc. In some implementation, filtering the digital voltage signal can result in sharp cutoff of undesired frequencies. The filter may be dynamically adjusted according to the condition of the engine, from start-up to running, for example, and can be moved very close to where frequencies may be when starting the engine, then move the filter out when engine speeds up.
A method may be devised for detecting an engine position during engine starting.
Having reset the trigger threshold, the exemplary method 500 ends at 516.
As an illustrative example,
At 608, a low pass (LP) filter can be used to filter out noise. For example, as described above, a low pass frequency filter can be applied to the digital voltage signal to filter out portions of the voltage signal above the predetermined frequency threshold. For example, a software-based or hardware-based frequency filter can be applied to merely monitor a sine wave that is less than a pre-determine frequency, such as 30 hertz, which is typical when first starting an engine. So, for example, the LP filter can merely allow frequencies below a predetermined amount, in order to eliminate noise that may be associated with higher frequencies, which may result from electrical circuits, environmental conditions, etc. In some implementations, the ADC sampling rate can comprise about 15.6 kHz, the ADC sampling rate per channel can comprise about 5.2 kHz, and the ADC resolution can comprise about 10 bits. Further, in some implementations, the LP filter cutoff in the low amplitude mode can comprise about 1.04 kHz.
At 610, the signal amplitude can be compared with a signal amplitude threshold (e.g., minimum) to determine whether the signal amplitude is greater than the threshold. For example, the single amplitude threshold can identify an amplitude that identifies engine speed sufficient for the engine hardware can take over from the software-based signal sampling cycle. If the signal amplitude does not meet the threshold, at 612, the output of the signal can be set be set based on a filtered sample of the signal. For example, the signal can be processed with a filter and hysteresis to filter out extra pulses that are not indicative of the signal's sine peak, such as engine noise, electrical noise, etc. In this example, an arming threshold can be set that is indicative of the signal's sine peak, which can be sent to the microcontroller, for example, to detect the next sine peak. That is, for example, to detect a signal that meets the arming threshold within a certain period of time; otherwise the detector is not armed.
At 614, in the example, method 600, a timer is added to improve noise rejection. That is, the signal is not detected at least until it meets the arming threshold within the time period of the timer. In this way, for example, signal noise can be eliminated from the signal detection during that period where the arming threshold is not met. The exemplary method 600 returns to 606, where another analog to digital convertor (ADC) reading is performed, as described above.
Alternately, if the signal's amplitude meets the signal amplitude threshold, at 610, the current channel is set to run mode, at 616. That is, for example, if the signals amplitude meets the threshold, the engine speed is sufficient to support a run mode for the engine, and the current channels can be set such that the hardware can take over the signal detection. As another example, the engine system can comprise a plurality of channels (e.g., cam & crank, -). In this example, the cam channel may have a lower amplitude, having fewer teeth of the gear (e.g., half speed); the crank shaft may have a higher amplitude, moving up and down based on the compression stroke. The signal amplitude threshold can be set based on desired amplitude, and the run mode can comprise one hundred hertz for example. If the current channel is greater than 100 hertz, at 618, the engine moves from low amplitude mode to run mode. Otherwise, at 620, if each channel is ready for run mode, the engine moves to run mode. If each channel is not ready for run move, at 620, the method 600 returns to 612 to set the output, and arm the threshold, as described above.
In
Alternately, if the input signal does from low to high at 638, the negative input is set to the zero-cross value, at 640. At 642, the current peak is adjusted to 25% for the trigger for the input, to within 39 millivolts of the previous peak at thirty percent, for example.
At 624, during run mode, the analog to digital convertor (ADC) reading is performed on the input signal identified by the sensor (e.g., 102). If the sample amplitude is greater than the previous sample, at 626, the current peak arming threshold can be set to thirty percent of the current peak, which may be equivalent to about twenty-five percent of the sample amplitude. At 630, the current peak amplitude can be adjusted to twenty-five percent, within about 39 millivolts of the previous peak of thirty percent. At 632, it is determined whether the comparator has been toggled within one-hundred milliseconds. That is, for example, the system utilizing this method may determine whether the engine speed has been reduced since the last sampling. In this example, an engine shut off, bad battery, or other system failure may reduce the engine speed during start up in run mode. Further, a timer (e.g., 100 ms) can be set to determine whether the engine speed has been reduced. In this example, if the engine speed is not reduced, the example method returns to sample the signal at 624. Otherwise, the method returns the system to low amplitude mode (e.g., 604), where software based engine speed determination can occur.
In some implementations, the method can comprise applying a low pass frequency filter to the analog input voltage signal, in order to filter out frequencies that are above a predetermined threshold. Further, a gap can be identified in the reluctance provided by the analog input voltage signal that is indicative of a gap in timing gear teeth being read by the sensor. That is, for example, when the input voltage indicates no change in reluctance, this may indicate missing teeth from the timing gear, which can identify a desired engine position.
The word “exemplary” is used herein to mean serving as an example, instance or illustration. Any aspect or design described herein as “exemplary” is not necessarily to be construed as advantageous over other aspects or designs. Rather, use of the word exemplary is intended to present concepts in a concrete fashion. As used in this application, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or.” That is, unless specified otherwise, or clear from context, “X employs A or B” is intended to mean any of the natural inclusive permutations. That is, if X employs A; X employs B; or X employs both A and B, then “X employs A or B” is satisfied under any of the foregoing instances. Further, At least one of A and B and/or the like generally means A or B or both A and B. In addition, the articles “a” and “an” as used in this application and the appended claims may generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Furthermore, at least some portions of the claimed subject matter may be implemented as a method, apparatus or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware or any combination thereof to control a computer to implement the disclosed subject matter. The term “article of manufacture” as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier or media. Of course, those skilled in the art will recognize many modifications may be made to this configuration without departing from the scope or spirit of the claimed subject matter.
Also, although the disclosure has been shown and described with respect to one or more implementations, equivalent alterations and modifications will occur to others skilled in the art based upon a reading and understanding of this specification and the annexed drawings. The disclosure includes all such modifications and alterations and is limited only by the scope of the following claims. In particular regard to the various functions performed by the above described components (e.g., elements, resources, etc.), the terms used to describe such components are intended to correspond, unless otherwise indicated, to any component which performs the specified function of the described component (e.g., that is functionally equivalent), even though not structurally equivalent to the disclosed structure which performs the function in the herein illustrated exemplary implementations of the disclosure. In addition, while a particular feature of the disclosure may have been disclosed with respect to only one of several implementations, such feature may be combined with one or more other features of the other implementations as may be desired and advantageous for any given or particular application. Furthermore, to the extent that the terms “includes,” “having,” “has,” “with,” or variants thereof are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising.”
The implementations have been described, hereinabove. It will be apparent to those skilled in the art that the above methods and apparatuses may incorporate changes and modifications without departing from the general scope of this invention. It is intended to include all such modifications and alterations in so far as they come within the scope of the appended claims or the equivalents thereof.