Abstract:
A new and improved method for measuring the value of a capacitor and for detecting small variations in the value of a capacitor around a reference value is described. In accordance with the invention, the capacitance of capacitor may be determined by applying a voltage input having a known amplitude and wave form V to an RC circuit having a substantially known or constant load impedance R and sampling the voltage across the resistor or capacitor at a precisely controlled elapsed time interval T. The method now permits improved detector circuits to be created for measuring small variations in value with precision and accuracy. Solid state keypads incorporating sensor cells and software algorithms provide superior human to machine interface systems which are not subject to environmentally induced errors or errors due to component aging.

Description:
BACKGROUND OF THE INVENTION 
     The present invention generally relates to methods and devices for measuring the value of a capacitive element, and especially to detecting small variations in the value of a capacitor about a reference value. More particularly, it relates to a new and improved single step method for directly sampling a capacitor to measure its value, to new and improved detector circuits for performing the measurement, and to new and improved methods in which successive measurements are taken over time and in which trends in the variations of the sample values are identified, analyzed and used to formulate command signals or decisions for a wide variety of end uses. In accordance with one preferred embodiment, the present invention provides a new and improved environmentally sealed, no-touch-required, solid state keypad device for providing a new and improved human-to-machine control command input interface adapted for a large number of specific industrial and commercial applications. 
     There are many different and well known and documented methods of capacitance measurement. Illustrative examples include bridging methods, which are based on comparing the value of the capacitor in AC permanent regime with the value of a reference impedance. There are many variations of the bridge circuit used to measure capacitors, the best known ones are Sauty, Wien, Nernst, and Schering. Resonance methods are also employed in measuring small capacitors by working in AC permanent regime and applying a tuned circuits theory to derive the unknown value of the capacitor. 
     Indirect prior art methods have been based on including the capacitor under test in a reaction loop of an oscillator and measuring the resulting frequency shift. Moreover, prior methods have also included introducing the capacitor under test in an active filter configuration and measuring the transfer characteristic of the circuit. Other direct methods have included DC methods based on charging/discharging a capacitor under test with a precisely controlled constant current source, thereafter measuring either the voltage across the capacitor after a specified amount of time, or measuring the necessary time required to reach a specified voltage. 
     Direct methods have included AC methods which measure directly the reactance of the capacitor under test using AC generators and AC voltmeters or amperemeters and apply a generalized Ohm&#39;s law. 
     Small variations in the value of capacitor, however, are difficult to measure using traditional techniques. There are many applications where knowing the exact value of a capacitor is less important than quantifying its relative variance over time. General purpose measurements in prior devices, such as capacimeters having a resolution of 1% or better, are slow and relatively expensive. 
     Aside from the need in certain applications for measuring the value of an unknown capacitance solely for the determination of its value in Farads, it is often advantageous to utilize capacitance as a parameter in the determination or variation of another variable. For example, a change in capacitance may readily be utilized as a method for entering data into a system, for example. 
     In this regard, the idea of a capacitive keyboard is not new. There have been many attempts in the prior art to introduce the benefits of a solid state keyboard with no moving parts into the marketplace. These benefits include aesthetics, i.e., the keys can work from behind a front panel of the device so that the keyboard blends into the surface, ruggedness, resistance to shock, and long service life. A rather basic and increasingly important example of this type of data entry is found in the use of capacitive touch sensors in systems where it is desirable to provide substantial isolation between the equipment operator and the system control circuits. An example of this type of input control pad may be found in machinery control panel applications where it is desirable to provide a significant degree of environmental safety, not only for the electronic circuitry incorporated into the control panel, but also with respect to a human operator inputting commands through the keypad. Most prior art capacitive keyboards have suffered from extreme environmental sensitivity wherein environmental changes cause false keystroke detection. 
     Prior efforts to provide capacitive keyboards which are self-correcting for environmental changes are described in Eichelberger et al.&#39;s related U.S. Pat. Nos. 4,039,940; 4,145,748; and 4,290,052. The Eichelberger et al. capacitive keypad systems incorporate a circuit for digitizing the measured analog signal value of each keypad in a sensor array. Repeated samplings of the condition of the keypad reveal detected changes in the value of a given key. If the changes are above a predetermined threshold amount, a touch indication is given. The array is subjected to periodic calibration cycling which raises or lowers the predetermined threshold limit for detecting an intentional touch based on a corrected baseline value for the capacitor cell under a no-touch condition. The calibration cycling can increment or decrement the baseline value of the capacitor one step in either direction. Although the capacitive touch entry systems described by Eichelberger et al. tend to be self-optimizing and to interactively correct for changes in environmental factors, the single step corrections contemplated in these patents are not sufficiently adapted or fast enough to correct for commonly encountered environmental changes. 
     Accordingly, to overcome the deficiencies in the prior art devices, it is an object of the present invention to provide a new and improved capacitive measurement method and apparatus which directly measures the value of an unknown capacitance in a single step. 
     It is another object of the present invention to provide a new and improved proximity sensor for sensing the approach, nearness, and retreat of an object with respect thereto. 
     It is a further object of the invention to provide a new and improved human to machine input interface in the form of a new and improved keypad which is substantially unaffected by changes in environmental conditions surrounding the keypad location, which does not require physical contact between the operator and the active keypad elements, which continually and automatically recalibrates its field sensitivity to compensate for environmental changes and component aging and which is capable of discerning between an intentional keystroke and other sources of a variation in key value, for example, an accidental double key press, impact of an object other than a finger, such as a ball or a bird. 
     It is still another object of the present invention to provide new and improved methods for reducing noise from an analog electrical signal and for providing dynamic adaptive signal tracking to identify and adjust for environmental factors. 
     It is another object of the present invention to provide a new and improved method for detecting variations in an electrical signal above a predetermined amount in the presence of noise. 
     SUMMARY OF THE INVENTION 
     In accordance with these and other objects, the: present invention in its several aspects comprises a new method for measuring capacitance which is uniquely suited to quantifying small variations in the value of a capacitor. The method is very fast, very sensitive, and may be inexpensively implemented. 
     The areas of application are many and may range from matching of capacitors, for applications such as active filters, to capacitive sensors and data input devices, such as the preferred sensorial, non contact, through barrier, keyboards. 
     Although only known physics equations are employed, apparatus for employing the present method in a cost effective manner has not been heretofore available. In order to utilize this capacitance measurement method, a way of nearly instantaneously measuring voltage is required, along with a very accurate and stable time base. 
     By way of illustration, a basic RC equivalent circuit, combining a DC voltage source, a switch, a resistor and a capacitor is shown in FIG. 1. The DC voltage. produced by the battery (V) and the switch (SW) in this analogous circuit form a pulse generator, or a means of applying a step voltage input to the resistor and capacitor network in series. Assume that the switch is closed at time t=0. At exactly this time, assuming a completely discharged capacitor, the capacitor appears as a negligible impedance (dead short), and all of the voltage V can be found across the resistor R. At any point in time where t is greater than 0, the capacitor will begin to charge and drop voltage across itself, reducing the voltage across the resistor. The resistor voltage follows the well known equation: 
     
         v=V*e.sup.-t/(R*C)                                         (I) 
    
     wherein v equals the voltage across the resistor, V represents the total applied circuit voltage, e is the base of the natural logarithm (2.7183), t is the time elapsed since the application of voltage (switch closure) in seconds, R is the resistance value in Ohms, and C is the capacitor&#39;s value in Farads. 
     If it is the value of the capacitance in the circuit that is to be determined, it is necessary to know as accurately as possible the value of the series resistance R, and the exact value of the measurement interval t. Thereafter, using the following derived equation, we can determine the capacitance C: ##EQU1## 
     It is apparent from Equation II that the empirical values of v and V are not as important as the ratio they represent. One simply needs to know what percentage of the total applied circuit voltage can be found across the resistor (or, for that matter, the capacitor because whatever is not dropped across the resistor must be found across the capacitor) at the sampling interval t. 
     Although any t, where t is greater than 0, may be used as the sampling moment, it has now been discovered that there is an optimum value for t. It may be shown that the precision of measurement, or in the case of variance measurement, the sensitivity to change in capacitance value (as dv/Dc) versus the sampling moment t, has a unique maximum at t=R*C. This sensitivity (s) can be determined by: ##EQU2## 
     An important concept relating to the new and improved method of this invention is present in Equation III, namely that as the value of the capacitor gets smaller, the method of this invention becomes exponentially more sensitive. This means that as the capacitor value being measured gets smaller, the ability to detect variations about that value becomes markedly better, not worse. The unique ability of this method to detect infinitesimal variations of very small capacitors has many applications, some of which should be obvious to those skilled in the art of electrical engineering. 
     The above mentioned Equations and discussion refer to somewhat idealized circuit models and behavior, In a real world application of this method, it is important to know how tightly the sensitivity needs to be controlled for good results to be obtained, i.e., how much Δt can be tolerated? The derivation for Equation III is as follows: ##EQU3## 
     In order to determine the extremes of this function, the first order derivative has to be computed and the equation ds/dt=0 has to be solved: ##EQU4## 
     The main function s(t) is strictly positive, and equal to zero for both t=0 and t-∞, which means that the unique point of extreme found is a maximum. For t=R*C, the sensitivity becomes: ##EQU5## 
     This means that the sensitivity goes up as the initial (reference) value of the capacitor goes down, and that the value of the applied voltage V should be as big as possible. 
     It is also important from the implementation standpoint to know how far can we stray from this optimum value t=R*C? In other words, how do variations of the sampling moment t affect sensitivity (s)? Expressed somewhat differently, permissible tolerances around the sampling moment t, referred to as a sensitivity envelope, should be known for best results. Accordingly, if m is the measuring moment or envelope width, then for a sampling moment t 1  =m*t 0 , the sensitivity variation is expressed as follows: ##EQU6## 
     By plugging in some different numbers for m, the following results are obtained: if m=0.98 (a 2% variation of the sampling moment) and t 0  is approximately equal to RC, then a 0.02% variation in sensitivity s results; if m=1.02 (also a 2% variation), the same result, a 0.02% variation in s is obtained; and for m=0.095 (a 5% variation), a 0.13% variation in s is obtained. In fact, if m=1.2, a 20% variation in the position of the sampling moment, a low 1.7% variation in sensitivity results. These calculations reveal that only the stability in time measurement is important for this method, while the absolute position of the sampling moment is of secondary concern. 
     A major factor for satisfactorily applying this method is providing an acceptable means for making instantaneous voltage measurements. The currently preferred means of instantaneous voltage sampling is an analog-to-digital (A/D) converter circuit. Using an A/D circuit, the precise moment t when the voltage across the resistor is sampled may be predetermined and controlled. The sample is also readily converted by the A/D converter to a numerical value that is easy to manipulate. Where n is the number of bits of the A/D converter used, and k is the converted value of the sample (it is assumed that the full scale of the A/D converter is equal to V), then the measured voltage sample v is: ##EQU7## Around t=R*C, one step of the A/D converter equals a variation in the value of the capacitor equal to: ##EQU8## For an eight bit A/D converter, this translates into a detectable capacitance value variance (measurement precision) of 1.06%, and a remarkable 0.26% for a 10 bit A/D! 
     The new and improved method, in this context, is considered optimum for applications concerned with small variations around an initial value (or reference value) of C, wherein the optimal sampling moment t can be predetermined and controlled with a large degree of practical accuracy. 
     In accordance with another aspect of the present invention, a new and improved circuit for measuring the value of a capacitor or for detecting changes in the value of a capacitor around a reference value is provided in a detector circuit comprising: a substantially constant load impedance R connected in series with the capacitor; means for providing a voltage input of known wave form to the detector circuit; means for measuring an instantaneous sample voltage v across a circuit element selected from the load impedance or the capacitor after a known time interval T has elapsed, the sampling moment being in a predetermined fixed phase relationship to the input voltage V; and means for precisely controlling the time interval T, whereby the value of the capacitor or changes therein may be computed or detected solely by considering the value of the sample v, the elapsed time T, known load impedance R, and amplitude and wave form of the input voltage V. 
     An example of a practical implementation of this method is shown in FIG. 3. All of the essential functional elements of the detector circuit are shown. In FIG. 3, C is the capacitance to be quantified. The R+SC block is the resistive element, and includes any signal conditioning required by the application. 
     A microprocessor/controller and interface provide the calculation and result in yielding (analysis) means. Although a pulse generator (Gen.) is shown as a separate block, a buffered clock signal output from the microcontroller could serve this purpose. The analog to digital converter A/D function block supplies the instantaneous voltage measurement means. 
     By using a micro-controller, we are able to easily construct a digital control circuit with a precision oscillator, employing a precision quartz crystal element Y as a reference. By using said device, and deriving all signals from it, we have an excellent precision timing reference means. The pulse generation, the sampling and hold function, and the A/D device can be controlled by the same micro-controller. The precision of the time base of the micro-controller is translated directly into the precision and stability in time of the sampling moment t (around 10 to 100 ppm for a quartz TTL oscillator) which is much better than the errors due to the A/D converter (390,625 ppm for an eight bit A/D converter and 976.5 ppm for a 10 bit A/D converter). 
     In any application of this method, it would be convenient to use the programmability aspect of a microcontroller. This attribute is especially useful where we are attempting to detect variations of the value over time of the capacitive component under test. We can program the circuit to measure the capacitance of the device under test at specific, repeated intervals of time. In a proximity detection application, for instance, where the capacitor&#39;s value is purposefully variable, we may program the circuit to repetitively test the capacitor, reporting any variances through the interface to some other control or actuation circuit. 
     In reference to FIG. 3, we start the application of the new and improved method by programming the microcontroller. This micro-controller program must be structured to cause the following cycle of events to take place: 
     1. The program cycle must begin with acquisition and incorporation of values for the open-circuit full-range voltage V, the reference resistor R, and some approximation of C. For most applications, these values can be assumed constant and programmed as predetermined. 
     2. The micro-controller actuates the Gen. means to apply the voltage step function to the RC network at t=0. 
     3. At approximately t=RC, the micro-controller actuates the A/D means to convert value v to a digital form, deriving k, which is subsequently transmitted back to the micro-controller. 
     4. The micro-controller analyzes k, according to the program and the intended use of the circuit. 
     The new and improved method and detector circuits of this invention may be used in a multitude of applications, wherever the quantification of capacitance variation is meaningful. Other objects and advantages of the present invention will become apparent from the following detailed description of the invention taken in conjunction with the Drawings in which: 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a schematic view of an idealized RC circuit provided to assist in an understanding of the theoretical underpinnings for the new and improved method of the present invention; 
     FIG. 2 is a schematic graphical illustration of a timing diagram illustrating the behavior of the RC circuit of FIG. 1 after a step voltage input is applied. 
     FIG. 3 is a schematic view of a preferred detector circuit for implementing the new and improved method of this invention; 
     FIG. 4 is a perspective view of a new and improved human-to-machine interface including a solid state no-touch keypad in accordance with this invention shown in use as an electronic keyless door entry module displayed in a window adjacent a door access opening. 
     FIG. 5 is a schematic view of a sensor cell in accordance with the present invention; 
     FIG. 6 is a schematic view of the front human interface surface of the new and improved key pad of this invention; 
     FIG. 7 is an exploded side view of the new and improved keypad of this invention; 
     FIG. 8 is a schematic circuit diagram of the sensor board in the new and improved keypad of this invention; and 
     FIG. 9 is a schematic circuit diagram of the detector board in the new and improved keypad of the present invention; and 
     FIG. 10 is a schematic timing diagram for the new and improved key pad device of the present invention. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     The new and improved method of the present invention is especially well suited for quantifying small variations in the value of a capacitor. We will explore one of the many practical applications for this method in the form of a solid-state capacitive keyboard depicted in FIGS. 4-9. In this end use application, we employ a proximity transducer that behaves as a variable capacitor when its electric field is disturbed by an operator&#39;s finger. 
     The idea of a capacitive keyboard is not new; there have been many attempts to introduce the benefits of a solid-state keyboard with no moving parts to the marketplace. Ultimately, however, each previous attempt has been a commercial failure due to high cost, complexity, and environmental sensitivity (false keystroke detection). 
     For the purposes of demonstration, we have constructed a personal computer numeric keypad array with 15 keys, or &#34;Sensor Cells&#34;, however any number of Sensor Cells may be incorporated into an array, within practical ergonomic and transmission line length limits. We employ a micro-controller to drive and receive data from the array of sensor cells. In the preferred embodiment depicted in the drawings, a Motorola® 68HC05 series microcontroller is used which also has enough peripheral I/O topology available to provide an interface to a standard personal computer keyboard port. Our selection of this particular micro-controller was virtually arbitrary; any such device or number of devices with similar attributes, including a discrete logic topology, could be a suitable (if not superior) substitute. 
     This example keyboard includes three major component parts or assemblies, namely, a Sensor Cell Array, a micro-controller board with associated hardware, and the micro-controller software control instruction set or programming. 
     In total, this example 15-key array keyboard has 23 active components: one standard 2N2222 bi-polar transistor for each sensor element, a Motorola XC68HC705P9S micro-controller, a 7406 TTL chip, 5 diodes and one LED. We are sure the superlative performance and cost-effectiveness of this device will soon become apparent. 
     First, let us examine an individual sensor Cell. The Sensor Cell is a proximity transducer which satisfies the first two &#34;means&#34; requirements of the Capacitance Measurement Method. The sensor cell provides the capacitance to be measured, which varies in value according to the relative proximity of an operators&#39;s finger and/or other appropriate actuator, and provides an electrically resistive element of known or substantially constant value, including any signal conditioning required by the application. 
     Our Currently preferred embodiment of a Sensor Cell Capacitor (the capacitance to be measured) is fabricated as follows: A variable capacitor element, denoted as C1XX on the schematic diagram, is constructed in a planar fashion, with 2 concentric conductor rings spaced conveniently apart, with an arbitrarily determined outside diameter of 0.75&#34; (based on the size of the &#34;key&#34; we wanted, with a practical size range of 0.5&#34; to 3&#34;), fabricated from copper traces on one side of standard printed circuit board stock. Two conductive leads, one from each ring, are passed through to the opposite side said circuit board. The conductive lead from the outer conductor ring is considered the Cell input, and is electrically connected to all like leads from the other Cells in the array, and ultimately connected to a periodic voltage input means of known wave form. The other lead, considered to be the output of the element, is connected to a signal conditioning means. 
     Our currently preferred embodiment of a Sensor Cell also includes signal conditioning and partial output signal multiplexing means physically localized to the variable capacitor element. This signal conditioning means also serves as the resistive element, and is fabricated as follows: A single conventional bi-polar transistor (like the 2N2222) of a manufacturer&#39;s specified beta range (avoiding wide variances of beta), denoted Q1XX on the schematic diagram, and two biasing resistors, which together form a basic common emitter amplification configuration. The base resistor is unique to the individual Cell. The collector resistor is shared by 4 other Cells in a row, and forms part of the multiplexing means. In an array, it is preferred to not have extraordinarily wide ranges of beta among transistors. The input impedance of the amplifier (h ie ) provides the resistive or load impedance circuit element. 
     In this preferred embodiment, the Vcc supply is conveniently furnished by a personal computer keyboard port, and is +5V. 
     The inputs for all Cells in the array are tied to a common voltage input means. The output of the Cell is taken at the collector of the transistor, and the emitter is tied to ground through an electronic switch in the micro-controller. When the switch is closed, the emitter is tied low, the transistor amplifier is biased active, and an output is present. If the emitter is forced high, the transistor will not be biased, resulting in no output. This emitter switching allows us to easily multiplex the Cells in the array, and will be thoroughly discussed hereinafter. 
     The common emitter amplifier in the Sensor Cell performs two more important tasks. First and foremost, the h ie  (or input impedance) of the amplifier satisfies the Capacitance Measurement requirement for a series resistive element means of known value (actually, in this application, it is more important for this value to be constant dynamically than be of a specific empirical quantity). Secondly, the amplifier performs a signal conditioning function, amplifying the Sensor Cell capacitor&#39;s signal, and matching impedances to reduce the effect of transmission line reactive parasites. 
     According to the present method, a step voltage function is applied to the input of the Sensor Cell at t=0. At the approximate optimum time period t=RC, the output of the Cell is sampled. This value is then converted to a digital form and stored in the micro-controller (k). This is done about once every 50 milliseconds. The provided timing diagram shown in FIG. 10 is not to scale. The clock reference used in this circuit is 2 Mhz, or has a period of 0.5 microseconds. The Cell sampling cycle is performed approximately every 50 milliseconds (one row every 10 Ms). The only timing element actually critical to the success of circuit operation is the elapsed time between t=0 and the sampling moment, t=RC. The sampling moment T must be very nearly exactly the same each time a Cell sampling cycle is performed. 
     Notice also that the output curve of the common-emitter amplifier is inverted, or 180° out of phase with the input. This does not matter, as long as the inversion is known and taken into account. 
     What happens when a finger approaches a Cell? Strangely enough, the Sensor Cell Capacitor is not really &#34;capacitive&#34; in the strictest sense of the word, although we are able to analyze the behavior of the Sensor Cell circuit with a capacitive analogy. In a physical sense, the &#34;plates&#34; of the &#34;capacitor&#34; in the Sensor Cell are actually a transmitting/receiving antenna pair. The input voltage function we apply to the transmitting conductor is radiated to the other conductor and amplified to produce a quantifiable signal. When an operator &#34;presses&#34; a key, he is actually attenuating or &#34;robbing&#34; field energy, reducing the magnitude of the received signal. As far as the circuit is concerned, the value of capacitance in the Sensor Cell Capacitor has diminished with a finger in proximity to the Cell. However, the actual output of the Sensor Cell, because of the inversion characteristic of the signal conditioning amplifier, will increase (the Cell will appear to gain capacitive value, or v) with the approach of a finger. 
     Unfortunately, the apparent capacitance of a variable capacitor employed in a real world capacitive keyboard, including both ours and prior art devices, can change in response to factors other than the approach of an operator&#39;s finger. Humidity, temperature, dust, environmental contamination, electrical noise, and component aging, and airborne debris are just a few of the factors that must be considered. In this sense, the Sensor Cell has a dual purpose. It not only registers the proximity of an operator&#39;s finger, it is also called upon to perform the function of an environmental change transducer. 
     The unique properties of the Sensor Cell make it ideally suited for this application. Because this keyboard can be operated from behind a rigid, non-metallic barrier, it will soon find its way into adverse environment use. Because &#34;key&#34; actuation requires the absorption of field energy, a disembodied object striking the keyboard would be unlikely to register a keystroke. It virtually requires a finger to cause a key stroke to be registered or detected. The safety advantages are obvious. Spurious electromagnetic or radio frequency interference would tend to increase the Sensor Cell Capacitor&#39;s value (reducing Cell output or v), so these effects would also be unlikely to cause erroneous keystroke detection. 
     Unlike capacitance sensors of prior art, the Hughey-Pisau Sensor Cell has a response to field disturbance that is analog in nature. The closer the finger is to the Cell, the higher the magnitude of absorbed field energy, the higher the value of v reported. Prior art sensors, especially those with an extra metal plate within the field for variance exacerbation, such as Eichelberger et al., were decidedly digital in nature, and could not sense the approach of a finger until it actually touched the sensor. This also greatly reduced the prior art sensor&#39;s sensitivity to environmental changes. The Hughey-Pisau Sensor Cell is sensitive enough to begin sensing a perturbation of the field before the arrival of the finger, and can also detect variations in environmental conditions that would go unnoticed in prior art technology. This enhanced sensor sensitivity allows far greater precision in environmental compensation, and the subsequent suppression of erroneous keystroke detection. 
     The 15 Sensor Cells of the example Hughey-Pisau Keypad Array are electrically arranged into 3 columns and 5 rows. The transistor emitters of the amplifiers in each 3 cell row are tied together, then connected to ground through a row-specific electronic switch (actually a TTL compatible HCMOS output) within the micro-controller. The 5 Cells in each column have their collector outputs tied together, and connected to one of 3 unique inputs in the micro-controller. This configuration allows for a novel approach to multiplexing, or &#34;addressing&#34; each Sensor Cell in the array. Since we practically need only examine the value of one Sensor Cell at a time, we can examine a specific Cell by actuating the FET switch for the row the Cell resides in (turning on the amplifier), then sampling the Cell&#39;s value through the A/D converter channel for that Column. 
     In the context of the Hughey-Pisau Method of Capacitance Measurement, the microcontroller must fulfill the remaining requirements not satisfied by the Sensor Cell Array, i.e., a voltage input means having a known wave form; a precision timing reference; an instantaneous voltage measurement means; and a calculation or analysis means (and/or an interface to said means). The use of an off-the-shelf micro-controller merely suggests simplicity and expediency. We could have designed a circuit with the necessary attributes from discrete logic, or procured a custom designed chip. One must implement the microcontroller means in any case, and the following functional attributes must be included (based on the previously discussed array design): One 4-bit (minimum) analog to digital converter means; Array Cell addressing means; permanent software storage means (ROM) of sufficient size to hold the program; temporary software storage means (&#34;scratch RAM&#34;) of sufficient size to store data during program execution; clock signal generation and reference means; periodic voltage signal input means; and interface means to allow conveyance or communication of results. 
     More particularly, the selected micro-controller satisfies these requirements in our 15-key example by possessing the following functional attributes an 8-bit A/D converter; 4:1 analog MUX circuit for array column addressing, and more than 5 TTL-compatible outputs for row addressing; 2048 Bytes of available ROM; 128 Bytes of available RAM; internal clock reference generation circuit, requiring only an external crystal reference; a programmable TTL-compatible output for step voltage signal generation; and an interface port with associated signal lines. 
     Referring to the schematic diagram of the preferred embodiment example shown in FIGS. 8-9, the microcontroller is represented as component &#34;U1&#34;, and is additionally labeled &#34;KPD-AT 951&#34;. The actual pins of the chip are represented as by an identifying number 1 through 28, and their associated signal function in the topology is indicated as well (note that our pin definition nomenclature on the schematic differs substantially from published Motorola data). 
     Pin 1 is the obligatory RESET line. Pins 2, 12, 13, and 25 provide the interface signal lines. Pin 11 is the COMMON line, which is a programmable HCMOS TTL-compatible output that serves as the step pulse generation means, and is consequently attached to the input of all the Sensor Cells in the array. There are 8 standard HCMOS TTL-compatible output lines, Pins 3-10, that are designated as ROW0 to ROW7. The 5 outputs ROW0 through ROW4 are used as part of the previously discussed array Cell addressing means, switching certain rows of amplifier emitters to ground on command. The remaining 3 outputs, ROW5, ROW6, and ROW7 are unused in this application and are unconnected. Pin 14 is logic ground. Pins 16, 17, 18, and 19 form the inputs for the built-in 4:1 MUX as previously described. They are labeled COL0 through COL4, respectively, and are attached to the collector outputs of each Sensor Cell common to a specific column. Since there are only 3 columns of Cells, COL4 is not needed, and is pulled up to Vcc by a 150 KΩ resistor. Pin 15 is the DC voltage reference used by the A/D converter, and from the array point of view, is analog ground and is therefore labeled AGND. 
     Lines 20, 21, and 22 are used to illuminate LED&#39;s in accordance to the personal computer keyboard interface standard, and are generally superfluous to functionality. There is another output, Pin 23, which is used through a buffer to drive a speaker. This is used to supply a user with audible feedback regarding keystroke detection. The Pin 24 TEST line is not connected. Pins 26 and 27 are used to connect the external crystal clock frequency reference, and are labeled OSC1 and OSC2. Pin 28 is Vcc. 
     The purpose and functionality of the remaining components in the topology should be obvious to those skilled in the art of electronics engineering. 
     What makes this capacitive keyboard truly sensational is our software algorithm for keystroke detection. False triggering, environmental drift, and erratic operation, the hallmarks of prior art capacitive keyboards, are virtually eliminated with the flexibility and adaptability of software controlled keystroke detection. 
     Why is keystroke detection so critical? Because many things can cause the apparent capacitance of a key to change, not just an operator&#39;s approaching finger (especially in prior art). Humidity, temperature, dust, environmental contamination, electrical noise, and component aging are just a few of the factors that must be considered. 
     The micro-controller software program must do more than just provide keystroke detection functionality, it must furnish the instruction means necessary to cause the entire device to function as intended. 
     The software must contain the following characteristics: 
     1. Instruction sequence means which takes into account the predetermined values for the V and RC variables according to the Hughey-Pisau Method; 
     2. Instruction sequence means to cause an individual sensor Cell in the array to be addressed. 
     3. Instruction sequence means to cause the proper functional element of the micro-controller to apply a step voltage signal to the COMMON line at the moment of t=0. 
     4. Instruction sequence means causing a sample of the output of the sensor Cell to be taken at the relative instant of t=RC, and converted to digital form by the A/D converter means. 
     5. Instruction sequence means causing said digital form of sensor Cell output to be stored, in a location unique to that individual sensor Cell, within the temporary software storage means. 
     6. Instruction sequence means causing a complete cycle of steps 2 through 5 to be continuously repeated until the values for all the sensor Cells in the array have been stored at unique locations within the temporary software storage means; said instruction sequence hereinafter referred to as an Array Sampling Cycle (ASC). 
     7. Instruction sequence means causing a continuous plurality of Array Sampling Cycles, storing the values from one or more cycles in unique locations within the temporary software storage means. 
     8. Instruction sequence means causing an analysis of stored Cell values to determine if a pattern of change is taking place in one and/or a plurality of Cell values across a plurality of Array Sampling Cycles. 
     9. Instruction sequence means to register a keystroke, and invoke an appropriate response, if said analysis of Cell value(s) over time indicates a high probability that any pattern of change(s) in Cell value(s) is specifically due to an operators finger attempting to actuate (or &#34;press&#34;) a specific key. 
     10. Instruction sequence means to prevent false registration of a keystroke, if said analysis of Cell values over time indicates a high probability that any pattern of change(s) in Cell value(s) is specifically not due to an operators finger attempting to actuate (or &#34;press&#34;) a specific key. 
     11. Instruction sequence means to determine if said analysis of Cell values over time indicates that an environmental change has taken place, and instruction sequence means for environmental compensation. 
     12. Instruction sequence means to control the interface to other device(s). 
     Since it should now be apparent that our unique solution to steps 9 through 11 is the essence of our device&#39;s superiority over the prior art, we will cover these steps in detail. 
     All capacitive keyboards, including ours, continuously measure the capacitance of the sensors in the array, and examine any changes. Virtually all prior art capacitive keyboards, however, relied on a hardware implemented, simple, straightforward determination of a keystroke; did the value of a specific capacitor sensor change more than a certain, predetermined (or threshold) amount (or percentage) over a specific reference value for that sensor (usually derived from past sensor measurement and comparison activities)? If it has, then it is assumed that this change must be because of an operator attempting to &#34;press&#34; a key, so a keystroke is registered. If not, then is there any change at all? If there is some change, but the change is less than the predetermined amount, then its is assumed that the change must be because of an environmental phenomenon, and is usually ignored, except when a specific calibration cycle is taking place. 
     The predetermined threshold amount of change of sensor value considered to be indicative of a keystroke is usually derived from the designer&#39;s estimation of how much sensor value should change with the touch of a finger, versus how much change of value environmental conditions could induce, during a single sampling period. In other words: If the new sensor value is different than the reference (or adjusted old sensor value), and this difference is greater than the threshold amount, then register a keystroke. If the new sensor value is different than the reference sensor value, and this difference is less than the threshold amount, then ignore it. If this is a specific calibration cycle, however, then the reference sensor value is adjusted by some degree in the direction of the change, and this adjusted value is used as the reference sensor value in subsequent comparisons. 
     The degree of adjustment for the reference sensor value is typically referred to as one or more &#34;steps&#34; and for those devices using an A/D converter to derive sensor values (including ours), one step is equal to one or a sequential plurality of bit arrangements used to define sensor value, also referred to as one &#34;count&#34; in prior art discussions. 
     For a mathematical representation, we will let the sensor reference value equal k r , the new sensor value equal k nc , and the threshold difference amount equal to k tc . 
     If K nc  =k r , then do nothing. 
     If K nc  ≠k r , then examine the difference. 
     If k nc  ≧k r  +k tc , or k nc  ≦k r  -K tc , then register a keystroke. 
     Subsequently, on specific calibration cycles: 
     If k r  &lt;k nc  &lt;k r  +k tc , then increment k r  by one step. 
     If k r  &gt;k nc  &gt;k r  -k tc , then decrement k r  by one step. 
     Sounds rather simple, and it is. These simple assumptions, concerning a degree of sensor value change in prior art, range from occasionally erroneous to downright dangerous, depending on the application. What happens if an aperiodic noise transient, either radiated through the air, or more likely, conducted through the power supply, causes the k nc  ≧k r  +k tc  condition to be satisfied? What if an operator &#34;presses&#34; and &#34;holds&#34; a key (or releases a key too slowly)? What happens if the device is mounted near an exterior door, near a source of liquid &#34;splash&#34;, or anywhere very rapid environmental changes can take place? What happens during a &#34;collision&#34; of a keystroke and a specific calibration cycle? False keystroke detection occurs. 
     The fact that we use a software means to implement keystroke detection, allows a much more thorough analysis of any changes in Sensor Cell Value than could ever be realistically possible (certainly commercially practical) in hardware means. A software implementation also allows for easy adjustment to the keystroke detection methodology during device manufacturing or for specialized applications. Described is the actual method our preferred embodiment employs. It will also become obvious to anyone skilled in the art, that substantial variations to the methodology presented would be relatively easy to develop and employ. 
     The Hughey-Pisau Software Algorithm possesses the following specific advantageous attributes for proper keystroke detection: 
     &#34;Debouncing&#34; or redundant confirmation that a specific Sensor Cell value has satisfied the k nc  ≧k r  +k tc  condition, on both key press and key release events. 
     Detection threshold hysteresis, or a threshold level reduction during a confirmed keypress condition, changing the value of k tc  for a specific Cell in a keypress condition. 
     Optionally, an asymmetrical environmental adjusting mechanism, preventing the device from confusing a slowly approaching finger with an environmental change, yet still allowing the device to rapidly become re-operational after a drastic environmental change. This is accomplished by allowing only certain &#34;windows of opportunity&#34; for reference values to be adjusted, and allowing more potential downward (away from keypress condition) adjustment opportunities than upward (toward keypress condition). Our mechanism also prevents keystroke and calibration cycle &#34;collision&#34;. 
     Optionally, forcing a consistent trend of change to be present before any reference value modification takes place. This is defined as the use of a &#34;trend counter&#34;. 
     The above attributes of our software virtually eliminate false keystroke detection, and condition the device properly to function as intended in a wide variety of environments and situations. Below is a more thorough description of how these attributes are derived. 
     Power is applied to the device, or a reset condition has occurred. After the typical hardware self-diagnostic instruction series is performed, the software means causes appropriate environment structuring (initialization) to take place. Included in this structure are the necessary routines for ASC execution, array multiplexing, the interrupt service routines for interface control, and the creation of counters, flags, and other instruction means in memory. All counters are initialized at midpoint. The first ASC is executed, and the values read from all of the Cells in the array are stored in unique, individual Cell address locations to be used as reference values. These reference values are modified only when certain conditions are satisfied. 
     In the current embodiment, 16 counter means are created. 15 are 2 bit counters (larger ones are preferred if storage means size permits), one for each of the 15 Sensor Cells in the array. These counters are assigned to specific Cells in the array, and are used to detect the trend of value change in the Cell (we&#39;ll call them &#34;trend counters&#34;). This is done by totalling the number of ASCs for which that specific Cell increased in value, but not enough for a keystroke detection (k r  &lt;k r  &lt;k nc  &lt;k r  +k tc  and k r  &gt;k nc ). If k r  &lt;k nc  &lt;k r  +k tc  is true for that Cell, and an upward calibration cycle is being executed, the counter is incremented. If k r  &gt;k nc  is true for that Cell, and a downward calibration cycle is being executed, the trend counter is decremented (we know that because of the Sensor Cell&#39;s electrical behavior, a keystroke will always be represented by an increase in value, never a decrease). 
     The 16th counter is a calibration cycle counter and is 8 bits wide (7 used). It is important to note that given a larger size memory means, a 17th counter could be created to provide both an upward and a downward calibration cycle counter, and these counters could have different values. The current (not necessarily preferred) embodiment of the software has a asymmetric calibration timing of 128:1 (downwards to upwards). A preferred embodiment may employ a 4:1 ratio, a 1:1 ratio or even a 1:128 ratio, depending on the application. 
     A calibration cycle is a subroutine entered during an ASC (not an independent cycle, as in prior art) only when 2 conditions are met. An up calibration cycle is entered when the individual Cell being addressed has a value that means the k r  &lt;k nc  &lt;k r  +k tc  criteria (the Cell&#39;s value is larger than its reference value, but not large enough to be considered to be in a possible keystroke condition), and the upward calibration cycle counter, after incrementation is in a carry (&#34;upward overflow&#34;) state. A down calibration cycle is executed when the Cell value meets the inverse criteria k r  &gt;k nc , and the downward calibration counter, after decrementation, is in a borrow (&#34;downward under flow&#34;) state. 
     As in our current embodiment, we may elect to use the same calibration cycle counter for both upward and downward calibration cycles. The counter is incremented at each measurement cycle. If the last 7 digits are zero, it is an up calibration cycle. If the last 3 digits are zero (binary arithmetic), then it is down calibration cycle. Because it is a single counter, the values are not independent, and the device becomes limited in flexibility of calibration cycle timing. A preferred embodiment would employ 2 counters. 
     Just because a calibration cycle subroutine condition has been met, however, does not mean an adjustment of the reference value. There is still the trend counter for that Cell to consider. 
     If the conditions for a calibration cycle have been met for a specific Cell, then that specific Cell&#39;s trend counter is. If the conditions for a calibration cycle have been met, the Cell&#39;s trend counter is. Only when the incrementation of the trend counter from an up calibration cycle causes a carry in the trend counter, is the reference value for that Cell allowed to be increased by one step. Conversely, only when the decrementation of the trend counter from a down calibration cycle causes a borrow in the trend counter, is the reference value for that Cell allowed to be decreased by one step. The individual reference values for all of the Cells in the array are maintained in this manner. 
     Regardless of whether or not a calibration cycle was executed, in the Cell&#39;s value read during this ASC is equal to that Cell&#39;s reference value, or fits either the k r  &lt;k nc  &lt;k r  +k tc  or k r  &gt;k nc , we must examine one more issue before reading the next Cell (continuing with the ASC). Was this specific Cell&#39;s value found to be to be in accordance with the k nc  $ k r  +k tc  criteria during the last ASC? If so, then all registers associated with keystroke detection, such as the debouncing register, are reset to zero. This, if effect, tells the logic that the key has been released. The ASC then proceeds normally. 
     During an ASC, we find that a Cell&#39;s value differs from the reference value by more than the threshold amount. First of all, we know that the output of a Hughey-Pisau Sensor Cell increases when a valid actuation attempt is taking place. So, if the condition k nc  &gt;k r  is true it is not considered to be valid keystroke condition, and is therefore treated in the same manner as a k r  &lt;k nc  &lt;k r  +k tc  condition. If the Cell value exceeds the reference value by more than the threshold amount, I.E. k nc  ≧k r  +k tc , any calibration activity for that specific Cell in this ASC is prevented. Then, we ask the following question; has this k nc  ≧k r  +k tc  condition been true for any other Cells during this ASC or the previous ASC? If not, then the Cell address is stored in the debounce register, and the debouncing flag is set (to 1). 
     During the next ASC, we find a Cell&#39;s value that meets the criteria k nc  ≧k r  +k tc . Has this condition been true for any other Cells during this ASC or the previous ASC? Yes, it has. Was it the same Cell? If not, the condition is disregarded. If it is the same key, is the debouncing flag set? If not, set it and continue with the ASC. If the debouncing flag was set, decrease the threshold level for this Cell (invoke hysteresis), and call up the interface subroutine; we have a confirmed keypress. Terminate this ASC. 
     For the specific areas of the software associated with keystroke detection which form a part of the improvements provided by this method, this discussion has been presented. The other areas of the software design relate to standard of techniques which are commonly known to and employed by those skilled in the art of microcontroller programming. 
     Because of the fact that the Hughey-Pisau keyboard can be mounted behind, and operated through, any non-conductive surface of 0.001 to 1.0&#34; thick, it is perfect solution where durability and protection are major considerations. It is also important to note that this technology can be made cost-competitive with demonstrably inferior membrane technology. This technology is also flexible; the application are limited only by the imagination. Some examples are: 
     Automatic teller machine keypads or &#34;keyless&#34; security devices that have to be protected from vandalism or tampering. 
     Data entry terminals in industrial environments, where airborne metallic powders and corrosive vapors prevent the use of conventional keypads or keyboards. 
     Pool-side equipment or automatic car wash systems. 
     Heavy manufacturing equipment, where a shock resistant keypad is needed in a small enclosure, such as the control panel of an industrial crane. 
     Zero footprint terminals--terminals embedded into the work surface, useful for machine tool control panels and laboratory workstations. 
     Point of sale terminals and cash registers, especially in fast food restaurants. 
     Keyboards for applications where sanitation or easy &#34;washdown&#34; is of utmost importance, such as medical laboratory or food processing equipment. 
     Museum, store window, or other public interactive exhibits or displays where &#34;through window&#34; key actuation would provide a more secure equipment environment with no &#34;external&#34; hardware. 
     Appliances, such as microwave ovens, ranges, and dishwashers. 
     Anywhere a keypad is employed, especially as a superior cost-effective alternative to membrane technology. 
     The can be employed as an excellent proximity sensor, even if applied with prior art capacitance measurement methods. For instance, the physical size of the Cell itself could remain the same, or be enlarged, for use in application such as security systems or manufacturing motion control. The Cell could also be miniaturized, and used by its incorporation into a video display means for &#34;touch screen&#34; applications, to provide touch-screen functionality from behind a protective cover. 
     The Hughey-Pisau Software Algorithm in its various potential attribute combinations, could be employed in any application where a sensor or array of sensors are used to gather data, which is converted to digital form for analysis. The redundant change confirmation (debouncing) module, and hysteresis of threshold value adjustment after change confirmation module, can each be used singularly or together, for a multitude of different data acquisition purposes. The asymmetrical environmental change calibration also has potential benefits in other areas of similar art, wherever there is an analysis &#34;floor&#34; of value that must be periodically adjusted. 
     Of specific and acute value in broader applications, is the Hughey-Pisau Noise Reduction or Filtering Method, used as part of the software algorithm. Implemented using our trend counters as described earlier, this logical method means has a wide area of viability in virtually any application where digital sampling means can be affected by noise. The types of noise effectively squelched by the application of this method include the quantization noise inherent in virtually all A/D converter applications, and white or pink noise. The only limitation of this method is the A/D sampling rate must be higher than the theoretical Nyquist rate. However, based on recent advances in the electronics industry, exceeding the Nyquist rate by oversampling has become common practice. 
     The Hughey-Pisau Noise Reduction or Filtering Method is a very fast logical algorithm means, with no complicated arithmetics to perform in real time, is simple to understand, and easy to implement. As it stands today, it is the best method for compensating slow environmental or other reference drifts which combines very good noise rejection, high speed, simplicity, technical elegance and low implementation costs.