Hello,
some days dreams come true.
See also:
https://www.eevblog.com/forum/metrology/ad587lw-10v-precision-travel-standard/msg3737494/#msg3737494On the way of my ADR1001 reference with temperature controlled PWM correction of the output voltage I thought it was a good idea to test the new cirquit parts on a cheaper AD587JQ device. And I think it was not wasted time...
The design is called AD587TC (AD587 Temperature Corrected).
AD587TC hardware description: (see attached .PDF)
The upper part of the schematic is the battery charger and the 14V supply for the AD587 reference.
It is completely overtaken from AD587LW cirquit.
The reference is AD587JQ (Cerdip package). I have selected a device which has ~2.4 ppm/K.
The rough trimming is done either by R25 or R26 (some ppm below 10.00000V).
The fine trimming (only upwards) is done via T3 per PWM with the trim range determined by R4+R5 together with the trim pin resistance.
PWM is filtered by a 2nd order low pass filter (C22 + C23).
The output is buffered by U5 (ADA4522-1) and protected by a EMI filter and a transient zener.
5V supply for the processor is done via XC6216 which is also the reference voltage for battery voltage sensing.
NTC R22 senses the AD587 temperature. The 12 bit ADC of U1 gives a resolution of ~0.025 deg C.
A 3rd order temperature correction can be calculated to give a 24 bit sigma delta PWM to the PWM output.
From the 10 Bit Hardware PWM only the upper 8 bits are used together with a dither to create 24 bit resolution.
PWM frequency is chosen as multiple of 300 Hz (1200 Hz with a 2.4576 MHz X-TAL) to give a good PWM suppression within usual NPLC sampling of DMMs (50/60 Hz).
The total cirquit needs ~4.7 mA. The processor takes ~1.3 mA @ 2.45 MHz since the PWM has to be always active. The Interrupt all 833 us with the PWM calculation takes around 50% of the processor load. ~1 mA is for the output buffer and the rest for the reference and the power supply. With low battery there is also a low power off state which switches off the reference and most of the processor internal peripherals resulting in ~30-40 uA average current for sampling the ADC from time to time.
First changes during initial operation.
During power on I recognized a overshoot on the 10V output. So I had to reconnect C22 from GND-Pin to Pin6 from reference U2 to avoid this.
Since I did not want to use a costly ADG419 Multiplexer, I tried a simple BSS138 FET pulling the Trim-Pin down to increase the voltage. But the leakage current introduced a large non-linearity (and reduction of the trim range). As a work around I used 47K pull up and a 110K pull down at the Drain of the FET. This way I meet the idle voltage on the trim pin so that the trim range is not changed.
I had forgotten to spend a Transient Zener on the output. Fortunately it fits on the solder side of the pins of C14.
Initially I wanted to have a smaller trim range by PWM (22Meg for the PWM-Filter). But then I decided that with 24 Bit PWM I could use a larger trim range which also could allow some ageing compensation (later). With the 10 Meg in PWM filter I get +/-100 ppm trim range.
with best regards
Andreas