Intersection instruction visual positioning system and method

By identifying and programming the edge intersections on the electronic substrate and generating intersection commands, the problem that the visual system in the existing technology cannot accurately locate the intersections is solved, and the uniform distribution of materials and the protection of the needle tip are achieved.

CN120752095APending Publication Date: 2025-10-03ILLINOIS TOOL WORKS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202480017253.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-03-08
Filing Date
2024-02-02
Publication Date
2025-10-03

AI Technical Summary

Technical Problem

Existing vision systems cannot accurately locate the intersection of objects on electronic substrates, resulting in uneven material distribution and even possible damage to the needle tip.

Method used

By acquiring multiple images of the electronic substrate, edge intersections are identified and programmed, center lines and midpoints are determined, and intersection commands are generated for precise material dispensing.

Benefits of technology

It achieves accurate positioning of the intersection point on the electronic substrate, ensures uniform material distribution, avoids damage to the needle tip, and improves distribution accuracy and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120752095A_ABST
    Figure CN120752095A_ABST
Patent Text Reader

Abstract

A method of depositing a material on an electronic substrate using a dispensing system includes: acquiring an image of adjacent features; assigning a programmed search box to the edge of the feature; identifying a programming edge of the feature; for each feature, identifying an intersection of the programming edges; determining a center line extending from the intersection point; determining the midpoint of the center line; determining an intersection command for an assignment operation between the first component and the second component; and performing a distribution operation.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art 1. Technical Field The present disclosure relates generally to apparatus and methods for dispensing viscous material on electronic substrates, such as printed circuit boards, and more particularly to an apparatus and method for dispensing material on an electronic substrate using a dispensing unit configured to locate an object on the electronic substrate without obtaining an image of the entire object.

[0002] 2. Cross-reference to related applications Several types of dispensing systems exist for dispensing precise amounts of liquids or pastes for various applications. One such application is the assembly of integrated circuit chips and other electronic components onto circuit board substrates. In this application, an automated dispensing system is used to dispense dots of liquid epoxy, solder paste, or some other related material onto a printed circuit board. Automated dispensing systems are also used to dispense lines of underfill material and encapsulant, which can be used to mechanically secure components to printed circuit boards. Exemplary dispensing systems described above include those manufactured and distributed by Illinois Tool Works Electronic Assembly Equipment (ITWEAE), with offices in Hopkinton, Massachusetts.

[0003] In a typical dispensing system, a dispensing unit is mounted to a motion assembly or gantry that moves the unit along three mutually orthogonal axes (x, y, and z) using servo motors controlled by a computer system or controller. To dispense a dot of liquid at a desired location on a printed circuit board or other substrate, the dispensing unit is moved along coplanar horizontal x- and y-axes until it is positioned above the desired location. The dispensing unit is then lowered along the perpendicularly oriented vertical z-axis until the unit and the dispensing system's nozzle / needle are at the appropriate dispensing height above the electronic substrate. The dispensing unit dispenses the dot of liquid, then rises along the z-axis, moves to a new location along the x- and y-axes, and lowers along the z-axis to dispense the next dot of liquid. For applications such as encapsulation, or dispensing underfill material as described above, the dispensing unit is typically controlled to dispense a line of material as it moves along the x- and y-axes along the desired path of the line. For some types of dispensing units, such as jet pumps, z-axis movement before and after the dispensing operation may not be necessary.

[0004] Vision systems are used to locate objects on electronic substrates. Current vision algorithms can only locate the edges of objects, not the intersection of two non-parallel edges. Lines can be drawn parallel to the edges, but if the components are skewed relative to each other, the offset line will not be centered in the cavity gap. To ensure uniform material flow across adjacent parts, the needle tip must be positioned in the center of the gap at all times during the dispensing process. Failure to do so can result in uneven coverage across the chip and sometimes damage to the needle tip. Summary of the Invention

