a question about  temrature drift of signal conditioning circuit - Page 1
Forum section: electronics / general

author: Albert6186
author_rank: Contributor
timestamp: April 30, 2019, 05:42:28 am
content: Hello everyoneI'm a beginner of the analog circuit. I just designed a circuit to amplify the signal of a current transformer. This application will be used under temperature from -40 Celsius to +70 Celcius. My question is whether I should add some correction coefficients to correct the circuit (including opamp, resistor, and capacitor) temperature drift, to keep the AD sample result precision in the whole temperature range. If I should add that coefficient, how can I calculate it?Thank you very much.This is My circuit.

author: iMo
author_rank: Super Contributor
timestamp: April 30, 2019, 12:02:09 pm
content: You've got 2 approaches basically:a. to measure from -40..+70degC and create a cal formula,b. to simulate, in LTspice for example, provided you know TCs of the parts used.

author: ap
author_rank: Frequent Contributor
timestamp: April 30, 2019, 02:19:18 pm
content: Before anybody can give reasonable specific answers you need to specify what your requirements (specifications) are.(At the end of the day you need to do an error propagation calculation considering all parts and their drift rates (temperature, time). RSS method can be used usually where appropriate. That may be painfull, depending on the spec details. Or you can simulate, but that may be overconservative (using worst case drifts). If your requirements are not high the simplistic approach may be to overdesign it and be done with it by demonstrating a high margin against the main/prevailing contributors, which you need to determine first.)

author: Kleinstein
author_rank: Super Contributor
timestamp: April 30, 2019, 04:29:43 pm
content: It depends on the parts used, if some temperature correction is needed. If very stable resistors are used, one could get away without a correction. A correction may allow to use cheaper resistors.It also depends on the needed accuracy.For a precision circuit it's usually a good idea to reduce the number of critical parts to a minimum. A current transformer usually is a low impedance source and there is often some freedom in choosing the voltage range. So one may even get away without any amplification. The shown circuit looks like way to complicated - I would try to use only 1 OP and ideally only 1 critical resistor.

author: Albert6186
author_rank: Contributor
timestamp: May 02, 2019, 10:17:06 am
content: Hello, Thank you very much for your reply. I think I should describe my application more clearly.The current transformer is a PCB Rogowski coil designed by myself like the picture below. The output of the PCB Rogowski coil is about 46uV/A. The PCB Rogowski coil is a ring. The current (i(t)) flow on the inductor is what my application samples. i(t) is 50Hz alternate current. The range of i(t) is from 0A~800A. The precision requirement is beyond 300A the result should be 1%, and under 300A the result should be between (-3A + real value) and (3A + real value).The range of PCB coil output is from several millivolts to several hundred millivolts.The AD is a 12bit ADC which is built in an MSP430 MCU.Thank you imo. How get that formula? Could you tell me more detail?I use Ltspice for several years. However, the ADI opamp(AD8502 and AD 8505) are not supported by ltspice.Thank you Kleinstein. I agree with you that this circuit is complicated. But I must consider the PCB Rogowski coil output is low, and this is a battery supply application, so I must design a low power circuit.Thank you ap. I think you're right. I should overdesign it, and calculate all the parameter. If I overdesign it correctly, It will not need compensation for temperature drift.I have calculated some parameter.Please review it. Thanks again.condition:12bitADC, The vref is 2048mv. One LSB = 0.5mv.The output of the PCB Rogowski coil is about 46uV/A.The total gain of the circuit is about 90.Because the output of the PCB Rogowski coil is about 46uV/A and the circuit gain is 90, the circuit output of 1A should be 4mv which is about 8 LSB.1、voltage ref temperature driftRef3320's temp drift is 10ppm.Vref is 2048mv.The standard calibration temprature is 25 Celsius.dt is the temprature drift.dt_positive_max = 70 -25 = 45dt_negative_max = -40 -25 = -65dVref is the tempature drift of the voltage refdVref_positive_max = vref*c*dt = 2048 * 10ppm * 45 = 0.9216mv.dVref_negative_max = vref*c*dt = 2048 * 10ppm * (-65) = -1.3312mv.The biggest deviation is -1.3312mv, that is about 3 LSB. It is much less than 8 LSB, so I should not worry about the voltage ref temperature drift.That is ok?2、AD8502 opamp temperature driftoffset voltage drift is 7uV/Cdt_positive_max = 70 -25 = 45dt_negative_max = -40 -25 = -65dVref_positive_max = 7*dt_positive_max = 7*45 = 0.315mv.dVref_negative_max = 7*dt_negative_max = 7 * (-65) = -0.455mv.The first 8502's error will be manified by 90. SodVref_positive_max * 90 = 28.35mv = 57LSBdVref_positive_max * 90 = 40.95mv = 82LSBThis drift is really a problem.3、AD8505 opamp temperature driftoffset voltage drift is 2.5uV/Cdt_positive_max = 70 -25 = 45dt_negative_max = -40 -25 = -65dVref_positive_max = 2.5*dt_positive_max = 2.5*45 = 0.1125mv.dVref_negative_max = 2.5*dt_negative_max = 2.5 * (-65) = -0.1625mv.The first 8502's error will be manified by 90. SodVref_positive_max * 90 = 10.125mv = 21LSBdVref_positive_max * 90 = 14.625mv = 29.25LSBThis drift is maybe a problem.4、ResistorThe key resistor is 0.1% precision. The drift is about 20ppm/C. I don't know whether they are ok or not.5、CapacitorThe key Capacitor is NPO and 5% precision. The drift is about 20ppm/C. I don't know whether they are ok or not.

