I'm attempting to create a circuit to test ESD foot straps (and wrist straps). Research has led me to a window comparator circuit for testing power supplies that I've used as a base for the drawing below. I have a basic awareness of Ohm's law and the concepts of calculating resistance in parallel situations, however all of the examples that I've found are much less complex than this and I've been having a difficult time wrapping my brain around the problem.

My main question is: How can I calculate the resistors needed to set the center of the window and the width of the window such that I can test for a specific Foot Strap/Human resistance? (I believe the resistors I need to change are R6, R8, and R11; and the resistance I want to check for is 1MOhm through 10MOhms)

A few other pieces of info that might help:

I have all of these components assembled on a breadboard and have verified that the original design will light the green/red LEDs depending on the resistors at R6, 8, and 11. This was very much a slightly educated trial-and-error test as I went through a bunch of resistors until I found a combination that lit the green LED.

I haven't wired in the footstrap/human yet; I intend to do so with a metal plate to stand on, and another metal plate to be touched by a finger.

The zener diode at D1 was supposed to be 2.5V but the samples that I have are quite variable; the one I've been using is 2V. This threw off the calculations from the original drawing which assumed 2.5V.

EDIT: Changed a whole bunch of things after reading the response by @Bruce Abbott

Drawing v02 This might also be viewable, if I'm linking this correctly, here https://easyeda.com/jsparks/Foot_Strap_Tester-07b6faa6846f4842a7d5b95d6de361e0


The voltage on pin 2 of the LTC1042 is the center of the window, and the voltage on pin 5 is half the width of the window. In your circuit pin 2 is set to 2V by Zener diode D1, so the center of the window is 2V.

R6 and R8 form a voltage divider with a ratio of (R6+R8)/R8 = (180k+20k)/20k = 10. The divider is powered by 2V, so its output voltage is 2V/10 = 0.2V. This is half the width, so the window is 2V+-0.2V = 1.8V to 2.2V.

Some other component choices in your circuit are perplexing.

The purpose of R11 is unclear. Pin 2 has a low but poorly defined bias current of +-0.3nA, so adding resistance in series would not predictably alter the window center. The datasheet does not show any examples of resistance being inserted between pin 2 and the window center voltage. The only useful purpose I can think of is to filter out noise, but this would require adding a capacitor to ground.

The bias voltage on pin 3 is set (via R2 and R7) to half the supply voltage, ie. 2.5V. The Thevenin equivalent resistance at this point is only 10K || 10K = 5kΩ, so a foot-strap resistance that varies from 1MΩ to 10MΩ will have little effect on the voltage. 1MΩ to ground will only pull the input voltage down to 2.488V which is well short of your window, while 10M will barely move it to 2.4988V.


simulate this circuit – Schematic created using CircuitLab

To improve sensitivity the bias resistance needs to be much higher. However values over 10KΩ start to introduce sampling error, so an input bypass capacitor or input buffer amp is recommended (see datasheet page 5). The combination of long wiring and connection to a human body will probably introduce a lot of EMI (particularly at mains and low rf frequencies) which an input bypass capacitor would help to reduce.

R3 sets the sampling frequency to the maximum possible (~10KHz). This lowers the effective input impedance and increases the error caused by high source resistance. I see no advantage in having such a high sample rate. 100Hz should be sufficient, and would increase effective input impedance to over 100MΩ.

You have stabilized the window voltages with a Zener diode, but the input bias voltage is determined by the supply voltage. This means any variation in supply voltage will affect the input voltage relative to your window. It might be better to remove the Zener and derive the window voltages directly from the supply voltage.

Alternatively you could use a TL431 'precision shunt regulator' to stabilize the bias voltage at 2.5V (with a single bias resistor from there to the input) and divide this voltage down to produce the center and width/2 voltages. Compared to a low voltage Zener the TL431 is much more accurate and has a lower temperature coefficient.

If you want to detect strap resistances within a particular range (eg. 1-10MΩ = green, <1MΩ or >10MΩ = red) then you need to calculate the input voltages that will occur and set the window parameters to match.