[0005] One aspect of the present disclosure relates to a method for depositing a material on an electronic substrate using a dispensing system, the dispensing system comprising: a frame; a dispensing unit stage movably coupled to the frame; a dispensing unit coupled to the dispensing unit stage, the dispensing unit configured to deposit the material onto the electronic substrate during a dispensing operation; a vision system stage coupled to the frame; and a vision system coupled to the vision system stage. The vision system is configured to obtain one or more images of two adjacent features of the electronic substrate before performing the dispensing operation. In one embodiment, a method includes: acquiring a first image of a first portion of two adjacent features, the two adjacent features comprising a first feature of the first component and a second feature of the second component; acquiring a second image of a second portion of the two adjacent features, the two adjacent features comprising a third feature of the first component and a fourth feature of the second component; assigning a programmatic search box to an edge of the first feature and an edge of the second feature; assigning a programmatic search box to an edge of the third feature and an edge of the fourth feature; identifying programmatic edges of the first feature and the second feature, each of the first feature and the second feature comprising a horizontal programmatic edge and a vertical programmatic edge; identifying programmatic edges of the third feature and the fourth feature, each of the third feature and the fourth feature comprising a horizontal programmatic edge and a vertical programmatic edge; for each of the first feature and the second feature, identifying an intersection of the horizontal programmatic edge and the vertical programmatic edge; determining a first centerline from the intersection of the first feature to the intersection of the second feature; for each of the third feature and the fourth feature, identifying the intersection of the horizontal programmatic edge and the vertical programmatic edge; determining a second centerline from the intersection of the third feature to the intersection of the fourth feature; determining a midpoint of the first centerline; determining a midpoint of the second centerline; determining an intersection command for a dispense operation between the first component and the second component; and performing the dispense operation.

[0006] Embodiments of the method may further include, for each intersection of the first and second features, and for each intersection of the third and fourth features, measuring an offset distance from the intersection in a direction perpendicular to the edges of the features. The offset distance may be negative, positive, or zero. For each intersection of the first and second features, and for each intersection of the third and fourth features, the method may further include measuring a positional distance from the intersection in one of two directions from the edges of the features. The positional distance in an upward direction from the intersection may be positive, and the positional distance in a downward direction from the intersection may be negative. The positional distance in a right-hand direction from the intersection may be positive, and the positional distance in a left-hand direction from the intersection may be negative. Each image is formed from pixels, where each pixel is the smallest picture element uniquely identifiable by a visual system and is interpreted as black or white with a grayscale. A user may select an edge from a plurality of edges in a graphical user interface. The edge may be a vertical edge from a plurality of vertical edges or a horizontal edge from a plurality of horizontal edges. The method may further include generating a model template for the edge.

[0007] Another aspect of the present disclosure relates to a computer-readable medium comprising instructions that, when executed by a computer, cause the computer to perform the following method: acquiring a first image of a first portion of two adjacent features, the two adjacent features comprising a first feature of a first component and a second feature of a second component; acquiring a second image of a second portion of the two adjacent features, the two adjacent features comprising a third feature of the first component and a fourth feature of the second component; assigning a programmed search box to an edge of the first feature and an edge of the second feature; assigning a programmed search box to an edge of the third feature and an edge of the fourth feature; identifying programmed edges of the first feature and the second feature, each of the first feature and the second feature comprising a horizontal programmed edge and a vertical programming edges; identifying programming edges of a third feature and a fourth feature, each of the third feature and the fourth feature including a horizontal programming edge and a vertical programming edge; for each of the first feature and the second feature, identifying an intersection of the horizontal programming edge and the vertical programming edge; determining a first centerline from the intersection of the first feature to the intersection of the second feature; for each of the third feature and the fourth feature, identifying an intersection of the horizontal programming edge and the vertical programming edge; determining a second centerline from the intersection of the third feature to the intersection of the fourth feature; determining a midpoint of the first centerline; determining a midpoint of the second centerline; determining an intersection command for a dispense operation between the first component and the second component; and performing the dispense operation.

