Hello, in order to create the 2.5V rail for the offset I have tried both methods suggested in this site: 1) voltage divider 2) opamp
Is there any special reason for not using a 2.5 linear voltage regulator?
Wouldnt this create a more stable rail without having to worry about overloading it?
From tear-downs I have watch in youtube, it seems like its usual to use linear regulators to create independent 5V, 2.5V ...rails
Thanks for any information you can provide.
Re: Linear regulator for 2.5V rail?
In its default mode, the Atmega uses the Vcc rail to set the maximum range for its ADC. If Vcc varies, then so will the ADC's range and hence the value of each of its steps. If you had a fixed 2.5 V rail, this would only correspond to the mid-point of the ADC's range when Vcc is exactly 5.0 V.
Because the V and I sensors are floating, the DC component of the ADC samples is not relevant and is filtered out by the maths. So changing the DC value of the Vref rail would not actually affect the outcome.
For all practical purposes, I expect that a 2.5 V regulator would work just as well as any other method (with a 5V Vcc).
Re: Linear regulator for 2.5V rail?
I hadnt thought about the 5V ref of the atmega dropping, good point calypso.
So presumably it is possible to do what I was asking, and if we did just the same with the 5V rail feeding the atmega then Vref would be fix at 5V and having a 2,5V rail would always mean middle value in the ADC range.
So I guess in all those components tear-down which have linear regulators, they are also feeding the ADC with a Vref rail and so everything works fine.
I imagine that using a voltage divider is done because of simplicity and maybe smaller power consumption, maybe G or T can answer this.
Thanks a lot Calypso.
If I find some free time I might do some tests just for fun with a 2,5V regulator.
Re: Linear regulator for 2.5V rail?
But if the 5 V rail changed and the 2.5 V rail didn't (or vice versa), the dynamic range of the input - assuming for ease of description that it's a symmetrical wave - will be limited to the smaller of (2.5 V rail value) and (5 V rail value - 2.5 V rail value).
Re: Linear regulator for 2.5V rail?
For my 3-phase PCB, I was interested in using the ADC on its 1.1V range. This internally generated reference is available at the processor's VREF pin and is not dependent on Vcc.
For the Vref rail for the sensors (0.55 V), I found the mid-point using a pair of equal resistors and then buffered it with the standard LM358 op amp (which works OK down to GND but not up to the Vcc rail)
This approach did work, but the results were not as good as when using Vcc for the ADC. My findings were posted on the 'with Triac' thread between 8/8/14 and 14/8/14.
Re: Linear regulator for 2.5V rail?
In its default mode, the
AtmegaArduino library uses the Vcc rail to set the maximum range for its ADC.I think that's what you meant to say. The Atmega actually defaults to an external Vref, which is a much wiser choice. There are only 2 things you can connect to AREF: a capacitor, or a voltage reference. Until the end programmer's code is running, the chooser-of-defaults has no way of knowing which is connected so assuming it's an external voltage reference is much safer. If the end programmer is confused enough to solder an external voltage reference to AREF and then select an internal voltage reference (either Vcc or a bandgap voltage) then he gets the smoke he deserves.
The Arduino library goes to some lengths to mitigate the harm caused by their poor choice of defaults, but that too can lead to confusion. The end programmer's otherwise reasonable assumptions about what happens when are often wrong as a result (see posting 4 on this thread http://openenergymonitor.org/emon/node/5700 as a recent example).
I was interested in using the ADC on its 1.1V range. This internally generated reference is available at the processor's VREF pin
Only for the purpose of decoupling. From the datasheet:
Note that VREF is a high impedant source, and only a capacitive load should be connected in a system.
Re: Linear regulator for 2.5V rail?
Yes, good point. Although not using an Arduino board, I was using the Aduino IDE, hence the Aduino library.
With the internal 1.1V reference selected, I connected the VREF pin to the non-inverting input input of a x1 op-amp buffer. The output of that stage was then halved using a voltage divider and fed into a second x1 op-amp buffer. By this means, I got a 0.55V rail without significantly loading the VREF pin. That scheme does work for large signals, but appears to introduce more background noise than when Vcc is used as the ADC's reference.