This invention relates generally to parts inspection, and more specifically to, continuous inspection of small, intricate or delicate parts.
There are many parts within industry that by necessity are of intricate nature and manufactured to tight tolerances. One example of such a part is cylindrical glass tubes. The requirement for tight tolerances is based upon a need of the assembly in which the part is used, or the application where the part is used.
To ensure the function and quality of the assembly or application, the parts are inspected. Typically, the inspection requires labor-intensive and subjective manual inspections with measurement devices such as calipers or micrometers. Other inspection techniques provide go/no-go gauging. Each part to be inspected has tolerances associated with it, and the tolerances can lead to errors and uncertainties. One standard manufacturing practice is to make tight tolerances even tighter to compensate for the errors and uncertainties. The tighter tolerances however lead to unnecessary expenses through additional machining time and tooling costs as well as additional scrapping of parts which do not meet the tolerances that are tighter than necessary.
One inspection method known in the industry utilizes vision systems, which focus on the part and compare the part's characteristics against the predetermined pass/fail criteria (i.e. the tolerances). This method is well established and several manufacturers make such vision systems. However, within the method, the handling of fragile parts, especially those of a delicate nature, such as glass, requires manual intervention to properly handle and locate the part and present it to the vision system in order to facilitate inspection. This manual intervention entails considerable effort and expense, and still can introduce some inaccuracies and inconsistencies, which are inherent in manual operations.
One programming approach utilized in the above described vision systems is an initialization of variables on startup or reset of the controller by copying data from a memory location dedicated to the initialization of variables. Drawbacks to this approach to initialization include programming complexity of having different values for each variable, and risks associated with storing the data to memory locations, for example, corrupted memory locations. Corrupted memory locations can result in an improper reset that may create, in some systems, a potentially dangerous condition.
In one aspect, a method of automatically sorting and placing parts for inspection is provided. The method comprises orienting the parts within a feeder, delivering the oriented parts from the feeder to an escapement, advancing the parts from the escapement, one at a time, down a ramp, and catching the parts from the ramp with a resilient material. The parts are transferred from the resilient material to a parts fixture and are positioned for inspection in the parts fixture within ±0.001 inch in a vertical (z) direction and within 0.002 inches in x and y directions where x and y define a horizontal plane.
In another aspect, a parts inspection system is provided. The system comprises a bowl feeder, a hopper configured to provide parts for inspection to the bowl feeder, an escapement configured to accept one part at a time for advancement and prevent additional parts from advancing, and a delivery chute configured to convey parts for inspection from the bowl feeder to the escapement. The inspection system also comprises a plurality of part fixtures configured to hold parts for inspection, an apparatus onto which the parts fixtures are mounted, and a resilient material configured to receive the parts, one at a time, dropped from the escapement. The resilient material is configured to position the part for inspection into one of the parts fixtures by decelerating the part upon impact and returning to an original position. The system also comprises an inclined ramp mounted along a portion of a perimeter of the apparatus. The ramp is configured to engage a top of a part within each fixture, the incline forcing the part into a position for inspection as the apparatus where the part fixtures are mounted advances.
In still another aspect, a parts fixture for a parts inspection system is provided which comprises a face, a curved surface within the face, a radius of the curved surface matched to a radius of the parts to be inspected, a mechanism for holding parts in place within the curved surface, and a mounting portion attached to the face.
In yet another aspect, a parts positioning apparatus is provided which comprises a parts fixture, an escapement configured to release one part at a time, a resilient material configured to receive the parts dropped from the escapement, decelerate the part upon impact and return to an original position, and position the part for insertion into the parts fixture, and an inclined ramp configured to gradually force a top of the part inserted into the parts fixture into a position for inspection as the part fixture passes the inclined ramp.
In another aspect, a method for resetting memory within a controller is provided. The method comprises writing an integer zero to a register, copying the register to all integer memory locations, writing a logic zero to a register, and copying the register to all binary memory locations.
The embodiments described herein provide a method of handling parts which may be delicate and/or intricate in nature, presenting them to an inspection apparatus, for example, a vision system, and separating them into groups as classified by predetermined inspection criteria. Further provided by the embodiments described are methods for orienting and feeding the parts to a part locating mechanism for inspection. The below described mechanism locates and holds the parts for proper presentment to the inspection apparatus. Further provided is a part removal station which is configured to separate the parts according to their predetermined classification criteria, for example, acceptability for particular applications or customers. Further provided is a programming feature for variable initialization.
System 100 further includes a delivery chute 106 which conveys the parts for inspection from bowl-feeder 102 to an escapement 108. Alternative embodiments implement a ramp or conveyor to deliver the parts to escapement 108. Escapement 108 is configured to accept one part to be advanced and presented for inspection while preventing additional parts from advancing. Escapement 108 is described in further detail below with respect to FIG. 2.
System 100 utilizes a material with resiliency to prevent damage to the part to be inspected, for example, a glass tube. In the embodiment shown the material is a coil stock spring 110. Coil stock spring is shown in greater detail in FIG. 4. In alternative embodiments, other materials and designs can be envisioned that have resiliency, for example, a block of rubber, urethane or similar material with resilient properties. A principal requirement of such a material is that it provide deceleration, upon impact, for the small part upon release from escapement 108. The material further has a controlled return to its original position after the impact by the small part. One embodiment of resilient material is described further below with respect to FIG. 4.
Still referring to
After the part has been placed on the resilient material and affixed to part fixture 112, which controls the part placement to a tight tolerance in the x-y directions (horizontal plane), the part is aligned vertically, utilizing an inclined ramp (not shown in FIG. 1). Vertical alignment and the inclined ramp are described below with respect to FIG. 5.
After the part in fixture 112 is vertically aligned, an advancement mechanism, in the embodiment shown a rotary table 114, indexes to a next position. An exemplary rotary table is a model HRT-A5 manufactured by Haas Automation Inc. Rotary table 114 is divided into a number of segments, each corresponding to a position, and each segment includes one part fixture 112. In the embodiment shown, rotary table 114 includes 24 segments, each having one part fixture 112. Therefore, each of the 24 positions is 15 degrees apart (360 degrees divided by 24 positions). Other embodiments are contemplated which incorporate any number of segmentation schemes, where the segments are configured with one or more of part fixtures 112.
Still referring to
Once a part is inspected, rotary table 114 continues to advance until the part reaches a removal station. In the embodiment of
Other embodiments are contemplated which assist orientation and advancement of parts, for example, a gravity fed bowl feeder (not shown) which combines geometry and gravity to feed the parts to parts fixture 112 which is then advanced to inspection station 116. In another embodiment, a conveyor and escapement (not shown) is used to feed the parts to part fixture 112. A commonality of the above embodiments is that each orients the part to be inspected when placing the parts into part fixture 112 for advancement to inspection station 116.
A controller (not shown in
Utilizing a plurality of holes 226 distributes an amount of holding force provided by part fixture 112 for a given vacuum level. Therefore fixture 112 provides a coupling moment arm, which assists in retaining the part to be inspected in a vertical position (herein referred to as a z-axis) that is highly accurate, within ±0.001 inch in the embodiment described above, an accuracy which is retained when part fixture 112 undergoes subsequent accelerations and decelerations resulting from fast indexing of rotary table 114 (shown in FIG. 1). Alternative embodiments for holding parts to be inspected onto fixture 112 are contemplated, including, but not limited to, a clamping arrangement.
In some inspection systems, especially those employing optical inspection methods that focus on the part, accuracy of a vertical location is critical. In these known optical viewing systems, the inspection includes focusing from a fixed location above the part to be inspected. When parts are not of a highly accurate and/or repeatable height, known methods cannot locate the top of the part vertically except by pushing the part upward against a stop. It is highly advantageous to have an adjustment feature that will allow adjustment of this stop height to accommodate various factors. These factors include, but are not limited to, facilitating machine alignment with the vision system to eliminate adjusting the entire machine location with high precision. In addition, machine dimensions may change due to changes in the flooring, or temperature variations, etc. Also various focal lengths may be desirable, and adjusting the part location would be a convenient accommodation. Known methods exist for pushing parts against stops, pushing with pneumatic cylinders, for example. However these known methods do not allow for retention of highly accurate x-y positioning and are generally not compatible with small fragile parts.
The above referred to controller for system 100 utilizes a program that makes system 100 failsafe and places system 100 in an initialized state by zeroing program state integer memory locations and binary control bit memory locations. Program memory dedicated to integer registers are used to maintain a current state of each process performed by system 100, as well as control of all machine outputs and the status of all machine inputs.
Use of a single reset value for all integer and binary memory locations greatly simplifies the programming and maintenance of system 100. Maintenance technicians monitoring system 100 can quickly verify that the controller is in a reset state by verifying that zeroes are in all integer and binary memory locations. The reset process described above contrasts known reset methods as those methods reset a machine by copying the data from a memory location dedicated to machine reset to the memory locations dedicated to machine operation. In the event that the data in the reset memory locations become corrupted or overwritten, the machine will copy the errant data to the machine operation memory locations. This may result in a failed reset and the machine being placed in an undefined operating state. Reset process 400 does not use a memory location to store a reset value, but rather the reset value is hard coded into controller ladder logic and is therefore not susceptible to corruption of memory locations. Reset process 400 automatically writes an integer or binary zero into all data memory locations, ensuring that system 100 properly resets.
Parts inspection, when done utilizing the systems and methods described herein, provide a manufacturer, or other entity that must inspect parts, with a highly accurate inspection device. Accuracy of inspection is improved over known inspection devices as the system is configured to automatically present the parts for inspection, and position the parts with a high degree of accuracy. A controller for the system is configured in a way to ensure that controller memory will not become corrupted upon a system reset, helping to ensure a failsafe operation.
While the invention has been described in terms of various specific embodiments, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the claims.
Number | Name | Date | Kind |
---|---|---|---|
4483615 | Bieringer et al. | Nov 1984 | A |
4589140 | Bishop et al. | May 1986 | A |
4604715 | Toutant et al. | Aug 1986 | A |
4636635 | Kronseder | Jan 1987 | A |
4658633 | Freer | Apr 1987 | A |
4790662 | Bischkopf et al. | Dec 1988 | A |
4805887 | Ray | Feb 1989 | A |
4892180 | Sticht | Jan 1990 | A |
4965523 | Baker et al. | Oct 1990 | A |
4969746 | McConnell et al. | Nov 1990 | A |
5095204 | Novini | Mar 1992 | A |
5136157 | Apter et al. | Aug 1992 | A |
5267033 | Hoshino | Nov 1993 | A |
5416589 | Lysogorski | May 1995 | A |
5419222 | Bieg | May 1995 | A |
5463464 | Ladewski | Oct 1995 | A |
5500732 | Ebel et al. | Mar 1996 | A |
5506555 | Hoshino | Apr 1996 | A |
5591899 | Griesbeck | Jan 1997 | A |
5825666 | Freifeld | Oct 1998 | A |
5845007 | Ohashi et al. | Dec 1998 | A |
5910844 | Phillips et al. | Jun 1999 | A |
5917602 | Bonewitz et al. | Jun 1999 | A |
6011255 | Rueb et al. | Jan 2000 | A |
6023680 | Wooster et al. | Feb 2000 | A |
6024526 | Slocum et al. | Feb 2000 | A |
6061086 | Reimer et al. | May 2000 | A |
6064759 | Buckley et al. | May 2000 | A |
6091847 | Chiu et al. | Jul 2000 | A |
6167607 | Pryor | Jan 2001 | B1 |
6191850 | Chiang | Feb 2001 | B1 |
6212961 | Dvir | Apr 2001 | B1 |
6234321 | O'Connor et al. | May 2001 | B1 |
6236734 | Barry | May 2001 | B1 |
6301763 | Pryor | Oct 2001 | B1 |
Number | Date | Country | |
---|---|---|---|
20030222002 A1 | Dec 2003 | US |