[0008] Embodiments of the computer-readable medium may further include, for each intersection of the first and second features, and for each intersection of the third and fourth features, measuring an offset distance from the intersection in a direction perpendicular to the edges of the features. The offset distance may be negative, positive, or zero. For each intersection of the first and second features, and for each intersection of the third and fourth features, the method may further include measuring a positional distance from the intersection in one of two directions from the edges of the features. The positional distance in an upward direction from the intersection may be positive, and the positional distance in a downward direction from the intersection may be negative. The positional distance in a right-hand direction from the intersection may be positive, and the positional distance in a left-hand direction from the intersection may be negative. Each image is formed from pixels, where each pixel is the smallest picture element uniquely identifiable by a visual system and is interpreted as black or white with a grayscale. A user may select an edge from a plurality of edges in a graphical user interface. The edge may be a vertical edge from a plurality of vertical edges or a horizontal edge from a plurality of horizontal edges. The method may further include generating a model template for the edge. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] Various aspects of at least one embodiment are discussed below with reference to the accompanying drawings, which are not intended to be drawn to scale. The accompanying drawings are included to provide illustration and further understanding of the various aspects and embodiments and are incorporated into and constitute a part of this specification, but are not intended to be used as a definition of limitations on any particular embodiment. The accompanying drawings, together with the rest of the specification, serve to explain the principles and operation of the described and claimed aspects and embodiments. In the drawings, each identical or nearly identical component shown in various figures is represented by the same number. For clarity, not every component may be labeled in every figure. In the drawings: Figure 1 is a schematic diagram of the distribution system; Figure 2A is a schematic diagram of two components on an electronic substrate, showing two images each having a programmed edge; Figure 2B yes Figure 2A A schematic diagram of two components on an electronic substrate is shown, illustrating the intersection of the edges of the components; Figure 2C yes Figure 2A and Figure 2B Legend for the schematic diagram shown in ; Figure 3A and Figure 3B is similar to Figure 2B A schematic diagram showing positional offset of two components of an electronic substrate; Figure 4 is a schematic diagram of the components, showing the location distances; Figure 5 is an image of a drop-down menu where the user can select an edge of a widget; Figure 6 a graphical depiction of a model template showing an edge selected by a user; Figure 7 showing the intersection points based on the model template; and Figure 8 It is shown that if two intersection points are located, the user generates a line from the calculated midpoint towards the other found midpoint. DETAILED DESCRIPTION

[0010] Various embodiments of the present disclosure relate to viscous material dispensing systems and apparatuses including such dispensing systems. Embodiments disclosed herein relate to techniques for dispensing materials onto electronic substrates using dispensing systems. Such dispensing systems are configured to dispense assembly materials (e.g., solder paste, conductive ink, adhesive, or encapsulation material) onto electronic substrates (e.g., printed circuit boards, referred to herein as "electronic substrates," "circuit boards," "boards," "PCBs," "PCB substrates," "substrates," or "PCB boards"), or to perform other operations. Specifically, embodiments of the present disclosure are described below with reference to dispensing systems (sometimes referred to as dispensers) for producing printed circuit boards.

[0011] For purposes of illustration only and not for purposes of limitation of generality, the present disclosure will now be described in detail with reference to the accompanying drawings. The present disclosure is not limited in its application to the details of construction and arrangement of the components set forth in the following description or shown in the accompanying drawings. The principles set forth in the present disclosure are capable of other embodiments and can be practiced or implemented in various ways. In addition, the words and terms used herein are for descriptive purposes and should not be considered restrictive. Any singular reference to examples, embodiments, components, elements, or actions of the systems and methods mentioned herein may also include embodiments including the plural form, and any plural reference to any embodiment, component, element, or action herein may also include embodiments including only the singular form.

[0012] References in the singular or plural are not intended to limit the presently disclosed systems or methods, their components, acts, or elements. The use of "includes," "comprising," "having," "containing," "involving," and variations thereof herein are intended to encompass the items listed thereafter and their equivalents as well as additional items. References to "or" may be interpreted as inclusive, such that any term described using "or" may refer to any of a single, more than one, and all of the described terms. Additionally, in the event of inconsistencies in term usage between this document and documents incorporated herein by reference, term usage in the incorporated reference supplements term usage in this document; for irreconcilable inconsistencies, term usage in this document controls.

