Idea to build a new type of voltage reference  - Page 1
Forum section: electronics / general

author: eurofox
author_rank: Unknown
timestamp: July 17, 2018, 02:34:37 pm
content: Hi volt-nuts,Something cross my mind when I wanted to build a prototype of voltage reference with AD587Q, yes I got 5 AD587Q.Why the Q version? because they are more immune to humidity than the plastic versions.To correct the temperature effect oven or NTC?Oven use more powerand NTC is far from perfect due linearity.The trimming is done with a voltage correction on pin 5 in te case of the AD587.Instead of using a voltage divider why not using a microcontroller with an analog output 10 or 12 bits, a precise temperature sensor physically connected to the reference IC, analog input of 10 or 12 bits to the microcontroller and a lookup table with temperature/voltage correction.This should be much more accurate that all other system, it could even take care of the tempco correction of resistors used.Now of course we should check if 12 bits is enough precise to have an accurate correction.This is just an idea that cross my mind.

author: Echo88
author_rank: Frequent Contributor
timestamp: July 17, 2018, 02:44:38 pm
content: I remember vaguely Andreas used to do this:https://www.eevblog.com/forum/metrology/digital-adjustment-of-voltage-reference-output/msg1376666/#msg1376666

author: Andreas
author_rank: Super Contributor
timestamp: July 17, 2018, 06:49:47 pm
content: Hello,Quote from: eurofox on July 17, 2018, 02:34:37 pmI do not think that it is much more accurate. But it will be more flexible to 2nd and 3rd order corrections.And you can most probably compensate a wider temperature range e.g. from 10-40 deg C.The tempco of the resistors is already taken care by the design of Lars.The drawback is that you will introduce additional quanisation noise to a analog cirquit.12 bits is a compromise.Typically you would like to compensate a <=2 ppm/K (selected) reference over a temperature range of 30 deg C+ some headroom for ageing.So with a 12 Bit D/A converter you have >= 0.02 ppm (200 nV) steps.From NTC side a 12 Bit ADC gives ~0.025 deg C/step.Again with 2 ppm/K this gives 0.05 ppm quantisation noise.This shows that you want in reality a < 1 ppm/K reference (hard to find) or a higher ADC-resolution.Quote from: Echo88 on July 17, 2018, 02:44:38 pmUp to now it is only a design idea. (so not tested yet).In the mean time I have already thought of using one of the 16 Bit PWM outputs of the processor forthe correction output instead of the 12 Bit DAC.But of course you might get more noise by the PWM than by the DAC.So I have planned either to use 100 Hz (50 Hz mains supression) or 244 Hz (simultaneous 50/60 Hz supression)when measuring with 10 or 100 NPLC.with best regardsAndreas

author: rhb
author_rank: Super Contributor
timestamp: July 17, 2018, 08:45:57 pm
content: You might want to take a look at this:www.ti.com/lit/an/slaa694a/slaa694a.pdfThe MSP430F677x series provides 24 bit delta sigma ADC, but the eval board is over $300. For temperature sensing you should be able to get 16-19 bits from a 14 bit ADC. The note above demonstrates 12 & 15 bits with a 10 bit ADC.TI has sample code available.

author: IconicPCB
author_rank: Super Contributor
timestamp: July 17, 2018, 09:04:42 pm
content: 244Hz?

author: GigaJoe
author_rank: Frequent Contributor
timestamp: July 17, 2018, 09:12:06 pm
content: PWM for adjustment actually an interesting idea. high frequency PWM would-be well filtered . 3-th order RC , somethingrelated:https://www.ti.com/lit/an/spraa88a/spraa88a.pdf

author: Andreas
author_rank: Super Contributor
timestamp: July 17, 2018, 09:31:04 pm
content: Quote from: IconicPCB on July 17, 2018, 09:04:42 pm16 MHz / 65536 ~ 5*50Hz ~ 4 * 60 Hz (+/- 2%)Close enough as the line frequency has a 3% tolerance.Quote from: rhb on July 17, 2018, 08:45:57 pmI do not believe the "oversampling fairy tale".In 10-12 Bit ADC systems I usually get not enough noise to get something other than a staircase when averaging values.(except when being exactly at the trigger level).And usually the DNL of a ADC does not guarante that you can improve resolution without missing codes.In the example there are 300 measurements averaged for each data point.So with oversampling theory the temperature resolution should be below 0.001 deg C.But what you see is the 0.1 deg C resolution of the 10 Bit ADC with corresponding staircase steps when the temperature change is slow.with best regardsAndreas

