Static Electricity Voltmeter (upto 200V approx.)

Greetings from S. Korea to all the ARDUINO Engineers here in the forum.

I have recently found out that using AnalogRead function without resistors allowed me to read

'electric potential', or open-circuit voltage of the objects that are in parallel with one another.

Correct me if I am misunderstanding the whole thing but I would like to seek for knowledge, if my

ARDUINO is actually reading static voltage.

  1. My materials in parallel with one another can produce upto 200V with approximately 100uA,

is there a way to read above 5V with ARDUINO pins? (A0~A6). This is a triboelectric generator.

  1. I am afraid to use any other components within the circuit (i.e. resistors, capacitance, coils, etc.),

since it is likely to cause my ARDUINO to read closed circuit voltage instead of OC. Am I

understanding this correctly? :sweat_smile:

p.s. I am using a simple AnalogRead function provided by ARDUINO playground, no particular

modification of the codes have been made yet, but I am likely to use 6 pins later on.

Hi, welcome to the forum.

It is not possible to read static voltages. It may be possible to read something, but it is more likely that you measure the 50Hz/60Hz electric noise from the mains. It is not possible to actually "measure" static electricity.

An Arduino pin as input can have 1mA pushed into it or 1mA pulled from it. That is because there are clamping protection diodes inside to the 5V and GND. That means that a large resistor can protect the input, as long as the current is not above 1mA.

When you say "200V", I found that hard to believe. Static electricity is more like 20kV.

Suppose you want to measure 200V / 100uA with a microcontroller (instead of a multimeter).
Let's assume you can draw 10uA to measure it. The 10uA will drop the voltage, but so will a normal multimeter.
200V/10uA = 20G ohm 20M ohm
That is too much. You need a special multimeter to measure that.

[EDIT] The 200V / 10uA is 20M ohm, not 20G ohm

This was in Scientific American, in a column called "The Amateur Scientist".

It can measure electric fields at great distances, measured in V/m (volts per meter). Measure how far the charged object is away, and you can calculate the voltage. So you can measure the charge on objects like clouds, or closer objects.

More information on non-contact surface voltmeters:

Loads more information:

electrostatic+surface+voltmeter+noncontact Google Search

The analogue input resistance of an Arduino is very high.
You could use that to measure a DC voltage with very little loading.
For 200volt in, you need a voltage divider with high value resistors.
e.g. a 10Megohm resistor from A-in to ground with a 100n MKT cap in parallel.
And a ~200Megohm resistor between high voltage source and A-in.
That can be made with several high value resistors in series, fitted e.g. in a plastic tube.
This "load" would use 1uA.
Same can be done with a standard DMM. The ones I know have a constant 10Megohm input impedance.
990Megohm will give you a readout 1/100 of the voltage, and a "load" of 200pA@200v.
You effectively have made a voltage divider with the external resistor and the multimeter's internal resistance.
You can also buy high voltage probes for a DMM. They use the same principle.
Leo..

Paul__B:

Thank you for your solid reply, gave me a big laugh to start off a day.

Wawa:
The analogue input resistance of an Arduino is very high.
You could use that to measure a DC voltage with very little loading.
For 200volt in, you need a voltage divider with high value resistors.
e.g. a 10Megohm resistor from A-in to ground with a 100n MKT cap in parallel.
And a ~200Megohm resistor between high voltage source and A-in.
That can be made with several high value resistors in series, fitted e.g. in a plastic tube.
This "load" would use 1uA.
Same can be done with a standard DMM. The ones I know have a constant 10Megohm input impedance.
990Megohm will give you a readout 1/100 of the voltage, and a "load" of 200pA@200v.
You effectively have made a voltage divider with the external resistor and the multimeter's internal resistance.
You can also buy high voltage probes for a DMM. They use the same principle.
Leo..

Thanks a lot for your reply Leo.

Just using a 100 MOhm resistor allowed me to observe same plot/data as the oscilloscope that I have, but

I wanted to investigate this generator's 'open-circuit voltage', instead of closed one.

The fun fact about this generator is that it has very high voltage while having extremely low current.

Thus, its output in the open-circuit voltage vs. oscilloscope differs significantly.

(i.e. 100V reading in open-circuit voltage vs. 4V peaks in oscilloscope).

I just wanted to know if ARDUINO is capable of measuring open circuit voltage.

p.s. You have mentioned that the ARDUINO's analog input has 'high internal resistance' about what Ohm
are we talking about here? I am extremely interested in this factor since all the circuits that I have seen on the internet shows ARDUINO as a big block with pins only. Thanks.
Jason

polymorph:
This was in Scientific American, in a column called "The Amateur Scientist".

It can measure electric fields at great distances, measured in V/m (volts per meter). Measure how far the charged object is away, and you can calculate the voltage. So you can measure the charge on objects like clouds, or closer objects.

FieldMill

More information on non-contact surface voltmeters:

Trek and Monroe | Advanced Energy

Loads more information:

electrostatic+surface+voltmeter+noncontact Google Search

Wow, these informations are great!

I look forward to testing them in the nearest future.

Thanks a lot!

Peter_n:
Hi, welcome to the forum.

It is not possible to read static voltages. It may be possible to read something, but it is more likely that you measure the 50Hz/60Hz electric noise from the mains. It is not possible to actually "measure" static electricity.

An Arduino pin as input can have 1mA pushed into it or 1mA pulled from it. That is because there are clamping protection diodes inside to the 5V and GND. That means that a large resistor can protect the input, as long as the current is not above 1mA.

When you say "200V", I found that hard to believe. Static electricity is more like 20kV.

Suppose you want to measure 200V / 100uA with a microcontroller (instead of a multimeter).
Let's assume you can draw 10uA to measure it. The 10uA will drop the voltage, but so will a normal multimeter.
200V/10uA = 20G ohm.
That is too much. You need a special multimeter to measure that.

Thank you for your reply Peter.

I know this may sound hard to believe, but me and my buddy observed that the ARDUINO's reading

jumps from 1.6V (initial Voltage due to the electric noise that you have mentioned) to 5.0 V when the

distance of two electrodes come close to one another.

This may be a wrong reading because all I have done with the circuit is to connect the (+) electrode

to the A0 (Analog Input). No additional circuit composition has been made yet.

Adding the resistance will make my ARDUINO behave like an oscilloscope or voltage divider multimeter,

this is not what I wish to observe. Like I have mentioned above, I wanted to observe the open circuit

behavior of the generator. I would be deeply grateful if you could provide any information on this.

Thanks.

Jason.

I have read somewhere that the analogue inputs have an input impedance of ~100Megohm.
Leakage, including the circuit board, being the main factor. So going that high will be unreliable.
You could push things further by accepting a lower A/D resolution.
You MUST have a capacitor from A-in to ground. The A/D needs something "solid" to sample from (Ri <10Kohm).
That rules out AC measurements wiith these high value resistors.

I think the most reliable will be a 1:1000 high voltage probe and a DMM. (=1mV/volt resolution....)
10,000,000,000ohm (10 Gigaohm) =20pA@200volt.
Maybe close to the leakage of your circuit.
Ten 10Gohm_ebay resistors in series (2pA@200v), connected to a standard DMM, will still give you a resolution of one digit per volt. Beats the analogue electrostatic voltmeter. Can't even see the 100volt marker on the scale...
Leo..

Wawa:
I have read somewhere that the analogue inputs have an input impedance of ~100Megohm.
Leakage, including the circuit board, being the main factor. So going that high will be unreliable.
You could push things further by accepting a lower A/D resolution.
You MUST have a capacitor from A-in to ground. The A/D needs something "solid" to sample from (Ri <10Kohm).
That rules out AC measurements wiith these high value resistors.

I think the most reliable will be a 1:1000 high voltage probe and a DMM. (=1mV/volt resolution....)
10,000,000,000ohm (10 Gigaohm) =20pA@200volt.
Maybe close to the leakage of your circuit.
Ten 10Gohm_ebay resistors in series (2pA@200v), connected to a standard DMM, will still give you a resolution of one digit per volt. Beats the analogue electrostatic voltmeter. Can't even see the 100volt marker on the scale...
Leo..

So basically, your recommendation is to use 'high impedance' to measure electric potential (open circuit

voltage) of the generator is this correct? I don't exactly understand what the purpose of the capacitor is

here. Using a DMM alone showed unreliable reading (0.34 mV). I will definitely try out using 10 GOhm

soon.

Jasombre:
So basically, your recommendation is to use 'high impedance' to measure electric potential (open circuit

voltage) of the generator is this correct? I don't exactly understand what the purpose of the capacitor is

here. Using a DMM alone showed unreliable reading (0.34 mV). I will definitely try out using 10 GOhm

soon.

Even that electrostatic voltmeter has some resistance. I can read 10 to the power of 6 Megohms on the scale.

The higher the resistance between object and instrument, the less it will be influenced.
The trade-off is resolution.
We know almost nothing about your project, and how accurate you want to measure that voltage.
Did you use a circuit board. A fingerprint on it might leak more than a 10Gohm resistor.

I mentioned the capacitor in relation to the Arduino, not the DMM.
The capacitor is slowly charged up to the scaled down voltage from the voltage divider.
The A/D of the Arduino periodically takes a sample.
The capacitor holds the voltage steady while the sample is taken.
If your voltage divider was made with 10k resistors, the cap would not be needed.

A DMM alone will load your circuit with 10Megohm, independent of the voltage range you select on the meter.
10Megohm could collapse the voltage of your circuit to almost zero.

Remember that with a 10Gohm resistor in series with the red lead of a DMM, the voltage you measure is 1/1000 of the original. So 200volt measures as 200mV.
Leo..

Wawa:
Even that electrostatic voltmeter has some resistance. I can read 10 to the power of 6 Megohms on the scale.

The higher the resistance between object and instrument, the less it will be influenced.
The trade-off is resolution.
We know almost nothing about your project, and how accurate you want to measure that voltage.
Did you use a circuit board. A fingerprint on it might leak more than a 10Gohm resistor.

I mentioned the capacitor in relation to the Arduino, not the DMM.
The capacitor is slowly charged up to the scaled down voltage from the voltage divider.
The A/D of the Arduino periodically takes a sample.
The capacitor holds the voltage steady while the sample is taken.
If your voltage divider was made with 10k resistors, the cap would not be needed.

A DMM alone will load your circuit with 10Megohm, independent of the voltage range you select on the meter.
10Megohm could collapse the voltage of your circuit to almost zero.

Remember that with a 10Gohm resistor in series with the red lead of a DMM, the voltage you measure is 1/1000 of the original. So 200volt measures as 200mV.
Leo..

Thanks again for your quote Leo.

Any ideas on how to reduce the noise of ARDUINO in the beginning of the start up?

My ARDUINO with single wire hanging out the A0 pin mode reads 1.4-1.65V without me doing anything.

I am guessing this is the 50Hz/60Hz noise from the mains that Peter mentioned, but I cannot seem to

get rid of it.

Jason.

Jasombre:
I am guessing this is the 50Hz/60Hz noise from the mains that Peter mentioned, but I cannot seem to get rid of it.

Why would you expect to?

If you are picking up and trying to measure a static field, then the mains induction is a perfectly genuine part of it. If you do not want it, you need to completely shield (metal mesh all the way around) your static source and measuring system.

The fact is - as of course you know - static electricity only builds up when the effective resistance is in the Gigohms range and your capacitances are (fortunately) generally very low, so any practical resistive divider will obviously discharge the static voltage.

You may in fact be better off to use a capacitive divider. It will need to be switched out and discharged occasionally to calibrate.

I was not joking when I pointed you to an electrometer. How about a reed electrometer?

Paul__B:
Why would you expect to?

If you are picking up and trying to measure a static field, then the mains induction is a perfectly genuine part of it. If you do not want it, you need to completely shield (metal mesh all the way around) your static source and measuring system.

The fact is - as of course you know - static electricity only builds up when the effective resistance is in the Gigohms range and your capacitances are (fortunately) generally very low, so any practical resistive divider will obviously discharge the static voltage.

You may in fact be better off to use a capacitive divider. It will need to be switched out and discharged occasionally to calibrate.

I was not joking when I pointed you to an electrometer. How about a reed electrometer?

Hey Paul, I knew you were not joking when you posted an image of electrometer, I just thought the answer

was too obvious, but I wanted to test static electricity in the ARDUINO environment.

I wanted to get rid of the 1.4~1.6 V fluctuation that exists in the analog input pin when it is connected

by a wire only (no static source connected yet). I will test the capacitive divider.

Using a capacitance did not go along so well...

I wish there is a way to use 'open-circuit voltage', but in order to do so, I know I need high impedance.

I heard there is a mode called 'tri-state mode', could anyone help me out on this?

I do not have any high resistance at hand (GOhms).

The "tri-state mode" is not the right term. The Arduino pin can be output and input. As output it can be high or low, and as input is has an input impedance of more than 100M.

There are devices for non-contact voltage measurements. But I don't know how to make that with an Arduino.
I think you have to buy something. For examle the Monroe 244A, it costs more than 2000 dollars :money_mouth_face: :fearful:
Others are a few hundred dollars.
This is the cheapest one that I could find (it is a used one) : http://www.ebay.com/itm/111636855962

How accurate do you want to read the voltage ?

Here is a list of those voltmeters : Electrostatic Voltmeters - All Manufacturers - eTesters.com

Peter_n:
The "tri-state mode" is not the right term. The Arduino pin can be output and input. As output it can be high or low, and as input is has an input impedance of more than 100M.

There are devices for non-contact voltage measurements. But I don't know how to make that with an Arduino.
I think you have to buy something. For examle the Monroe 244A, it costs more than 2000 dollars :money_mouth_face: :fearful:
Others are a few hundred dollars.
This is the cheapest one that I could find (it is a used one) : http://www.ebay.com/itm/111636855962

How accurate do you want to read the voltage ?

Here is a list of those voltmeters : Electrostatic Voltmeters - All Manufacturers - eTesters.com

I have seen 'deadly prices' of electrometers over ebay, Keithley, etc.

I should correct the term 'voltmeter' to 'electrometer' since I would like to observe the open circuit

voltage. Usually the elctrometers have extremeley high impedance in the range of GOhms~TOhms.

Thank you for your reply.. 2000 dollars is way more than I have expected haha.

I am currently using the code with digitalWrite(A0, HIGH); or LOW... These two show very different graph.

Generally, using LOW shows noisy plots with high amplitudes, whereas HIGH shows reliable plots with

extremely small amplitudes. Any help on this? I cannot understand what the difference is here (circuit

wise).

Peter_n:
The "tri-state mode" is not the right term. The Arduino pin can be output and input. As output it can be high or low, and as input is has an input impedance of more than 100M.

There are devices for non-contact voltage measurements. But I don't know how to make that with an Arduino.
I think you have to buy something. For examle the Monroe 244A, it costs more than 2000 dollars :money_mouth_face: :fearful:
Others are a few hundred dollars.
This is the cheapest one that I could find (it is a used one) : http://www.ebay.com/itm/111636855962

How accurate do you want to read the voltage ?

Here is a list of those voltmeters : Electrostatic Voltmeters - All Manufacturers - eTesters.com

Never mind, I understood it from Mike's tutorial. Thanks.

Jasombre:
Using a capacitance did not go along so well...

It is admittedly rather tricky!

In particular, you need to be able to start with both capacitors discharged, then connect the series divider to your measured voltage. The problem here is that doing so robs charge from your measured system to the divider capacitor. It is more useful if the divider is connected to the measured system before that system is charged.

This would apply equally to those non-contact electrostatic voltmeters cited above. To measure, you need to first zero them away from the measured system (or with it discharged), then bring them to a specified distance. They are using capacitive division where the "input" capacitor is the proximity of the probe to the measured system.