Bar code reader and method of measuring bar codes.

Abstract: A bar code reader (10) comprises two photodetectors (44, 48) disposed a fixed distance apart. Independent circuitry (56, 58; 66, 68) is connected to each photodetector to provide first and second digital signals when the photodetectors detect an edge in a bar code. As the reader (10) is scanned across the code the signals are timed and are compared in a central processing unit (76) to calculate the scanning velocity, from which the absolute spacing of the bars is determined.

Description: The present invention relates generally to the art of bar code scanning, and more particularly to apparatuses for measuring absolute spatial distances of bars and spaces within bar codes, and to a method for determining a precise absolute distance of the widths of bars and spaces. In the past, apparatuses for measuring relative widths or distances of bar codes have been provided having a light source and a photodetector for detecting light reflected from a light source off a label or sheet having a bar code imprinted thereon. Such apparatuses require either portability so that the light source and detector, together with some related circuitry can be passed over a bar code imprint, or movement of the bar code imprint past the light source and detector circuit. Such movement is designed to be made by a human holding either the bar code detecting circuitry or holding the bar code imprint. Such scanning apparatuses are used primarily for verifying the accuracy of the bar code imprint, in order to determine whether the bar code when read by standard bar code readers as, for example, grocers and retail stores will produce the correct billing and identification information in the bar code readers. In making such a check on the bar code, apparatuses in the past have had to make certain assumptions. For example, in digital processing of the information sensed by the photodetector, it is normally assumed that the velocity of the passing of the scanner over the bar code, or vice versa as the case may be, is a constant velocity from the beginning of the bar code to the end of the bar code. Such assmptions may not be valid for relatively wide bars or wide spaces in the bar code. Moreover, most bar codes have sufficient width so that the slightest distraction by the person holding the bar code scanner or the bar code imprint will cause a variation in the velocity, and hence inaccurate readings in the readout or output of the scanning circuitry. Moreover, such measurements necessarily are not absolute, but measure the relative distances of the width of the bars and the spaces to each other or to some standard reference. In the past, it has been necessary to have relatively large tolerances in the width of the bars and the spaces in order to accommodate the foreseeable inaccuracies in measuring such widths or distances by handheld scanning devices and photodetectors. The necessity for incorporating such tolerances within reading devices has necessarily limited the precision and the quantity of information that can be stored in bar code imprints in given widths or distances. An exemplary scanner is illustrated in IBM Technical Disclosure Bulletin, Volume 15, No. 6, November 1972, pages 1816-17, J B Davis et al., entitled "Velocity Calibrating Scanner". The scanner shown in this document has the features set out in the pre-characterising portions of the independent claims. It is desirable to have a bar code measuring apparatus that will measure the absolute spatial distances or widths or bars and spaces in bar codes without relying on relative and proportional widths of the bars and the spaces to each other. It is also desired to have bar code measuring apparatuses that can make absolute spatial measurements of the widths or distances of bars and spaces, which are portable and operable by a human holding such apparatuses. It is desired, further, to have a bar code measuring apparatus that is capable of establishing or having established its own fixed and predetermined spatial reference distance against which the widths or distances of bars and spaces in the bar code can be absolutely and precisely measured. It is desired yet further to have a method for precisely determining the absolute spatial distance or width of bars and spaces in a bar code which does not rely on additional equipment for providing known velocities in the passing of a bar code over a scanner, or of passing a bar code measuring apparatus or scanner over a bar code. In brief, a bar code measuring apparatus is described comprising a central digital processing unit for processing digital signals, and including a digital clock or constant frequency pulse generator and digital memory means for determining precise spatial distance measurements on the basis of sensed light and dark areas, that is, spaces and bars in a bar code. An integral unit has a light source and two optical photodetectors positioned to receive light reflected off a surface outside the integral unit. The photodetectors are spaced a fixed and a predetermined distance from each other, and connected by independent and parallel circuits to the central processing unit after providing a digital signal in response to a change in the reflectivity of the outside surface. The photodetectors will detect reflected light from a single point at different times, which are carefully measured against the pulse generator. The light reflected from the light source is magnified by a factor of five in a magnifying lens in order to amplify the spatial distance image created at the point where the photodetectors are mounted. The central processing unit in accordance with the structure and program of the processing circuitry, determines the velocity of the measuring apparatus over the detected surface, such as the leading edge of the bar or space, by computing the dividend of the fixed distance between the photodetectors and the absolute time as measured against the pulse generator. A second velocity is similarly determined at the trailing edge of either the bar or the space in a bar code. An average of these velocities is used as the multiplier with the time of one or the other of the photodetectors passing over the bar or the space to provide as quotient the precise and absolute distance of the width of bar or the space. A method for determining the absolute spatial distance of individual bars and spaces in a bar code having a plurality of bars and spaces in sequential position is described having the steps of passing over the bar code from a beginning progressively to an end of the bar code, first and second photodetectors having between them a fixed and predetermined distance in the direction of scan, each photodetector receiving light reflected off the bar code from a common source or sources. Since the bar code has a distance between eath other that is fixed and precisely measureable, the velocity of the photodetectors in the scanner can be determined if the time between the time that the first photodetector senses points on the bar code, and the time the second photodetector sense the same points on the bar code can be determined. Such times can be determined when the instance of the sensing by the photodetector of a certain point is measured against an absolute, e.g., digital clock, such as a constant frequency pulse generator and, the instance the second photodetector senses the same point at a later time can be measured against the same constant frequency pulse generator. The number of pulses between the two times can be counted. From these absolute references, the absolute distance between sensed points on the bar code is shown and described to be determinable. According to a first aspect of the invention a bar code measuring apparatus has those features set out in Claim 1. According to a second aspect, a method for determining the width of bars and spaces therebetween in a bar code having a plurality of bars and spaces in sequential position having a beginning and an end, is characterised by those features set out in Claim 6. The invention may be carried into practice in various ways and one bar code scanner, and its method of operation, will now be described, by way of example, with reference to the diagrams, in which: Figure 1 is a perspective view of a measuring apparatus of an embodiment of the present invention, having portions cut away for clarity and understanding; Figure 2 is a longitudinal section through the embodiment of Figure 1; Figure 3 is a block schematic diagram showing the elemental components of the circuitry of the embodiment of Figure 1; Figure 4 is a detailed electrical schematic diagram of the light assembly; Figure 5 is a detailed electrical schematic diagram of the independent channels of Figure 3; Figure 6 is a detailed electrical schematic diagram of the frequency generator and central processing unit; Figure 7 is a detailed electrical schematic diagram of the frequency generator and central processing unit; Figure 8 is a detailed electrical schematic diagram of the display and control assembly of Figure 3; and Figure 9 is a diagram illustrating certain aspects of the method of the present invention. A measuring device 10 is shown, reference being had initially to Figures 1 and 2 of the drawings. The measuring device is enclosed within a cabinet 12 having a window 14 through which the alphanumeric display can be viewed. Indicator lights 16 protrude through the cabinet 12 so as to be seen from the outside. The optical measuring device 10 comprises initially a light circuit beginning with a set of light sources 20 directing a relatively high intensity of lumens through an aperture 22, best seen in Figure 2. The light is reflected off or from a surface below the aperture 22 containing, for example, a bar code having a row of dark lines of varying widths separated by spaces of varying widths. In this specification, and in the appended claims the term distance (or width) will be used to indicate the dimension separating the leading edge and the trailing edge of bars and of spaces. The leading edge of a bar of a space will be that substantially vertical edge over which the light from the light sources 20 of the measuring device 10 passes first. The trailing edge of a bar or of a space will be that substantially vertical edge over which the light from the light source 20 of the measuring device 10 passes after the leading edge. Normally, the light sources are passed over a bar code comprising rows of vertically parallel dark or low-reflectivity bars, and light or high-reflectivity spaces, in a horizontal direction and usually from left to right. However, practice of the invention described herein will also result in precise and accurate distance measurements of the widths of the bars and the spaces when passing the light sources 20 from right to left. Light reflected off the bar code imprint surface returns through the aperture 22 into a lens 28 along a light path 30. An access hole 26 through an optical block 24 allows for the insertion of an adjusting tool for engaging an annular depression in the lens 28 for adjusting the position of the lens vertically along the light path 30, should such measurement be necessary. The lens 28 is mounted within the optical block 24 which is mounted on the cabinet 12 and frame of the measuring device 10, but not so tightly that it cannot be adjusted vertically. A mirror 32 positioned at a 45 o angle to the light path 30 directs the light in a right angle turn from the lens 28 through an aperture 33 and an aperture 34 in a light box 38. The aperture 34 has a flair outwardly in the direction of light path 30 for reducing the flare of the light as it travels along the path 30. The light box 38 is constructed preferably of light absorbing, black material, again for the purpose of reducing the flare of the light along the path 30. The light path 30 terminates on a holder 36 holding the photodetectors shown schematically in the block diagram of Figure 3, and in more detail in the electrical schematic diagram of Figure 4. Various parts of the electrical circuitry are mounted on circuit boards 40 within the cabinet 12, the circuit schematics being explained in greater detail below. In Figures 1 and 2, various components are shown generally mounted on the boards 40 solely for the purpose of indicating a preferred method of housing the physical elements of the circuit elements. Referring now to Figures 3 and 4 of the drawings, a light source assembly 50 is shown having the light source 20 (Figures 1 and 2) directing light toward photodetectors 44, 48, and also directing light to an internal detector 51. Light is detected by the internal detector 51 which is mounted in close proximity to the light source 20. The light source 20 is comprised of a light emitting diode (LED) and the detector is a photodetecting diode 51 mounted in a feedback loop to an amplifier 52 for inversely regulating the current through the light source 20, so that as the light from the light source increases, the feedback loop including the detector 51 will decrease the current through the LED and hence decrease the intensity of the light output. In this manner, the light output of the LED is maintained at a stable and constant level. The electrical circuit of the light assembly 50 is shown in greater detail in Figure 4 of the drawings. Referring now in more detail to Figure 3 of the drawings, the photodetectors 44, 48 are maintained in a predetermined and fixed distance from each other for purposes that will be explained in greater detail below. Each photodetector 44, 48 is the beginning of a separate photometric channel operating in parallel to each other. Light impending on one of the photodetectors 44, 48 is converted into an analogue electrical signal, is amplified in an analogue amplifier 56, 66 and is then converted to a digital form in an analogue-to-digital converter and analogue comparator 58, 68. The signal then passes to an edge detector 60, 70 which comprises an electrical circuit for generating a pulse whenever the digital signal of the converter 58, 68 goes from a high to a low, or from a low to a high across a threshold level signifying the sensing of an edge of a bar or a space in the bar code. The pulse from the edge detector 60, 70 is seen respectively at a latch 62, 72 which latches the then present counter value from a counter 74. A constant frequency pulse generator 64 generates a clock pulse which constantly updates the counter 74. Pulses from the generator 64 are also used to synchronize the latch 62, 72 with the counter 74 to prevent erroneous data from being loaded into the latch 62, 72. A central processing unit 76 is connected to the latches 62, 72 to selectively receive digital signal information therefrom and to determine the spatial distance measuring the width dimension of the bars and spaces, as will be explained in greater detail below. A display and control assembly 78 controls the display seen through the window 14 (Figure 1). Referring now to Figure 5 of the drawings, the individual electrical components of a portion of the block schematic diagram of Figure 3 can be seen in greater detail. Thus, the photodetectors 44, 48 comprise light sensitive diodes which increase current with the increase in light detected. The diode 44 is connected to the analogue amplifier circuit 56 which converts the current signal to a voltage signal in an operational amplifier 80, and amplifies the voltage signal in an amplifier 82 producing an analogue voltage signal at an output 84 to the analogue-to-digital converter 58. Similarly, the photodetector diode 48 increases current with the increase of sensed or detected light, and the increased current is output to the analogue amplifier 66, shown in broken lines in Figure 5. The current signal is converted by an operational amplifier 88 to an analogue voltage signal which is amplified by an amplifier 90 and directed by an output 92 to the analogue-to-digital converter 68. A latch 96, which could be, for example, a TTL174, resets the counter of the converter-comparator 58, 68 which could be, for example, a TL507. The latch 96 controls the operations of the converter-comparator 58, 68 to compare the analogue voltage signal against a predetermined threshold determined by the mean of the highest and the lowest analogue voltage signal seen at the converter-comparator during the reflective measurement phase of the bar code scanning cycle. When the analogue signal crosses the threshold value in the comparator 58, 68, the output along a connector 100, 102 is changed, resulting in a change in an output 104, 106 of the edge detectors 60, 70 as seen better in the detailed electrical schematic diagram of Figure 6. In Figure 6 of the drawings, the edge detector 60, 70 receives the output of the converter-comparator 58, 68 and is stored in the low order position of the latch 62, 72. The counter 74 is also latched into the latch 62, 72 when the transition or signal of the leads 104, 106 occur. The clock pulse is seen in a lead 65 and is generated by a constant frequency pulse generating circuit 64 (seen in greater detail in Figure 7). Referring to figure 7, a frequency generator 110 produces a 6 megahertz pulse frequency, which is divided by three in a divider 112 and divided by two in a divider 114. A flip-flop 116 generates two non-overlapping square waves 180 o out of phase, as required by the central processor 76 which, in the preferred embodiment, is a Motorola 6800. The clock frequency, therefore, is 1 MHz. in the lead 64. The central processing unit 76 is seen in greater detail in Figure 7 of the drawings and comprises a Motorola 6800 processor connected with three 4K by 8 bit, read only memories (ROMs) and one 2K by 8 bit random access memory (RAM). In Figure 8, a peripheral, interconnect or interface adaptor 132 is connected to a common microprocessor bus 130, common to Figures 6, 7 and 8. A re-set switch 134 is provided to re-start the processor 76. A function switch 136 is also provided for serially stepping through the data generated by the analysis of the bar code scanned by the measuring device 10. An audible indicator 138 and light indicators, such as LED's 140 can be provided for giving certain signals in accordance with the program of the ROMs 122. An alphanumeric display 144 is connected to the interface 132 to provide visual displays of the data determined by the analysis of the program in ROM's 122. The alphanumeric displays can be seen through the window 14 provided in the cabinet 12 (Figure 1). In operation, reference now being had to Figure 9 of the drawings, a hypothical bar code has bars 160, 162, 164 having varying widths or distances of, respectively, 0.010 inch (0.25mm), 0.0075 inch (0.19mm) and 0.015 inch (0.38mm), (not actual size in the drawing of Figure 9 but drawn to a scale of 100:1). The bars, as well as the spaces 161, 163 therebetween are aligned vertically and parallel to each other. Each bar and each space has a leading edge and a trailing edge in the horizontal direction. Thus, the bar 160 has a leading edge 166 and a trailing edge 168. The trailing edge 168 is the leading edge for the space 161. A trailing edge 170 for the space 161 comprises the leading edge for the bar 162. A trailing edge 172 for the bar 162 comprises the leading edge for the space 163. A trailing edge 174 for the space 163 comprises the leading edge for the bar 164. And there is a trailing edge 176 for the bar 164, and so on. To the left of the bar code are shown the photodetectors 44, 48 in fixed relation to each other and poised to scan the bar code in the direction of movement indicated by the direction entitled "Scan Direction" 180. The detectors 44, 48 receive light through the magnifying lens 28, so that the image at the detectors 44, 48 simulates a fixed and predetermined distance between the detectors 44, 48 of 0.010 inch (0.25mm). The image of each detector simulates a detector having a surface area of 0.02 inch (0.5mm) by 0.002 inch (0.05mm), as indicated in the diagram of Figure 9. Aligned vertically in the drawing of Figure 9 with the bars and spaces of the bar code are several output signal waveforms in Row 1-4. As the photodetectors 44, 48 are moved so as to receive light reflected off the bar codes of Figure 9, in the scan direction 180, the darkness of low reflectivity of the bar 160 will initially cause the current in the detector 44 to decrease significantly, as indicated by line or wave 182 in the waveform shown in Row 1 of the signal waveforms of Figure 9. At precisely 0.010 inches (0.25mm) thereafter, the reflected light sensed by the photodetector 48, positioned 0.010 inches (0.25mm) behind photodetector 44 in the direction of scan 180, also has a significant reduction in its sensed light as indicated by the wave 186 in Row 1. As the photodetector 44 passes over the the trailing edge 168 of the first bar 160, the amount of reflected light sensed increases significantly, and so forth as is shown in Row 1. The wave forms 184, 186 of Row 1 are the signals as seen in the output 84, 92, respectively, between the analogue amplifiers 56, 66 and the converters-comparators 58, 68, (Figures 3 and 5 of the drawings). Row 2 represents the wave form of the digital outputs 100, 102, respectively, the photometric channels 1 of photodetectors 44, and 2 of photodetectors 48. These output signals can be seen in Figures 3, 5 and 6 of the drawings. Row 3 of Figure 9 is a representation of the time that the respective photometric channels had light sensing below the threshold 188 shown in Row 1. The times of photometric channel 1 initiated by photodetector 44 are shown in the top Row entitled "Time 1," and the times of the photometric channel 2 initiated by photodetector 48 are shown in the lower Row entitled "Time 2." The times are determined by a difference in the leading edge and the trailing edge latched into latch 62, 72, respectively, as seen in Figure 3 of the drawings. It will be noted that these times do not map exactly onto the spacings of the bars, because of variations in the scanning velocity. In order to allow for velocity variations, the scanning velocity needs to be determined. When this has been done, and allowed for, the actual spatial distance of each bar and each space can be charted, as is shown in Row 4. The velocity at any given time can be calculated from the formula V o = D o /T o where D o equals distance, V o equals velocity and T o equals the time. The time can be measured absolutely by means of the constant frequency pulse generator, and may be taken as the time delay between the passing of the two sensors over the same point. The distance D o is known to be the spacing 0.010 inches (0.25mm) between the images of the photodetectors 44, 48. The velocity V o can thus be determined. Once the velocity at any particular point is known the distance along the bar code, x, can be determined by assuming the velocity V o to be a constant and using the formula x = V o T As may be imagined, when moving the photodetectors over the bar code by a human hand, variations in the actual velocity may occur. A calculation designed to minimize variations in velocity, i.e., acceleration, would be to use as the velocity an average of the velocity of the two detectors over the leading edge of each bar and space, and the velocity of the two detectors over the trailing edge of each bar or space. A calculation for the distance using as the velocity this average velocity is given by the equation: x = (T₄ - T₂ + (T₃ - T₁)(D o /(T₂ - T₁) + D o /(T₄ - T₃)))/4 Where x equals the distance across a bar or space, D o equals the fixed and predetermined distance between the first photodetector 44 and the second photodetector 48, T₁ equals the time that the first photodetector 44 crosses the leading edge of the bar or space, T₂ equals the time that the second photodetector 44 crosses the leading edge of the bar space, T₃ equals the time that the first photodetector 44 crosses the trailing edge of the bar or space, and T₄ equals the time that the second photodetector 48 crosses the trailing edge of the bar or space. As may be appreciated from the foregoing description of the preferred embodiment, a method for determining the spatial distance of individual bars and spaces in a bar code having a plurality of bars and spaces in sequential position is described. Further, a spatial distance measuring apparatus for measuring bar codes, having two photodetectors in fixed and predetermined distance relationship to each other is shown and described wherein the distance or width dimension of each bar and each space of a bar code can be precisely determined regardless of the velocity of the measuring apparatus over the bar code. Further, variations of the velocity inevitable in a human passing the apparatus over the code can be minimized by use of the described apparatus and method.

