Trying to build a precision voltage source.  Best way to trim a LTZ1000A? - Page 1
Forum section: electronics / beginners

author: JoeN
author_rank: Frequent Contributor
timestamp: December 06, 2015, 08:51:50 pm
content: OK, here is my thought for an (expensive) project - a programmable voltage source. Maybe this would be easier in principle with some sort of precision resistor network but I was thinking a high-end DAC like the AD5791 might be a good choice for a voltage source that can be computer controlled. In fact, AD already has an overall completed design for exactly this idea (see product page for AD5791). My problem, conceptually, is the reference, a LTZ1000A. Now, lots of the advice I have been reading concerning references is to trim it in software. But, it occurs to me that if you get the right reference voltage, you can make your 1-bit steps on the DAC very "even" and predictable. For example, a 20 bit DAC has 2^20, or 1,048,576 steps. If you had a rock solid reference of 10.48576V and the DAC is as good as Analog says, that would imply 10uV per step, very easy to calculate and allow the user to dial in. If you could also provide a rock solid reference via a divider of 1.048576V you could do that range down to the uV. The issue is how to trim out the LTZ1000A to exactly 10.48576V, divide that down to exactly 1.048576V, and maintain the excellent tempco. I am not sure how to do that. With other references such as the ADR44x, fine trimming is achieved via a low-tempco pot. On the LTZ1000A datasheet, they don't even suggest that method. Everything is done via low-tempco fixed resistors. But how can you ever get a 1ppm precision out of the source with fixed resistors? You will never find the exact right value, not to that level of precision at least. Anyway, that doesn't solve the problem of gross trimming and taking the output from 7.2V (nominal) to exactly 10.48576V. Is that possible or is that a fool's errand? Both the LTZ1000A datasheet and the AN for the AD5791 gives a solution for adjusting the voltage to +7V or +10V/-10V, but I don't understand how that voltage can be guaranteed to more than a few digits without some sort of user adjustment. It looks like it would be guaranteed to be precise, but not accurate. But there is no adjustment here. I would have expected some low tempco pot in the op-amp feedback to trim that out. Does the pot ruin the tempco? Why is that not there? What am I missing here?Thank you.

author: Kleinstein
author_rank: Super Contributor
timestamp: December 06, 2015, 09:11:30 pm
content: With many DACs the accuracy is not that good to make the LSB steps all the same size. So even if you have that magic reference voltage, the steps will be somewhere in the 3 µV to 20 µV range. In this case doing adjustment in software does not increase the indevidual erros very much - though the error will be a little higher.It is possible to use some kind of trimming with the circuit to produce an exact +-10 V of whatever reference. However the trimming resistors can produce some extra TC errors. To reduce the effect of trimmers one should have the trimmers only do really fine tuning by something like 1 % or less and do the rest of the trimming with selected fixed resistors. Also make sure that there is no need to match the TC of the trimmer to the fixed resistors. This often means having the trimmer over the full divider voltage and couple the wiper of the trimmer via a relatively high value resistor to the fixed divider.

author: Cliff Matthews
author_rank: Unknown
timestamp: December 06, 2015, 09:14:18 pm
content: Perhaps EEVblog's longest thread ever ishttps://www.eevblog.com/forum/projects/ultra-precision-reference-ltz1000/It's all been said before and it's like reading a book, but dang-it, that's why I love this place.. Happy reading!

author: Andreas
author_rank: Super Contributor
timestamp: December 06, 2015, 09:27:26 pm
content: Hello,simply use a 2nd AD5791 and a precision 100:1 resistor divider to do the adjustment in software.With best regardsAndreas

author: JoeN
author_rank: Frequent Contributor
timestamp: December 06, 2015, 11:56:08 pm
content: Quote from: Andreas on December 06, 2015, 09:27:26 pmI can't see what you are getting at. Can you describe the design idea here more or provide a link to something similar where one DAC is doing the adjustment for another? Thanks for any help.

author: Vgkid
author_rank: Super Contributor
timestamp: December 07, 2015, 12:03:49 am
content: Would it be easier to divide the 7v ref to the 1.04v then gain it by 10x to the 10.4v.

author: Theboel
author_rank: Frequent Contributor
timestamp: December 07, 2015, 12:05:13 am
content: Hi,Is that easier if You use a compensation scheme in Your software than adjust the reference ? Like what the manufacture done when they calibrate their DMMThank You

