The present application relates to a method and apparatus for counting and dispensing discrete objects, and, more particularly, to a computerized method and apparatus for counting and dispensing pharmaceutical tablets, capsules, caplets and the like (“tablets”).
Optical counters have been utilized in various applications to count objects. Typically, these counters include a feed system to reduce the collection of objects to a single-file orderly line, an optical sensor apparatus and a counting system. Various mechanical systems for producing a single-file flow include rotational and linear vibrators, rotating discs, air jets, gravity feeds, moving belts, etc. In such optical counters, the counting apparatus that performs the actual count of a single-file flow is simple in concept. A light source is placed opposite a single optical sensor and the object stream is directed between the sensor and the light source. The shadows created by the objects yield alternating light and dark patterns on the sensor. The sensor produces an electrical signal representative of these patterns and transmits the electrical signal to an electrical counting apparatus.
Accurate counts may be possible if the flow of objects is in a discrete series of single objects. Any failure of the mechanical feed system that results in flow that is not discrete can cause an inaccurate count. Inaccurate counts are due to the operation of the sensor which changes state in response to the presence or absence of light without respect to whether a light blockage is caused by one or more objects. Thus, if two or more objects cross the sensor simultaneously or if two or more objects are in physical contact, the count can be erroneous because a one-to-one correspondence between discrete objects and sensor state changes does not exist. This condition in the object flow stream is referred to as “bunching”.
In this type of counter, stringent demands are placed on the feed system because of the unforgiving nature of the sensors. These systems are typically complex and require parts changes and adjustments for each different size and shape object being counted. Thus, the set up requires a skilled operator. An object counter of this kind may achieve accurate count by sacrificing on size, complexity, and cost.
Heretofore known electronic systems are not highly accurate, particularly when small objects such as pharmaceutical capsules, tablets, etc. are to be counted. Such systems have lacked the sophisticated sensing and counting electronics and “intelligent” controls.
In accordance with an aspect, which will be discussed in detail below, a vibratory counting and dispensing apparatus is provided for counting and dispensing pharmaceutical tablets, capsules, caplets and the like (“tablets”). The vibratory counting and dispensing apparatus includes a feed hopper that stores a supply of tablets. A feeder vibrator is configured to vibrate a linear feeder such that tablets stored in the feed hopper are conveyed via the linear feeder to a feed bowl such that the feed bowl that stores a supply of tablets. The peripheral region of the interior of the feed bowl has a spiral ramp that leads to an exit opening. The feed bowl is vibrated by one or more electrically-controlled feed bowl vibrators in a manner that causes a plurality of tablets stored in the feed bowl to move as a singulated flow of tablets to the exit opening. The singulated flow is a conveying process where the tablets are separated for counting. Typically, the tablets move in single file one after the other in the singulated flow. The singulated flow of tablets pass through the exit opening of the feed bowl for supply to an optical system. The singulated flow of tablets is counted by the optical system and output or dispensed from a discharge chute.
In one embodiment, the optical system includes at least one light source and at least one detector array located about a channel disposed downstream from the exit opening of the bowl. The optical system is configured to count the singulated flow of tablets supplied to the optical system as well as determine a tablet size class for the tablets of the singulated flow. Furthermore, the operation of the at least one feed bowl vibrator is controlled based on the tablet size class determined by the optical system.
For example, the vibration amplitude of the at least one feed bowl vibrator can be controlled based on the tablet size class determined by the optical system. In another example, the vibration amplitude of the at least one feed bowl vibrator can be controlled based on the tablet size class determined by the optical system and number of objects counted by the optical system.
In embodiment(s), the vibratory counting and dispensing apparatus can include an electronic controller configured to control vibration amplitude of the at least one feed bowl vibrator based on the tablet size class and the number of tablets counted. The controller can employ a look-up table implemented in computer memory which electronically stores one or more setpoint vibration amplitude values for a number of tablet size classes. The optical system can be used to determine or update the tablet size class during a counting and dispensing operation that counts and dispenses a desired number of tablets. The setpoint vibration amplitude value corresponding to such table size class as stored in the look-up table can be used to update or change the target vibration amplitude value for control of the vibration amplitude of the at least one feed bowl vibrator during the counting and dispensing operation.
In one embodiment, the counting and dispensing operation of the vibratory counting apparatus can be logically partitioned into a predefined set of counting phases. In this case, the look-up table can store a number of setpoint vibration amplitude values associated with the predefined set of counting phases for each respective tablet size class.
In one embodiment, the predefined set of counting phases can include an initial counting phase carried out by the vibratory counting apparatus after an initial power-up sequence. In this case, the look-up table stores a default setpoint vibration amplitude that can be used as a target vibration amplitude value for control of the vibration amplitude of the at least one feed bowl vibrator during the initial counting phase. The optical system can be used to determine or update the tablet size class during the initial counting phase, and the setpoint vibration amplitude value corresponding to such table size class as stored in the look-up table can be used to update or change the target vibration amplitude value for control of the vibration amplitude of the at least one feed bowl vibrator during the initial counting phase. The controller may be configured to transition out of the initial counting phase when the vibration amplitude of the at least one feed bowl vibrator exceeds the target vibration amplitude value for the initial counting phase.
In other embodiments, the predefined set of counting phases can include a first sequence of counting phases carried out by the vibratory counting apparatus after the initial counting phase. In this case, the look-up table stores setpoint vibration amplitude values that can be used as a target vibration amplitude value for control of the vibration amplitude of the at least one feed bowl vibrator during the first sequence of counting phases. The optical system can be used to determine or update the tablet size classification during the first sequence of counting phases, and the setpoint vibration amplitude value corresponding to such table size classification as stored in the look-up table can be used to update or change the target vibration amplitude value for control of the vibration amplitude of the at least one feed bowl vibrator during the first sequence of counting phases.
In embodiment(s), the controller may be configured to perform closed loop control of a vibrator voltage level based on difference between a measured amplitude of vibration of the least one feed bowl vibrator and a current target vibration amplitude value. The controller may increase the vibrator voltage level if the measured amplitude of vibration is less than the current target vibration amplitude value, and the controller may decrease the vibrator voltage level if the measured amplitude of vibration is greater than the current target vibration amplitude value.
In still other embodiments, the controller can be configured to electronically store in computer memory data representing most-recent voltage levels at the setpoint vibration amplitude values for the first sequence of counting phases. Such data can be used in follow-on counting and dispensing operations to control the vibration amplitude of the at least one feed bowl vibrator during such follow-on counting and dispensing operations. For example, the follow-on counting and dispensing operations can be logically partitioned into a second sequence of counting phases each corresponding to different counting phases of the first sequence. In this case, during a respective counting phase of the second sequence, the data representing the most-recent voltage level at the setpoint vibration amplitude value for the corresponding counting phase of the first sequence can be used to initially control the at least one feed bowl vibrator.
In one embodiment, the first sequence of counting phases includes a counting phase, a slow-down counting phase, a last 2-count counting phase, and a last 1-count counting phase. The controller may be configured to transition from the counting phase to a slow-down counting phase when the cumulative number of counted and dispensed tablets is greater than or equal to a threshold value. The threshold value can be determined from one or more parameters stored in the look-up table for the respective table size class. The controller may be configured to transition from the slow-down counting phase to the last 2-count counting phase when a difference between the target number of tablets to be counted and dispensed and the cumulative number of counted and dispensed tablets is 2. The controller may be configured to transition from the last 2-counting phase to a last 1-count counting phase when the difference between the target number of tablets to be counted and dispensed and the cumulative number of counted and dispensed tablets is 1. In the last 1-count counting phase, the controller may be configured to perform an overcount condition processing when the cumulative number of counted and dispensed tablets is greater than the target number of tablets to be counted and dispensed, and the controller may be configured to perform a correctcount condition processing when the cumulative number of counted and dispensed tablets is equal to the target number of tablets to be counted and dispensed.
As used herein the term “singulated flow” means a conveying process where tablets are separated for counting. Typically, the tablets move in single file, one after the other, in the singulated flow, although instances can occur where multiple tablets are stacked on top of one another or exist side-by-side one another in the singulated flow.
Referring to
As shown in further detail in the section view of
The feed bowl 113 is mounted within the housing 105 on a frame including one or more electronically-controlled feed bowl vibrators 115. The feed bowl 113 stores tablets conveyed from the feed hopper 106. The peripheral region of the interior of the feed bowl 113 has a spiral guide path or ramp 113b that leads to an exit opening 113a. The feed bowl vibrator(s) 115 operate to vibrate the feed bowl 113 in a manner that causes a plurality of tablets stored in the feed bowl 113 to move by gravity and friction and centripetal force as a singulated flow of tablets along the spiral guide path 113b to the exit opening 113a. An accelerometer 114 can be mounted within the housing 105 and configured to measure acceleration of the feed bowl 113. The accelerometer 114 can transmit a signal 117 to the processor/control circuitry 110, which can process the signal 117 to measure vibration amplitude of the feed bowl 113 for control of the feed bowl vibrator(s) 115, as will be described in greater detail below.
The singulated flow of tablets that pass through the exiting opening 113a is supplied to an optical system 118 supported within the housing 105. The optical system 118 includes at least one light source and at least one sensor array located about a channel 118a disposed downstream from the exit opening 113a of the feed bowl 113. The optical system 118 is configured to count the singulated flow of tablets that pass through the channel 118a as well as determine a size classification for the singulated flow of tablets that pass through the channel 118a. The singulated flow of tablets exits from the channel 118a for output to a discharge chute 199 supported by the housing 105. The discharge chute 119 is configured to guide the counted tablets from the apparatus 100 to a container (not shown), such as a tablet bottle. Therefore, the flow of tablets is from the hopper 106, to the feed bowl 113, through the channel 118a of the optical system 118, and to the discharge chute 119 for dispensing to a container.
In embodiments, the light source of the optical system 118 can include one or more illumination sources that emit electromagnetic radiation (such as infrared light) such that it passes through the channel 118a and is blocked in part by subject tablets as they pass through the channel 118a. A portion of the unblocked radiation is directed by a focusing mechanism (such as lens) for reception by a corresponding sensor array (such as a linear or area CCD or CMOS image sensor(s)), which function as an image acquisition component. The sensor array(s) repetitively detects (scans) the received radiation at a predetermined, substantially constant rate and generates image pixel data that is converted into the digital domain and processed by the processor/control circuitry 110 to generate a count of the singulated flow of tablets that pass through the channel 118a as well as determine a size classification for the singulated flow of tablets that pass through the channel 118a. The processor/control circuitry 110 can transmit an enable/disable signal to activate/deactivate certain components of the optical system 118 (such the light source and/or sensor array) as needed.
In embodiments, the image pixel data can be processed by the processor/control circuitry 110 to provide a count of discretely identifiable tablets in several consecutive scan lines or in one or more image frames. Furthermore, the image pixel data can be processed by the processor/control circuitry 110 to approximate the areal coverage or “blob size” of the tablets being counted in several consecutive scan lines or one or more image frames, and determine a size classification that matches such areal coverage. Furthermore, where the approximated areal coverage is too small to be consistent with any anticipated tablet, the tablet may be tagged as possibly chipped or a fragment. Similarly, where the approximated areal coverage shows a shape that is non-uniform, exceeds a stipulated range of curvature, or otherwise exceeds predefined geometric limits, the tablet may be tagged as possibly defective.
As shown in
As noted above, the processor/control circuitry 110 can be configured to receive a level signal 109 from the level sensor 107 for control of the feeder vibrator 108a. Specifically, the processor/control circuitry 110 outputs a feeder vibrator voltage signal 126 for supply to the vibratory feeder control circuit 111, which is configured to transmit a pulsed-mode feeder vibrator drive signal 112 to the feeder vibrator 108a based upon a feeder vibrator voltage signal 126. When the level signal 109 indicates that the tablet level in the feed bowl 113 is below a low limit, the processor/control circuitry 110 sends a feeder vibrator signal 126 to the control unit 111, which then transmits a drive signal 112 to the feeder vibrator 108a to drive the feeder vibrator 108a so that the linear feeder 108 conveys tablets to the feed bowl 113 to increase the level of tablets in the feed bowl 113. When a level of tablets in the feed bowl 113 reaches a predetermined amount, the level sensor 107 transmits the level signal 109 to the processor/control circuitry 110, which then, updates the feeder vibrator signal to the feeder control unit 111, which transmits an updated drive signal 112 to the feeder vibrator 108a to stop vibration of the feeder vibrator 108a. This aforementioned feedback arrangement can be performed repetitively during operation of the apparatus 100 so that an adequate supply of tablets is present in the feed bowl 113 to be counted.
Furthermore, as noted above, the processor/control circuitry 110 can be configured to receive a signal 117 from the accelerometer 114 for control of the feed bowl vibrator(s) 115. Specifically, the processor/control circuitry 110 outputs a feed bowl vibrators voltage signal 127 for supply to the vibratory feeder control circuitry 111, which is configured to transmit a pulsed-mode feed bowl vibrators drive signal 116 to the feed bowl vibrators 115 based upon a feed bowl vibrators voltage signal 127. During operation of the device, the signal 117 from the accelerometer 114 can be used measure vibration amplitude of the feed bowl 113, which is used to provide feedback for automatic control of the vibration amplitude of the feed bowl 113 by the processor/control circuitry 110 via the feed bowl vibrators voltage signal 127 supplied to the vibratory feeder control circuitry 111.
Also, as shown in
The processor/control circuitry 110 also functions as a task manager for organizing and controlling the operating sequence of one or more software code modules resident in the processor/control circuitry 110, and thus for controlling the automated operation of the apparatus.
While the processor/control circuitry 110 shown in the embodiment of
Furthermore, the processor/control circuitry 110 shown in the embodiment of
In one embodiment, the operating sequence of the apparatus 100 embodies the following. It is assumed that the hopper 106 is adequately filled with a desired tablet type. The external host controller 124 sends an instruction to the communication interface 123 of the apparatus 100, where such instruction include a count command that specifies a certain number of tablets to be counted and dispensed by the apparatus 100. The instruction is received and processed by the processor/control circuitry 110, which controls the operation of the apparatus 100 to count and dispense the specified number of tablets. Since it is possible that the apparatus 100 may dispense too many or too few tablets, the specified amount of tablets will be referred to as a target quantity.
The processor/control circuitry 110 controls the feeder vibrator 108a, which can vibrate the linear feeder 108 to cause tablets in the hopper 106 to flow into the feed bowl 113. The rate of flow of tablets from the hopper 106 to the feed bowl 113 via the linear feeder 108 may be based at least in part on the amplitude of vibration imparted to the linear feeder 108 by the feeder vibrator 108a. The feed bowl 113 is vibrated by the feed bowl vibrators 115 under control of the processor/control circuitry 110 such that the tablets stored in the feed bowl 113 move by gravity, friction and centripetal force as a singulated flow of tablets along the spiral guide path 113b of the feed bowl 113 to the exit opening 113a, which leads to the optical system (source/sensor array) 118. Note that the rate of tablets in the singulated flow of tablets that pass through the exit opening 113a of the feed bowl 113 is based at least in part on the amplitude of vibration imparted to the feed bowl 113 by the feed bowl vibrators 115. The singulated flow of tablets that move through the exit opening 113a pass through the channel 118a of the optical system (light source/sensor array) 118, which generates image pixel data that is converted into the digital domain and processed by the processor/control circuitry 110 to generate a count of the singulated flow of tablets that pass through the channel 118a as well as determine a size classification for the singulated flow of tablets that pass through the channel 118a. Both the tablet count and size classification can be used by the processor/control circuitry 110 to automatically control the amplitude of vibration imparted to the feed bowl 113 by the feed bowl vibrators 115 in order to automatically increase or decrease the rate of tablets in the singulated flow of tablets conveyed from the feed bowl to the optical system for counting and dispensing, and thereby control the accuracy of the tablet counting and dispensing to minimize overcounts in the dispensing operation.
In block 204, a “target count” variable stored in memory is initialized to the target number of tablets as specified by the count command.
In block 205, an initial counting phase is performed, further details of which are shown with reference to the workflow shown in
Following the initial counting phase, a counting phase 206 may be performed at block 206, further details of which are shown with reference to the workflow shown in
Following the counting phase 206, a slow-down counting phase is performed at block 207, further details of which are shown with reference to the workflow shown in
Following the slow-down counting phase 207, a last 2-count counting phase is performed at block 208, further details of which are shown with reference to the workflow shown in
Following the last 2-count counting phase 208, a last 1-count counting phase is performed at block 209, further details of which are shown with reference to the workflow shown in
Upon the conclusion of the last 1-count counting phase 209, the number of tablets counted and dispensed by the apparatus 100 in blocks 205-209 typically matches the target number of tablets (a correct count condition). In some cases, the number of tablets counted and dispensed by the apparatus 100 in blocks 205-209 exceeds the target number of tablets (an overcount condition), which requires can involve special processing to handle the error. The operations then continue to blocks 210 to 215 to handle second or subsequent count commands transmitted by the host controller 124 and received by the communication interface 123.
At block 210, the communication interface 123 is placed in a state to wait to receive a second or subsequent count command from the host controller 124. Similar to the first count command, the second or subsequent count commands includes a command to the apparatus 100 to dispense a target number of tablets. If a second or subsequent count command is not received (“NO” at block 210), then the apparatus 100 continues to wait and check to determine if a second or subsequent count command is received. However, if a count command is received (“YES” at block 210), then the second or subsequent count command processing operations of blocks 211 to 215 are performed.
In block 211, a “target count” variable stored in memory is initialized to the target number of tablets as specified by the second or subsequent count command and the tablet counter variable “count_value” stored in memory is initialized to zero. The count_value variable is used to represent a cumulative number of counted tablets.
In block 212, a counting phase may be performed, further details of which are shown with reference to the workflow shown in
Following the counting phase 212, a slow-down counting phase is performed at block 213, further details of which are shown with reference to the workflow shown in
Following the slow-down counting phase 213, a last 2-count counting phase is performed at block 214, further details of which are shown with reference to the workflow shown in
Following the last 2-count counting phase 214, a last 1-count counting phase is performed at block 215, further details of which are shown with reference to the workflow shown in
Upon the conclusion of the last 1-count counting phase 215, the number of tablets counted and dispensed by the apparatus 100 in blocks 211-215 typically matches the target number of tablets (a correct count condition). In some cases, the number of tablets counted and dispensed by the apparatus 100 in blocks 211-215 exceeds the target number of tablets (an overcount condition), which requires can involve special processing to handle the error.
Note that the operations of blocks 211 to 215 can be repeated to handle subsequent count commands transmitted by the host controller 124 and received by the communication interface 123 until the apparatus is powered off. When the apparatus is next powered up, the operations revert to the operations beginning at blocks 201 and 202 as described above.
At block 205b, the level signal 109 output by the level sensor 107 is used by the processor/control circuitry 110 to control the feeder vibrator voltage signal 126. For example, when the level signal 109 indicates that the tablet level in the feed bowl 113 is below a low limit, the processor/control circuitry 110 sends a feeder vibrator signal 126 to the control unit 111, which then transmits a drive signal 112 to the feeder vibrator 108a to drive the feeder vibrator 108a so that the linear feeder 108 conveys tablets to the feed bowl 113 to increase the level of tablets in the feed bowl 113. When a level of tablets in the feed bowl 113 reaches a predetermined amount, the level sensor 107 transmits the level signal 109 to the processor/control circuitry 110, which then, updates the feeder vibrator signal to the feeder control unit 111, which transmits an updated drive signal 112 to the feeder vibrator 108a to stop vibration of the feeder vibrator 108a.
At block 205c, the setpoint vibration amplitude, as retrieved from the look-up table 400 in block 205a, is used as the current target amplitude value for the feed bowl vibrators 115. In general, the amplitude values in table 400 increase with increasing tablet size, as determined by testing.
At block 205d, the operations evaluate the count_value to determine if it indicates that a transition to the counting phase 206 should occur. Such evaluation can involve comparing the count_value to a predefined count_value for transition to the counting phase 206. If the count_value is equal to (or greater than) this predefined count_value (YES at block 205d), then the operations automatically transition to the counting phase 206 at block 205h. If the count_value is less than the predefined count_value (NO at block 205d), then the operations continue to blocks 205e to 205g.
At block 205e, the current target amplitude value for the feed bowl vibrators 115 (as set in block 205c or updated in block 205f) is used by the processor/control circuitry 110 to control the feed bowl vibrators 115 for the initial counting phase 205. For example, the processor/control circuitry 110 may employ a control scheme (such a PID control scheme) that incrementally increases (or possibly decreases) a vibrator voltage level such that feed bowl vibrators 115 reach the current target amplitude value. Such vibrator voltage level is maintained by the processor/control circuitry 110 and is proportional to the voltage signal 127 supplied by the processor/control circuitry 110 to the control circuit 111 in controlling the feed bowl vibrators 115.
At block 205f, the sensor pixel data output by the sensor array 118 is used by the processor/control circuitry 110 to count tablets and increment the count_value variable accordingly. Also, in block 205f, the sensor pixel data is used to classify the tablet size and update the current target amplitude value for the feed bowl vibrators 115 and other operations parameters for all counting phases of the first count command processing of blocks 204 to 209 based on the entries in the look-up table 400 corresponding to the classified tablet size. After completing block 205f, the operations continue to block 205g. Note that classified tablet size and corresponding operations parameters can possibly be updated over time at block 205f during the counting and dispensing operations of the initial counting phase 205.
At block 205g, the operations process the signal 117 to determine whether the amplitude of vibration of the feed bowl 113 has overshot the current target amplitude value for the feed bowl vibrators 115 as set in block 205c. If not (NO at block 205g), the operations return to block 205d. This situation corresponds to a case where the amplitude signal is still increasing towards the target amplitude. If so (YES at block 205g), the operations continue to block 205h.
At block 205h, the operations transition to the counting phase 206 of
At block 206b, the setpoint vibration amplitude for the feed bowl vibrators 115 for the counting phase (as retrieved from the look-up table preferably at block 205f) is used as the current target amplitude value for the feed bowl vibrators 115.
At block 206c, the operations evaluate the count_value to determine if it indicates that a transition to the slow-down counting phase 207 should occur. Such evaluation can involve comparing the count_value to the count_value for transition to the slow-down counting phase (as retrieved from the look-up table preferably at block 205a or 205f). If the count_value is equal to (or greater than) the count_value for transition to the slow-down counting phase (YES at block 206c), then the operations automatically transition to the slow-down counting phase 206 at block 206f. If the count_value is less than the count_value for transition to the slow-down counting phase (NO at block 206c), then the operations continue to blocks 206d to 206e.
At block 206d, the current target amplitude value for the feed bowl vibrators 115 (as set in block 206b or updated in block 206e) is used by the processor/control circuitry 110 to control the feed bowl vibrators 115 for the counting phase 206. For example, the processor/control circuitry 110 may employ a control scheme (such a PID control scheme) that incrementally increases (or possibly decreases) the vibrator voltage level such that feed bowl vibrators 115 reach the current target amplitude value. Such vibrator voltage level is maintained by the processor/control circuitry 110 and is proportional to the voltage signal 127 supplied by the processor/control circuitry 110 to the control circuit 111 in controlling the feed bowl vibrators 115. In such a case, the PID values employed during the counting phase 206 may be less aggressive than those used during the initial counting phase 205 to mitigate overshooting the current target amplitude. Furthermore, at block 206d, the most-recent vibrator voltage level corresponding to the current target amplitude value of the counting phase 206 for the classified tablet size can be stored over time.
At block 206e, the sensor pixel data generated by the sensor array 118 is used to count tablets and increment the count_value accordingly. Also, at block 206e, the sensor pixel data is used to update the classification of the tablet size and update the current target amplitude value for the feed bowl vibrators 115 and other operations parameters for all counting phases of the first count command processing of blocks 204 to 209 based on the entries of the lookup table 400 corresponding to the updated classified tablet size. After completing block 206e, the operations return to block 206c. Note that classified tablet size and corresponding operations parameters can possibly be updated over time at block 206e during the counting and dispensing operations of the counting phase 206.
At block 206f, the operations transition to the slow-down counting phase 207 of
At block 207b, the setpoint vibration amplitude for the slow-down counting phase (as retrieved from the look-up table 400 preferably in block 205f or 206e) is used as the current target amplitude value for the feed bowl vibrators 115.
At block 207c, the operations evaluate the count_value to determine if it indicates that a transition to the last 2-count counting phase 208 should occur. Such evaluation can involve comparing the difference between the target count and the count_value (i.e., (target count−count_value)) to a predefined count_value (e.g., 2) for transition to the last 2-count counting phase 208. If (target count−count_value) is equal to (or less than) this predefined count_value (e.g., 2) (YES at block 207c), then the operations automatically transition to the last 2-count counting phase 208 at block 207f. If (target count−count_value) is greater than this predefined count_value (e.g., 2) (NO at block 207c), then the operations continue to blocks 207d to 207e.
At block 207d, the current target amplitude value for the feed bowl vibrators 115 (as set in block 207b or updated in block 207e) is used by the processor/control circuitry 110 to control the feed bowl vibrators 115 for the slow-down counting phase 207. For example, the processor/control circuitry 110 may employ a control scheme (such a PID control scheme) that increases or decreases the vibrator voltage level such that feed bowl vibrators 115 operate at or near the current target amplitude value. Such vibrator voltage level is maintained by the processor/control circuitry 110 and is proportional to the voltage signal 127 supplied by the processor/control circuitry 110 to the control circuit 111 in controlling the feed bowl vibrators 115. In such a case, the PID values employed during the slow-down counting phase may be less aggressive than those used during the initial counting phase and/or the second counting phase to mitigate overshooting the target amplitude. Furthermore, at block 207d, the most-recent vibrator voltage level corresponding to the current target amplitude value of the slow-down counting phase 207 for the classified tablet size can be stored over time.
At block 207e, the sensor pixel data is used to count tablets and increment the count_value accordingly. Also, at block 207e the sensor pixel data is used to update the classification of the tablet size and update the current target amplitude value for the feed bowl vibrators 115 and other operations parameters for all counting phases of the first count command processing of blocks 204 to 209 based on the entries of the lookup table 400 corresponding to the updated classified tablet size. After completing block 207e, the operations return to block 207c. Note that classified tablet size and corresponding operations parameters can possibly be updated over time at block 207e during the counting and dispensing operations of the slow-down counting phase 207.
At block 207f, the operations transition to the last 2-count counting phase 208 of
At block 208b, the setpoint vibration amplitude for the last 2-count counting phase (as retrieved from the look-up table 400 preferably in block 205f or 206e or 207e) is used as the current target amplitude value for the feed bowl vibrators 115.
At block 208c, the operations evaluate the count_value to determine if it indicates that a transition to the last 1-count counting phase 209 should occur. Such evaluation can involve comparing the difference between the target count and the count_value (i.e. (target count−count_value)) to a predefined count_value (e.g., 1) for transition to the last 1-count counting phase 209. If (target count−count_value) is equal to (or less than) this predefined count_value (e.g., 1) (YES at block 208c), then the operations automatically transition to the last 1-count counting phase 209 at block 208f. If (target count−count_value) is greater than this predefined count_value (e.g., 1) (NO at block 208c), then the operations continue to blocks 208d to 208e.
At block 208d, the current the target amplitude value for the feed bowl vibrators 115 (as set in block 208b or updated in block 208e) is used by the processor/control circuitry 110 to control the feed bowl vibrators 115 for the last 2-count counting phase 208. For example, the processor/control circuitry 110 may employ a control scheme (such a PID control scheme) that increases or decreases the vibrator voltage level such that feed bowl vibrators 115 operate at or near the current target amplitude value. Such vibrator voltage level is maintained by the processor/control circuitry 110 and is proportional to the voltage signal 127 supplied by the processor/control circuitry 110 to the control circuit 111 in controlling the feed bowl vibrators 115. In such a case, the PID values employed during the last 2-count counting phase may be less aggressive than those used during the initial counting phase, the second counting phase, and the slow-down counting phase to mitigate overshooting the target amplitude. Furthermore, at block 208d, the most-recent vibrator voltage level corresponding to the current target amplitude value of the last 2-count counting phase 208 for the classified tablet size can be stored over time.
At block 208e, the sensor pixel data generated by the sensor array 118 is used to count tablets and increment the count_value accordingly. Also, at block 208e, the sensor pixel data is used to update the classification of the tablet size and update the current target amplitude value for the feed bowl vibrators 115 and other operations parameters for all counting phases of the first count command processing of blocks 204 to 209 based on the entries of the lookup table 400 corresponding to the classified tablet size. After completing block 208e, the operations return to block 208c. Note that classified tablet size and corresponding operations parameters can possibly be updated over time at block 208e during the counting and dispensing operations of the last 2-count counting phase 208.
At block 208f, the operations transition to the last 1-count counting phase 209 of
At block 209b, the setpoint vibration amplitude for the last 1-count counting phase (as retrieved from the look-up table 400 in block 205f or 206e or 207e or 208e) is used as the current target amplitude value for the feed bowl vibrators 115.
At block 209c, the current target amplitude value for the feed bowl vibrators 115 (as set in block 209b) is used by the processor/control circuitry 110 to control the feed bowl vibrators 115 for the last 1-count counting phase 209. For example, the processor/control circuitry 110 may employ a control scheme (such a PID control scheme) that increases or decreases the vibrator voltage level such that feed bowl vibrators 115 operate at or near the current target amplitude value. Such vibrator voltage level is maintained by the processor/control circuitry 110 and is proportional to the voltage signal 127 supplied by the processor/control circuitry 110 to the control circuit 111 in controlling the feed bowl vibrators 115. In such a case, the PID values employed during the last 1-count counting phase may be less aggressive than those used during the initial counting phase, the second counting phase, the slow-down counting phase, and the last 2-count counting phase to mitigate overshooting the target amplitude. Furthermore, at block 209c, the most-recent vibrator voltage level corresponding to the current target amplitude value of the last 1-count counting phase 209 for the classified tablet size can be stored over time.
At block 209d, the sensor pixel data is used to count tablets and increment the count_value accordingly.
At block 209e, the count_value is evaluated to determine if it is greater than or equal to the target count. If the count_value is determined to be less than the target count (NO at block 209e), then the operations automatically return to repeat the operations of blocks 209c to 209e. If the count_value is determined to be greater than or equal to the target count (YES at block 209e), then the operations automatically transition to the operations of blocks 209f to 209h.
At block 209f, the feed bowl vibrators 115 are powered-down by supply of appropriate voltage signals 127 and corresponding drive signals 116.
At block 209g, the operations delay for a short period of time to allow for any “late arriving” tablets that are possibly fed to the optical system 118 to arrive for counting and follow on dispensing.
At block 209h, the count_value is evaluated to determine if it is greater than the target count. If the count_value is determined to be greater than the target count (YES at block 209h), then the operations automatically transition to the OverCount condition processing at block 209j. This condition corresponds to the case where the apparatus counts and dispenses more tablets than requested by the host controller 124 and is a dispense error condition. The processor/control circuitry 110 can cooperate with the communication interface 123 of the apparatus 100 to report this dispense error condition to the external host controller 124 such that appropriate action can be taken to account for and remedy the dispense error condition. Otherwise, if the count_value is determined to be not greater than the target count (NO at block 209h), then the operations automatically transition to the CorrectCount condition processing at block 209i. This condition corresponds to the case where the apparatus counts and dispenses the proper number of tablets as requested by the host controller 124 and is a dispense success condition. The processor/control circuitry 110 can cooperate with the communication interface 123 of the apparatus 100 to report this dispense success to the external host controller 124 such that appropriate action can be taken to account the dispense success condition.
At block 212b, the setpoint vibration amplitude for the feed bowl vibrators 115 for the counting phase (as retrieved from the look-up table preferably at block 205f or 206e or 207e or 208e as described herein) is used as the current target amplitude value for the feed bowl vibrators 115.
At block 212c, the operations evaluate the count_value to determine if it indicates that a transition to the slow-down counting phase 213 should occur. Such evaluation can involve comparing the count_value to the count_value for transition to the slow-down counting phase (as retrieved from the look-up table preferably at block 212a or 212f). If the count_value is equal to (or greater than) the count_value for transition to the slow-down counting phase (YES at block 212c), then the operations automatically transition to the slow-down counting phase 213 at block 212g. If the count_value is less than the count_value for transition to the slow-down counting phase (NO at block 212c), then the operations continue to blocks 212d to 212e.
At block 212d, the most-recent vibrator voltage level of the counting phase as stored in block 206d (or the most-recent vibrator voltage level of the counting phase as stored in block 212e) can be used to initially control the feed bowl vibrators 115 for the counting phase 212.
At block 212e, the current target amplitude value for the feed bowl vibrators 115 (as set in block 212b) is used by the processor/control circuitry 110 to control the feed bowl vibrators 115 for the counting phase 212. For example, the processor/control circuitry 110 may employ a control scheme (such a PID control scheme) that increases or decreases the vibrator voltage level such that feed bowl vibrators 115 operate at or near the current target amplitude value. Such vibrator voltage level is maintained by the processor/control circuitry 110 and is proportional to the voltage signal 127 supplied by the processor/control circuitry 110 to the control circuit 111 in controlling the feed bowl vibrators 115. Furthermore, at block 212e, the most-recent vibrator voltage level corresponding to the current target amplitude value of the counting phase 212 for the classified tablet size can be stored over time.
At block 212f, the sensor pixel data generated by the sensor array 118 is used to count tablets and increment the count_value accordingly. After completing block 212f, the operations return to block 212c. Note that in this exemplary embodiment, the sensor pixel data is not used to update the classified tablet size and corresponding operations parameters over time at block 212f during the counting and dispensing operations of the counting phase 212.
At block 212g, the operations transition to the slow-down counting phase 213 of
At block 213b, the setpoint vibration amplitude for the slow-down counting phase (as retrieved from the look-up table 400 preferably at block 205f or 206e or 207e or 208e as described herein) is used as the current target amplitude value for the feed bowl vibrators 115.
At block 213c, the operations evaluate the count_value to determine if it indicates that a transition to the last 2-count counting phase 214 should occur. Such evaluation can involve comparing the difference between the target count and the count_value (i.e., (target count−count_value)) to a predefined count_value (e.g., 2) for transition to the last 2-count counting phase 214. If (target count−count_value) is equal to (or less than) this predefined count_value (e.g., 2) (YES at block 213c), then the operations automatically transition to the last 2-count counting phase 214 at block 213g. If (target count−count_value) is greater than this predefined count_value (e.g., 2) (NO at block 213c), then the operations continue to blocks 213d to 213f.
At block 213d, the most-recent vibrator voltage level of the slow-down counting phase as stored in block 207d (or the most-recent vibrator voltage level of the slow-down counting phase as stored in block 213e) can be used to initially control the feed bowl vibrators 115 for the slow-down counting phase 213.
At block 213e, the current target amplitude value for the feed bowl vibrators 115 (as set in block 213b) is used by the processor/control circuitry 110 to control the feed bowl vibrators voltage signal 127 for the slow-down counting phase 213. For example, the processor/control circuitry 110 may employ a control scheme (such a PID control scheme) that increases or decreases the vibrator voltage level such that feed bowl vibrators 115 operate at or near the current target amplitude value. Such vibrator voltage level is maintained by the processor/control circuitry 110 and is proportional to the voltage signal 127 supplied by the processor/control circuitry 110 to the control circuit 111 in controlling the feed bowl vibrators 115. Furthermore, at block 213e, the most-recent vibrator voltage level corresponding to the current target amplitude value of the slow-down counting phase 213 for the classified tablet size can be stored over time.
At block 213f, the sensor pixel data generated by the sensor array 118 is used to count tablets and increment the count_value accordingly. After completing block 213f, the operations return to block 213c. Note that in this exemplary embodiment, the sensor pixel data is not used to update the classified tablet size and corresponding operations parameters over time at block 213f during the counting and dispensing operations of the slow-down counting phase 213.
At block 213g, the operations transition to the last 2-count counting phase 214 of
At block 214b, the setpoint vibration amplitude for the last 2-count counting phase (as retrieved from the look-up table 400 preferably at block 205f or 206e or 207e or 208e as described herein) is used as the current target amplitude value for the feed bowl vibrators 115.
At block 214c, the operations evaluate the count_value to determine if it indicates that a transition to the last 1-count counting phase 215 should occur. Such evaluation can involve comparing the difference between the target count and the count_value (i.e. (target count−count_value)) to a predefined count_value (e.g., 1) for transition to the last 1-count counting phase 215. If (target count−count_value) is equal to (or less than) this predefined count_value (e.g., 1) (YES at block 214c), then the operations automatically transition to the last 1-count counting phase 214 at block 214g. If (target count−count_value) is greater than this predefined count_value (e.g., 1) (NO at block 214c), then the operations continue to blocks 214d to 214f.
At block 214d, the most-recent vibrator voltage level of the last 2-count counting phase as stored in block 208d (or the most-recent vibrator voltage level of the slow-down counting phase as stored in block 214e) can be used to initially control the feed bowl vibrators 115 for the last 2-count counting phase 214.
At block 214e, the current the target amplitude value for the feed bowl vibrators 115 (as set in block 214b) is used by the processor/control circuitry 110 to control the feed bowl vibrators 115 for the last 2-count counting phase 214. For example, the processor/control circuitry 110 may employ a control scheme (such a PID control scheme) that increases or decreases the vibrator voltage level such that feed bowl vibrators 115 operate at or near the current target amplitude value. Such vibrator voltage level is maintained by the processor/control circuitry 110 and is proportional to the voltage signal 127 supplied by the processor/control circuitry 110 to the control circuit 111 in controlling the feed bowl vibrators 115. In such a case, the PID values employed during the last 2-count counting phase may be less aggressive than those used during the initial counting phase, the second counting phase, and the slow-down counting phase to mitigate overshooting the target amplitude. Furthermore, at block 214e, the most-recent vibrator voltage level corresponding to the current target amplitude value of the last 2-count counting phase 214 for the classified tablet size can be stored over time.
At block 214f, the sensor pixel data generated by the sensor array 118 is used to count tablets and increment the count_value accordingly. After completing block 214f, the operations return to block 214c. Note that in this exemplary embodiment, the sensor pixel data is not used to update the classified tablet size and corresponding operations parameters over time at block 214f during the counting and dispensing operations of the last 2-count counting phase 214.
At block 214g, the operations transition to the last 1-count counting phase 215 of
At block 215b, the setpoint vibration amplitude for the last 1-count counting phase (as retrieved from the look-up table 400 preferably at block 205f or 206e or 207e or 208e as described herein) is used as the current target amplitude value for the feed bowl vibrators 115.
At block 215c, the most-recent vibrator voltage level of the last 1-count counting phase as stored in block 209c (or the most-recent vibrator voltage level of the slow-down counting phase as stored in block 215d) can be used to initially control the feed bowl vibrators 115 for the last 1-count counting phase 215.
At block 215d, the current target amplitude value for the feed bowl vibrators 115 (as set in block 215b) is used by the processor/control circuitry 110 to control the feed bowl vibrators 115 for the last 1-count counting phase 215. For example, the processor/control circuitry 110 may employ a control scheme (such a PID control scheme) that increases or decreases the vibrator voltage level such that feed bowl vibrators 115 operate at or near the current target amplitude value. Such vibrator voltage level is maintained by the processor/control circuitry 110 and is proportional to the voltage signal 127 supplied by the processor/control circuitry 110 to the control circuit 111 in controlling the feed bowl vibrators 115. In such a case, the PID values employed during the last 1-count counting phase may be less aggressive than those used during the counting phase 212, the slow-down counting phase 213, and the last 2-count counting phase 214 to mitigate overshooting the target amplitude. Furthermore, at block 2015d, the most-recent vibrator voltage level corresponding to the current target amplitude value of the last 1-count counting phase 215 for the classified tablet size can be stored over time.
At block 215e, the sensor pixel data is used to count tablets and increment the count_value accordingly.
At block 215f, the count_value is evaluated to determine if it is greater than or equal to the target count. If the count_value is determined to be less than the target count (NO at block 215f), then the operations automatically return to repeat the operations of blocks 215d to 2215f. If the count_value is determined to be greater than or equal to the target count (YES at block 215f), then the operations automatically transition to the operations of blocks 209g to 209i.
At block 215g, the feed bowl vibrators 115 are powered-down by supply of appropriate voltage signals 127 and corresponding drive signals 116.
At block 215h, the operations delay for a short period of time to allow for any “late arriving” tablets that are possibly fed to the optical system 118 to arrive for counting and follow on dispensing.
At block 215i, the count_value is evaluated to determine if it is greater than the target count. If the count_value is determined to be greater than the target count (YES at block 215i), then the operations automatically transition to the OverCount condition processing at block 215k. This condition corresponds to the case where the apparatus counts and dispenses more tablets than requested by the host controller 124 and is a dispense error condition. The processor/control circuitry 110 can cooperate with the communication interface 123 of the apparatus 100 to report this dispense error condition to the external host controller 124 such that appropriate action can be taken to account for and remedy the dispense error condition. Otherwise, if the count_value is determined to be not greater than the target count (NO at block 215i), then the operations automatically transition to the CorrectCount condition processing at block 215j. This condition corresponds to the case where the apparatus counts and dispenses the proper number of tablets as requested by the host controller 124 and is a dispense success condition. The processor/control circuitry 110 can cooperate with the communication interface 123 of the apparatus 100 to report this dispense success to the external host controller 124 such that appropriate action can be taken to account the dispense success condition.
The variable resistances provided by the potentiometers R1, R2 and R3 allows for calibration of the mapping between the feed bowl vibrator voltage levels maintained by the controller 110 and the vibration amplitude of the feed bowl, which is used in the closed loop control of the vibration amplitude of the feed bowl during operation of the system as described herein. More specifically, the operational characteristics of the feed bowl vibrators can vary over different units as assembled or over time. In this case, without calibration, the feed bowl vibrator voltage levels maintained by the controller 110 can possibly result in unwanted variation in the vibration amplitude of the feed bowl over different units as assembled or over time. This can make lead to unnecessary complexity or unwanted errors in the control of the vibration amplitude of the feed bowl. The variable resistances provided by the potentiometers R1, R2 and R3 allows for calibration of the mapping between the feed bowl vibrator voltage levels maintained by the controller 110 and the vibration amplitude of the feed bowl in order to reduce such variations to an acceptable level.
The calibration operations involve adjusting the variable resistance provided by one or more of the potentiometers R1, R2 and R3 such that one or more predefined feed bowl vibrator voltage levels map to a corresponding target vibration amplitude of the feed bowl.
The change of resistance provided by potentiometer R1 can be used primarily to adjust the scale of the feed bowl vibrator voltage levels relative to the vibration amplitude of the feed bowl. In this manner, the change of resistance provided by potentiometer R1 can be used to make course adjustments shown graphically by arrows in
The change of resistance provided by potentiometer R2 can be used primarily to adjust the mapping of “lower” feed bowl vibrator voltage levels to vibration amplitude of the feed bowl. The “lower” feed bowl vibrator voltage levels fall within a range at the lower end of the possible feed bowl vibrator voltage levels. In this manner, the change of resistance provided by potentiometer R2 can be used to make fine adjustments shown graphically by arrows in
The change of resistance provided by potentiometer R3 can be used primarily to adjust the mapping of “higher” feed bowl vibrator voltage levels to vibration amplitude of the feed bowl. The “higher” feed bowl vibrator voltage levels fall within a range at the higher end of the possible feed bowl vibrator voltage levels. In this manner, the change of resistance provided by potentiometer R3 can be used to make fine adjustments as shown graphically by arrow in
It is contemplated that the calibration operations can involve multiple iterations that adjust the variable resistances provided by one or more of the potentiometers R1, R2 and R3 until one or more predefined feed bowl vibrator voltage levels map to a corresponding target vibration amplitude of the feed bowl.
There have been described and illustrated herein certain methods and devices for controlling the feed rate of an object sorter/counter. While particular embodiments of the invention have been described, it is not intended that the invention be limited thereto, as it is intended that the invention be as broad in scope as the art will allow and that the specification be read likewise. Thus, while particular dimensions, locations, and configurations of the hopper, feed bowl, vibrators, optical system, and control system have been disclosed, it will be appreciated that other dimensions, locations, and configurations could be utilized. Moreover, while particular configurations have been disclosed in reference to a microprocessor and certain software for use therewith, it will be appreciated that other types of processors and variations in the disclosed software could be used as well. Furthermore, while the counter section with sensor array and gate has been disclosed as having certain dimensions, locations, and configurations, it will be understood that different dimensions, locations, and configurations can achieve the same or similar function as disclosed herein. It will therefore be appreciated by those skilled in the art that yet other modifications could be made to the provided invention without deviating from its spirit and scope as so claimed.
Number | Name | Date | Kind |
---|---|---|---|
2904162 | Simer | Sep 1959 | A |
3012651 | Hawkes | Dec 1961 | A |
3265273 | Janus | Aug 1966 | A |
3746211 | Burgess, Jr. | Jul 1973 | A |
3747738 | Greck | Jul 1973 | A |
4825995 | Nalbach | May 1989 | A |
5065852 | Marti | Nov 1991 | A |
5317645 | Perozek | May 1994 | A |
5419442 | Wright, Jr. | May 1995 | A |
5473703 | Smith | Dec 1995 | A |
5507086 | Marshall | Apr 1996 | A |
5553737 | Kelly | Sep 1996 | A |
5638417 | Boyer | Jun 1997 | A |
5671262 | Boyer | Sep 1997 | A |
5804772 | Wooldridge | Sep 1998 | A |
6435333 | Sala | Aug 2002 | B1 |
6578733 | Geltser et al. | Jun 2003 | B2 |
6659304 | Geltser | Dec 2003 | B2 |
7128203 | Baranowski | Oct 2006 | B2 |
7139639 | Broussard | Nov 2006 | B2 |
7258222 | Marti Sala | Aug 2007 | B2 |
8393495 | Kim | Mar 2013 | B2 |
8417375 | Horev | Apr 2013 | B2 |
8700208 | Kim | Apr 2014 | B2 |
9180992 | Kim | Nov 2015 | B2 |
20090114665 | Ogawa | May 2009 | A1 |
20100108404 | Kieselhorst | May 2010 | A1 |
20130054017 | Horev | Feb 2013 | A1 |
20130144431 | Tidhar | Jun 2013 | A1 |
20150175287 | Tidhar | Jun 2015 | A1 |
Number | Date | Country | |
---|---|---|---|
20190021956 A1 | Jan 2019 | US |