Abstract:
A fiber optic detector head senses a light reflective or transmissive pattern on an encoder disk rotated by an engine shaft. The pattern results in three different light levels which are translated by a detector into an electrical pulse train having three different voltages. Patterns encoded into the single pulse train are decoded by a microprocessor to provide specific engine cylinder or cylinder pair position information even within the first spark firing period as well as engine speed information.

Description:
FIELD OF THE INVENTION 
     This invention relates to apparatus for obtaining information on shaft position and particularly to electro-optical apparatus for sensing engine speed and cylinder position. 
     BACKGROUND OF THE INVENTION 
     Electronic control of machines frequently requires information about the machine operation to be furnished to the control circuit. The absolute angular position of a rotating shaft and the shaft speed are data which are used in many control methods. In particular, ignition or fuel injection control of internal combustion engines makes use of information about the engine speed, even on an instantaneous basis, and the cylinder position. Then it is possible for the fuel or ignition circuit to apply fuel or ignition voltage to the proper cylinder at the precise time for optimum performance. It is desirable that the information be available, not only during running of the engine, but also upon starting; it is most useful to determine cylinder position information within one firing period. In the case of distributor-less engines this allows the early synchronization of the ignition pulses with the engine position. 
     It is known to use magnetic pickups with a gear or other toothed wheel to sense the rotation of an engine shaft such as a cam shaft or crank shaft, and to use a special index tooth or a separate pickup to establish the shaft position once each revolution. Similar arrangements using optical pickups with optical encoder disks are also known. Such disks have tracks of black and white patterns or transparent and opaque patterns to furnish binary data. Optical encoder disks with many tracks furnish several bits of digital information which makes accurate postion information possible. This requires many optical detectors, as well, thereby making such a system expensive. Such a device is shown in the U.S. Pat. No. 3,757,755 to Carner which is applied to engine control. A simpler apparatus is shown in U.S. Pat. No. 4,604,725 to Davies et al; a code track and a timing track are used along with two, or preferably four, fiber optic pickups to obtain position information only. Both of these patent disclosures specify binary codes on the encoder disk. This is the usual case since binary codes are easy to read and traditionally are thought to be readily interfaced with digital control circuitry. On the other hand binary codes using &#34;1&#34; and &#34;0&#34; as information bits are limited in the amount of information content. 
     The need for sufficient information for accurate control purposes has led to complex designs as discusssed above, yet it is generally acknowledged that simple designs are superior, if they accomplish the required function, because they are generally less expensive, more trouble free, and easier to maintain. 
     SUMMARY OF THE INVENTION 
     It is therefore an object of the invention to provide an optical and electronic apparatus for sensing engine speed and cylinder position using only a single optical pickup. It is a further object to provide such an apparatus for any shaft speed sensor and position detector. 
    
    
     DESCRIPTION OF THE DRAWINGS 
     The above and other advantages of the invention will become more apparent from the following description taken in conjunction with the accompanying drawings wherein like references refer to like parts and wherein: 
     FIG. 1 is a schematic diagram of an engine speed and position detector according to the invention; 
     FIG. 2 is a front view of an encoder disk for the apparatus of FIG. 1 showing the encoder pattern according to the invention; 
     FIG. 3 is a cross section view taken along line 3--3 of FIG. 2 showing a section of the disk and sensing head according to the invention; 
     FIG. 4 is a cross section view like that of FIG. 3 showing an alternative form of the encoder disk and sensing head; 
     FIG. 5 is a detector output voltage wave form graph; and 
     FIG. 6 is a flowchart of the decoding logic used by the detector of FIG. 1. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     FIG. 1 shows a shaft speed and position detector applied to an automotive engine 8 comprising an encoder disk 10 mounted on a cam shaft 12 for rotation with the shaft, an optical sensing head 14 closely spaced from the disk 10, the head 14 comprising a pair of optical fibers 16 and 18 respectively coupled to an LED light source 20 and a photodiode detector 22, and a decoder circuit 24 connected to the output of the detector 22. The LED provides light to the head 14 which illuminates a spot on the encoder disc and light reflected from the spot is picked up by the fiber 18 which transmits the light to the detector 22 where the received light intensity is translated into an output voltage. While the encoder disk 10 is coupled to the cam shaft 12, it can be driven instead by another engine shaft such as the crankshaft 13, or the distributor shaft (not shown). A crankshaft makes two revolutions for each engine cycle so that any single position of the shaft can correspond to either of two cylinders; an encoder on the crankshaft can only designate the position of cylinder pairs, and this is desirable in some types of ignition systems. The detection scheme as described thus far is well known and further detail is not deemed to be necessary except as described below. On the other hand, the particular encoding arrangement is new and provides advantages not heretofore realized in shaft sensor systems. 
     The encoder disk and sensing head are further shown in FIGS. 2 and 3. The face of the encoder disk 10 incorporates a plurality of spaced reflective segments 30 of equal size arranged in a circular track 32 on a nonreflective or absorbing background 34. The track 32 is aligned with the sensor head 14 so that light from the head illuminates a spot 36 on the track 32 and light is reflected to the head 14 in accordance with the reflectivity at the illuminated spot. The segments 30 are equally spaced so that as the shaft and the disk 10 rotate the light reflected from the disk to the sensor head 14 will be in the form of pulses which mark the passage of the segments 30. The pulses then provide information on the rotation of the shaft or its relative position. The time interval between the pulses is an inverse function of the shaft speed. Absolute position information, however, is provided by special characteristics of selected segments 30&#39; at disk angular positions corresponding to given shaft positions. 
     The special segments 30&#39; have two reflectivity levels 30a and 30b so that the reflected light pulses from such segments 30&#39; vary in amplitude. Each special segment 30&#39; has a unique reflectivity pattern to encode its own signature onto the light pulse. The position of the shaft at the time such an encoded pulse is produced is determined by decoding the pulse pattern. Since the detector 22 output voltage is dependent of the light level an analysis of the voltage variations reveals the shaft position. In an engine application the position of each cylinder is of interest so that for a four cylinder engine the shaft angles represented by the four special segments 30&#39; correspond to the top dead center of each cylinder. 
     A transmissive encoding scheme as shown in FIG. 4 is an alternative to the reflective arrangement discussed above. Each segment 30 or 30&#39; is a filter so that light is transmitted from the fiber 16 and passes through the segment 30 to the fiber 18 and the light modulation received at the detector is equivalent to the reflective case. 
     The detector 22 voltage pattern is shown in FIG. 5 which displays voltage versus shaft angle. Each pulse corresponds to a reflective segment and has a voltage which exceeds a first threshold level TH-1. In some cases a voltage wave form exceeds a second higher threshild TH-2. Each pulse is separated from its neighbor by a voltage lower than TH-1. That lower voltage may be zero if the absorbing background of the disk 10 reflects no light. However it is necessary only that the separating voltage be lower than the threshold TH-1 for then it, as well as the other voltage levels, can be recognized by the decoder circuit 24. It will be apparent as the description proceeds that it is essential that at least three voltage levels be provided to encode both the speed and position information on the single pulse train. It is not essential that the zero or low voltage represent the space between the pulses, i.e., the track 32 can use a highly reflective spacer or background and lower or different reflective levels for the segments. The decoder logic can be adjusted to accommodate any such variations on the prinicple. The important consideration is that the special segments 30&#39; yield unique identifiable voltage wave forms and that the speed information be preserved in the code. 
     To decode the voltage pattern the decoder circuit 24 is provided with threshold detectors 26 to detect the voltage levels in the pulse train and a logic circuit in the form of a microprocessor 28 to analyze the pulse shapes and correlate the shapes to shaft positions. Internal memory locations in the microprocessor 28 are designated as counters and a register. The microprocessor is programmed in accordance with the functions of the flow chart of FIG. 6. 
     The flow chart is described according to the functions shown in each block, the reference numeral in angle brackets referring to the block for the particular function. After START, the sensor voltage is read &lt;50&gt; and is compared to the threshold TH-1 &lt;52&gt;. If the voltage is higher than TH-1 flag A is set to &#34;1&#34; &lt;54&gt;. Then it is determined whether the flag A has just changed &lt;56&gt; indicating that the pulse has just begun. If so, the time of the pulse beginning is recorded and the time interval since the previous pulse is computed to derive shaft speed information &lt;58&gt;. Then the counter B and register A are set to zero &lt;60&gt;. The voltage V is tested against the threshold TH-2 &lt;62&gt; and if it is higher than the threshold the flage B is set to &#34;1&#34; &lt;64&gt;; otherwise the flag B is set to &#34;0&#34; &lt;66&gt;. Then the flag B is shifted into the 0 bit position of the register A &lt;68&gt;  and the program returns to START. If the flag A has not just changed &lt;56&gt; the voltage V is compared to the threshold TH-2 &lt;70&gt; and if it is higher the flag B is set to &#34;1&#34; &lt;72&gt;; otherwise the flag B is set to &#34;0&#34; &lt;74&gt;. If the flag B has not just changed the programs returns to START &lt;76&gt; and if it has just changed the counter B is incremented &lt;78&gt;. Then the register A is shifted &lt;68&gt; to shift each bit up one position and to set the bit 0 to the value of flag B. Then the program returns to START and the process is repeated as long as the pulse is present (flag A=1). In this way the register A acquires a bit pattern 01, 10, 101, or 010 and the counter B acquires a value of 1 or 2 which represent the sequence and number of voltage changes during the pulse to reliably identify the shaft position at the beginning of the pulse. At the end of the pulse the voltage drops below TH-1 &lt;52&gt; and the flag A is set to &#34;0&#34; &lt;80&gt;. If the flag A has not just changed &lt;82&gt; the program returns to START; otherwise it is determined whether the counter B is zero &lt;84&gt;. If not, the cylinder number is determined &lt;86&gt; from the truth table and the regular pulse counter is set to zero &lt;88&gt;. If the counter B is zero this is an indication that the pulse was a regular pulse (between TH-1 and TH-2). If the bit 0 of register A is zero &lt;90&gt; the regular pulse counter is incremented and the program returned to START. The regular pulse counter indicates the shaft position with respect to the last identified cylinder position and is used as an accurate timing mark for fuel injection or spark firing. 
     It will thus be seen that the encoder arrangement and the decoder logic combine to provide a simple and accurate apparatus for determining engine speed and cylinder position. The particular code disclosed here is not the only one which may be devised within the spirit of the invention. For example, a pair of specially coded pulses may be boundary markers for a variable number of intervening regular pulses, that number corresponding to a given cylinder position. In any event, the cylinder position can be identified during the first firing cycle after the start of the engine so that proper fuel and spark application can rapidly be determined. It will be apparent to those skilled in the art that a reflective encoder disk and the sensor head can be replaced by an equivalent transmissive encoder disk and appropriate sensor head to obtain the same results. 
     The different reflectivity of the respective segments of the disk 10 can be provided by forming the disk 10 of metal and then abrading or roughening respective segment areas to different degrees of roughness. Thus, the most rough segment area would have the least reflectivity. Maximum reflectivity could be provided by not roughening the segment areas that are to have the most reflectivity.