author: JoeN
author_rank: Frequent Contributor
timestamp: December 07, 2015, 12:37:30 am
content: Quote from: Theboel on December 07, 2015, 12:05:13 amThis is a DAC scheme and not a ADC scheme. How do you compensate in software if you want to allow the user to increment the voltage by 10uV and a bit code to the DAC doesn't land on a 10uV increment? Compensate in software by sending it a fraction?Not going to happen in this world. I figured the only way to do this was to have a really, really accurate reference. Of course, as was already pointed out, I may be giving the DAC too much credit for accuracy/linearity anyway... I may have to experiment quite a bit to get this to work satisfactorily.

author: Andreas
author_rank: Super Contributor
timestamp: December 07, 2015, 05:41:59 am
content: Quote from: JoeN on December 06, 2015, 11:56:08 pmHello,I think you will have to read many application notes before you can start your project:The principle is in AN86 of Linear Technology if you replace the 16 bit DACs by the 20 bit DACs.For the servo loop you will need a precision 2:1 divider (LTC1043) if you want a full 10 V output.The LTC2400 could be supplied by a 3/4 precision divider (LTC1043) out of the 7.2 V.With best regardsAndreas

author: timb
author_rank: Super Contributor
timestamp: December 07, 2015, 07:29:25 am
content: Quote from: Andreas on December 07, 2015, 05:41:59 amThis is pretty much the only way to do it.

author: Dr. Frank
author_rank: Super Contributor
timestamp: December 07, 2015, 08:14:22 am
content: Quote from: JoeN on December 06, 2015, 08:51:50 pmHello JoeN,you really have a complete misconception about such references like the LTZ1000 (also SZA263, LTFLU in the Fluke 732A/B).These "reference amplifiers", as they are also called, deliver an extremely stable, fixed output, which has anartefactcharacter, meaning that they can not be trimmed to an otherwise intended value.Their absolute output values are at first dependant on the topology of the circuit, i.e. a ~6.75V zener diode plus a ~ 0.45V BE junction, and on the oven temperature, which is also fixed.A very small, but not intended, trimming is possible by variation of the driving currents of the zener and the transistors collector current.So it's also completely impossible to "trim" the LTZ1000 to 10V or above, that idea is absolute nonsense, indeed.You also confuse the terms "precision" and "accuracy", when you instead mean, that you need integral voltage output values to base 10 or base 2.The artefact output of the LTZ1000, when once measured, may indeed be precise to < 1ppm absolutely, and indeed accurate to e.g. < 1ppm/yr or < 0.1ppm/K, as it will not change much over time and temperature.These other references, you are referring to, also have a fixed core reference, like the 1.22.. 1.25V for the bandgap type.These all are amplified by internal resistors and an OpAmp to the 10.00V or 10.24V.Also here, the reference itself cannotbe trimmed, but the amplification resistors only.So the problem with instabilities caused by resistors apply to ALL such voltage references.So you would omit all resistive dividers / amplifiers in first instance, and only use a precision DAC (high resolution and linearity, I.e. 24bit, <<1ppm linearity), to divide the LTZ1000 output precisely.To get outputs of >= 10V, you would stack two LTZ1000s for a nominal 14,4V reference.To get integral values (base 10 or base 2) out of that DAC, you only need one initial calibration for the DAC output, like 10V output equals 11650844 digital units, or 10.24V equals 11930465.(example for 14.4000V , 24bit DAC).Simply forget your idea of making one bit of the DAC an integral output value (like 1 bit equals 1.0000mV, or so).This instead is done by software, using "fractional" numbers for integral outputs. (That REALLY works in practice!!)Anyhow, to get other volt ranges (1V, 100V, 1kV), you always have to divide or amplify this DAC output with resistors, which again involves all of their instabilities.For better understanding of these principles, I recommend to read the Fluke 5440B service manual, how to implement a really precise DAC (PWM type) and to overcome the resistor problem.That's described in the addendum: "Recent Innovations in Direct Volts Calibrator Design".Frank

author: dom0
author_rank: Super Contributor
timestamp: December 07, 2015, 05:18:43 pm
content: Quote from: JoeN on December 07, 2015, 12:37:30 amYou think at DC. Think time domain. Think pulse-modulated input code. Since steps are small, settling time is small, too. AD5791 datasheet specifies a typical settling to +- 1 LSB (of a 500 LSB step) of 1 µs.