[0013] Figure 1 A dispensing system, generally indicated at 10, according to one embodiment of the present disclosure is schematically illustrated. Dispensing system 10 is used to dispense viscous materials (e.g., adhesives, encapsulants, epoxies, solder pastes, underfill materials, etc.) or semi-viscous materials (e.g., flux, etc.) onto an electronic substrate 12, such as a printed circuit board or semiconductor wafer. Dispensing system 10 may alternatively be used in other applications, such as for applying automotive gasketing materials, for certain medical applications, or for applying conductive inks. It should be understood that, as used herein, references to viscous or semi-viscous materials are exemplary and intended to be non-limiting. In one embodiment, dispensing system 10 includes first and second dispensing units, generally indicated at 14 and 16, respectively, and a controller 18 for controlling the operation of the dispensing system. It should be understood that the dispensing units may also be referred to herein as dispensing pumps and / or dispensing heads. Although two dispensing units are shown, it should be understood that a single dispensing unit or multiple dispensing units may be employed.

[0014] The dispensing system 10 may also include a frame 20 having a base or support 22 for supporting the electronic substrate 12, a dispensing unit stage 24 movably coupled to the frame 20 for supporting and moving the dispensing units 14, 16, and a weight measuring device or weighing scale 26 for measuring the amount of viscous material dispensed (e.g., as part of a calibration procedure) and providing weight data to the controller 18. A conveyor system (not shown) or other transport mechanism (such as a walking beam) may be used in the dispensing system 10 to control the loading and unloading of electronic substrates into and out of the dispensing system. The stage 24 may be moved using a motor controlled by the controller 18 to position the dispensing units 14, 16 at a predetermined position above the electronic substrate. The dispensing system 10 may include a display unit 28 connected to the controller 18 for displaying various information to the operator. An optional second controller may be present for controlling the dispensing units. In addition, each dispensing unit 14, 16 may be configured with a z-axis sensor, such as a laser, to detect the height at which the dispensing unit is positioned above the electronic substrate 12 or features mounted on the electronic substrate. The z-axis sensor is coupled to the controller 18 to relay information obtained by the sensor to the controller.

[0015] As described above, before performing a dispensing operation, an electronic substrate (e.g., a printed circuit board) must be aligned or otherwise registered with a dispensing unit of the dispensing system. The dispensing system also includes a vision system 30. In one embodiment, the vision system 30 is coupled to a vision system gantry 32, which is movably coupled to the frame 20 for supporting and moving the vision system. In another embodiment, the vision system 30 can be positioned on the dispensing unit gantry 24. As described above, the vision system 30 is used to verify the position of a marker (referred to as a fiducial, target, or reference point) on the electronic substrate. Once located, a controller can be programmed to manipulate the movement of one or more of the dispensing units 14, 16 to dispense material onto the electronic substrate.

[0016] The systems and methods of the present disclosure relate to dispensing materials onto electronic substrates (e.g., printed circuit boards). The description of the systems and methods provided herein refers to an exemplary electronic substrate 12 (e.g., printed circuit board) supported on a support 22 of a dispensing system 10. In one embodiment, the dispensing operation is controlled by a controller 18, which may include a computer system configured to control a material dispensing unit. In another embodiment, the controller 18 may be operated by an operator. The controller 18 is configured to manipulate the movement of the vision system gantry 32 to move the vision system so as to obtain one or more images of the electronic substrate 12. The controller 18 is also configured to manipulate the movement of the dispensing unit gantry 24 to move the dispensing units 14, 16 to perform the dispensing operation.

[0017] The methods disclosed herein also support the use of various types of dispensing units, including but not limited to auger, piston, timed and pressure, and jet pumps.

