The contents of co-pending, co-owned U.S. Pat. No. 6,772,906, and co-owned U.S. Pat. No. 6,540,102; is each incorporated by reference in its entirety.
A. Field of Invention
The present invention relates to vending machines actuated by user selection after authorization by payment or credit and, in particular, to an apparatus, method, and system of providing reasonable assurance a user-selected vendible item has been vended.
B. Problems in the Art
The vending industry has proliferated and has advanced in technology. It has also expanded the types and variety of vendible items. The very essence of most vending machines is that they are stand-alone machines. They must accurately receive a user selection, confirm adequate money or credit for the selected product, and actuate components configured to automatically dispense the selected product from a secure, stored position in the vending machine.
Much work has gone into advancing the technology surrounding these steps. Highly sophisticated user selection interfaces have been developed. Highly sophisticated and flexible money receivers/changers exist that can handle not only coins, coupons, and tokens but also paper money and, in some cases, credit or debit cards. Much work has also gone into dispensing mechanisms, not only to achieve more reliability and accuracy, but to also improve use of space inside the vending machine. There have also been substantial advances in security and theft protection regarding vending machines. Again, as previously mentioned, many are stand-alone machines. Some are outside and vulnerable to vandalism or attempts at theft.
Despite the advances in the vending machine field, one area in which development is still needed is verification of an authorized vend. Even if the above-mentioned steps, such as correct receipt of user selection, correct authorization of money or credit, and correct instruction to dispense the selected product, are achieved by a vending machine, there are times when the vendible product does not reach the place the user is allowed access to retrieve it (the “dispensing area” inside the machine).
For example, a selected item can get hung up or jammed between its dispensing mechanism and the user-accessible dispensing area. Sometimes the machine correctly runs the correct dispensing mechanism but there is no product in line to dispense (e.g. because of mis-loading). There can also be malfunctions in the dispensing devices.
Some of these issues are described in more detail in U.S. Pat. No. 6,772,906, incorporated by reference herein. These issues are well-known in the art. If a vending machines could vend, customer satisfaction would increase. It would likely decrease instances of vandalism by disgruntled customers. It could also improve inventory/accounting data collection, which can be useful for the owners of the machines or the manufacturers of the vendible items.
Other factors come into play. Any type of vend sensor or vend confirmation system must be practical and cost-effective.
A wide variety of sensors or detection devices are available commercially for detecting the passage or proximity of an item regardless of application. Such sensors or detection devices are found in applications ranging from production lines to home security. Some utilize optical components. Some are pressure sensitive. Still others utilize some characteristic of or on the item to detect it (e.g., magnetic property, color, shape, size, weight, etc., and radio frequency identification methods (RFID)). There are also energy beam devices such as x-ray or ultrasound. However, some of these methods would not be reliable or accurate enough to be practical for vend verification, especially for a range of shapes, sizes, weights, and types of vendible products. Some of these methods are too complex or expensive to justify in vending machines. Some are not robust enough for vending machine environments. And some are likely ineligible for vending machines (e.g. safety issues with x-rays).
In the past there have been attempts to try to verify a vend by sensing passage towards or arrival at the dispensing area using one of these types of sensing methods. For example, several attempts use a single optical beam across the product path to the dispensing area. If a can or bottle is actually dispensed and passes the beam, interruption of the beam is sensed and is used to confirm the vend.
Single beam optical sensors can work fairly well for machines that are limited to a standard sized, relatively large items, and which have a well-defined product path to the dispensing area. Examples would be twelve or sixteen ounce beverage cans or bottles. The delivery path from the dispensing mechanism to the user accessible dispensing area is usually well-defied, constant, and constrained in size. The single beam can be aligned so that there is reasonable assurance that a passing can or bottle interrupts the single beam. In such cases, a single beam (one emitter/one detector) sensor can be relatively reliable and its cost can many times be justified.
However, detection reliability by a single beam of a variety of shapes and sizes of vendible items that do not have a single, well-defined dispension path to the dispensing area is difficult. For example, candy and snack vending machines handle a variety of containers of different shapes and sizes (including non-food items). Vending machine manufacturers utilize a variety of different types of dispensing mechanisms in such machines. Most times, there are multiple dispensing mechanisms in a single vending machine. Rarely is there a single well-defined path for dispensed items to the user-accessible dispensing area.
Therefore, it is difficult to create a universal vend sensor for such varied containers and machines. And further, the relatively historically low cost of small packages of candy and snacks makes it less economically justifiable to add vend confirmation systems to such vending machines.
Additionally, not only have the variety of shapes and sizes of vendible items proliferated, but their value has increased. For example, vending machines for bottled beverages contain a variety of selections ranging from twenty ounce plastic bottles to 8 ounce glass bottles. Candy and snack type machines handle a wide variety of candies and snacks, but in increasingly varied types, sizes, and shapes of containers. They increasingly handle even non-food items such as fingernail clippers, phone cards, and postage stamps. Many of these types of products are dispensed out of a vertical matrix of rows and columns. There can be a plurality of dispensing mechanisms arranged in a plurality of rows and columns in the machine. The selected product moves out of the front of a dispensing mechanism and is allowed to free fall down to the user-accessible dispensing area. There is no constrained, single delivery path for each vended item along which a vend confirmation system could be installed.
Attempts have been made to create confirmation systems even for these types of vending machines. They tend to be positioned at or near the user-accessible dispensing area. They attempt to discern if a vendible item has been dispensed from any place in the machine.
Some such systems have as their goal to detect any item, no matter what size or shape. This includes attempts at optical solutions to try to cover every part of the dispensing area and any size vendible item. However, these systems require complex arrangements. They tend to be costly or require substantial set-up and maintenance.
For example, one attempt creates a solid plane of light energy across every part of the plane of the dispensing area. It tries to detect any attenuation of the plane of light energy which is indicative of the passage of a vendible item. The components and calibration to accomplish this tend to be expensive and complex. Another attempt closely packs together numerous optical beam emitters along one side of the dispensing area and a corresponding number of closely packed together optical beam detectors along the other side. This would attempt to simulate a solid plane of light energy across the dispensing area to try to ensure that vendible items of even a fraction of an inch in largest diameter would be detected. However, the cost, complexity, and maintenance of such a system could be impractical.
Therefore, there is still a need in the art for a method, system, or apparatus provide reasonable confirmation of a vend, with practical effectiveness and economy. There must be a balance between practical, economical considerations and desire for reasonable confirmation of a vend.
It is therefore a principal object, feature, aspect, or advantage of the present invention to provide an apparatus, system, and method for reasonable confirmation of a vend that improves upon the state of the art.
Further objects, features, aspects, and advantages of the present invention include an apparatus, method, system as above described which:
a. is practical.
b. is economical.
c. provides reasonable vend confirmation for a reasonable variety of types, shapes, and sizes of vendible products.
d. can be installed in a variety of vending machines.
e. is economical in power usage.
f. is durable and long lived.
g. is relatively non-complex.
h. can be installed as original equipment or retrofitted to existing equipment.
These and other objects, features, aspects, and advantages of the present invention will become more apparent with reference to the accompanying specification and claims.
For example, one aspect of the invention includes a method for reasonable confirmation of a vend. A limited number of optical emitters are spaced apart from one another on one side of the dispensing area of a vending machine. A corresponding number of spaced-apart optical detectors are placed on the other side of the dispensing area.
The emitters are turned on and off one at a time in a pre-determined order, in a continuous, repeating sequence separated by corresponding periods where no emitter is operating. The detectors are configured to have a threshold. The threshold is pre-set to indicate receipt of at least a certain intensity of optical energy of the type generated by the emitters.
The method watches for the passage of vended items by checking if all the detectors trigger each time an emitter is on, which indicates nothing has passed that blocked any detector. If any detector does not trigger during the time any emitter is on, it is assumed a blockage of the emitted optical energy has occurred because of the passage of a vendible item. An output signal is generated by the controller which can be communicated to a master controller of the vending machine, which can interpret the output signal as a confirmation of a successful vend. If all detectors trigger each time an emitter is on, the master controller can assume no vendible item has been vended.
Optionally, the method can generate an output signal if any of the detectors trigger during the times all the emitters are off. This would indicate a possible malfunction of that detector. The output signal in this circumstance can be used to prevent erroneous attempts by the master controller of the vending machine to continue attempts to vend based on a malfunctioning detector.
In this method, there is not comprehensive coverage of the dispensing area at any one time. However, by sequentially turning on emitters for relatively short amounts of time, reasonable coverage of the dispensing area is achieved. This reasonable coverage is achieved with limited power usage, cost, and complexity to provide a practical, economical, reasonable confirmation of vend. It also can allow for continuous checking of operation of the detectors.
In another aspect of the invention, an apparatus includes a first support member or structure upon which are mounted a set of a limited number of emitters spaced apart from one another, and a second support member or structure upon which are mounted a set of a limited number of detectors spaced apart from another. A microprocessor or controller is operatively connected to the emitters and detectors. It controls an on/off sequence for the emitters, as well as generates an output or error signal if any of the detectors do not trigger during the on-time of any emitter. The error signal is adapted to be in a form that could be sent to another intelligent device, for example, the master controller board of the vending machine, to provide assumed confirmation of vend to the vending machine. The apparatus could be installed as original equipment into a vending machine or retrofitted into existing vending machines by placing the first and second support members on opposite sides of a dispensing area. The microprocessor can also generate an error signal if any of the detectors trigger during the off-time of the emitters, because it indicates a malfunction of a detector.
A. Overview
For a more complete understanding of the invention, one exemplary form it can take will now be described in detail. Frequent reference will be made to the drawings. Reference numerals and letters will be used to indicate certain parts and locations in the drawings. The same reference numerals and letters will be used to indicate the same parts and locations throughout the drawings, unless otherwise indicated.
B. Environment of Exemplary Embodiment
The exemplary embodiment will be described in the context of installation in a conventional snack vending machine which vends a variety of products such as candy, snacks, phone cards, personal care products, and other vendible items. A plurality of what will be called trays, at separated horizontal levels inside the machine, each have a plurality of individually controllable dispensing mechanisms. This type of configuration is well known in the art. An example of such a machine can be found at U.S. Pat. No. 6,540,102, incorporated by reference herein.
As diagrammatically illustrated in
A standard or conventional product selection module 7 and money changer/credit module 8 are associated with the machine 1 and connected to a master vending machine controller board 34 (see
The above vending machines features are well-known in the art and will not be described further.
The exemplary embodiment of the invention will also be described in the context of a vending machine having a master controller board 34 which has programming adapted to work in conjunction with the vend sensing system of the exemplary embodiment. In particular, the master controller board can include programming which tries to ensure a vend takes place in response to an authorized vend selection. This program or regimen is described in co-pending, incorporated by reference U. S. Pat. No. 6,772,906, The regimen can rely upon a vend sensor for part of its methodology. For example, the regimen can rely on a signal from a vend sensor to make an assumption about whether or not a product was dispensed. If the vend sensor does not send a signal indicative of confirmation of a successful vend, the regimen can instruct operation of another full or partial vend cycle to try to provide the customer with at least one selected product. However, it is to be understood that the regimen of U.S. Pat. No. 6,772,906 is not required for use with the present invention, and conversely, the vend sensor apparatus and method of the present invention are not required to be used with the regimen described in U.S. Pat. No. 6,772,906. The regimen of U.S. Pat. No. 6,772,906 will be used for illustration only in the example of the invention below.
C. Apparatus
A vend sensor apparatus according to an exemplary embodiment of the invention includes two separate support members or structures, here circuit boards 20 and 26 (see
Emitter board 20 and detector board 26 can be implemented as illustrated in
Boards 20 and 26, to operate correctly, must be spaced a minimum distance of 9.824 inches (250 millimeters) to a maximum distance of 34.652 inches (880 millimeters).
Surface mount components are utilized on boards 20 and 26.
1. Emitter Board
Referring to
The components of emitter board 20 can be predominantly surface mount technology, such as is well known.
Details regarding the parts indicated in
It is to be understood that although two sets of emitters are shown in parallel (set D2, D3, D4, D5, D6 versus set D1, D7, D8, D9, D10) in
IR radiation from each emitter is generally directional but has some beam spread. The emitters are mounted so that they aimed generally orthogonally from the plane of board 20. Emitter beams will be modulated using an approximately 40 kilohertz square wave.
2. Detector Board
Detector board 26 is approximately one by six inches in perimeter dimensions (see
Detector board 26 includes microprocessor 30 (Texas Instruments MSP430F1121PW CPU, SMT).
Microprocessor 30 controls a number of functions. One is on/off operation of emitters D via cable 28. Another is monitoring the output of detectors U. Another is generation of an output signal to what will be called an output stage of the detector board circuitry (see
Microprocessor 30 includes FlashRom for program memory and RAM for data memory.
As can be seen by referring to
The circuitry of board 26 uses existing supply power available at vending machine 1 (usually 15-30 volts DC). A specific power supply circuit for board 20 and 26 is shown at
The five detectors U are illustrated schematically at
Emitters D are powered by instruction from microprocessor 30 by controlling on/off states of transistor Q5 (
Detectors U are essentially “matched” to emitters D in the sense they are configured to respond only to light energy of the wavelength of the light emitted by an emitter D. Detectors U amplify and filter any detected signal generated by the LED emitters D on the emitter bar or board 20. The amplifier contains an automatic gain control (AGC) circuit that adjusts the gain of a detector amplifier to maintain a constant signal level at the output of the amplifier. The filter contains circuitry to reject all signals except those modulated (turned on and off) at an approximately 38 kHz rate (38 kHz-40 kHz). The presence of the filter requires the LED signal to also be modulated in an on and off fashion at the 38 kHz rate. Besides the signal filtering, the detector also contains optical filtering to reject all light except for a narrow spectrum of light centered at 880 nanometers. The two types of filters allow the detectors to not be affected by stray extraneous light.
If no output signal is sent by microprocessor 30 to output 90, indicating that nothing is blocking any detector U, transistor 64 is non-conducting. Output 91 is therefore in its “high” state. Transistor 60 would therefore also be non-conducting, and node 95 would be “high”. Because node 95 is “high”, transistor 62 would be conducting, and output 92 would be “low”.
On the other hand, if microprocessor 30 does send an output signal to output 90, indicating a detector U has been blocked, transistor 64 becomes conducting, and output 91 is pulled “low”. Transistor 60 would become conducting. Node 95 would be pulled “low” and close the gate of transistor 62, causing transistor 62 to cease being conducting. Output 92 would therefore go “high”.
Therefore, outputs 91 and 92 would always be in opposite or inverted states. Either output 91 and 92 can be used by master control board 34 as a signal whether a vend has been detected. As can be appreciated, only one output 91 or 92 would be needed to inform master controller 34. However, this arrangement allows the circuitry to have available two different outputs. Different master controller boards can require different communications. Therefore, two outputs allows the vend sense circuit to be adaptable to a wider variety of master controller boards and vending machines. For example, a certain master controller board may want to see a output pulled low to indicate a vend. Another master controller board may want to see an output pulled high to indicate a vend. Thus, outputs 91 and 92 are essentially inverted from one another to provide either option.
LED 58 is mountable on detector board 26 at the location labeled D2 in
LED 58 will remain on until a detector U indicates attenuation of received IR energy or malfunctions. When this occurs, LED 58 will remain off until microprocessor 30 communicates the object has cleared or the malfunction has resolved.
The vend sensor circuitry is designed to operate off of 24 volts DC power at less than 200 milliamps. It interfaces to master controller board 34 by pulling low the output of the open-collector transistor buffer. The output signal will be activated for a minimum of 150 milliseconds and a maximum of 300 milliseconds after detection (e.g. set in software). The output signal will be pulled active whenever a light beam from an emitter D is blocked. The signal will reset 150 milliseconds after the blockage is removed.
As can be appreciated, there are a variety of ways for microprocessor 30 to send an output signal which can be used by a master controller board. For example, instead of controlling operation of transistor(s), microprocessor 30 could activate one or more relays, which could act as a switching device to provide a signal for use by the master control board. Other methods of creating a signal that can be used by vending machine 1 are possible. However, use of solid state transistors might make it possible to dispense with circuitry included primarily to isolate the detector circuitry from the master controller circuitry.
3. Operation
Operation of the vend sensor system of
a. Set Up
The system is installed into the vending machine. Boards 20 and 26 should be positioned within the recommended range of distances from one another. They should also be aligned to make sure that each detector U triggers or turns on when each emitter D is turned on when nothing is between the two boards 20 and 26. The procedure previously described regarding LED 58 can be used for this purpose.
b. Initialization.
The variable N, the emitter count, is set to the value 0 (
Various timers or clocks are initialized. These timing devices can be based on external crystal 54 or otherwise. The needed timing values will be explained below.
Part of the timing of the circuit involves what will be called a relay count. This is a software value that is initialized to 0 (zero) (can be a number assigned to a register). The relay count controls both whether, as well as the length of time, the microprocessor generates its output signal. As can be seen at steps 226, 228, and 236, so long as the relay count is 0, no output signal will be generated by microprocessor 30 (steps 226 and 236—the output line 90 is kept off or is turned off). On the other hand, so long as the relay count is above 0, the output line 90 is turned on or active by microprocessor 30.
The relay count remains 0 unless either of two conditions are sensed by the circuit, namely (a) a detector U malfunction while all emitters D are off or (b) a detector U is blocked while an emitter D is on. If either condition (a) or (b) is sensed, the value of the relay count is essentially set to correlate to the 150 ms period of either step 214 or 234. One way to set the relay count is as follows.
The cycle time of the circuit through its main loop is known (here about 500 μsec-250 μsec of all emitters off, following by 250 μsec of one emitter on). Thus, about 300 main loop cycles would take up about 150 ms (150 ms divided by 500 μsec). Thus, the relay count can be set to a value of 300 for steps 214 and 234, and the relay count decrement amount in step 228 can be set to 1. Thus, it would take 300 main loop cycles or approximately 150 ms to decrement a full relay count to zero. If either a detector malfunction is indicated during the detector check of step 210, or a product vend is detected during an emitter on-time of step 234, microprocessor 30 loads the relay count value into a register. The precise value of the relay count will, of course, be dependent on the clock source chosen.
As indicated at steps 226, 228, and 236, so long as the relay count stays greater than 0 (step 226), the program decrements the relay count (step 234) and returns to the beginning of the main loop (step 206 ), but leaves the output signal on or in the “blocked” state. Thus, so long as a detector is malfunctioning or indicates blockage, the circuit output will be turned on. Essentially, in either case, the circuit reports an “error” condition. The master controller board will interpret it as an item has vended, and, if the regimen of U.S. Pat. No. 6,772,906 is used by master control board 34, will not try to keep vending until released from that state.
The algorithm of
But, as can be seen from
However, if desired, the software running the algorithm can have a maximum time limit for the output signal. For example, for any vend instruction from master controller board 34, a maximum output signal “on” time (e.g. 300 ms) could be set. The master control board would interpret any output signal from the microprocessor 30 that lasts at least 150 ms as being an indication of an “error” condition (detector malfunction or detector blockage). The software would allow one retriggering of the 150 ms relay count as a redundancy check, and then reset the relay count to 0, ready to sense the next vend. Of course, there does not have to a maximum or it could be set to a different value, as might be desired.
Initialization also includes setting the emitter modulator (step 202). As discussed earlier, the emitters are modulated to approximately 38-40 kHz. Other modulations and methods to do so can be used.
c. Begin Main loop.
What is called the main loop begins (step 204) with microprocessor 30 turning off all emitters D on board 20 (Step 206) for a set period of time, here 250 microseconds (μs) (step 208).
(1) Detector Check.
At the beginning of each iteration of the main loop, the operation of detectors U is checked. Through scanning inputs 80-84, microprocessor 30 checks if all detectors U are off (step 210), i.e., not detecting any relevant IR energy. In other words, it checks to make sure no detector is indicating receipt of IR light energy at the modulated frequency above its triggering threshold, which would indicate a malfunction of that detector because all emitters are off at that time. If any detector U is on at this point, microprocessor 30 generates an output signal at the output stage of detector board 26 (step 212). This is essentially an error signal because the circuitry is not monitoring whether a vended item has dropped, it is testing operation of the detectors.
For example, as indicated at
It is noted that if either an emitter or detector fails in the “off” state, this will be assumed to be a permanent light being blocked during normal operation which could also be interpreted as grid misalignment. This would cause the output on line 32 to controller board 34 to drop low which would be the desired state for this circumstance. Therefore, no additional processing is needed to monitor that condition.
If the detector check (steps 208, 210) results in a “blocked” or “error” output signal (step 121), microprocessor 30 sets a timer to 150 milliseconds(ms) (step 214) (or, equivalently, sets the relay count), and the program moves to the next step. The 150 ms is the minimum amount of time the output line is activated. In other words, if a detector malfunction occurs only once during the main loop, the output line will be set to “blocked” for 150 ms, and then set to “unblocked”. However, as discussed above, the output line will be set to “blocked” as long as the condition of step 212 is met during each loop of the algorithm, and there can be a maximum time, if desired, after which the output is reset to “unblocked”.
(2) Emitter Operation.
Regardless of whether all detectors are indicated off and functioning properly in step 210, or whether a malfunction is indicated and the 150 ms timer is set in step 214, microprocessor 30, through its appropriate output 85, 86, 87, 88, or 89, activates a first emitter (in this example emitter D2 of
The control of the order of illumination of the individual emitters ensures that the total amount of light striking each detector is essentially constant over an illumination cycle. An illumination cycle consists of the steps of enabling each emitter in turn with a properly modulated signal. The modulation of the beam allows the received beam to be filtered to reduce sensitivity of the detector to ambient light. The staggering of the “firing order” of the emitters ensures that each detector receives, to some degree, uniform illumination over the course of an illumination cycle.
Variable N is incremented by 1 (step 218) and microprocessor 30 checks if N=5 (step 220). During the first pass through the loop, N is not equal to 5 (i.e., N=1). Therefore, the first emitter is instructed to remain on for 250 microseconds minimum (see Table 1) (step 222). This time, microprocessor 30, via inputs 80-84, checks if all detectors U are on, that is, it checks whether all of the five detectors are receiving at least their threshold level of IR energy from the emitter that is on. Four different conditions can exist at this point in the main loop.
First, if all detectors U passed the detector test of steps 206/298/210 and all the detectors U are on during steps 222/224, indicating each detector “sees” the emitter that is on, microprocessor 30 checks the relay count (step 226). Under this condition, the relay count is 0 (zero). It has not changed from its initialized value. The output line will not be activated (step 236 ). During this first pass through the main loop of
Second, if all detectors U passed the detector test of steps 206/208/210 but all the detectors U are not on during steps 222/224, microprocessor 30 turns the output line on (step 232) and sets the timer (the relay count) to the equivalent of the 150 ms period (step234). This creates the indication that at least one detector does not “see” the emitter that is on and makes the assumption it was the result of a vended item blocking that (those) detector(s). Microprocessor 30 then checks the relay count (step 226) and will find it is greater than 0 (zero). During this first pass through the main loop of
Third, if any detector U did not pass the detector test of steps 206/208/210, microprocessor 30 still checks whether or not all the detectors U are on during steps 222/224. Assuming, under this third condition, that all detectors are indicated to be on during the period of time emitter D2 is on, microprocessor checks the relay count (step 226). However, under this third condition, the relay count has been set to its 150 ms equivalent at step 212 because of the malfunction of a detector. Therefore, even though all detectors appear to “see” emitter D2 when it is on at step 224, the output line has been turned on for 150 ms at step 212 and the relay count is greater than zero. As a result, the output line will remain activated (it will not be turned off) but the relay count will be decremented (step 228). The master controller does not differentiate between a detector malfunction at steps 210/212 and an indicated blockage at steps 224/232. The regimen of U.S. Pat. No. 6,772.906 simply sees the output line high and discontinues any attempt to continue to vend from that dispensing mechanism, for the reasons discussed previously.
Fourth, if any detector U does not pass the detector test of steps 206/208/210, microprocessor 30 will immediately turn the output line on and set the timer to the 150 ms value (by setting the relay count). Microprocessor 30 still checks whether or not all the detectors U are on during steps 222/224. Assuming, under this fourth condition, that one or more detectors are indicated to be off during the period of time emitter D2 is on, microprocessor leaves the output line on (step 232) and resets (or retriggers) the timer to its 150 ms equivalent. Microprocessor then checks the relay count (step 226). Under this fourth condition, the relay count was been set to its 150 ms at preceding step 212 because of the malfunction of a detector, and again at step 234 because of an indicated blockage of one or more detectors. Therefore, the relay count is greater than zero. As a result, the output line is activated but the relay count will be decremented (step 228). Again, the master controller does not differentiate between a detector malfunction at steps 210/212 and an indicated blockage at steps 224/232. The regimen of U.S. Pat. No. 6,772,906 simply sees the output line active and discontinues any attempt to continue to vend from that dispensing mechanism, for the reasons discussed previously.
At the end of the first iteration of the main loop at either step 228 or 236, the algorithm returns to the start of main loop (step 204). On the second iteration of the main loop, a detector check is again made (as described above and shown at steps 206/208/210). Then, a second emitter (in this example emitter D5, see Table 1) is turned on, N is incremented to N=2 (steps 216/218/220/222), and detectors are checked to see if they “see” the light from emitter D5 (step 224).
As described above, the algorithm again can be in one of the above-described four conditions, except for one major difference. If the output line had been turned on at either or both steps 212 or 232 during the first iteration of the main loop, the output line will already be turned on and the relay count will be greater than zero. Therefore, even if no malfunction or blockages are indicated at steps 210 or 224 during the second main loop iteration, the relay count (step 226) will be greater than zero and the relay count will be decremented (step 228), but the output line will stay on and the algorithm moves to the next iteration of the main loop. If no malfunction or blockages are indicated at steps 210 or 224 for subsequent iterations of the main loop, the output line will remain on until the relay count is decremented to zero, at which time (step 226) the output line will be turned off (step 236). In other words, this embodiment of the algorithm has intentionally designed that once the output line is turned on, it should remain on a minimum of the amount of time it takes main loop the cycle for 150 ms. This provides the master controller with a pulse at least 150 ms long from the vend sensor.
But, on the other hand, if during the second main loop iteration, either a detector malfunction or a detector blockage is sensed, the output line is set to or maintained high, and the timer/relay count is reset to its maximum. Thus, every instance of detector malfunction or detector blockage resets the output signal high for at least the minimum 150 ms time.
But, as mentioned, the algorithm could turn the output line off after a maximum limit of on time. Here that maximum is selected to be 300 ms, because it would tend to indicate a perpetuating error situation if that condition occurs that long a time.
The main loop is then repeated in this fashion for the third, fourth and fifth emitters in the order of Table 1; that is, until N=5 (step 220), which means all five emitters have been sequentially activated with the intervening off times of steps 206 and 208). The algorithm would function similarly during operation of the third, forth, and fifth emitters, and subsequent main loop iterations, and therefore, they will not be described further except as follows.
When N=5, variable N is reset to 0 (step 230), and the main loop starts over with all emitters off, then the first emitter on, then all emitters off, then the second emitter on, and so forth. The predetermined sequence of firing of emitters D of Table 1 is repeated over and over so long as the circuit is powered.
Therefore, the program of
An example of compensation that could be used with the exemplary embodiment is further described as follows. The software could be programmed to contain compensation for the reflected light received by the two outer detectors. During normal algorithm operation, stray light from the emitters often reflects from surfaces inside the machine onto the detectors. The two outer detectors, because of their placement, receive more reflected light than the inner detectors. The stray light pickup by the outer detectors affects them by decreasing their overall sensitivity to the light generated by the emitters. This is due to the presence of the AGC circuit in each detector that reduces the sensitivity of the detector in proportion to the amount of light received. The sensitivity decrease causes a problem with detecting the lower light intensity at the outermost detector at one end of the detector board when the outermost emitter at the opposite end of the emitter board is energized. The problem can manifest itself as a false beam-blockage detection.
A solution for this problem is to compensate for the effect of the reflected beams by shortening the total time the outside emitters are on to the minimum needed to generate the correct unblocked condition in all detectors. This is implemented by reducing the amount of time the outer two emitters are on (see Table 1) to minimum amount needed for normal operation of the light curtain. An illumination cycle is divided into five equal time periods. Each time period is associated with the illumination of one of the emitters. An emitter occupying an inner position (any of the three positions between outermost emitters) of the emitter board or module 20 is enabled for a fixed time occupying most of its time period during an illumination cycle. An emitter occupying one of the outer positions is enabled only until all detectors detected the signal. Then it is disabled for the remainder of that emitter's time period. The reduced amount of time the outer emitters are enabled reduces the total amount of light reaching the outer detectors. This prevents the occurrence of the reduced-sensitivity caused false-blockage problem of the light curtain.
Ambient light interference compensation can include hardware, using filtered infrared light, modulating the emitter beams with an approximately 40 kilohertz signal. Alternatively, intelligent programming and/or possibly adjusting the beam numbers/spacing can be considered. Prevention of “false” product delivery sensing might be deterred by painting the inside of the vending chassis next to the delivery sensor. Paint with stronger texture seems to help prevent false senses.
In this embodiment, five sensors with 250 μs off time and 250 μs on time (500 μs total for each loop) generate 2000 iterations of the algorithm per second. It would take approximately 2500 μs to sequence through on/off of each of the five emitters. In comparison, if the algorithm turns the output line “on” for the time of 150 ms (150,000 μs), the output line will be held “on” for a minimum of 60 scans by the set of five emitters (150,000 divided by 500=300 divided by 5=60). Since the process loops or repeats, that output may remain closed longer than this period as the object passes through the beams. The 150 milliseconds is the minimum duration in this embodiment. The output is basically retriggerable anytime the conditions shown in steps 212 or 232 exist.
The detection field consists of the array of infrared light beams from emitters D. The infrared detectors U are intended to detect when a product falls through the detection field and interrupts at least one of the light beams. If the main controller board 34 attempts to dispense an item, and the delivery sensor system does not detect it falling through its detection field, then the absence of a signal from the delivery sensor will show that the item failed to vend. When this happens, the master controller will make a second attempt to vend the item. Thus, the algorithm in co-pending U.S. Pat. No. 6,772,906 kicks in.
The goal is to make the system resistant to a tolerable level of ambient light, e.g. illumination levels approximating direct sunlight. The light intensity value of direct sunlight is approximately 127,000 lux. The design goal for maximum tolerable ambient light is 60,000 lux.
This embodiment is designed to detect rectangular products as small as 1.912 by 3.029 by 0.028 inches in diameter and circular objects as small as 0.338 inches in diameter. Detection goals for the two shapes are in ideal conditions.
However, the system is not fool proof. As stated, there are “blind areas” or “dead zones.” Certain regions within the grid may not detect products.
For example, with this methodology, each of the five emitters is turned on separately in a sequence with a space of time in between. As diagrammatically illustrated in
Similar blind areas exist when emitters D3, D4, and D6 are on. However, some of the “blind spots” change for each emitter.
By further example, turning all emitters off for a period of time leaves the system intermittently “blind”. Selection of the off time for all emitters was made with the following considerations. A complete “cycle” through the five emitters occurs once every 0.0005 seconds, or 2000 times per second. By rough calculation, an object that is, say, 3″ long would take about 0.013 seconds to pass the sensors, or about 36 complete sensor scans. This estimate is derived by calculating the time gravity would accelerate such an object approximately six feet, which is most times the maximum drop distance for a vended product from a snack vending machine.
As can be appreciated, however, by cycling sequentially through emitters D in the short time duration indicated, the system attempts to cumulatively provide somewhat of an approximation of a “light curtain” between emitters D and detectors U. While not all emitters D are on at the same time, and there are blind spots for the system, balancing cost, complexity and other factors, this system provides what is considered a reasonable coverage of the vend area or reasonable confirmation of vend. The scanning of the dispensing area by sequential operation of the emitters is believed to be a practical way to optimize light beam break detection with a minimum number of emitters and detectors, even if not all areas are covered.
D. Options and Alternatives
It will be appreciated that the invention can take a variety of forms and embodiments. The exemplary embodiment described above is made not by way of limitation to the invention, but for illustration of but one form the invention can take. Variations obvious to those skilled in the art are included within the invention, which is described solely by the claims appended hereto.
For example, the invention is not limited to five emitters and five detectors. However, it is preferred that the number be minimized and that there be spacing between emitters and between detectors.
The types of components and their operational states can vary. For example, in the exemplary embodiment, the emitters are considered active when off and the detectors are considered active when on. Timers and counters can vary depending on the reference used (e.g. the external crystal or on-board oscillator).
The specific algorithm for operation can vary. For example, emitter on and off times can be changed through programming.
The memory technology can include a feature of disabling the ability to extract the code from the memory device.
Environmental design considerations include temperature ranges, vibration, shock, ESD, EM resistance, and others such as are well known in the art. Goals are as follows: operating and storage temperature of −30 degree Fahrenheit to 185 degree Fahrenheit, operation under relative humidity of 20-90% non-condensing.
To address “dead zones” or “blind spots”, options could include specialized code intended to exploit the large dimensions of objects such as cards having less than 1/16th inch thickness, in the non-thickness direction. Alternatively, adaptive detection that would use more than just basic data in making a detection determination.
Number | Name | Date | Kind |
---|---|---|---|
3862414 | Algeri | Jan 1975 | A |
4252250 | Toth | Feb 1981 | A |
4359147 | Levasseur | Nov 1982 | A |
4402609 | Fetzer | Sep 1983 | A |
4412607 | Collins | Nov 1983 | A |
4634855 | Friend et al. | Jan 1987 | A |
4712049 | Houserman | Dec 1987 | A |
4776487 | Kurosawa et al. | Oct 1988 | A |
4785927 | Dobbins | Nov 1988 | A |
4854477 | Kurosawa et al. | Aug 1989 | A |
4871054 | Murray | Oct 1989 | A |
5015840 | Blau | May 1991 | A |
RE33668 | Gray | Aug 1991 | E |
5111962 | Oden | May 1992 | A |
5113130 | Balch | May 1992 | A |
5142159 | Veit et al. | Aug 1992 | A |
5207784 | Schwartzendruber | May 1993 | A |
5218196 | Dogtul et al. | Jun 1993 | A |
5229749 | Yenglin | Jul 1993 | A |
5281809 | Anderson et al. | Jan 1994 | A |
5303844 | Muehlberger | Apr 1994 | A |
5346466 | Yerlikaya et al. | Sep 1994 | A |
5404008 | Malinowski et al. | Apr 1995 | A |
5625198 | Chigira | Apr 1997 | A |
5646398 | Sieksmeier et al. | Jul 1997 | A |
5660304 | Halsey et al. | Aug 1997 | A |
5884806 | Boyer et al. | Mar 1999 | A |
5927539 | Truitt et al. | Jul 1999 | A |
5969339 | McMurray et al. | Oct 1999 | A |
6002125 | Schubert | Dec 1999 | A |
6023064 | Burgin | Feb 2000 | A |
6064921 | Pippin et al. | May 2000 | A |
6202888 | Pollock et al. | Mar 2001 | B1 |
6384402 | Hair, III et al. | May 2002 | B1 |
6516969 | Tamaoki | Feb 2003 | B2 |
6604652 | Trautwein | Aug 2003 | B1 |
6640994 | Chen | Nov 2003 | B2 |
6708079 | Mason, II | Mar 2004 | B2 |
6732014 | Whitten et al. | May 2004 | B2 |
6772906 | Wittern, Jr. et al. | Aug 2004 | B2 |
6794634 | Hair, III et al. | Sep 2004 | B2 |
20030155367 | Chen | Aug 2003 | A1 |
Number | Date | Country |
---|---|---|
42 25 165 | Feb 1994 | DE |
98 46 791 | Apr 2000 | DE |
200 06 317 | Nov 2000 | DE |
100 17 127 | Oct 2001 | DE |
0 026230 | Oct 1980 | EP |
0 020 917 | Jan 1981 | EP |
0 432 996 | Jun 1991 | EP |
0 572 119 | Dec 1993 | EP |
0 905 658 | Mar 1999 | EP |
2 257386 | Oct 1990 | JP |
9 326075 | Dec 1997 | JP |
9805010 | Feb 1998 | WO |
9956255 | Nov 1999 | WO |
0074009 | Dec 2000 | WO |
03052706 | Jun 2003 | WO |
Number | Date | Country | |
---|---|---|---|
20050155977 A1 | Jul 2005 | US |