author: chuckb
author_rank: Frequent Contributor
timestamp: May 02, 2019, 08:01:34 pm
content: I just looked at the op amp offset voltage temperature coefficient aspect of you error budget.The LT1494 (1.4ua) has 10x lower TYPICAL temperature coefficient than the AD8502.The ADA4051 (20ua, 100kHz BW) AutoZero has an even better temperature coefficient.Analog devices has a nice search tool -https://www.analog.com/en/parametricsearch/11092#/d=sel|4500|4501|4089|4502|2687|4101|4102|s3|4108|2839|2840

author: Kleinstein
author_rank: Super Contributor
timestamp: May 02, 2019, 10:03:09 pm
content: The rogowski coil gives an AC output. So there is nothing to worry about DC drift. The µC will have to do multiple reading (like 200 Hz sampling as a minimum, but likely more) and than do some math to get the RMS value.A single slightly faster OP could be more power efficient and lower noise than multiply super low power OP. Using a single OP would also mean having only 2 critical resistors.Some 46 µV/A and a estimated bandwidth of some 1 kHz would make noise not yet that critical, though 1/f noise in low power CMOS could become an issue. So an AZ OP may actually be an option - not because of drift, but for low 1/f noise at low power.Even with a roughly +-50 K span the 10 ppm/K dirft of the reference could be OK to get 1% stability. However one may have to check the TC over the full range. Specs may be for a smaller range and especially at the lower end the TC my go up, beyond the 1.st page specs. The same can be true for the resistors. a 50 K temperature change and up to 5000 ppm possible error would alow up to 100 ppm/K for the resistors or reference, if not to many are used. However that can also be some TC from the coil itself - expect at least the thermal expansion of the board.The capacitor should not be an issue as it should only be there for compensation band limiting. So it does no directly effect the scale.

author: Albert6186
author_rank: Contributor
timestamp: May 04, 2019, 10:44:39 am
content: Thank you chuckb. You're right, ADA4051 is a better choice. Maybe I'll use it in next version. Just a little expensive.Thank you Kleinstein. Thank Your concrete directions. Just as you estimated, the bandwidth is 1kHz.Sorry, I'm a beginner for the analog circuit, so I can't understand all points. I just post my understanding here, and I'm not sure I completely understand what you post, please review. Thank you very much.1、The opamp dc offset voltage drift is nothing to worry about.2、The problem will be the resistor drift and the voltage reference drift.The resistor drift is 10ppm/K is ok. And, in the current application 100ppm/k maybe still ok.I checked the Voltage reference again. The temperature drift typical value is 10ppm/k, and the maximum value is 30ppm/k. This is ok for 1% stability.3、Capacitors only affect bandwidth, so we don't worry about it.4、I believe to use an AZ opamp is a good choice. Why 1/f noise is a problem in low power CMOS?Thank you very much again.