[0018] In one embodiment, the exemplary dispensing system described herein may be a Camalot® sold by ITW EAE of Hopkinton, Massachusetts. ® Distribution systems such as PRODIGY TM Allocator.

[0019] During production processing of different batches of parts with varying gaps, a particular challenge is centering the dispenser needle or nozzle tip each time. This can usually only be solved by finding adjacent intersections and locating the midpoint on the connecting line spanning these two intersections.

[0020] The disclosed embodiments of the method herein locate the corners of an object with the help of two programmed edges to find intersections. Those adjacent intersections help locate the midpoints at either end, which will be the start and end of the line between the start and end points. The two found intersections can be in different camera fields of view, which provides users with maximum flexibility when programming on larger parts.

[0021] Reference Figure 2A 、 Figure 2B and Figure 2C , Figure 2A Two electronic substrates are shown. A first electronic substrate 40 and a second electronic substrate 42 are positioned adjacent to each other. In the example shown, the first electronic substrate 40 and the second electronic substrate 42 are skewed relative to each other, meaning that adjacent edges of the electronic substrates are not parallel to each other. This skew is exaggerated in the figures for purposes of illustrating various aspects of the present disclosure.

[0022] like Figure 2A As shown, reference Figure 2C In the illustration provided in FIG. 4 , there are two separate camera fields of view (FOVs) 44 , 46 . The top FOV 44 illustrates the top portion of the first electronic substrate 40 and the second electronic substrate 42 . The bottom FOV 46 illustrates the bottom portion of the first electronic substrate 40 and the second electronic substrate 42 . Within each FOV 44 , 46 , a programmed search box for edges is identified and represented, each indicated at 48 . The programmed search box 48 is configured to identify features of the first and second electronic substrates, such as the vertical and horizontal edges of the electronic substrates 40 , 42 . Additionally, within each FOV 44 , 46 , programmed edges, each indicated at 50 , are identified and represented. The programmed edges represent the vertical and horizontal edges of the electronic substrates 40 , 42 .

[0023] like Figure 2B As shown, reference Figure 2C , shows two camera fields of view 44, 46 with different labels. A programming edge 50 is labeled in this view. For each corner of the first electronic substrate 40 and the second electronic substrate 42 having intersecting programming edges, each intersection point indicated at 52 is identified. As shown in the top field of view 44, two adjacent intersection points 52 are connected by a centerline 54 extending across the intersection points. A midpoint indicated at 56 is identified within the centerline 54. Similarly, as shown in the bottom field of view 46, two adjacent intersection points 52 are connected by a centerline 58 extending across the intersection points. A midpoint indicated at 60 is identified within the centerline 58.

[0024] Based on the two midpoints 56, 60 identified along the top centerline 54 and along the bottom centerline 58, respectively, a line command 62 can be generated to enable the controller to generate a path for the dispensing system to dispense material between the first electronic substrate 40 and the second electronic substrate 42. Specifically, a dispensing unit of the dispensing system (e.g., dispensing unit 14 or 16) can be programmed by the controller 18 to dispense material along the path based on the line command 62.

[0025] The Intersect command determines a precise corner at the intersection of two non-parallel edges. Depending on the product, these non-parallel edges can be positioned at any angle relative to each other. It should be understood that non-parallel edges can include curvature that deviates from a straight line to form an arc. These edges are programmed within the Intersect command template to generate an intersection point where the edges intersect. This intersection point is used to assign a point or line command at the programmed position offset.

[0026] refer to Figure 3A and Figure 3B , the position offset is measured as the offset distance away from the intersection in the direction perpendicular to the edge. The position offset distance can be negative, positive, or zero ("0"). A position offset of zero ("0") means the center of the gap between the programming edges 50 of the electronic substrate. In the case of a single electronic substrate (e.g., electronic substrate 40), the position distance of zero ("0") falls at the midpoint of the intersection on the programming edge of the corresponding electronic substrate. Figure 3A In , the midpoint along line command 62 is designated as 64. Figure 3B , the midpoint along the line command 62 is designated as 66. The position offset direction can vary based on which electronic substrate is first selected to program the edge. Position offsets away from the edge are considered positive, while position offsets toward the edge are considered negative.