Claims: A bar code measuring apparatus (10) having a first photodetector (44) receiving reflected light from a first point as the first photodetector is passed over bars and spaces, a second photodetector (48) spaced from the first photodetector (44) and receiving reflected light from a second point spaced from the first point by a distance D o ; means (58, 60) for producing first and second digital values representative of the times (T₁, T₂) that the first and second photodetectors respectively pass over the leading edge of a bar or space; characterised by digital storage means for storing the first and second digital values; means (68, 70) for producing third and fourth digital values representative of the times (T₃, T₄) that the first and second photodetectors respectively pass over the trailing edge of the bar or space, the second digital values also being stored in the storage means; and digital processing means (76) for determining from the first, second, third and fourth values, given the distance D o , an absolute measurement of the width of the bar or space. A bar code measuring apparatus (10) as claimed in Claim 1 in which the means for producing the digital values includes a constant-frequency pulse generator (110), and counting means (116) connected to the constant-frequency pulse generator, the producing means being arranged to produce the first, second, third and fourth digital values by counting pulses between variations in output signals produced by the photodetectors (44, 48). A bar code measuring apparatus as claimed in Claim 1 or Claim 2, in which the digital processing means (76) further includes means for determining a velocity from the first, second, third and fourth values. A bar code measuring apparatus as claimed in Claim 3 in which the digital processing means (76) includes means for determining a first velocity at which the first (44) and the second (48) photodetectors pass the leading edge, and for determining a second velocity at which the first and the second photodetectors pass the trailing edge. A bar code measuring apparatus as claimed in Claim 4 in which the digital processing means (76) includes means for determining the width of the bar or space on the basis of the average of the first and second velocities. A method for determining the width of bars and spaces therebetween in a bar code having a plurality of bars and spaces in sequential position having a beginning and an end, comprising: (a) passing over the bar code from the beginning progressively to the end a first photodetector (44) detecting light reflected from each bar and each space; (b) passing over the bar code from the beginning progressively to the end a second photodetector (48) detecting light reflected from each bar and each space at a point spaced a fixed distance (D o ) from the point from which the first photodetector (44) detected reflected light; (c) producing first and second digital values representative of the times (T₁, T₂) that the first and second photodetectors respectively pass over the leading edge of a bar or space; characterised by; (d) producing third and fourth digital values representative of the times (T₃, T₄) that the first and second photodetectors respectively pass over the trailing edge of the bar or space; and (e) determining from the first, second, third and fourth values, and the fixed distance (D o ), an absolute measurement of the width of the bar or space. A method as claimed in Claim 6 including determining a first velocity at which the first (44) and the second (48) photodetectors pass the leading edge and determining a second velocity at which the first (44) and the second (48) photodetectors pass the trailing edge. A method as claimed in Claim 7 in which the width of the bar or space is determined on the basis of the average of the first and second velocities. A method as claimed in any one of Claims 6 to 8 in which output signals representative of the first photodetector (44) and of the second photodetector (48) passing over the leading edge are stored in a digital memory against clocked times and a velocity of the photodetectors passing over the leading edge is determined therefrom, and signals representative of the first photodetector (44) and the second photodetector (48) passing over the succeeding trailing edge are stored against clocked times and a velocity of the photodetectors passing over the trailing edge is determined therefrom.

Inventors: CLARKE, HUGH C., ULINSKI, RICHARD J., SR.
Applicants: RJS ENTERPRISES, INC
Application year: 1985
Main classification: G06K7
IPC codes: G06K7, G01B11