APPARATUS FOR DETERMINING THE POSITION OF AN OBJECT

Abstract: Apparatus for determining the position of an object including means coupled to the object for producing digital pulses representative of the position of the object, a first hardware storage member (110) of a smaller counting capac­ ity than the maximum measurement being made for initially storing said pulses, a second storage member (140) which is coupled to the first storage member (110) and which is a software-type memory associated with a processor, and an interval timer (142) for periodically transferring the measure­ ments from the first storage member (110) to the second storage member (140).

Description: Apparatus for determining the position of an object This invention relates to an apparatus for determining the position of an object having means coupled to the object for producing digital pulses representative of the po- sition of the object, and means for receiving and counting these pulses including a hardware-type counter. More particularly, the present invention is specifically related to coordinate measuring machines of the type wherein a displacement of a probe or other measuring instrument creates a series of pulses which are detected and counted as an indication of displacement. The number of pulses created is related to the amount of displacement and the resolution of the measuring system. The rate at which the pulses are generated is a function of the speed of movement of the probe as well as the previously mentioned factors. In such a measuring system, the apparatus should not lose pulses, should have a high resolution for accurate readings and be capable of an operating speed of the probe which is not limiting on the operator. In other words, the probe and measuring system should be capable of reading the highest reasonable speed at which an operator can move the probe. Such speed is desirable so that the operator can make measurements as quickly as possible. These constraints combine to require an apparatus which is responsive to a large magnitude of pulse counts which may occur randomly and which may occur rather close together in time. Accuracy of the counts is essential to the operation. The prior art includes measuring machines which have hardware counters which are responsive to rapidly occurring pulse counts. These counters are binary generally, and as such require a significant number of digits to record the number of pulses which might be generated by a typical machine (perhaps the 20th of 24th power of 2). The hardware to use such counters is extremely large, cumbersome and costly both in terms of size and complexity of programming and interconnection. In--theory, it would be possible. to provide a programmed general purpose computer to provide the count processing from a coordinate measuring machine. However, the frequent and random generation of counts would require a very cumbersome process of interrupts of the computerevery- time a pulse is received. Therefore, such a system is not preferred. The present invention overcomes the limitations and disadvantages of the prior art measuring machines by providing an apparatus for determining the position of an object comprising: means coupled to the object for producing digital pulses representative of the position of the ob ject; means for receiving and counting said pulses including a hardware-type counter; a computer including a stored program and a count storage location, said computer being coupled to the hardware-type counter and being adapted to periodically read the hardware-type counter and to update the count storage location by adding an amount based upon the periodic reading of the hardware-type counter; and a display coupled to the count storage location for periodically displaying a representation thereof as an indication of the position of the object. The apparatus according to the present invention allows high measurement resolution without requiring a very large hardware-type counter, while having the capability of responding to randomly-occurring count pulses, even if the pulses occur simultaneously in each of two or more axes of measurement. The apparatus according to the present invention allows the accumulation of measurement information in the form of count pulses accumulated in a hardware storage member (counter) associated with each of the measurement axes without requiring a computer interrupt (or any access to the computer at all) as a result of either a single pulse count or any accumulation of count pulses (as, for example, if the counter were to produce overflow signals). Accordingly, the counters of the present invention which receive the pulses are merely read periodically to provide updating information to the second set of counters which are preferably contained in memory associated with a central processor of the micro-processor type. The manner of carrying out the invention is described in detail below with reference to the accompanying drawings which illustrate one specific embodiment, in which: FIGURE 1 is a block diagram of a measuring machine including the counting system of the present invention; and FIGURE 2 is an expanded view of a processor used in the present invention. FIGURE 1 shbws a block diagram representation of a counting apparatus 100 for a single direction for a measuring machine. The counting apparatus 100 includes an n bit counter 110 coupled to receive count pulses on a line 112. The counter 110 is coupled to a bus driver 120 which in turn is coupled to a data bus 130. The data bus 130 is coupled to a micro-processor (central processor) 140. The micro-processor 140 is coupled to an interval timer 142 and has storage locations 144 associated to it. The counter 110 is a hardware type counter and is commercially available. While the n bits are more than the number of count pulses which can be reasonably expected in an interval, the n bits in the counter 110 are less than the ultimate count which might be anticipated in the direction of measurement. The interval timer 142 periodically initiates a reading of the n bit counter 110 through the bus driver 120 and data bus 130. At such intervals, the reading of the n bit counter 110 is transferred to the micro-processor 140. While the n bit counter might be reset after each measurement, a more prudent approach is to have the n bit counter free running and not reset and to merely read the counter, determine the difference from the last reading and use a difference as an adjustment to the count already in the storage. In this manner, counts cannot become lost by being created during the reading of the counter. FIGURE 2 shows the micro-processor 140 in greater detail. The micro-processor 140 includes a central processing unit (CPU) 140a. The CPU 140a is driven by a clock input 140b and includes a data bus 140c. The data bus 140c couples the central processing unit (CPU) 140a to a random access memory (RAM) 149d and a read only memory (ROM) 140e. The memories 140d,140e have the stored program-for the central processing unit 140a, including the instructions and other information necessary to make the calculations and conversions required for the measurements. The data bus 140c is also coupled to three latches, one for each direction of measurement. These latches are designated generally by the referenced numerals 143X,143Y,143Z. Each of the latches is coupled to its respective counter and a display. Thus, the latch 143X is coupled to an X axis counter 144X and to an X axis display 146X. The Y latch 143Y is coupled to a Y axis counter 144Y and a Y axis display 146Y. The Z latch 143Z is coupled to a Z axis counter 144Z and a Z axis display 146Z. Advantageously, each of the latches 143X,143Y,143Z contains a pair of latching elements. The one latching element associated wi-th each is coupled to the display and the other is coupled to and associated with the counter. In such a manner, the CPU 140a can access each of the six latching elements separately, to obtain information from each of the counters individually and to provide output information to each display separately. The CPU 140a is driven by the interval timer 142 to periodically read the information from the counters 144X, 144Y,144Z to update the internal or software storage associated with the micro-processor. The interval chosen is to some extent arbitrarily chosen to be 1 or 2 milliseconds in some applications. This interval is chosen to be less than the capacity of the counters to accumulate measurement pulses in the hardware counters. In addition to the CPU 140a being responsive to a measurement of time by the interval timer 142, the CPU 140a may be responsive to the occurrence of an external signal, such as an electric signal indicative of contact between a touch probe and an object being inspected. In such a case, the CPU 140a obtains current information from the counters essentially simultaneously to determine the position of the probe at the instant (and therefore location) of contact. In such a case, the contents of the counter are transferred to a respective counter, and the counters are sequentially read and processed by the CPU 140a to provide updating information for the second or software-type set of counters associated with each of the axes of movement or degrees of freedom. The type of information stored in each of the counters is subject to some choice. The generally preferred method is believed to have the counters of the hardware-type be freerunning up/down counters which are not reset after each reading. In such a case, each reading of the hardware counters requires that the present reading have the preceeding reading substracted from it to obtain the number (and direction) of measurement pulses occurring in the time interval between readings, in the given direction. The number of pulses (with an appropriate sign to indicate direction) are then used to update the count in that direction presently stored in a memory location serving as a second or software counter or storage. The source of the measurement pulses being counted may be from any of a number of known sources of measurementindicative pulses. Many modifications of the present invention will be apparent to those skilled in the art. For examples, the latches are optional and most desirable in conjunction with a touch probe for a measuring machine. In a layout machine, such latches may be eliminated.

Claims: Claims: 1. Apparatus for determining the position of an object having means coupled to the object for producing digital pulses representative of the position of the object, and means for receiving and counting the pulses including a hardware-type counter (110), characterized in that said apparatus further comprises: a computer (140) including a stored program and a count storage location (144), said computer (140) being coupled to the hardware-type counter (110) and being adapted to periodically read the hardware-type counter (110) and to update the count storage location (144) by adding an amount based upon the periodic reading of the hardware-type counter (110); and a display coupled two the count storage location (144) for periodically displaying a representation thereof as an indication of the position of the object. 2. Apparatus as claimed in claim 1, characterized in that there is provided an interval timer (142) providing a control signal occurring at uniform time intervals, said reading of the hardware-type cpunter (110) by the computer (140) being responsive to said control signal. 3. Apparatus a-s claimed in claim 1, characterized in that there is provided a probe having means for generating an electrical signal in response to a condition external to the apparatus, the reading of thehardware-type counter (110) by the computer (140) being responsive to the electric signal from said generating means.

Inventors: TUMBUSH, GERALD LAWRENCE
Applicants: THE BENDIX CORPORATION
Application year: 1980
Main classification: G01D5
IPC codes: G01B21, H03M1, G01D5, G01B7