[0027] refer to Figure 4 The positional distance is measured as the distance from the intersection point in either direction on the selected edge. The positional distance can be negative, positive, or zero ("0"). For vertical edges (i.e., chip edges 0 and 2), the length of the positional distance in the upward direction from the midpoint 66 of the intersection point is referred to as positive, while the length in the downward direction is referred to as negative. For horizontal edges (i.e., chip edges 1 and 3), the length of the positional distance in the right-hand direction from the midpoint 66 of the intersection point is referred to as positive, while the length in the left-hand direction is referred to as negative.

[0028] refer to Figure 5 Images captured by a vision system (e.g., vision system 30) capture targets or reference points on a product. These reference points are programmed to model templates or regions of interest identified from the captured raw image. Images are formed from pixels, where each pixel is the smallest picture element that can be uniquely identified by the vision system. Each pixel is interpreted as black or white, with multiple possible shades of gray (256 possible shades). A large number of closely adjacent pixels of the same gray define an image. Systems measure in inches (in) or millimeters (mm), while cameras measure in pixels.

[0029] The user can select an edge from the Select drop-down menu. Figure 5As shown, for horizontal features, approaching from the top direction, the top edges are identified as top edge 1, top edge 2, top edge 3, top edge 4, and top edge 5, and approaching from the bottom direction, the bottom edges are identified as bottom edge 1, bottom edge 2, bottom edge 3, bottom edge 4, and bottom edge 5. Similarly, for vertical features, approaching from the right direction, the right-hand edges are identified as right edge 1, right edge 2, right edge 3, right edge 4, and right edge 5, and approaching from the left direction, the left-hand edges are identified as left edge 1, left edge 2, left edge 3, left edge 4, and left edge 5. As described above, the user can select the edge that best reflects the edge of the feature by using a drop-down menu. These edges can be highlighted by the software performing this function and presented to the user through a user interface (such as a graphical user interface (GUI)).

[0030] Edges are extracted based on analyzing the grayscale intensity transitions of pixels in the image. Different threshold modes can be used to extract edges based on contrast changes, noise, and uneven lighting. To further select the correct edge, the polarity of the edge can be selected, indicating whether the edge is lighter or darker than the background color of the image, and only edges with a user-specified length are considered valid edges.

[0031] refer to Figure 6 and Figure 7 , the model template identified as model template 1 is programmed to have a top edge of 1, and the other model template identified as model template 2 is programmed to have a left edge of 1. The intersection points are marked as Figure 6 The cross symbol shown.

[0032] refer to Figure 7 If two intersection points are located, the user should be able to draw a line starting from the calculated midpoint of the chip towards the other found midpoint on the other end of the chip, which will be the end of the line. This way the line can be assigned to the center of the found gap.

[0033] A method for performing an assignment operation includes acquiring a first image of a first portion of two adjacent features, including a first feature of a first component and a second feature of a second component. Next, the method includes acquiring a second image of a second portion of two adjacent features, including a third feature of the first component and a fourth feature of the second component. Next, the method includes assigning a programmatic search box to an edge of the first feature and an edge of the second feature, and assigning a programmatic search box to an edge of the third feature and an edge of the fourth feature. Next, the method includes identifying programmatic edges of the first and second features, each of the first and second features including a horizontal programmatic edge and a vertical programmatic edge. Next, the method includes identifying programmatic edges of the third and fourth features, each of the third and fourth features including a horizontal programmatic edge and a vertical programmatic edge. For each of the first and second features, the method also includes identifying an intersection of the horizontal and vertical programmatic edges and determining a first centerline from the intersection of the first feature to the intersection of the second feature. For each of the third and fourth features, the method also includes identifying an intersection of the horizontal and vertical programmatic edges and determining a second centerline from the intersection of the third feature to the intersection of the fourth feature. Next, the method includes determining a midpoint of the first centerline and determining a midpoint of the second centerline. After the midpoint is determined, an intersection command for a dispensing operation between the first component and the second component is determined. At this point, the dispensing operation is performed.

