Abstract:
An optical encoding apparatus for the detection of position and/or motion of a mechanical device includes a codescale, an encoder housing having one or more portions and a light-detecting sensor embedded within the encoder housing, wherein the light-detecting sensor is capable of sensing a pattern produced by the codescale superimposed on the light-detecting sensor, and wherein the light-detecting sensor includes a two-dimensional array of light detection elements having dimensions n-by-m where n and m are both integers greater than 4.

Description:
BACKGROUND  
       [0001]     The present disclosure relates to an optical encoding device for the sensing of position and/or motion.  
         [0002]     Optical encoders are used in a wide variety of contexts to determine position and/or movement of an object with respect to some reference. Optical encoding is often used in mechanical systems as an inexpensive and reliable way to measure and track motion among moving components. For instance, printers, scanners, photocopiers, fax machines, plotters, and other imaging systems often use optical encoders to track the movement of an image media, such as paper, as an image is printed on the media or an image is scanned from the media.  
         [0003]     Generally, an optical encoder includes some form of light emitter/detector pair working in tandem with a “codewheel” or a “codestrip”. Codewheels are generally circular and can be used for detecting rotational motion, such as the motion of a paper feeder drum in a printer or a copy machine. In contrast, codestrips generally take a linear form and can be used for detecting linear motion, such as the position and velocity of a print head of the printer. Such codewheels and codestrips generally incorporate a regular pattern of slots and bars depending on the form of optical encoder.  
         [0004]     While optical encoders have proved to be a reliable technology, there still exists substantial industry pressure to simplify manufacturing operations, reduce the number of manufacturing processes, minimize the number of parts and minimize the operational space. Accordingly, new technology related to optical encoders is desirable.  
       SUMMARY  
       [0005]     In the following embodiments, the novel systems and apparatus of the present disclosure eliminate the need for a codewheel/codestrip. By incorporating linear optics into an encoder&#39;s emitter and detector, then applying some intelligent post-processing, it is possible to create a reliable optical encoder without a codewheel/codestrip.  
         [0006]     In a first sense, an optical encoding apparatus for the detection of position and/or motion of a mechanical device includes a codescale, an encoder housing having one or more portions, and a light-detecting sensor embedded within the encoder housing, wherein the light-detecting sensor is capable of sensing a pattern produced by the codescale and superimposed on the light-detecting sensor, and wherein the light-detecting sensor includes a two-dimensional array of light detection elements having dimensions n-by-m where n and m are both integers greater than 4.  
         [0007]     In a second sense, an optical encoding apparatus for the detection of position and/or motion of a mechanical device includes a codescale, an encoder housing having one or more portions, a light-detecting means embedded within the encoder housing for sensing a pattern produced by the codescale; and a processing means linked to the light-detecting means for compensating for an alignment error of the codescale with respect to the encoder housing and for determining a movement of the codescale with respect to the encoder housing.  
         [0008]     In a third sense, a method for calibrating a mechanical device having an optical encoding apparatus, wherein the optical encoding apparatus includes a codescale, an encoder housing and a light-detecting sensor, wherein the light-detecting sensor contains a two-dimensional array of light detecting elements having at least 4-by-4 elements is presented. Such method includes a step of compensating for an alignment error based on movement detected by the light-detecting sensor.  
     
    
     DESCRIPTION OF THE DRAWINGS  
       [0009]     The example embodiments are best understood from the following detailed description when read with the accompanying drawing figures. It is emphasized that the various features are not necessarily drawn to scale. In fact, the dimensions may be arbitrarily increased or decreased for clarity of discussion. Wherever applicable and practical, like reference numerals refer to like elements.  
         [0010]      FIG. 1  shows a reflection-based optical encoder for use with the disclosed methods and systems;  
         [0011]      FIG. 2  shows an exemplary detector for use with the disclosed methods and systems;  
         [0012]      FIG. 3A  shows the exemplary detector of  FIG. 2  with a first projected codescale pattern superimposed;  
         [0013]      FIG. 3B  shows the affected detection elements for the example of  FIG. 3A ;  
         [0014]      FIG. 3C  shows an exemplary subset of the affected detection elements for the example of  FIG. 3A  for use in detecting both motion and direction of the related codescale;  
         [0015]      FIG. 4A  shows the exemplary detector of  FIG. 2  with a second projected codescale pattern superimposed;  
         [0016]      FIG. 4B  shows the affected detection elements for the example of  FIG. 4A ;  
         [0017]      FIG. 4C  shows an exemplary subset of the affected detection elements for the example of  FIG. 4A  for use in detecting both motion and direction of the related codescale; and  
         [0018]      FIG. 5  is a flowchart outlining an exemplary process according to the present disclosure. 
     
    
     DETAILED DESCRIPTION  
       [0019]     In the following detailed description, for purposes of explanation and not limitation, example embodiments disclosing specific details are set forth in order to provide a thorough understanding of an embodiment according to the present teachings. However, it will be apparent to one having ordinary skill in the art having had the benefit of the present disclosure that other embodiments according to the present teachings that depart from the specific details disclosed herein remain within the scope of the appended claims. Moreover, descriptions of well-known apparatus and methods may be omitted so as to not obscure the description of the example embodiments. Such methods and apparatus are clearly within the scope of the present teachings.  
         [0020]     Optical encoders are generally classified into two categories: transmission-based optical encoders and reflection-based optical encoders. The following disclosure is generally directed to reflection-based optical encoders. However, it should be appreciated that there will be pertinent concepts that may readily apply to transmission-based encoders as well.  
         [0021]      FIG. 1  shows a first reflection-based optical encoder  100 . The reflection-based encoder  300  includes an optical emitter  122  and an optical detector  132  mounted on a substrate  110  and encapsulated in an optical housing  120 , which is typically made from some form of resin or glass. The exemplary optical housing  120  has two dome-shaped lenses  124  and  134 , with the first lens  124  directly above the optical emitter  122  and the second lens  134  directly above the optical detector  132 . A codescale  193 , i.e., a codewheel, codestrip or the like, is positioned above the housing  120  on body  190 , which for the present example can be a flat, linearly moving body or spinning disk. A link  140  is provided from the detector  134  to a post processor (not shown) in order that light signals reaching the detector  134  can be properly interpreted.  
         [0022]     In operation, light emitted by the optical emitter  122  can be focused by the first lens  124 , then transmitted to the codescale  193  at location  195 . Should the codescale  193  be positioned such that a reflective slot/bar is present along the path  150  of the transmitted light, the transmitted light can be reflected to the second lens  134 , then focused by the second lens  134  onto the optical detector  132  where it can be detected. Should the codescale  193  be positioned such that a reflective slot/bar is present along the path  150  of the transmitted light, the transmitted light will be effectively blocked, and the optical detector  132  can detect the absence of light. Should the codescale  193  be configured such that a combination of reflective and non-reflective bars are simultaneously present at location  195 , the codescale  193  can reflect light commensurate with the pattern of reflective and non-reflective bars such that the pattern is effectively projected onto the optical detector  132 .  
         [0023]     Generally, it should be appreciated that the installation of an optical encoder can be a precise and time-consuming task. For example, a typical optical encoder must be installed with a high precision of alignment, and the failure to do so can cause the optical encoder to effectively malfunction. Accordingly, there can be a substantial cost in manufacturing associated with the installation of a precision optical encoder.  
         [0024]     In order to overcome this problem, the inventors of the disclosed methods and systems have developed a highly flexible light-sensing detector that not only solves most alignment issues, but provides a host of other advantages as well.  FIG. 2  depicts an exemplary light-sensing detector  200  for use with the disclosed methods and systems. As shown in  FIG. 2 , the light-sensing detector  200  includes and array of light-detecting elements  210  with each light-detecting element  210  independently capable of sensing light, converting the sensed light to an electrical quantity (e.g., current, voltage or resistance) and conveying that electrical quality to an external device, such as a digital signal processor/controller having an analog-to-digital converter. While the exemplary light-sensing detector  200  includes a 10-by-10 array of light-detecting elements  210 , it should be appreciated that the size of such an array can vary to as little as a 2-by-2 array (or more practically 4-by-4 array), or alternatively can exceed more than 100-by-100 elements depending on the particular circumstances of use. Further, the overall dimensions (W 1 -by-H 1 ) of the array of light-detecting element  210  can also vary as desired or otherwise required by the particular circumstances of use.  
         [0025]     As will be shown below, the light-sensing detector  200  of  FIG. 2  can not only be used to alleviate alignment errors, but also has a number of other important advantages.  
         [0026]     For example, the light-sensing detector  200  can be used to sense movement in two-dimensions, as opposed to movement in a single dimension as other optical encoders are limited. Further, the light-sensing detector  200  can be used to detect eccentric motion to practically any angle with a sufficient level of precision as to ensure accurate and reliable operation of an optical encoder. Still further, the light-sensing detector  200  can be used to detect a rotation of a codescale with respect to an encoder body.  
         [0027]     Still further, the light-sensing detector  200  can be used to detect specific shapes that may be present on a particular codescale. For example, a particular codestrip may consist of alternating rectangular bars and windows across its length, but otherwise incorporate one or more unique patterns, e.g., a square, a star, a circle or the like, to signify location data, such as a center or location reference. Such shape information can also enable a processor to determine a particular model number or model revision as such information may be incorporated, for example, as a particular window shape, as a bar-code or even as a series of alpha-numeric characters written on the codescale.  
         [0028]      FIG. 3A  depicts the detector  200  of  FIG. 2  with a codescale projection  310  superimposed over the detector  200 . The particular codescale for the exemplary system is configured to move in a left-right direction with respect to the detector  210 , and as can be deduced by the configuration of  FIG. 3A  only a limited number of light-detection elements (i.e., a 5-by-10 sub-array) will be affected by the codescale&#39;s movement.  
         [0029]      FIG. 3B  more clearly shows the affected light-detection elements  320  (shown as shaded), and further indicates that the codescale  310  of  FIG. 3A  is offset by a linear distance of D 1 , a distance that can be discerned by a processor monitoring the detector  200 . Given that only a select number of light-detection elements  320  are affected, it should be appreciated that a processor monitoring the detector  200  does not need to monitor every detection element. To the contrary, as only fifty of the one-hundred detection elements are affected by the codescale&#39;s motion, a processor monitoring the codescale&#39;s motion can eliminate much needless processing by only monitoring the fifty affected detection elements  320  with no degradation of performance.  
         [0030]     Moving to  FIG. 3C , it should be appreciated that not all of the affected fifty detection elements  320  may be necessary to monitor codescale motion. Accordingly,  FIG. 3C  depicts an exemplary minimal subset of detection elements  330  (shown as shaded) useful to monitor codescale movement and direction. While only four detection elements  330  are used for the example of  FIG. 3C , it should be appreciated that more detection elements can be used to incorporate redundancy, higher reliability or some other desirable feature. It should also be appreciated that the chosen detection elements need not be contiguous, but can be spread about any useful pattern among the fifty affected detection elements  320 . Still further, while in some embodiments the number and pattern of used detection elements may be chosen based on a minimum number of detection elements needed to perm necessary operations, other criteria may be applied including criteria related to the optimization of processing, reliability and functionality.  
         [0031]      FIG. 4A  depicts the detector  200  of  FIG. 2  with a second codescale projection  410  superimposed over the detector  200 . The particular codescale for the exemplary system is configured to move in an eccentric direction with respect to the detector  210  (and the related encoder body), and as can be deduced by the configuration of  FIG. 4A  only a limited number of light-detection elements will be affected by the codescale&#39;s movement.  
         [0032]      FIG. 4B  depicts more clearly the affected light-detection elements  420  of  FIG. 4A . Those light-detection elements that are fully affected (i.e., are subjected to complete exposure and complete shading) are heavily shaded, and those light-detection elements that are partially affected are shown as lightly shaded. The codescale  410  of  FIG. 4A  is offset by a linear distance of D 2  and an angular offset of θ 2 , both quantities of which can be discerned by a processor monitoring the detector  200 .  
         [0033]     Again as with the previous example, given that only a select number of light-detection elements  420  are affected, it should be appreciated that a processor monitoring the detector  200  does not need to monitor every detection element. Further, as shown with  FIG. 4C , it should be appreciated that not all of the affected detection elements  420  may be necessary to monitor codescale motion, but a subset of detection elements  430  (shown as shaded) useful to monitor codescale movement and direction can be chosen based on any number of functional criteria, such as processing, redundancy, reliability and so on.  
         [0034]     While  FIGS. 3A and 4A  are directed to single-direction codescale motion, it should be appreciated that by changing the codescale to incorporate a two-dimensional array of windows, the detector  200  (with supporting processor) of  FIG. 2  can be used to sense motion and direction along two dimensions by monitoring the relative motion of windows superimposed over detector  200  with the caveat that all the detection elements  210  will likely be affected during operation.  
         [0035]     Additionally, with  FIGS. 3A and 4A  in mind, it should be appreciated that a rotation of a codescale can be detected assuming that the relative resolution of the detection elements  210  is large enough to detect the relative shapes of individual codescale windows. That is, given that the instantaneous number and pattern of detection elements will change as a codescale rotates from an angle of θ=0 ( FIG. 3A ) to an angle of θ=θ 2  ( FIG. 4A ), angular information can be derived from the detector  200  with the appropriate post-processing.  
         [0036]      FIG. 5  is a flowchart outlining an exemplary operation for calibrating and using optical encoders, such as the optical encoder with assorted components described above. The process starts at step  502  where the encoder body is installed on a particular device for use, such as a printer head or printer drum. Next, in step  504  the related codescale, e.g., codestrip or codewheel, is also installed. Control continues to step  506 .  
         [0037]     In step  506 , the codescale is moved relative to the encoder body in order to determine the response of individual detection element of a detector in the encoder body. The exemplary detector can be an n-by-m array device, such as the 10-by-10 array shown in  FIGS. 2-4C . However, as discussed above, the size, shape and resolution of the detector can change from embodiment to embodiment as may be found useful or advantageous. Next, in step  508 , the number of detection elements affected by the actions of step  506  are determined. Control continues to step  510 .  
         [0038]     In step  510 , a number of other useful properties can be determined based on the actions of step  506  including: linear misalignment, angular misalignment, relative angular motion of the codescale to the encoder body, model number/revision number of the codescale and/or the device using the codescale, the shape of the codescale&#39;s windows, shape of the codescale&#39;s bars, the nature of the codescale&#39;s movement (e.g., one-dimensional, two dimensional, eccentric) and so on. Control continues to step  512 .  
         [0039]     In step  512 , an appropriate set of detection elements in the detector is selected for use. In various embodiments, such a set can be the total number of detection elements affected by use (including or excluding partially affected detection elements) or some subset based on minimization of processing criteria, optimal performance criteria, redundancy/reliability criteria, a compromise of various criteria or some other useful criteria. Control continues to step  514 .  
         [0040]     In step  514  the device incorporating the codescale and encoder body of steps  502  and  504  is operated to detect any of one-dimensional movement, two-dimensional movement, eccentric movement, rotation and so on. Such operation continues as long as necessary or desired, and control continues to step  550  where the process stops.  
         [0041]     While example embodiments are disclosed herein, one of ordinary skill in the art appreciates that many variations that are in accordance with the present teachings are possible and remain within the scope of the appended claims. The embodiments therefore are not to be restricted except within the scope of the appended claims.