author: Kleinstein
author_rank: Super Contributor
timestamp: May 04, 2019, 11:31:55 am
content: Modern fine structure CMOS OPs can have quite some 1/f noise. Low power OPs are also more noisy - so 1/f noise could be a problem with some types. However I looks up the AD8502/4 - in that case the 1/f noise is not so bad. So my fear for to much noise was a little premature. Usually less 1/f noise needs more chip area, but not so much more current. It kind of makes sense to watch out for 1/f noise for those super slow OPs, as they are used for low frequency only. The CMOS OPs that do have poor 1/f noise are more those relatively fast (e.g. 10 MHz range) at low power.For the rogowski coil one would need to integrate the signal to get the current. So one would need to use some low frequency cut off / offset compensation in software anyway. So a DC offset would be more a problem of loosing too much of the ADCs range. With a total gain of some 20 (to get a range of some "+-" 1200 A) even a 10 mV offset would be acceptable.If the ADA4051 is too expensive the MCP6V11 could be a cheaper alternative. Just a normal 50-100 kHz low power OP could also work, if specified for the large temperature range.To get the current one would need to average over a full period or even longer. So many readings and some oversampling is involved when getting a RMS reading. So the direct relation to LSB of the ADC is not there and one could get even more than 12 Bit resolution, even if one starts with loosing 1 bit to the sign.

author: Albert6186
author_rank: Contributor
timestamp: May 06, 2019, 04:07:42 am
content: Thank you Kleinstein.Thank you very much!The sample rate is 4KHz. That means samples 80 points in one cycle. The AC current frequency is 50Hz, and one period is 20ms. I use DFT to calculate the RMS value for each cycle. The final RMS value will be averaged by 6 consecutive RMS values of each cycle.I'm not sure the method I used for calculating RMS value's correction coefficient is right or not. I post it here. Please review.I calculate the RMS value's correction coefficient from two points. Using the formula Y = X *Gain + Offset，Y is the real value and the X is the sample value. If I input two different load current (for example 300A and 50A), I can get the Gian and the OffSet from the formula. Then, each RMS value will be corrected by this formula. That is ok?I'll try MCP6V11 in my next version. There is a question. I use one opamp(U9A, one opamp of the AD8502 ) as a buffer to isolate the Rogowski coil and the amplifying circuit. That is useful? Can I delete this buffer?And, I'll test the whole product in the real temperature test equipment.The current value accuracy will be verified in 80 Celcius temperature and -40 Celcius temperature. Each point will be kept for 4 hours under that temperature, then read the current value.I'll post the test result here.Thanks again

author: coppercone2
author_rank: Super Contributor
timestamp: May 06, 2019, 06:20:19 am
content: this thread makes me want tempura food

author: Kleinstein
author_rank: Super Contributor
timestamp: May 06, 2019, 08:29:21 am
content: The Rogowski coil is a low impedance source at low frequency. So there is no need for an extra buffer.For the amplitude calculation I am not so sure the DFT is the best way. If at all using the whole 5 cycle window and adjusting the sampling rate to get a total number of sample of something like 512. A first question would be if real RMS is needed, or mainly the amplitude at 50 Hz is relevant. With a fixed sine the RMS value from the raw sensor voltage is proportional to the RMS of the current. However this would give too much weight to the harmonics. If correct scaling of the higher frequencies is needed one would need some integration / filtering first. If just RMS is needed the simple calculation by the definition is probably simpler (less power) than the DFT. If only the amplitude at 50 Hz is needed one could use a kind of goertzel algorithm to get the amplitude at one frequency. The simple implementation would be more like a 1 st order low pass filtered amplitude.For the offset part one has 2 types of offset: the first is from the ADC/amplifier before possible integration and the RMS calculation. This would be relative to the raw values. The second offset is more to the RMS result, e.g. due to noise. This is more like an additional power and the result would be more like:I = sqrt ( sum of (U-U0)² - noise_power) * Gain_factorI am not sure the noise term is actually needed. It could help at low currents.

author: Albert6186
author_rank: Contributor
timestamp: May 07, 2019, 09:13:52 am
content: Thank you Kleinstein. Thank you very much. I'll test my product in real temperature test equipment this month. Then, I'll post the result here. According to the analysis above, I think the temperature won't affect circuit accuracy.This application only cares 50Hz signal RMS. So, the harmonics are ignored. I use simplified DFT, and the power is ok.In my formula, Y = X *Gain + Offset. I think the Second offset is the zero input drift. The pictures are got from other webpages. They describe Gain error and offset error.This formula does not include noise and other errors, so the correction is not perfect. Under lab temperature 25 Celcius, this correction method seems to can meet the 1% accuracy requirement. In the whole temperature range, more tests are needed.