[0034] For each intersection of the first feature and the second feature, and for each intersection of the third feature and the fourth feature, the method may further include measuring an offset distance from the intersection in a direction perpendicular to the edge of the features, wherein the offset distance is negative, positive, or zero. For each intersection of the first feature and the second feature, and for each intersection of the third feature and the fourth feature, the method may further include measuring a positional distance from the edge of the features in one of two directions. The positional distance in an upward direction from the midpoint of the found intersection is positive, and the positional distance in a downward direction from the midpoint of the found intersection is negative. The positional distance along the right-hand direction from the midpoint of the found intersection is positive, and the positional distance along the left-hand direction from the midpoint of the found intersection is negative.

[0035] The method may further include selecting an edge from a plurality of edges in a graphical user interface. Specifically, the user may select a vertical edge from a plurality of vertical edges, and select a horizontal edge from a plurality of horizontal edges.

[0036] For example, various controllers of controller 14 can perform the various operations discussed above. Using data stored in associated memory and / or storage devices, controller 14 also executes one or more instructions stored on one or more non-transitory computer-readable media, which controller 14 may include and / or be coupled to, and which may result in operational data. In some examples, controller 14 may include one or more processors or other types of controllers. In one example, controller 14 is or includes at least one processor. In another instance, controller 14 uses an application-specific integrated circuit to perform at least a portion of the operations described above, which is customized to perform specific operations in addition to or in place of a general-purpose processor. As these examples illustrate, many specific combinations of hardware and software may be used to perform the operations described herein according to examples of the present disclosure, and the present disclosure is not limited to any specific combination of hardware and software components. Examples of the present disclosure may include computer program products configured to perform the methods, processes, and / or operations discussed above. The computer program product may be or include one or more controllers and / or processors configured to execute instructions to perform the methods, processes, and / or operations discussed above.

[0037] Having thus described several aspects of at least one embodiment of the present disclosure, it should be understood that various changes, modifications, and improvements will readily occur to those skilled in the art. Such changes, modifications, and improvements are intended to be a part of this disclosure and are intended to fall within the spirit and scope of the invention. Therefore, the foregoing description and accompanying drawings are intended to be examples only.

[0038] What is required is.

Claims

1. A method for depositing a material on an electronic substrate using a dispensing system, the dispensing system comprising: frame; a dispensing unit gantry movably coupled to the frame; a dispensing unit coupled to the dispensing unit gantry, the dispensing unit configured to deposit material onto the electronic substrate during a dispensing operation; a vision system gantry coupled to the frame; and a vision system coupled to the vision system stage, the vision system configured to obtain one or more images of the electronic substrate having two adjacent features before performing the dispensing operation, the method comprising: acquiring a first image of a first portion of two adjacent features, the two adjacent features comprising a first feature of a first component and a second feature of a second component; acquiring a second image of a second portion of two adjacent features, the two adjacent features comprising a third feature of the first component and a fourth feature of the second component; assigning a programmed search box to an edge of the first feature and an edge of the second feature; assigning a programmed search box to an edge of the third feature and an edge of the fourth feature; identifying programming edges of the first feature and the second feature, each of the first feature and the second feature comprising a horizontal programming edge and a vertical programming edge; identifying programming edges of the third feature and the fourth feature, each of the third feature and the fourth feature comprising a horizontal programming edge and a vertical programming edge; for each of the first feature and the second feature, identifying an intersection of the horizontal programming edge and the vertical programming edge; determining a first centerline from an intersection point of the first feature to an intersection point of the second feature; for each of the third feature and the fourth feature, identifying an intersection of the horizontal programming edge and the vertical programming edge; determining a second centerline from the intersection of the third feature to the intersection of the fourth feature; determining a midpoint of the first centerline; determining a midpoint of the second centerline; determining an intersection command for a distribution operation between the first component and the second component; and The allocation operation is performed.

