Hello everyone,
I have a project in which I have to measure the AC signal of 50 to 200 mV 50Hz (little fluctuating as its secondary of the transformer and our electricity board do have little fluctuations.), with an accuracy of 0.05% using Arduino.
For this, I am using ADS1115 16 bit ADC(Open for suggestions.) this module is able to measure 50 mV dc with this accuracy if I average 10 readings of it.
But the main problem is to convert AC 50mV accurately to DC, for this, I am using the Precision Rectifer circuit but again it does show error of 0.5% to 1% as we go lower towards 50mV.
So can anyone over here could suggest me what should I do or is there any better approach.
Thanks in Advance.
A 0.05% accuracy requires very sophisticated circuits and code, and first of all sound knowledge of the signal and acquisition goal. Be happy with 5% and leave the rest to paid experts. Or filter the signal until the ripple is less than 0.05% and hope that your boss is happy with that result.
A quick look at the ADS1115 datasheet showed me several errors listed that were at 0.05% or thereabouts. That means the error introduced by the ADS1115 itself is already as much as what you find acceptable. Not a good start.
Noise is going to be another problem. It's no doubt really hard to design a circuit with less than 0.05% noise. There's a lot of electrical noise around, all those 50 Hz power lines, radio transmissions, and other magnetic fields. Excellent shielding will be required to deal with this.
The accuracy you're looking for is 100 µV at 200 mV; about 25 µV at 50 mV. That are voltages low enough to become concerned about things like the thermal noise of your components, especially as a significant part of the time your actual signal is way lower than that 50 mV as the voltage drops to zero 100 times a second.
Your power supply has to be near perfect, as that will also introduce noise into your circuit.
DrDiettrich:
Be happy with 5% and leave the rest to paid experts.
Agreed.
Those experts, and the equipment they use, no doubt don't come cheap.
yatin:
. . . I am using the Precision Rectifer circuit but again it does show error of 0.5% to 1% as we go lower towards 50mV. . . .
I'm curious how you measure this error. That you are able to do so implies that you have instrumentation better than the circuit under test and might suggest a way forward.
Thanks for all the replies,
Be happy with 5% and leave the rest to paid experts.
Actually I am achieving accuracy in between 0.8% to 1.2%. But need more accurate readings.
You guys mentioned about the noise impact or difficulty in measuring very low signal but I am thinking of amplifying it by gain of 50 so it could be little bit easy ( still I know there are difficulties in amplification also as there is SNR which will pay a great role in it.) but can you guys suggest any links or circuits to either rectify precisely or amplify it with maximum accuracy.
A quick look at the ADS1115 datasheet showed me several errors listed that were at 0.05% or thereabouts. That means the error introduced by the ADS1115 itself is already as much as what you find acceptable. Not a good start.
Is there any better ADC available that I can use for this? I preferred ADS1115 as it has an internal low drift voltage reference and internal oscillator, so it reduces my most work of making that nearly ideal reference. is there any better ADC available that could be helpful in achieving my goal?
I'm curious how you measure this error. That you are able to do so implies that you have instrumentation better than the circuit under test and might suggest a way forward.
yes by measuring AC input on multimeter its dc converted output at precision rectifier.
Instruments I am using for measurment are
1.Multi meter- Fluke 289 True RMS
2.Multi meter- Rishabh 20S
3. DSO TDS 2024C
I am actually measuring transformer ratio, so if there is any fundamental mistake I am doing please correct me.
ADC price mostly depends on its number of bits and speed. One affordable ADC of high precision but low speed is a DMM with serial output.
True RMS means the sum of sampled voltage over time, easier to achieve than catching exactly the peak value. OTOH the transformer ratio is indicated by the peak voltage values, not by the waveform in between.
A rectifier is not required, because the positive and negative half cycles should be the same - if not something is wrong with the transformer setup.
But hoe can I collect peak DC value precisely? and what type of ADC will be suitable for it?
I am flexible with the price so if there is a better option that you know could you please suggest it to me?
I have to measure the AC signal of 50 to 200 mV 50Hz (little fluctuating as its secondary of the transformer and our electricity board do have little fluctuations.)
This doesn't make sense. A range of change from 50mV to 200mV implies a similar range of change on the primary side of the transformer. I don't know what your local electricity supply voltage is but mine is nominally 23VAC and is actually more like 250VAC. Taking 250VAC as the high and translating that to 200mV, if the secondary dropped to 50mV that would correspond to a mains voltage of 62.5VAC. If my mains voltage varied by that much I'd complain!
Also, I'm not even sure there is any meaning to measuring to the accuracy you want. Mains is very noisy, just look at it on an oscilloscope, it's a long way from a pure sine wave. I doubt a measurement of the accuracy you seek would be meaningful even if it can be achieved. At which of the many frequencies that are present in mains do you want the accuracy and how do you propose to eliminate effects of the other frequencies?
Why do you want to do this anyway? This looks to me like an XY problem
My mains voltage monitor uses a PIC with a 12 bit A2D connected directly to the mains with a resistive divider and a zero crossing detector. There is a delay from detecting zero crossing to measuring the peak, and the output is communicated using serial and an opto isolator.
Hi,
Actually I have to measure no of secondary turns of the transformer so I applied mains as primary 230vAc 50Hz and measuring both primary and secondary voltage simultaneously to find the secondary turns as my primary turns are fix.
Normally the easiest way of finding the number of secondary turns is to check the label on the transformer, or its data sheet, or call the manufacturer. If you built that transformer yourself, you know (should know, can know) how many turns you put on.
It's odd that you know the exact number of turns in the primary, but not in the secondary.
230V primary, 50-200mV secondary - that's an unusually big ratio for a transformer, and an unusually low output voltage as well.
Why would the number of secondary turns fluctuate, ever, at all?
It all doesn't make sense to me any more.
yatin:
Hi,
Actually I have to measure no of secondary turns of the transformer so I applied mains as primary 230vAc 50Hz and measuring both primary and secondary voltage simultaneously to find the secondary turns as my primary turns are fix.
So more of an XY^2 problem then.
t's odd that you know the exact number of turns in the primary, but not in the secondary.
Generally, when we have heavy step down transformer of ratio 1000 or more for grids, primary turns are less so they are always measured precisely but there are many times error in secondary turns. So we have to do QC in which we have to measure secondary. and for this, we need to make a small project which could tell us this with good accuracy.
easiest way of finding the number of secondary turns is to check the label on the transformer, or its datasheet, or call the manufacturer.
Yes true but at a local manufacturer, we have to recheck it or even have to give some setup for the manufacturer so he could check it
Ah, now you start making more sense (though I still think 1,000 times is a lot - that's taking 220 kV to normal mains voltage). I bet there are also errors in the primary but there a turn more or less won't matter so much.
There's a much different (electronically simpler but computationally harder) approach to this that doesn't rely on rectification and smoothing, but sampling the AC signal itself. This should easily give more accurate results. You won't get the 0.05% requirement for reasons stated above, but I expect you can do better than with your current approach.
Offset that 50-200 mV signal by say 500 mV. The 200 mV is almost 300 mV peak, so that's a maximum of 800 mV, give or take. That is a signal that the ADS1115 can read comfortably on it's 1.024V scale. All you really need is a capacitor (for DC blocking) and a voltage divider (to bias the signal). For better accuracy of the offset use a precision reference diode in parallel with the voltage divider:
Based on Vcc=5V, R1 gives 2.5 mA for the reference diode (requires at least about 1 mA for good regulation). At lower Vcc change R1 accordingly. R2/R3 is a voltage divider, biasing the signal at 507 mV. C1 is the DC blocking capacitor, passing the AC of the transformer. I don't know what value to pick here.
Of course it all relies on low noise components. Good quality resistors, good capacitor (film type probably). I'd love to read other's comments on the circuit, values, and types of components that are appropriate here.
Then the measurement itself: sample the signal at high sample rate, look for highest and lowest readings, calculate voltage from there. If you build it all perfectly stable you may get the 11th or even 12th bit stable. That's the point where the errors of the ADC come in play. If those errors are more of a tolerance (i.e. not the correct reading but always off by the same amount) you may be able to improve on your results by carefully calibrating your readings.
The input side is also important: the cleaner your input voltage (normal mains is completely hopeless) the more stable your output.
Thinking out of the box - I guess you have to measure the input voltage to the transformer too - why not vary that to get a fixed output voltage ? Maybe a better solution ?
Or how about powering the secondary and measure the primary voltage ?
A switch and a good auto ranging DVM may give the best results and be best suited to an industrial setup. Probably work out cheaper too . Even then you’ll struggle to get the accuracy you seem to need .
Wonder what other manufacturers do ? Better control of the winding part ?
wvmarle:
There's a much different (electronically simpler but computationally harder) approach to this that doesn't rely on rectification and smoothing, but sampling the AC signal itself.
No need to use a reference voltage.
The ADS1115 has differential inputs, so connect both secondary terminals of that transformer to two inputs of the ADS.
Double the resolution too (16-bit instead of 15-bit).
Leo..
True, forgot about that.
That would be even simpler indeed. No extra components on the input, other than a clean power supply for the ADS1115 (the 3.3V output of the Arduino comes to mind, with nothing else connected that should be a pretty clean power supply, though then the I2C needs level shifting).
wvmarle:
...though then the I2C needs level shifting).
Or, in case of an Uno, just disable the internal pull up just after wire.begin()
Or, permanently mod the wire library.
Leo..
No need to use a reference voltage.
The ADS1115 has differential inputs, so connect both secondary terminals of that transformer to two inputs of the ADS.
Double the resolution too (16-bit instead of 15-bit).
Leo..
already doing it.
That would be even simpler indeed. No extra components on the input, other than a clean power supply for the ADS1115 (the 3.3V output of the Arduino comes to mind, with nothing else connected that should be a pretty clean power supply, though then the I2C needs level shifting).
I am giving regular 5 v and module has is 3.3V regulator, also ADS1115 has his own internal reference generator which solves many external noise and drift issues.
yatin:
already doing it.
Not what you told us.
You said you were using a precision rectifier (thus with the ADS used single-ended).
We are talking about no circuit between transformer and ADS.
Just the two pins of the transformer connected to two inputs of the ADS (differential mode).
And the incoming sine wave sampled at a fast rate, to extract the highest and lowest peaks.
Leo..