For example if the effective bias resistance is 500k (R2 and R7 = 1M, or a 500K resistor connected to 2.5V) then with 10M to ground you have a voltage divider which changes the input voltage to 2.5V / (10M+500K)/10M = 2.38V, while 1M will change it to 2.5V / (1M+500K)/1M = 1.67V.


simulate this circuit

To detect this range you would use two voltage dividers setting the window width/2 to (2.38V-1.67V)/2 = 0.355V and the center to 2.38V-0.355V = 2.025V. Rather than calculating resistor values and then having to find precision resistors to match them, it might be easier to just install two multiturn trimpots and adjust them to the required voltages.

  • \$\begingroup\$ Thank you very much for this in-depth response! It's taken me a while to attempt to put it all into practice. 1. Removed R11. Clearly shouldn't have been there. 2. Input bypass capacitor: I read through the section on this on page 5 of the LTC1042 datasheet, but didn't understand how to calculate the value of the capacitor. I'm guessing that the examples make some assumptions that are common knowledge, but to me, it looks like they skipped some steps in going from equation to final value. So I haven't added an input bypass capacitor yet. \$\endgroup\$ – jsparks Nov 8 '17 at 22:12
  • \$\begingroup\$ 3. R3 (R5 on the new drawing) has been changed to a 1M resistor combined with a .01u capacitor, which I'm told should form a "RC time constant" thing, which according to several calculators that I found online should be 100Hz but the frequency counter we have here in the office (that appears to be working properly) keeps measuring this as 1.8KHz. 4. Zener diode removed. \$\endgroup\$ – jsparks Nov 8 '17 at 22:13
  • \$\begingroup\$ 5. Trimpots added. That sure did make things easier! I recognize that I could have used the two voltage divider trimpots differently, but I had already started the calculations, so I left the 100K (98K on the drawing) resistor where it was. The third trimpot (R6) is there because I didn't have any 500K resistors on hand. Unfortunately I'm still having some problems. a) I'm not sure how to determine the appropriate input bypass capacitor. \$\endgroup\$ – jsparks Nov 8 '17 at 22:13
  • \$\begingroup\$ b) When I tested the circuit, I was able to get the Center voltage to be 3V (right where I wanted it), and the Width/2 voltage to be 0.4V, so that the window would be just beyond the resistance values of the 1M-10M range I'm going for... however, while placing a 1M resistor at the Human/Footstrap test point lit the green LED (with a voltage on Vin of 2.63) the green LED did NOT light when using a 10M resistor, with a voltage on Vin of 3.37, which should be within the window (3+.4>3.37). I'm not sure what's going wrong here. \$\endgroup\$ – jsparks Nov 8 '17 at 22:14
  • \$\begingroup\$ c) When I tried to replace the 500KOhm resistor (trimpot) R6 with two 1M resistors, it very much did not turn into 500K... I recognize that there are some parallel resistor things going on here but I'm not sure which ones I need to consider and which ones "disappear" into the chip and can be ignored. d) Just wanted to point out that the C1 capacitor is left over from the original circuit, I'm assuming that it filters out noise. Not sure if it's necessary. \$\endgroup\$ – jsparks Nov 8 '17 at 22:14

So I wound up going about this in a different way. The "answer" to my question was to use variable resistors, and not bother calculating the resistance values at all. More specifically, I wound up using more complicated chips, LM3914, which are set up to light up a set of 10 LEDs each. I chained two of them together as per the instructions in their data sheet, then put a 1MOhm resistor into the circuit and set the variable resistors going to one of the LM3914 chips so that all but one of the LEDs were lit; then put a 10MOhm resistor into the circuit and set the variable resistors going to the other chip such that only one of the LEDs were lit. I left these resistors in the test box, connected to switches, so that the accuracy of the test box can be checked throughout the life cycle of the 9V battery powering the circuit. esd foot strap test circuit

This has been working quite well.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.