Abstract:
There is provided, in one preferred embodiment, a bar code reader which has a variable scan angle, with the amplitude of the scan angle initially being relatively small and then increasing in magnitude until a bar code is read. As the amplitude of the scan angle increases, the scan frequency is decreased, thereby keeping the scan rate across the bar code relatively constant. Consequently, for example, a high-density bar code may be read at either a close distance or a far distance without sacrificing resolution. Additionally, the reading of a selected bar code in the presence of other, closely-spaced bar codes is facilitated. In another preferred embodiment, the scan frequency is held constant and the clock rate in the bar code reader is increased with increasing amplitude of the scanning angle. In yet another preferred embodiment, scan angle and frequency are held constant, while a microprocessor varies the length of the bar code decoded and increases/decreases resolution to compensate for the distance of the bar code from the reader head.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The Present invention relates to bar code readers generally and, more particularly, to a novel bar code reader which permits reading bar codes of varying size over a wide range of distances, while allowing good bar discrimination regardless of such size or distance. 
     2. Background Art 
     Bar codes have found application in a wide variety of applications as an information source, typically for digital processors. Such bar codes are used at point-of-sale in merchandising for pricing and inventory count, in controlled personnel access systems, and in manufacturing for work-in-process and inventory control, to name only a few applications. The bar codes themselves comprise a series of parallel lines, typically in the range of about 1/8&#34; to 1&#34; in height and from about 1 to 50 mils in thickness, arrayed on a contrasting background. The lines may variously have unequal spacings and/or unequal thicknesses, with the variations in spacing and/or thickness determined by the information &#34;stored&#34; in the bar code. A bar code is &#34;read&#34; by serially illuminating the bars, with the bars absorbing light and the background reflecting light. The resulting pattern of reflection and nonreflection is sensed by a light detecting device which provides input to the digital processor. The bar code reader may be of the type that is passed over the bar code or of the type with which the bar code is moved passed the bar code reader. 
     There are two widely used types of bar codes: (1) the high-density type, the narrowest element of which is 7 mils wide and which includes 10 characters per inch for Code 39, and (2) the low-density type, the narrowest element of which is 30 mils wide and which includes 3 characters per inch for Code 39. The former is typically read at close range, while the latter is typically read at a distance. 
     Known bar code readers serially scan bar codes at a fixed rate of sweep. As a bar code is scanned, there is generated a number of pulse counts per bar, derived from a fixed clock signal, the number of counts being directly proportional to the width of a particular bar and, conversely, the number of counts between bars being directly proportional to the width of a particular space. Since the rate of sweep through the scan angle is fixed, the scan rate across a bar code that is positioned close to the bar code reader will be less than the scan rate across a bar code that is positioned farther from the bar code reader. It can be understood, therefore, that 3 counts for a given bar may be generated when, say, a high-density bar code is being read at a distance close to the bar code reader; but, if the same bar is at a farther distance from the bar code reader, only 1, or even less, count per bar may be generated because of the greater scan rate at that distance. As a result, that bar code reader would be unsuitable for reading that bar code at that farther distance. Likewise, when trying to read a low-density bar code having wide elements at close range, the high counts obtained may overload the decoding circuitry in the bar code reader. Consequently, it is necessary, in many cases, to provide a plurality of bar code readers having different fixed parameters in order to be able to read bar codes at different distances and/or the operator must adjust the position of the bar code reader relative to the bar codes. 
     A further disadvantage of present bar code readers is that they employ a fixed scan angle. Consequently, when one attempts to use such a bar code reader to read a bar code which has other bar codes in proximity to it, the bar code reader may scan portions of two or more bar codes. In some cases, this may be of no consequence, since the bar code reader will decode a scanned bar code only when it detects the quiet zones on either end of the encoded information. In other cases, however, portions of two or more bar codes may be scanned before the reader recognizes the quiet zones and, therefore, a false reading is obtained. One common method of trying to avoid this problem is to hold the bar code reader such as to place the plane of the scan at an angle to the axis of the bar code so that at least bar codes in line with the one being read will not be scanned. Another method of trying to avoid this problem is to provide the bar code reader with a fixed light source in addition to the scanning light source. When the operator wishes to read a bar code, he switches to the fixed light source to assure where the bar code reader is pointing, then switches to the other light source for scanning. Either of these methods somewhat improves the accuracy of bar code scanning, but both add additional time to the process. 
     Accordingly, it is a principal object of the present invention to provide a bar code reader which can read a range of bar code sizes over a range of distances. 
     Another object of the invention is to provide such a bar code reader which employs relatively conventional components and is economical to construct and easy to use. 
     An additional object of the invention is to provide such a bar code reader which improves the accuracy of bar code reading when there are other bar codes in proximity to the one being read. 
     Other objects of the present invention, as well as particular features and advantages thereof, will be apparent from the following description and the accompanying drawing figures. 
     SUMMARY OF THE INVENTION 
     The present invention achieves the above objects, among others, and substantially overcomes the limitations of known conventional devices by providing, in one preferred embodiment, a bar code reader which has a variable scan angle, with the amplitude of the scan angle initially being relatively small and then increasing in magnitude until a bar code is read. As the amplitude of the scan angle increases, the scan frequency is decreased, thereby keeping the scan rate across the bar code relatively constant. Consequently, for example, a high-density bar code may be read at either a close distance or a far distance without sacrificing resolution. Additionally, the reading of a selected bar code in the presence of other, closely-spaced bar codes is facilitated. In another preferred embodiment, the scan frequency is held constant and the clock rate in the bar code reader is increased with increasing amplitude of the scanning angle. In yet another preferred embodiment, scan angle and frequency are held constant, while a microprocessor varies the length of the bar code decoded and increases/decreases resolution to compensate for the distance of the bar code from the reader head. 
    
    
     BRIEF DESCRIPTION OF THE DRAWING 
     FIG. 1 is a partially perspective and partially schematic view of a conventional bar code reading system. 
     FIG. 2 indicates the scan angle amplitude and scan frequency of the system of FIG. 1. 
     FIG. 3 is a partially perspective and partially schematic view of a bar code reading system according to one aspect of the present invention. 
     FIG. 4 indicates the scan angle amplitude and scan frequency of the system of FIG. 3. 
     FIG. 5 is a partially perspective and partially schematic view of a bar code reading system according to another aspect of the present invention. 
     FIG. 6 indicates the scan angle amplitude and scan frequency of the system of FIG. 5. 
     FIG. 7 is a schematic diagram illustrating a bar code reading system according to a further aspect of the present invention. 
     FIG. 8 indicates the varying portion of scan angle read with the system of FIG. 7. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Referring now to the Drawing, in which the same or similar elements are given consistent identifying numerals throughout the various figures, FIG. 1 shows a bar code reader, generally indicated by the reference numeral 10, positioned to read high-density bar code 12 and low-density bar code 14. Included in bar code reader 10 is a mirror 16 which is oscillated, as indicated by the double-headed arrow, by a oscillator 18. Oscillator 18 is driven by control circuitry 20 through a power amplifier 22, which control circuitry causes mirror 16 to rotate back and forth through a constant angle A at a constant frequency. A light source 24, which may be a light source producing either visible or invisible light, provides a beam of light through a beam splitter 26 to mirror 16, the oscillation of which mirror casts a moving team of light toward bar codes 12 and 14, the beam defining a sinusoidal waveform of constant scan angle A and constant frequency, as shown on FIG. 2. 
     Referring to FIG. 1, light reflected from bar codes 12 and 14 returns on the same path as the light to the bar codes, is reflected from mirror 16 to beam splitter 26, and is reflected by the beam splitter to a photodetector 28. The output of photodetector 28 is an input to an AND gate 30, the other input to which gate is a fixed clock signal. The output of AND gate 30 is a pulse train in which the numbers of pulses, or counts, in each group of counts indicate the width of the bars of a bar code. The pulse train is an input to decoding circuitry 32 which provides an output from bar code reader 10. 
     The relationship between the number of counts and the scan rate, with scan rate being defined as the rate of movement of the light beam across a bar code in terms of distance per unit time, is given by: I. (counts)=(clock rate)×(bar width)/(scan rate); and II. (scan rate)=K(scan frequency)×(distance between bar code and bar code reader), where K is a constant. 
     Inspection of FIG. 1 will show that the scan rate across bar code 14 will be greater than that across bar code 12 by virtue of the former&#39;s greater distance from mirror 16, since the frequency of scanning is constant (FIG. 2). For the arrangement shown, this difference is compensated for somewhat by the fact that bar code 14 has wider bars than has bar code 12 and, therefore, the counts per bar on bar code 14 may be relatively the same as the counts per bar on bar code 12. However, it can be appreciated that, if bar code 12 were at the distance from mirror 16 where bar code 14 is located, the scan rate across bar code 12 could be too great to accurately read the code. Conversely, if bar code 14 were at the location of bar code 12, the number of counts per bar could overload decoding circuitry 32. 
     In order to overcome the limitations of bar code reader 10 and other prior art bar code readers, the present invention provides in one embodiment, illustrated on FIG. 3, a bar code reader, generally indicated by the reference numeral 50, which produces a light beam from mirror 16 having a sweep angle A&#39; which is variable in amplitude and frequency. (It will be understood that, as used herein and in the appended claims, &#34;sweep angle&#34; refers to the travel of the scanning beam and &#34;sweep angle amplitude&#34; refers to the length of travel of the scanning beam). The result is indicated on FIG. 4 where is can be seen that angle A&#39; initially has a relatively small amplitude, with the amplitude increasing with time. When a maximum selected amplitude is reached, the amplitude of angle A&#39; returns (not shown) to its lowest value and again increases following the pattern shown on FIG. 4. The process is reiterated, so that the reader produces a scan angle A&#39; the amplitude of which increases in a series of &#34;bursts&#34; until a bar code is read. If the bar code is narrow, it will be read early in a burst, regardless of whether it is close to or far from the bar code reader; provided, of course, that it is within the focal depth of the reader. If the bar code is wide, it will be read late in a burst--again, regardless of whether it is close to or far from the bar code reader. To compensate for the fact that a constant frequency scanning beam oscillation could produce a scan rate which could be too high to read a narrow bar code at a distance, FIG. 4 also indicates that the frequency of the scan is decreased as the amplitude of the scan angle A&#39; is increased. Thus, through the relationships set forth above, the scan rate is decreased to maintain the number of counts per bar code element relatively constant. Good resolution is assured for either type of bar code: there are sufficient counts when reading high-density bar codes and overloading of decoding circuitry 32 is avoided when reading low-density bar codes, regardless of the distance of either from the bar code reader. Additionally, the operator does not have to change his position relative to the bar codes to compensate for the type of bar code being read. The bar code reader is, in effect, self-adjusting to compensate for distance. 
     The present invention also improves the ability of an operator to read a bar code that has closely adjacent bar codes. The operator may simply aim the bar code reader fairly accurately at the bar code and initiate scanning. The scanning angle A&#39;, starting with a small amplitude and then &#34;bursting&#34; as described above, will expand only to the degree that an information code plus the quiet zones at each end thereof are scanned and then the bar code reader will indicate that a code has been read. This greatly reduces the possibility that the scanning beam will overlap any adjacent bar codes, which could potentially cause an erroneous reading. To further help improve accuracy, a conventional spotting light may also be employed. 
     The means ny which the variable-sweep angle A&#39; of FIG. 4 is produced may be seen by reference again to FIG. 3. Here, the constant oscillation angle control circuitry 20 of bar code reader 10 (FIG. 1) has been replaced with a waveform generator 52 which produces an output signal to amplifier 22 to drive oscillator 18 in such a manner as to produce the waveform shown on FIG. 4. All other elements of bar code reader 50 have the same functions as described for the like numbered elements of bar code reader 10 (FIG. 1). 
     Another embodiment of the present invention is shown on FIG. 5, which embodiment produces an oscillating scanning team having a variable sweep angle A&#34; as indicated on FIG. 6. Here, it can he seen from FIG. 6 that the amplitude of angle A&#34; increases in a manner similar to that of angle A&#39; on FIG. 4, but that the frequency of oscillation is constant, as is the case with angle A on FIG. 2. The constant frequency of oscillation of the light beam would normally have the effect of increasing the scan rate across bar codes far from bar code reader 60, as compared to that across a bar code close to the bar code reader: however, the present invention compensates for this difference, as can be seen by reference again to FIG. 5. Here, the uniform clock signal input to AND gate 30 has been replaced with an output from a frequency generator 62, the input of which frequency generator is the output of waveform generator 52. Thus, When waveform generator 52 produces an output calling for increasing amplitude of sweep angle A&#34;, frequency generator 62 provides an increasing clock rate input to AND gate 30, thus maintaining a selected rate of counts per bar code element. 
     In the embodiments described above and shown on FIGS. 3 and 5, the &#34;bursting&#34; effect is achieved by physically varying sweep angle A, which has constant frequency and amplitude, to produce sweep angles A&#39; and A&#34;, which have varying frequency and/or amplitude. FIG. 7 shows an embodiment of the present invention in which the frequency and amplitude of scan angle A remain constant, while the bursting effect is achieved electronically. Here, the output signal of detector 28 is gated through AND gate 30 to provide a pulse train as shown on FIG. 1 and that pulse train is now (FIG. 7) an input to a second AND gate 70 the other input to which is a signal from a microprocessor 72. 
     Reference also now to FIG. 8 will illustrate the effect of the second input to AND gate 70 from microprocessor 72. FIG. 8 shows the sweep of angle A, the frequency and amplitude of which, as noted above, remain constant. Although the amplitude of the sweep of angle A is constant, the second input to AND gate 70 varyingly limits the length of the pulse train from AND gate 30 that passes through the AND gate. 
     It may be assumed, for purposes of illustration, that the &#34;window&#34; defined by angle B1 is &#34;open&#34; during the first sweep of angle A. During the second sweep of angle A, the second input to AND gate 70 opens the window to the scope of angle B2; during the third sweep, the window is opened to angle B3; and during the fourth sweep, the window is opened to angle B4. Again, it will be understood that angle A is sweeping through its full amplitude, although only the extent of the sweep through the open window is passed to decoding circuitry 32. Thus, by providing an input to AND gate 70 from microprocessor 72 of appropriately lengthening period, the desired bursting effect is achieved without having to change the operation of the hardware components of the bar code reading system. It will be understood that the four increments of window opening are shown for illustrative purposes only and that, in actuality, a such larger number of increments would be provided normally. Also, it is preferable that the bursting open of the window be symmetrical with respect to angle A, as shown on FIG. 8, but such is not necessary for practicing the present invention. 
     Referring still to FIG. 8, if a bar code 74 is positioned at plane P1 (the bar code being shown in edge view), the bar code will be read during the second sweep of angle A, that is, it will be read in the window opening corresponding to angle B2 because that is the first window opening in the burst that fully encompasses the bar code. Likewise, if a similar bar code 76 is positioned at plane P2, the bar code will not be read until the window opening corresponds to angle B4 because that is the first window opening in the burst that fully encompasses the bar code. 
     It can be seen from the above discussion relative to clock rates, that if the clock rate remains constant as the window is burst open, there may exist the problems of generating too many pulses when a bar code is at plane P2 and too few pulses when a bar code is at plane P1. Too compensate for this, microprocessor 72 may be programmed to decrease the clock rate as the window opening increases. Preferably, however, microprocessor 72 samples the pulse train from AND gate 70 and analyzes that signal to determine the degree of resolution of the data and adjusts the clock to provide improved resolution during the next sweep. The next signal is then sampled to determine the degree of enhanced resolution resulting from the first adjustment, and the clock is again adjusted for the next succeeding sweep, and so forth, until a signal of satisfactory resolution is attained. The interval of time required for such signal analysis and adjustment of the clock may occur during the portions of angle A in which the window is closed and/or during dwell portions D1 and D2 of angle A (shown shaded on FIG. 8), the latter being typically present in such readers, due to the fact that the sweep of the beam desirably extends past the sides of the aperture in the reader through which the beam is projected. 
     While, in most cases, it is desirable to maintain the count rate constant regardless of variations in sweep angle amplitude, beam oscillation frequency, and/or window opening, it may, in other cases, be desirable that the relationships of the parameters not be linear and such is also within the intent of the present invention. It is also within the intent of the present invention that other combinations of the components described with respect to specific embodiments may be employed. For example, without limitation, microprocessor 72 in the embodiment shown on FIG. 7 could be used to vary the frequency and/or amplitude of oscillation of mirror 16 in the embodiments shown on FIGS. and 3 and 5. 
     A further aspect of the invention is to provide means, such as a second mirror (not shown), to vary the scanning beam up-and-down as well as to-and-fro to obtain a broader range of scanning. This variation is especially useful when a fixed bar code scanner is being used to read bar codes on passing objects, as it increases the total area in which a bar code may be read. The up-and-down varying of the scanning beam may be either linear or of the bursting amplitude window types, as described above. 
     It will be understood that the shapes of angles A&#39;, A&#34;, and A of FIGS. 4, 6, and 8, respectively, need not be sinusoidal, but may be of any desired shape, such as square, trapezoidal, or saw-toothed, for example. It will also be understood that, although the present invention has been described as being applied to a particular type of scanning bar code reader, it may be applied as well to other types of scanning bar code readers 
     It will thus be seen that the objects set forth above, among those made apparent from the preceding description, are efficiently attained and, since certain changes may be made in the above construction without departing from the scope of the invention, it is intended that all matter contained in the above description or shown on the accompanying drawing figures shall be interpreted as illustrative only and not in a limiting sense. 
     It is also to be understood that the following claims are intended to cover all of the generic and specific features of the invention herein described and all statements of the scope of the invention which, as a matter of language, might be said to fall therebetween.