You could use a bandgap reference technique. This method, for creating a temperature-independent reference voltage, is commonly used.
Basically, a band-gap reference can be constructed by simply using two transistor emitters to generate a reference voltage.
Although silicon's (Si) bandgap at 0K is technically 1.165 eV, using it gives you a reference around 1.2 to 1.3V, with circuits that use bandgap voltage reference like the 78xx, 79xx, TL431, LM317 and LM337 using a fixed reference of around 1.25V.
As I proposed in the question “Zener diode as voltage limiter in a voltage divider”, you can use the bandgap circuit (shown in the question and the simulations below) to give you a measurement of 1 Volt when testing for each DC reference voltage. You will just need to work out the “Reference resistor” value for each range as indicated in the simulations.
The Rsense resistor value follows the formula:
Rsense = 10* Voltage to be tested – 10
Unfortunately, the simulation shows a precision of up to +6%, not the 0.1% you requested. However, you could look for an output voltage between 966mV and 967mV (a difference of only 1m volts) instead of 1V initially proposed. This will give you a very good precision as indicated by the 500V chart below:
EDIT 1: Let’s provide more information.
Let’s say you have a power supply that needs to have a precise voltage output or a sensor circuit that needs to read a precise voltage. In either case, you will need a way to calibrate a power supply so you can read a precise voltage. Of course the 0.1% accuracy will be critical and depend on the precision of the components. Also, the circuit needs to be able to withstand very high voltages.
You can always manually use a voltmeter and read the voltage while adjusting it. However, the idea is to do it automatically.
So, the first think that comes to mind is to use a Zener diode or other voltage reference component like the TL431/TL432 Precision Programmable Reference IC. However, they cannot withstand voltages higher than a few tens of voltage and need to be driven with a few milliamp current, which by itself will alter the voltage being measured.
A voltage divider alone is a possible solution, but the output voltage will be dependent on the voltage being measured and the resistors values. Also, the output voltage will still be outside the range of any equipment that we want to use to make the measurement. For instance, using a microcontroller like the Arduino or an ADC circuit, we cannot have in the output being measured a voltage higher than 3.3V for the Arduino or 7V for some ADC like the MCP3004/MCP3008.
That is why I believe the circuit presented is a possible solution. It works like a low voltage Zener of around 1.2V and do not need to have any current to work. Indeed, we want to be measuring a value when there is NO, or very little, current flowing, which will mean we are in the straight line of the input and output voltages ratio. It is this ratio that we want to measure.
If you look at the chart and circuit below, you can see that the chart starts to curve past the 500V, just below the 1V output value (I mentioned above that we would be using the range of 966mV to 967mV instead of 1V to get a precise value).
How do you use that? You will have a microcontroller circuit that will be reading this voltage (966mA-967mA) while the voltage (500V in the case of this chart) will be calibrated.
You will start with a higher value resistor using the formula presented (Rsense = 10* Voltage to be tested – 10) and lower the resistor value using the formula for different voltages (like you do when measuring current with a meter, starting with the higher current before changing it to a lower one).
Or you would have different circuits for different voltage being calibrated.
EDIT 2: There are many more ways to use the circuit.
Another way would be the use of two of these circuits feeding an Operational Amplifier (OP-AMP) as a comparator. One leg would be fed by a well-known and accurate circuit voltage, let’s say 5V. And the other leg fed by the circuit being calibrated.
What will be important is that the accurate 5V circuit feeding one of the OP-AMP leg will be the reference for the circuit being calibrated. Both, the accurate 5V circuit and the one being calibrated will have the same output value, no matter what voltage you are calibrating.
Below I posted the charts with the voltages.
Thanks.