author: JoeN
author_rank: Frequent Contributor
timestamp: December 08, 2015, 01:09:15 am
content: Quote from: dom0 on December 07, 2015, 05:18:43 pmSo alternate between two adjacent codes with a certain duty cycle, determined experimentally? What would be the appropriate filter to deal with the output and get it back into DC? How good would the DC "quality" be after that?

author: dom0
author_rank: Super Contributor
timestamp: December 08, 2015, 11:41:33 am
content: Not necessarily PWM, a sigma-delta code might be more useful (tend to have less LF content) Edit: And not necessarily a two-level pulse. If you want to calibrate multimeters or something using line frequency locked averaging it's probably a good idea to lock the pulses to line frequency, too. This way the line frequency NMRR of the DMM aids in rejecting your pulses.Re. filter, well, I dunno. LPF depends on how fast your pulses can go (~ cut off frequency), what "noise" on the output is acceptable (~ stop band attenuation) and how fast settling of large steps should be (~ cut off frequency, again). But you probably need maybe 3rd or 5th order filter with a relatively high cut-off to have sufficiently fast settling time. Maybe even non-linear filtering (faster settling for large input steps, the simplest implementation is to split the R of a RC time constant in two parts and bridge one with a diode, for small steps the diode is somewhat near cutoff, for large steps it conducts and reduces effective R and time constant).

author: Kleinstein
author_rank: Super Contributor
timestamp: December 08, 2015, 05:03:10 pm
content: If PWM modulation is only used to increase the resultion a little, there is not need for so much filtering, as the amplitude is only small (e.g. 1 or maybe up to 10 LSB if additional dithering is used to reduce DNL errors).

author: douardda
author_rank: Regular Contributor
timestamp: February 19, 2016, 10:59:17 pm
content: Hi,I've been thinking of making a quite decent (adjustable) voltage reference and I've though about using the AD5791 also. Analog Devices sell a development board for the DAC with a part of the board unpopulated and undocumented, but obviously this part is for a better vref. I've done a quick reverse engineering of the PCB and I'm pretty sure it's exactly the LTZ1000's example 7v reference circuit.Has anyone ever tried to use this board and populate this part with this LTZ1000 ref? What would be the accuracy one could expect from such a design?PS: I'm still in the process of reading the several subjects on the forum about voltage reference, LTZ1000 and other lm399...David

author: quantumvolt
author_rank: Frequent Contributor
timestamp: February 20, 2016, 05:30:48 am
content: Quote from: douardda on February 19, 2016, 10:59:17 pmSure it is LTZ1000. The schematic from ADI is the first schematic in this thread.I have the AD5791 demo board, and have tried to populate the LTZ1000 part (stupid of me). It is imo useless - everything (except from the LTZ1000, but including precision resistors) is supposed to be SMD. Only if populated by machine could the board possibly be OK. I have never seen a populated board, and there must be a reason. Yep, keep your reference on a separate board.I never got it to work properly, so I teared it off again. I suspect my LTZ1000 from eBay was not working properly. So I bought a reference board from HP3458A instead. Now I feed the DAC evaluation board from the HP board through a resistive divider: LTZ1000 nominal 7.2v to 5v to DAC board (5v ref input internally amplified to 10v in the DAC support circuitry).I am kind of out of precision volt stuff so the boards are just lying around. If anyone is interested I might sell the EVAL-AD5791 with the USB-SPI interface board for the ADI software and the HP3458A LTZ1000 board as a packet.Just tell me and I will upload some pictures.

author: Andreas
author_rank: Super Contributor
timestamp: February 20, 2016, 05:55:17 am
content: Quote from: douardda on February 19, 2016, 10:59:17 pmHello,this depends mainly on the leakage current of C12 (unknown).And the stability of the scaling resistors R45-R48.So in best case some ppm absolute for the AD5981 + the LTZ drift for one year.And around 1 ppm/K for R45-R48 (+ up to 25ppm/year)But I am not shure if on the photo really VSMP resistors are populated.Looks more like standard thin film resistors with 15ppm/K or 5 ppm/K.Similar results would be possible with a AD688 in ceramic DIP package.With best regardsAndreas

author: douardda
author_rank: Regular Contributor
timestamp: February 20, 2016, 02:35:57 pm
content: Quote from: quantumvolt on February 20, 2016, 05:30:48 amWhat kind of problem did you encounter?Quote from: quantumvolt on February 20, 2016, 05:30:48 amSure (I could be interested).David