2. The method of claim 1 , further comprising, for each intersection of the first feature and the second feature, and for each intersection of the third feature and the fourth feature, measuring an offset distance from the intersection in a direction perpendicular to an edge of the features.

3. The method according to claim 2, wherein: The offset distance can be positive, negative or zero.

4. The method of claim 1 , further comprising, for each intersection of the first feature and the second feature, and for each intersection of the third feature and the fourth feature, measuring a position distance from an edge of the feature in one of two directions to the intersection.

5. The method according to claim 4, wherein The position distance in an upward direction from the intersection point is positive, and the position distance in a downward direction from the intersection point is negative.

6. The method according to claim 5, wherein: The distance from the position in the right-hand direction from the intersection point is positive, and the distance from the position in the left-hand direction from the intersection point is negative.

7. The method according to claim 1, wherein Each image is formed of pixels, where each pixel is the smallest picture element that can be uniquely identified by the visual system and is interpreted as black or white with grayscale.

8. The method according to claim 1, wherein The user can select an edge from a plurality of edges from a graphical user interface.

9. The method according to claim 8, wherein The edge is one of a vertical edge from a plurality of vertical edges and a horizontal edge from a plurality of horizontal edges.

10. The method of claim 8, further comprising generating a model template of the edge.

11. A computer-readable medium comprising instructions that, when executed by a computer, cause the computer to perform the following method: acquiring a first image of a first portion of two adjacent features, the two adjacent features comprising a first feature of a first component and a second feature of a second component; acquiring a second image of a second portion of two adjacent features, the two adjacent features comprising a third feature of the first component and a fourth feature of the second component; assigning a programmed search box to an edge of the first feature and an edge of the second feature; assigning a programmed search box to an edge of the third feature and an edge of the fourth feature; identifying programming edges of the first feature and the second feature, each of the first feature and the second feature comprising a horizontal programming edge and a vertical programming edge; identifying programming edges of the third feature and the fourth feature, each of the third feature and the fourth feature comprising a horizontal programming edge and a vertical programming edge; for each of the first feature and the second feature, identifying an intersection of the horizontal programming edge and the vertical programming edge; determining a first centerline from an intersection point of the first feature to an intersection point of the second feature; for each of the third feature and the fourth feature, identifying an intersection of the horizontal programming edge and the vertical programming edge; determining a second centerline from the intersection of the third feature to the intersection of the fourth feature; determining a midpoint of the first centerline; determining a midpoint of the second centerline; determining an intersection command for a distribution operation between the first component and the second component; and The allocation operation is performed.

12. The computer-readable medium of claim 11, further comprising, for each intersection of the first feature and the second feature, and for each intersection of the third feature and the fourth feature, measuring an offset distance from the intersection in a direction perpendicular to an edge of the features.

13. The computer-readable medium of claim 12, wherein: The offset distance can be positive, negative or zero.

14. The computer-readable medium of claim 11, further comprising, for each intersection of the first feature and the second feature, and for each intersection of the third feature and the fourth feature, measuring a distance from an edge of the feature to the location of the intersection in one of two directions.

15. The computer-readable medium of claim 14, wherein: The position distance in an upward direction from the intersection point is positive, and the position distance in a downward direction from the intersection point is negative.

16. The computer-readable medium of claim 15, wherein: The distance from the position in the right-hand direction from the intersection point is positive, and the distance from the position in the left-hand direction from the intersection point is negative.

17. The computer-readable medium of claim 11, wherein: Each image is formed of pixels, where each pixel is the smallest picture element that can be uniquely identified by the visual system and is interpreted as black or white with grayscale.

18. The computer-readable medium of claim 11, wherein: The user can select an edge from a plurality of edges from a graphical user interface.

19. The computer-readable medium of claim 18, wherein: The edge is one of a vertical edge from a plurality of vertical edges and a horizontal edge from a plurality of horizontal edges.

20. The computer-readable medium of claim 18, further comprising generating a model template of the edge.