What if you dispense with the buffer transistors and add some capacitance to your 12V rail?
The continuous current rating will remain the same, but a few uF should prop it up for the brief surges required to charge the gates.
There's also the output current rating of your logic to consider, mostly the peak rating.
A resistor divider will do what you want, but at this voltage there are some issues you can normally ignore:
- The top resistor has to be able to handle 1 kV. Those are harder to get than "ordinary" resistors, and are often not linear with voltage at the high end.
- Power dissipation. Even what would normally be a "large" resistor, like 1 MΩ, dissipates a whole watt when 1 kV is applied to it.
- You need physical distance between two points that have a kV between them for safety and to prevent arcing thru the air.
Due to all these reasons, I would implement the top resistor of the voltage divider with multiple more ordinary resistors in series. For example, 0805 resistors are usually rated for 150 V (your job to check the datasheet). Ten 1 MΩ 0805 resistor in series, physically laid out end to end, can be used as a 1 kV 10 MΩ resistor. The voltage across each resistor will be 100 V or less, which keeps them within spec.
All together, the 10 MΩ string of resistors only dissipates 100 mW, so each individual resistor only 10 mW. No problem here.
With a 10 MΩ top resistor, the bottom resistor of the divider would ideally be 25.06 kΩ to get 2.50 V out with 1000 V in. You want to have a little headroom above the maximum input voltage spec of 1000 V, so a 24 kΩ or even a little lower bottom resistor should do it.
The output impedance of a divider with such a high ratio is basically the bottom resistor value. 24 kΩ may be too high for some A/Ds, so you may want to buffer this with a opamp used as voltage follower.
Best Answer
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.
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.
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.