Calibration methods for a viscous fluid dispensing system
10082417 ยท 2018-09-25
Assignee
Inventors
Cpc classification
G05B19/4015
PHYSICS
G01C25/00
PHYSICS
H01L22/20
ELECTRICITY
G01D18/00
PHYSICS
G01P21/00
PHYSICS
G05B2219/45238
PHYSICS
H05K2203/0126
ELECTRICITY
International classification
G01D18/00
PHYSICS
G05B19/401
PHYSICS
G01F25/00
PHYSICS
G06F3/0484
PHYSICS
Abstract
A method for calibrating a fluid dispensing system includes the steps of locating an external reference point with an optical sensor, moving a fluid dispenser to the external reference point, dispensing fluid with the fluid dispenser at the external reference point, locating the dispensed fluid with the optical sensor, calculating a distance between the location of the external reference point and the location of the dispensed fluid, determining a correction value based at least in part on the calculated distance, and using the correction value to improve placement accuracy of dispensed fluid.
Claims
1. A method for calibrating a fluid dispensing system, the system including a fluid dispenser and an optical sensor, the method comprising: (i) locating an external reference point on a substrate with the optical sensor; (ii) moving the fluid dispenser to the external reference point; (iii) dispensing fluid with the fluid dispenser; (iv) locating the dispensed fluid with the optical sensor; (v) calculating a distance between the location of the external reference point and the location of the dispensed fluid; (vi) determining a correction value based at least in part on the calculated distance; and (vii) moving the fluid dispenser based on the correction value to improve placement accuracy of dispensed fluid, wherein: the substrate further includes at least one additional external reference point, steps (i) through (v) are also performed for the at least one additional external reference point, determining the correction value comprises determining the correction value based at least in part on a value determined by averaging the calculated distances corresponding to each of the external reference points, and each of the external reference points is approached by the fluid dispenser from a different direction.
2. The method of claim 1, wherein the system further comprises a controller configured to automatically control steps (i) through (vii).
3. The method of claim 1 further comprising: iterating steps (i) through (vii) until the calculated distance is less than an upper limit.
4. The method of claim 1, wherein the substrate is a tile.
5. The method of claim 4, wherein the tile has at least eight external reference points, and each of the at least eight external reference points is approached by the fluid dispenser from a different direction.
6. The method of claim 1, wherein the external reference point and the dispensed fluid each have a centroid and calculating the distance further comprises: calculating the distance between the centroid of the external reference point and the centroid of the dispensed fluid.
7. The method of claim 1, wherein dispensing the fluid with the fluid dispenser further comprises dispensing a drop of the fluid with the fluid dispenser.
8. A method for calibrating a fluid dispensing system, the system including a fluid dispenser and an optical sensor, the method comprising: locating a first external reference point positioned on a substrate with the optical sensor; moving the fluid dispenser to the first external reference point; dispensing first fluid with the fluid dispenser; locating the first dispensed fluid with the optical sensor; calculating a first distance between the location of the first external reference point and the location of the first dispensed fluid; locating a second external reference point positioned on the substrate with the optical sensor; moving the fluid dispenser to the second external reference point, wherein the second external reference point is approached by the fluid dispenser from a different direction that the first external reference point; dispensing second fluid with the fluid dispenser; locating the second dispensed fluid with the optical sensor; calculating a second distance between the location of the second external reference point and the location of the second dispensed fluid; determining a correction value based at least in part on a value determined by averaging the calculated first distance and the calculated second distance; and moving the fluid dispenser based on the correction value to improve placement accuracy of dispensed fluid.
9. The method of claim 8, wherein the system further comprises a controller configured to automatically control the steps of the method.
10. The method of claim 8, further comprising iterating the steps of the method until the averaged distance is less than an upper limit.
11. The method of claim 8, wherein the substrate is a tile, and the tile has at least eight external reference points, and each of the at least eight external reference points is approached by the fluid dispenser from a different direction.
12. The method of claim 8, wherein the first external reference point and the first dispensed fluid each have a centroid and calculating the first distance further comprises: calculating the first distance between the centroid of the first external reference point and the centroid of the first dispensed fluid.
13. The method of claim 8, wherein dispensing the fluid with the fluid dispenser comprises dispensing a drop of the fluid.
14. A method for calibrating a fluid dispensing system, the system including a fluid dispenser and an optical sensor, the method comprising: locating a first external reference point on a substrate with the optical sensor, the first external reference point having a centroid; moving the fluid dispenser to the first external reference point; dispensing first fluid with the fluid dispenser; locating the first dispensed fluid with the optical sensor, the first dispensed fluid having a centroid; calculating a first distance between the centroid of the first external reference point and the centroid of the first dispensed fluid; locating a second external reference point on the substrate with the optical sensor, the second external reference point having a centroid; moving the fluid dispenser to the second external reference point, wherein the second external reference point is approached by the fluid dispenser from a different direction that the first external reference point dispensing second fluid with the fluid dispenser; locating the second dispensed fluid with the optical sensor, the second dispensed fluid having a centroid; calculating a second distance between the centroid of the second external reference point and the centroid of the second dispensed fluid; determining a correction value based at least in part on a value determined by averaging the calculated first distance and the calculated second distance; and moving the fluid dispenser based on the correction value to improve placement accuracy of dispensed fluid.
15. The method of claim 14, wherein the system further comprises a controller configured to automatically control the steps of the method.
16. The method of claim 14, further comprising iterating the steps of the method until the calculated distance is less than an upper limit.
17. The method of claim 14, wherein the substrate is a tile.
18. The method of claim 17, wherein the tile has at least eight external reference points, and each of the at least eight external reference points is approached by the fluid dispenser from a different direction.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
DETAILED DESCRIPTION
(9) Referring to the figures,
(10) The fluid dispensing system 10 includes a computer 11 for providing the overall control for the system 10. The computer 11 may be a programmable logic controller (PLC) or other microprocessor based controller, a personal computer, or other conventional control devices capable of carrying out the functions described herein as will be understood by those of ordinary skill in the art. In that regard, the computer 11 may include a processor, a memory, a mass storage memory device, an input/output (I/O) interface, and a Human Machine Interface (HMI) such as a Graphical User Interface (GUI). The computer 11 may also be operatively coupled to one or more external resources via a network or the I/O interface. External resources may include, but are not limited to, servers, databases, mass storage devices, peripheral devices, cloud-based network services, or any other suitable computer resource that may used by the computer 11.
(11) Substrates, such as PCB's (not shown), which are to have dots of viscous fluid, such as adhesive, epoxy, solder, etc, dispensed thereon by the fluid dispenser 12, are manually loaded or horizontally transported to a position directly beneath the fluid dispenser 12 by an automatic conveyor (not shown). During operation of the fluid dispensing system 10, the video camera 14 identifies the locations on the substrate or other target disposed on the platform 16 at which a dot of viscous fluid is to be dispensed. The computer 11 then controls the X-Y positioner to move the fluid dispenser 12 to a position above the desired location above the substrate or other target, and further controls the Z-axis drive to position the fluid dispenser 12 at the proper height for dispensing. The computer 11 then controls the fluid dispenser 12 to dispense a dot of viscous fluid from a nozzle (not shown) of the fluid dispenser 12. A dispensed dot of viscous fluid may have a calculated volume and may be in the form of a drop of fluid having any shape, such as a circular, teardrop, or irregular shape.
(12) Referring to
(13)
(14) Next, at 31, the computer 11 commands the camera 14 to move and locate each fiducial 24 on the fiducial tile 22. For steps 31-33, and as explained in greater detail below with reference to the more detailed routine 39 illustrated in
(15) At 33, the computer 11 then commands the camera 14 to locate each of the eight dots dispensed on the fiducial tile 22.
(16) At 34, the computer 11 compares the location of each fiducial 24 to the location at which the corresponding dot of fluid was actually dispensed. Specifically, for each fiducial 24, the computer 11 determines the difference between the X-Y coordinates of the center of the fiducial 24 and the X-Y coordinates of the center of its corresponding dispensed dot. The computer 11 then determines the average of these eight values and stores the averaged value, referred to as the dot offset error value.
(17) At 35, the computer 11 then compares the dot offset error value to a limit value that is taught or otherwise known by the computer 11. If the dot offset error value is less than the limit value, then the fluid dispensing system 10 is deemed to be operating with sufficient dot placement accuracy such that it is adequately calibrated, and the calibration routine ends. If the dot offset error value is not less than the limit value, the computer 11 recognizes that the system 10 is not operating with sufficient dot placement accuracy. Thus, the calibration routine 29 does not end. Instead, the computer 11, at 36, recalculates or otherwise adjusts the camera-to-needle offset value to account for additional error within the system 10. The computer 11 then repeats the process described above, starting at 31, in order to improve dot placement accuracy. The camera-to-needle offset adjustment is described in greater detail below with reference to
(18) Referring to
(19) At 42, the computer 11 then commands the camera 14 to locate all eight fiducials 24 based on their anticipated locations. The camera 14 approaches the anticipated location of each fiducial 24 from a different direction, as described above. Specifically, as shown by the illustrative embodiment in
(20) As shown in
(21) As shown in
(22) At 43, the computer 11 commands the fluid dispenser 12 to dispense a series of starter dots 26 of fluid onto the fiducial tile 22, the starter dots 26 being of a size, shape, quantity, and pattern defined by a user. In the embodiment shown, at least one, and preferably four, starter dots 26 are dispensed with equidistant spacing to form a square-shaped pattern near the center of the fiducial tile 22, such that the starter dots 26 do not overlap any of the fiducials 24, as shown in
(23) At 44, the computer 11 commands the fluid dispenser 12 to dispense a calibration dot 28 of viscous fluid at the center of each of the eight fiducials 24. As shown in
(24) At 45, the computer 11 then commands the camera 14 to locate each of the eight dispensed calibration dots 28. As shown in
(25) At 46, the computer 11 determines a dot offset error by comparing, for each dispensed calibration dot 28, the location of the center of the dispensed calibration dot 28 to the location of the center of its corresponding fiducial 24. Specifically, the computer 11 calculates and stores a dot offset error array V.sub.doe by taking the difference between the substrate fiducial location array V.sub.sf and the calibration dot found array V.sub.cd, denoted by:
V.sub.doe=V.sub.sfV.sub.cd
(26) At 47, the computer 11 calculates and stores a dot offset magnitude array V.sub.dom by calculating the magnitude of the dot offset error array V.sub.doe, denoted by:
V.sub.dom=sqrt(V.sub.doe[x].sup.2+V.sub.doe[y].sup.2)
(27) At 48, the computer 11 determines a dot offset direction array V.sub.dod by finding, for each dispensed calibration dot 28, the direction in which its center is offset relative to the center of its corresponding fiducial 24.
(28) At 49, the computer 11 determines an average dot offset magnitude value by calculating the average of the individual values stored within the dot offset magnitude array V.sub.dom. The computer 11 then determines whether this average dot offset magnitude value is less than an acceptable threshold or limit value that is taught or otherwise known by the computer 11. The acceptable limit may be defined by a user and communicated to the computer 11. As discussed above with respect to
(29) In the case of the latter, at 50 the computer 11 determines a local camera-to-needle offset value for each dispensed calibration dot 28 by comparing the location to which the fluid dispenser 12 was moved for dispensing the calibration dot 28, to the location at which the dispensed dot 28 was actually found by the camera 14. Specifically, the computer 11 calculates and stores a local camera-to-needle offset array V.sub.lo by calculating the difference between the move-to-when-dispensing array V.sub.mt and the calibration dot-fiducial found array V.sub.cd, denoted by:
V.sub.lo=V.sub.mtV.sub.cd
(30) At 51, the computer 11 determines a commanded vs. actual error value for each dispensed calibration dot 28 by comparing, for each dispensed calibration dot 28, the location to which the fluid dispenser 12 was commanded to move for dispensing the calibration dot 28, to the location to which the fluid dispenser 12 actually moved for dispensing the calibration dot 28. Specifically, the computer 11 calculates and stores a commanded vs. actual error array V.sub.ca by calculating the difference between the move-to-when-dispensing array V.sub.mt, the substrate fiducial location array V.sub.sf, and the preliminary camera-to-needle offset array C2N, denoted by:
V.sub.ca=V.sub.mtV.sub.sfC2N
(31) At 52, the computer 11 calculates a new camera-to-needle offset value by first calculating, for each dispensed calibration dot 28, an adjusted camera-to-needle offset value that accounts for both the local camera-to-needle offset value and the commanded vs. actual error value associated with a given dispensed calibration dot 28. Specifically, the computer 11 calculates and stores an adjusted camera-to-needle offset array V.sub.c2n by calculating the sum of the local camera-to-needle offset array V.sub.lo and the commanded vs. actual error array V.sub.ca, denoted by:
V.sub.c2n=V.sub.lo+V.sub.ca
The computer 11 then calculates the new camera-to-needle offset array C2N by calculating an average of the individual values stored within the adjusted camera-to-needle offset array V.sub.c2n, denoted by:
C2N=average(V.sub.c2n[i])
The new, adjusted camera-to-needle offset thus accounts for sources of error in the fluid dispensing system 10 not accounted for by the preliminary camera-to-needle offset. Accordingly, this new camera-to-needle offset may be applied to the system 10 to reduce dot offset error and thereby improve dot placement accuracy during a subsequent cycle of dot dispensing.
(32) At 53, the computer 11 prompts a user to clean the fiducial tile 22 so that an additional iteration of the calibration routine 39 may be performed.
(33) At 54, the computer 11 determines whether the calibration routine 39 has performed a number of iterations that exceeds a user-defined escape value. If the number of iterations performed does not exceed the escape value, an additional iteration of the routine 39 is performed starting at 42. If the number of iterations performed exceeds the escape value, the computer 11 proceeds to 55, at which the computer 11 prompts the user to indicate whether additional iterations of the routine 39 are desired. If additional iterations are not desired, the calibration routine 39 is finished and no additional iterations are performed. If an additional iteration is desired, the computer 11 returns to 42 for an additional iteration of the routine 39.
(34) Referring to
(35) A user initiates the calibration routine 39 by selecting the routine 39 in the RUN>SETUP screen of the computer 11, for example. The GUI 59 then displays on the computer 11, and the user is first directed to a Main tab 61. The user then moves the camera 14 to a desired location in the X-Y plane at which the fluid dispensing system 10 will measure a height, in the Z-direction, of the fluid dispenser 12 nozzle relative to the fiducial tile 22 before dispensing a dot 28 thereon. This X-Y location is referred to as the height-sense location, and is accounted for by the computer 11 when commanding the fluid dispenser 12 to move toward a lowered position along the Z-axis for dispensing a dot 28 on the fiducial tile 22. This height may be measured using any suitable device (not shown), such as a laser or a mechanical measuring device, for example. As shown in
(36) Referring to
(37) Referring to
(38) Referring to
(39) Still referring to
(40) Still referring to
(41) Referring to
(42) Referring back to
(43) Referring to
(44) Referring to
(45) The calibration routine 39 and GUI 59 described above may be modified as needed by persons of ordinary skill in the art for use with fiducial tiles having fiducials of any suitable shape, quantity, and configuration.
(46) While the present invention has been illustrated by the description of specific embodiments thereof, and while the embodiments have been described in considerable detail, it is not intended to restrict or in any way limit the scope of the appended claims to such detail. The various features discussed herein may be used alone or in any combination. Additional advantages and modifications will readily appear to those skilled in the art. The invention in its broader aspects is therefore not limited to the specific details, representative apparatus and methods and illustrative examples shown and described. Accordingly, departures may be made from such details without departing from the scope or spirit of the general inventive concept.