author: rhb
author_rank: Super Contributor
timestamp: July 17, 2018, 11:47:12 pm
content: In the 1970's Sam Allen was collecting 16 bit seismic data from 1024 channels using single bit ADCs. This was when 48 channels of 16 bits was the state of the art for other systems. It had many exemplary properties, but was difficult for most people to grasp. So that and the rapid pace of electronics system development passed him by.It certainly works, but you do need to get the implementation right. You have to meet the conditions imposed by the mathematics. It's been my observation that very few people are prepared to do the work required to understand the mathematics and meet the conditions. So they dismiss their failure as a "fairy tale".

author: CatalinaWOW
author_rank: Super Contributor
timestamp: July 18, 2018, 12:25:47 am
content: When the requirements are met oversampling works just fine. The requirements are not esoteric. In some cases it is necessary (and justified) to add noise to make the approach successful. In other cases deviations from the required characteristics may result from smaller than expected improvements in resolution, or introductions of biases may occur. In all cases there is a reduction in bandwidth, but in very many cases a voltage reference needs very little bandwidth.One of the things that seems to be missing in this and other threads on the subject is a solid discussion of the needs, problems and resources associated with a particular problem. For example Andreas mentions a need to compensate for temperature over a 30 C temperature range. This might be true for a portable reference, but for a lab bound reference it may well be better to ovenize. Then it can be decided whether to do compensation over a much smaller temperature range or spend effort on extreme oven stability.Best can only be defined against a specific problem with specific limitations on resources.

author: EmmanuelFaure
author_rank: Regular Contributor
timestamp: July 18, 2018, 02:22:51 am
content: The drift compensation is already done that way in the LM4140 from TI (Former National Semi) :http://www.ti.com/lit/ds/symlink/lm4140.pdfQuote

author: borghese
author_rank: Regular Contributor
timestamp: July 18, 2018, 05:43:39 am
content: Yes, but the temperature coefficient is only 3 ppm/°C

author: EmmanuelFaure
author_rank: Regular Contributor
timestamp: July 18, 2018, 11:14:59 am
content: ""only"""

author: iMo
author_rank: Super Contributor
timestamp: July 18, 2018, 12:22:02 pm
content: Quote from: Andreas on July 17, 2018, 09:31:04 pmMost probably a bug in your code. The ADCs in any MCUs do up to +/- 5 counts per reading with good pcb layout and decoupling, best case perhaps +/- 1 count.When averaging 300 measurements you simply cannot get the staircase there, no way, imho.

author: Andreas
author_rank: Super Contributor
timestamp: July 18, 2018, 08:24:48 pm
content: Quote from: imo on July 18, 2018, 12:22:02 pmHello,If this is at 10 Bits resolution: try a better suited MCU.(or use a linear regulator instead of a switch mode).And even in a 12 Bit 5V system I usually have not much fluctuations.In the same PCB I also have a 24 Bit ADC with ~10uV specced noise.And even this ADC has no increased noise by the controller.So do not tell me that +/- 5 counts (+/-25000 uV) in a 5V system are "normal".The last time I have seen 5-6 counts it was a official errata in a 32 Bit processor.Of course you should not switch heavy loaded pins during ADC conversion.attached the same measurement as above as raw values (not averaged).So I fear there is not much room for improvement of the software.with best regardsAndreas

author: CatalinaWOW
author_rank: Super Contributor
timestamp: July 19, 2018, 12:09:14 am
content: A case where added noise is necessary if looking for added resolution via oversampling. Adding noise is not all bad. You have control over noise that you add and can assure that it has the proper statistical properties.

author: iMo
author_rank: Super Contributor
timestamp: July 19, 2018, 06:07:25 pm
content: Quote from: Andreas on July 18, 2018, 08:24:48 pmUsually we mess with 3.3V and 12bits today, with 2.5V ext ref you are at different noise levels. And dithering (caused by that noise, best white) is good/necessary/required with oversampling/averaging, as mentioned above.