-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stability issue #4
Comments
Hello, https://www.youtube.com/watch?v=l2LBkXxN81Y We found that the issue only happens in very rare cases and these caps reduce the BW so we don't fit them by default. Regarding the 270 Ohm resistor in the feedback loop: Have you actually tried what you claim here? BG, Thomas |
Hello,
I'm glad for your reply.
Yes I would not populate those caps on the output of the virtual ground
opamp, but rather on its input, in parallel with the 100k resistor divider,
to have more "stable" reference voltage for the virtual ground (acts like a
LPF, less susceptible to interference).
About the 270 Ohm resistor on the output amplifier:
It's ok to have it on the output of the amplifier for that very reason, to
avoid oscillation of the amplifier when adding capacitance. But for sure it
should be outside the feedback loop, otherwise any capacitance on the
output would make a phase shift on the loop and could make it oscillate.
(Attached is the original Dave schematic with my added notes)
I did not yet tried this, I'm currently waiting for the PCBs. I will inform
you of the results if you would like.
![uCurrent](https://user-images.githubusercontent.com/63478684/79673013-16482500-81d7-11ea-9116-bf923f5c2755.png)
I've put together a simulation of the amplification circuit with the 270
Ohm resistor inside and outside the feedback loop. It clearly shows that
with the resistor outside the loop we have a nice dampened frequency
response, as opposed to having it inside the loop where we have an oscillation
at some frequency (dependent on the output capacitance).
![image (1)](https://user-images.githubusercontent.com/63478684/79673043-2cee7c00-81d7-11ea-8a1c-b0a412dccd53.png)
![image](https://user-images.githubusercontent.com/63478684/79673044-2d871280-81d7-11ea-86ab-907970f9bfe5.png)
Best regards,
Joao Graca.
…On Sat, Apr 18, 2020 at 10:40 PM Thomas Hoppe ***@***.***> wrote:
Hello,
yes, we are aware of the stability issues and that's why we have
unpopulated capacitors that for the caps that Dave recommends in this video:
https://www.youtube.com/watch?v=l2LBkXxN81Y
We found that the issue only happens in very rare cases and these caps
reduce the BW so we don't fit them by default.
Regarding the 270 Ohm resistor in the feedback loop: Have you actually
tried what you claim here?
I think this resistor is especially required to dampen the bias to
oscillate. I even think we have tried to remove it and it was by no means
better but I'm not 100% sure.
BG, Thomas
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#4 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/APEJXHH7QVSAR47H2FDXMV3RNIF3DANCNFSM4MFXUHKQ>
.
|
hmm interesting, according to this: both is possible (to have the R in and out-of the loop). The variant out-of the loop however has the clear disadvantage that it has an impact on the DC accuracy (it causes an offset) which is a no-go for this find of device. Secondly according to the simulation, the attenuation at only 1 kHz is already -40 dBm which is also quite tremendous, especially for the use cases I have. Also as mentioned in the document, the value of the resistor is heavily dependent on the actual amplifier and I don't know how good the spice models of the MAX4239 actually is that you are using. |
I think Dave meant for the uCurrent to be used with multimeters having
10MOhm of input impedance ( https://www.youtube.com/watch?v=g7b5YZENvjY),
that is why the resistor has a low value of 270 Ohm, giving a DC error of
27ppm. (Also in that video he had the resistor outside the loop)
As described in the document, it is possible to have the resistor in the
loop for reduced error. But then the loop capacitor still needs to
connect before the resistor to avoid oscillation, and the optimum value for
this capacitor value depends on the output capacitance placed on the
terminals (Which is unknown).
On my simulation the attenuation is -40dBm at 1kHz because I've used a
fairly big capacitor of 100uF on the output, with less capacitance there
will be less attenuation (RC filter with the 270Ohm).
BR
…On Mon, Apr 20, 2020 at 11:22 AM Thomas Hoppe ***@***.***> wrote:
hmm interesting, according to this:
https://www.analog.com/media/en/analog-dialogue/volume-38/number-2/articles/techniques-to-avoid-instability-capacitive-loading.pdf
both is possible (to have the R in and out-of the loop). The variant
out-of the loop however has the clear disadvantage that it has an impact on
the DC accuracy (it causes an offset) which is a no-go for this find of
device. Secondly according to the simulation, the attenuation at only 1 kHz
is already -40 dBm which is also quite tremendous, especially for the use
cases I have.
Also as mentioned in the document, the value of the resistor is heavily
dependent on the actual amplifier and I don't know how good the spice
models of the MAX4239 actually is that you are using.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#4 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/APEJXHBGVIOIKLE2GNB4PSTRNQH4TANCNFSM4MFXUHKQ>
.
|
I re checked and they are defiantly different the original and the latest revision with regard to the O/P series resistor, First version outside the feedback path, latest version inside the feedback path... |
We used the latest version when we derived the tinyCurrent, that's why it's inside the loop. But where do you see the "clear error"? |
Hi there Thomas I hope you are well..
The only difference I see, is that the first version has the series resistor outside the feedback loop and then the latest version has the series resistor inside the feedback loop..
Why there was a change of circuit design I do not know…
Also if you look up currentranger which is a similar design to EEVBLOG, they added a low pass filter which is a nice Idea perhaps it might be worth adding to your version as well..
Wishing you well
Graham…
From: Thomas Hoppe <[email protected]>
Sent: Thursday, May 07, 2020 12:12 AM
To: nfhw/tinycurrent <[email protected]>
Cc: GP108 <[email protected]>; Comment <[email protected]>
Subject: Re: [nfhw/tinycurrent] Stability issue (#4)
We used the latest version when we derived the tinyCurrent, that's why it's inside the loop. But where do you see the "clear error"?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub <#4 (comment)> , or unsubscribe <https://github.com/notifications/unsubscribe-auth/APOTBXEUU25R7K3M3JCXCDDRQKCP5ANCNFSM4MFXUHKQ> . <https://github.com/notifications/beacon/APOTBXGD4WW4RZAB7XEC5BDRQKCP5A5CNFSM4MFXUHK2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEVBTKLI.gif>
…--
This email has been checked for viruses by AVG.
https://www.avg.com
|
I just built the original uCurrent. I used an opa335 instead of the max4239 because it was a recommended alternative in a forum (sure its worse) and the max was not available. When shorting the inputs I can usually voltages up to 3v with my multimeter in dc mode but when going to ac mode it goes down to 0.1v. I guess it is oscilating but I dont have a scope to verify. First of all, just putting a 10pF cap between v- and vgnd did not change anything. I will get a scope soon to actually check what is going on. I am using TI's LMV321IDBVRE4 from mouser. I want to understand completely how the logic works and I am not sure about the gain logic. To get a x10 gain we need 9k ohms which we get with R3 and R11 or R13 and R14. First, why do we need C3 and C4? Is it just a "for stability"-thing (why there?) or is it doing some opamp-integrator-curcuit magic? Next, I do not get at all, why R8 was changed to be inside the feedback curcuit. Does it not change the gain to x10.25? Does it not remove the purpose of R8 to decouple from the output because the output is now directly connected to the feedback? I bridged R8 and put a resistor in front of my scope but it did not solve my issue. Regarding the added C5/C6 in tinycurrent, there was a comment by TMM "Connecting bypass caps to both rails is ill-advised as it creates a PSRR issue" (https://www.eevblog.com/forum/blog/eevblog-1057-current-murphy/). I dont know what it means but maybe somebody of you knows. |
I believe the best option for stable capacitive loads is to keep the R8 within the feedback loop, but to change the C4 from the right side of R8 to the left side of R8 (directly to U4p1). Or perhaps just an additional capacitor from U4p1 to U4p4. I haven't tried it yet - but to be honest, I don't think driving capacitive loads is a concern for me/my use. On a separate note - although the noise level is pretty decent - I'm considering substituting an OPA388 although the current draw is much higher, the noise should be much lower. |
@nonplussed let us know if swapping out the Opamp brought any improvement please. |
There might be a stability issue when introducing capacitive loads. This is seen on one of Dave's EEVBlog videos about the uCurrent (https://www.youtube.com/watch?v=1VlKoR0ldIE).
The issue seems to be a design mistake. Which is the output 270 Ohm resistor being INSIDE the feedback loop of the last amplifier. When capacitance is introduced on the output, it will create a big phase shift (depending on the capacitance value) and can make the amplifier oscillate.
The solution is to simply remove the 270 Ohm from inside the loop and place it directly on the output before the binding post.
For people that already have Dave's uCurrent or the tinyCurrent version, the easiest fix is to remove the 270 Ohm resistor, bridge the pads, make a small cut on the output track going to the binding post and solder the 270 Ohm there.
The text was updated successfully, but these errors were encountered: