I want to do datalogging on solar strings in the 600V range +-100V. Would prefer accuracy close to 1%.

  • 2
    \$\begingroup\$ What range will this signal be in, will it always be close to 600V, (ie 558V to 602V?) and what accuracy do you need on the measurements? These are values are critical to knowing what solutions can work. \$\endgroup\$
    – Kortuk
    Commented Jun 10, 2012 at 15:01
  • \$\begingroup\$ Protecting against overvoltage becomes almost a requirement at this level. Isolation amps are a good solution. \$\endgroup\$
    – CivFan
    Commented Nov 4, 2015 at 19:43

3 Answers 3


This answer was written when the question only mentioned 600 V. Since then the 600 V \$\pm\$ 100 V requirement was added.

All you need is a microcontroller with an ADC (Analog-to-Digital Converter) and a resistive voltage divider. Let's presume you'll use a 5 V microcontroller.

enter image description here

VIN is your solar strings' 600 V, VOUT is the 5 V to the microcontroller's ADC. The 600 V will cause a current of I = 600 V / (R1 + R2), and that same current causes a voltage I × R2 across R2, so that

\$V_{OUT} = \dfrac{R2}{R1+R2} V_{IN}\$

Let's look at the required current first, and then get our resistor values from that. Nick is right when he mentions the 1 µA leakage of the microcontroller's I/O pin, but I don't agree with his measures. Having 10 times the leakage cuurent through your voltage divider gives you a 10% error at 600 V, when you easily can go for 1% by choosing a 100 µA current.

enter image description here

The blue graph shows the maximum error in % due to the 1 µA leakage current, as a function of input voltage, at 100 µA through the divider. You can see that it stays below 2% for voltages higher than 300V. The purple curve shows the error if you use 10 times high resistor values, like Nick does. So 100 µA is OK, 10 µA is too little.

600 V × 100 µA = 60 mW, so we probably won't have problems there. 600 V/100 µA = 6 MΩ, so a 5.95 MΩ + 50 kΩ divider will give you 5 V out at 600 V in. For the 5.95 MΩ you can use 1% Yageo HHV-25 resistors, a 4.75 MΩ and a 1.2 MΩ in series give you the required 5.95 MΩ. The HHV-25 series has a working voltage of 1600 V and a 1/4 W power rating. For the 50 kΩ any 1% metal film resistor will do.

  • \$\begingroup\$ I was using a little mix of pragmatism as the typical leakage is 0.025 µA (not mentioned) and figuring if it was going to be at worst-case there are other things to worry about. \$\endgroup\$
    – Nick T
    Commented Jun 10, 2012 at 18:56
  • \$\begingroup\$ @Nick - If it's typically 0.025\$\mu\$A (how do you know that?), but maximum 1\$\mu\$A you have to work with maximum, or you may be in for an unpleasant surprise. 300V may read as 240V. \$\endgroup\$
    – stevenvh
    Commented Jun 10, 2012 at 19:00
  • \$\begingroup\$ Because that's what it says on the datasheet and various app notes. I understand the error, but for the application I'm imagining the conditions will be far from that 1 µA. In strict theory it would be prudent to use a higher bias current. \$\endgroup\$
    – Nick T
    Commented Jun 10, 2012 at 19:10
  • \$\begingroup\$ Unrelated note; you can use HTML character codes, e.g. µ (or μ) and Ω in posts to save typing (they're shorter than writing the entire TeX call), look better (they're italicized by default which clashes with the rest of the text), and save dozens of MathJax calls (can take a noticeable amount of time). In comments you can't use them, but for some common codes, µ/Ω you can use Alt+230 or Alt+234 (µ and Ω, respectively) \$\endgroup\$
    – Nick T
    Commented Jun 10, 2012 at 19:21
  • \$\begingroup\$ As a side note, knowing if that error becomes significant is very dependant on the voltage range that is required. I think both @NickT and steve have valid answers, you cover a bit more detail stevenvh, but if he is only answering measuring for 550V to 650V then the difference is not as severe and can be easily calibrated. Also, I find devices rarely have worst case current draw, and if .025uA is typical it probably is the number to design with for 1 off projects. \$\endgroup\$
    – Kortuk
    Commented Jun 11, 2012 at 7:11

What's a good sensor for measuring high voltages
I want to do datalogging on solar strings in the 600V range.

A simple resistor divider is suitable.
BUT It is vital to note that while component dissipation ratings are important,
the limit to acceptable voltage drop for high value resistors is usually manufacturer specification limited and NOT usually dissipation limited.

If you are not prepared to spend time and effort guaranteeing that the dollar or few resistors that you use meet the requirements below then it will probably pay to but a premade divider, also from a reputable source. These are less liable to suffer "provenance issues".

DIY issues:

For a resistor R at Voltage V,
Power dissipated = P = V^2/R
So V = sqrt(P x R)

So, for example, a 10 megohm resistor rated at 1/4 Watt will tolerate a dissipation limited voltage of sqrt(0.25W x 10E6 ohm) = 500 Volt.
However, in practice the actual rated voltage will depend on package style and will usually be below or much 500 volts per resistor.

Individual manufacturers data sheets will advise allowable ratings.
if you do not know the brand and/or if the manufacturer does NOT provide voltage ratings do not use the resistors for high voltage divider use where flaming catastrophic failure is not an acceptable option.

Use only metal film resistors.
Discussion: No.
Next topic.

1% resistors cost little more and give slight extra certainty of quality compared to lower tolerance parts BUT
buy only known brtand resistors from reputable suppliers.
Resistor failures can and do cause problems far in excess of their cost. In high voltage applications it is utterly not worth using resistors which cannot be guaranteed to be from a known high quality manufacturer.

If in doubt, buy Panasonic :-).
Panasonic have mastered the art of providing quality passive components about as well as anyone. They are by no means the only brand worth buying, but if you buy something else, know why you are doing it.
(Full disclosure: I have no interest in Panasonic financial or other, apart from being impressed with their products).

Specifications for Panasonic's thick film chip resistors from 01005 to 2512
are summarised in this data sheet

I've included a copy of the relevant spec table from the above data sheet at the end of this post, but the max allowed oltages with pkg size are worth noting.

Absolute maximum voltage ratings are

500V 1812, 2010, 2512,
400V 1210, 1206
200V 0805
150V 0603
100V 0402
50V 0201
30C 01005

01005 are probably also a breathing hazard :-)

I'd say that a minimum of 2 x 500V rated parts should be used at 600V nominal max, and 3 x 500V rated parts would be sensible.

Use of very high resistance values is unwise unless very special needs exist - in which case very special precautions need to be taken.
Anything above 10 mehohm would be liable to be competing with leakage, happenstance and Murphy in real world conditions. Even at 10 megohm you would certainly want conformal coatings and precautions against surface contamination.
1 megohms max per resistor is probably tolerable in most cases.
For example, if 600V is to be measured and 3 x 500V max resistors in series are used, then Vmax per resistor = 200V.
Power = V^2/R = 200^2/1,000,000 = 40 mW
Current = 200V/ 1 MOhm = 200 uA.

At 600V and 200 uA power lost from the source is 120 mW.
Liable to be very tolerable in almost all cases and able to be allowed for in calculations.

enter image description here


Unless you're dealing with high frequency signals (e.g. a tesla coil), a simple resistor divider down to the range of an ADC (0-10 V or 0-5 V) is the best way. Depending on the accuracy you want, use a bias current 10 to 100x what the ADC's leakage is.

e.g. the leakage on my micro's pins can be up to 1 µA (maximum at 85 °C), so I'll use a bias current of 10x that; 10 µA (600 V × 10 µA = 6 mW, so no problems with power dissipation). Therefore, total resistance needs to be 600 V / 10 µA = 60 MΩ. The divider ratio is 5/600 = 1/120 (Note, I'm assuming 600 V is the absolute maximum you'd want to measure; if "600 V range" means something like "occasionally up to 800 V", then adjust as appropriate), so the lower resistor in my ladder should be 60 MΩ/120 = 500 kΩ, and the top the remainder; 59.5 MΩ.

Practically, choose resistors that are close (err on the side of the lower resistor being proportionally lower in resistance) and back-calculate from there; e.g. a 49.9 MΩ and a 412 kΩ. The only issue you might run across for high voltages (higher than you're looking at) is if the resistor can withstand it; so check the datasheets. The 49.9 MΩ can take 1600 V. If you needed to measure a higher voltage; size up your resistor or use multiple. If you're looking to low-ball it, you could submerge them in oil and probably exceed the rating many times

And as always with high voltages, even if your components can handle it, your board needs to as well. Keep traces an appropriate distance apart.

  • \$\begingroup\$ Beware that high voltage high MOhm resistors will behave like varistors and will be non-linear. The higher the voltage the lower the resistance after about 200..300V. You will need to calibrate the data aquisition part against some known reference. \$\endgroup\$
    – user924
    Commented Jun 10, 2012 at 0:33
  • \$\begingroup\$ @RocketSurgeon could you be more specific? I know very high MΩ resistors can become non-ideal, but what compositions are problematic? \$\endgroup\$
    – Nick T
    Commented Jun 10, 2012 at 1:24
  • \$\begingroup\$ @RocketSurgeon carbon composite resistors seem extremely rare nowadays, carbon film may have similar issues but it's also dying out. It seems like resistor material & manufacturing has gotten cheap/precise enough that the table you cite seems obsolete (unless you have a more up-to-date reference). \$\endgroup\$
    – Nick T
    Commented Jun 10, 2012 at 3:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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