author: JoeN
author_rank: Frequent Contributor
timestamp: February 20, 2016, 07:24:55 pm
content: Quote from: douardda on February 19, 2016, 10:59:17 pmThe schematic I posted is the voltage regulator section from that board. My problem with it is that it contains a bunch of extremely ($20) expensive precision resistors and many of them look like there is no stock anywhere. That's why I was looking for a secondary way to trim the LTZ1000A rather than this setup.

author: douardda
author_rank: Regular Contributor
timestamp: February 20, 2016, 09:43:57 pm
content: Quote from: JoeN on February 20, 2016, 07:24:55 pmYes that's mostly why I posted my question in this thread.Quote from: JoeN on February 20, 2016, 07:24:55 pmOk, but I'm not sure I understand this statement about these hard to find resistors. Unless I missed something, resistors with 0.01% +/-0.2ppm/°C specs are available on digikey for a price between 5 and 12€ (sorry).BTW, where does the first schematic (+/-10V) come from? I've found the second one (labeled 7V Positive Reference Circuit) in AD documentations, but not the first (+/- 10v) one.PS: I'm also reading the very interested work made by Illya Tsemenko on xdevs therehttps://xdevs.com/article/kx-ref/I've also loved the work published there about the HP3456A which happens to be the best DVM I have for now. Old, but very very nice.David

author: douardda
author_rank: Regular Contributor
timestamp: February 20, 2016, 11:28:00 pm
content: BTW I've just noticed the small text in the first schematic provided by JoeN in its first post:Analog will not supply the boards with LTZ1000 circuit due to cost. The customer can build the circuit themselved if they wish.Quote from: quantumvolt on February 20, 2016, 05:30:48 amThat might be the reason :-)

author: quantumvolt
author_rank: Frequent Contributor
timestamp: February 20, 2016, 11:40:51 pm
content: Quote from: douardda on February 20, 2016, 09:43:57 pmI am not sure I know which schematic you refer to as 'the first' one, but it should be mentioned that the evaluation board is STANDARD configured for 5v reference (connector VREF on the upper right side of the board). This 5v ref is then scaled to +-10v so that you can use the DAC as a +- 10v source with step size 19uv. There are other configurations too.Schematic for the scaling op amps for 5v to +-10v is in fig. 10 page 10 inhttp://www.analog.com/media/en/technical-documentation/user-guides/UG-185.pdf.PS On second thought - before I upload anything and describe my experiences with the ADI board, I need permission from the OP. Alternatively you could start a new thread or use one of the many old ones on AD5791.

author: JoeN
author_rank: Frequent Contributor
timestamp: February 21, 2016, 07:52:05 am
content: Quote from: douardda on February 20, 2016, 09:43:57 pmThe file EVAL-AD5791SDZ-SCH-RevA1.pdf within the archive CN0191-DesignSupport.zip from Analog Devices. This is the schematic for the eval board. That specific panel is the unpopulated high precision reference section, obviously.It looks like they protect this file a little bit. You may be asked for some information first:http://www.analog.com/en/search.html?q=CN0191-DesignSupport.zip

author: douardda
author_rank: Regular Contributor
timestamp: February 22, 2016, 05:20:48 pm
content: Quote from: JoeN on February 21, 2016, 07:52:05 amThanks, I did miss this doc on AD website.David

author: tszaboo
author_rank: Super Contributor
timestamp: February 22, 2016, 05:35:11 pm
content: So why not just order a bunch of trimmed bulk metal foil from vishay? They sell it at digikey. VSMP series, they are 2ppm (after marketing BS).BTW Linear doesnt say how to trim it, because the circuits to do this are not straighforward, and they are several component. Meaning, that connecting the 20 bit DAC is the easy part.

author: JoeN
author_rank: Frequent Contributor
timestamp: February 23, 2016, 06:08:42 am
content: Quote from: NANDBlog on February 22, 2016, 05:35:11 pmThis is new information for me. I didn't know this could be done except at the manufacturer and I thought it would be unreasonable. That looks like an actual option. Thank you.

author: quantumvolt
author_rank: Frequent Contributor
timestamp: February 25, 2016, 03:06:04 pm
content: I have sold my last LTZ1000. This (anecdotal) video for the new owner (a member here) could have some general interest.https://youtu.be/qifVn6V9ECIEdit: Video link.