Skip to content
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

LDO 3.3V unstable output #8

Open
eeintech opened this issue Oct 3, 2014 · 23 comments
Open

LDO 3.3V unstable output #8

eeintech opened this issue Oct 3, 2014 · 23 comments

Comments

@eeintech
Copy link

eeintech commented Oct 3, 2014

Using the 3.3V rail to power backpacks, there was a noticeable ripple on that rail.
This was somehow tracked down to the radio: when it turns on, the LDO output gets unstable (as opposed to when it is off, ripple is very small).
See old forum for details:
https://pinocc.io/forum#!/pinoccio-hardware

Apparently the LDO stability margin is small, I found that the only way to increase this margin is to place a very low value resistor in series with the output capacitor.
Now with 2.2uF + 3 Ohm, the ripple is reduced but still noticeable when using scout by itself (about 280mVp-p, which is apparently not a big deal has all functions seem to work, but could radio performance be better with smaller ripple??). Once the LDO output draws more current, for example I tested with a backpack drawing about 70mA, the ripple goes to better place (about 50mVp-p).

I see two options here:

  • Replace current LDO with better one (yeah!)
  • Add series resistors to output capacitor (would need experimentation with different resistor values for best results)
@eeintech
Copy link
Author

eeintech commented Oct 8, 2014

I just received samples for this part:
http://www.maximintegrated.com/en/products/power/linear-regulators/MAX8891.html

And boy, what a difference!

TPS78233: 280mVp-p ripple @9.8kHz with radio on
MAX8891EXK33: Under 40mVp-p in all different condition I tested it. This guy is like rock solid.

Same input/output cap. Maxim LDO package is SC70 so slightly smaller than SOT23-5 (TI LDO).
Make it great to save space on the next rev! :P

Maxim LDO might be slightly more expensive, but the price increase is well worth.

@amcjen
Copy link
Member

amcjen commented Oct 9, 2014

Good find François! This is great news.

The TPS78233 was chosen because of the crazy low ground current (~500nA.) It looks like the MAX8891's ground current is ~40µA. Perhaps TI's low ground current is the cause of such the small window of stability.

In digging some more, there's another TI chip that has 1µA of ground current, with the same footprint and pin layout. http://www.ti.com/lit/ds/symlink/tps70933.pdf Next Digikey order we make, we'll order a couple of these and swap them in to see if it helps at all.

Great work! This helps a lot in fixing the next revision. :)

@eeintech
Copy link
Author

eeintech commented Oct 9, 2014

No problem Eric.

On the paper, the TSP78233 looks very nice. It's hard to beat those specs for the price (even though in this particular application, it shows to go unstable).
I turn myself towards the 8891 as it has good characteristic overall, I did not regard the quiescent current too much, 40uA tyical is already pretty low.

I am more reserved concerning the one you proposed. First, you could think the ground current is very low but if you look at the curve versus output load, it grows quiet quickly. Then, both the dropout voltage (battery voltage can come fairly close to 3.3V) and load transient response (>200mV on a 50mA step) seem pretty bad...

Anyway, let me know what you find out once you get those in hands.

@amcjen
Copy link
Member

amcjen commented Oct 11, 2014

Hey François. Indeed, the specs are excellent, but man, if it messes up stability, then no good. I still wonder if this is fundamentally caused by the LDO itself, or the lack/incorrect layout of bypass caps on the 256RFR2.

And agree, the transient response and dropout isn't great--hmm. 40µA might be okay. Certainly better than having an unstable power rail!

My only other concern about the Maxim part is, well, that it's Maxim. Our fuel gauge is a Maxim product too, and it's very hard to get at quantity with reasonable lead times--as well as only being available through one supplier. So from a manufacturing standpoint, Maxim is hard to work with.

Still, if it works well, we can deal. Just balancing a lot issues! If you can find an alternative LDO that isn't Maxim that has similar specs, that would be ideal. :)

@eeintech
Copy link
Author

Well, I looked a bit more for an equally amazing LDO and found this one (STmicro):
http://www.st.com/web/catalog/sense_power/FM142/CL1015/SC312/SS1731/PF260254

It comes in a different package than the TPS78233, smaller and (unfortunately for now) scrambled pinout. But for the rest, it seems very similar. I've ordered free samples and will give it a chance once received.

As for the bypass capacitors network, my rule of thumb is to have a 0.1uF capacitor for each micro power input, as close as possible from the pin, coupled with a bulk cap (1uF and higher) in near proximity of the micro. It is also what Atmel recommends:
http://www.atmel.com/images/atmel-42081-rcb256rfr2-hardware-user-manual_application-note_avr10004.pdf#page25
C11 by itself results in a bigger ESR than a decoupling network formed by 4x100nF capacitors, which might affect the RF circuit (who knows, those things are never obvious).

It sounds like it would be a tricky job to rework the current revision board with those caps...
I will check if I have access to very tiny caps (probably 0201), but in any case, do not expect a great result :p

@amcjen
Copy link
Member

amcjen commented Oct 30, 2014

@cisco25 Would you do me a favor when you get a chance? Can you do an RF range test between your fixed scout (with the new LDO), and a scout without the fix? We're curious over here if the ripple is causing range issues, because of its significance.

Thank you!

@eeintech
Copy link
Author

Sounds good, I will try this method over the week-end.
Although I will not have any point of comparison with a "not-fix to not-fix" configuration, so I will just send you a rough range in free air condition.

@amcjen
Copy link
Member

amcjen commented Oct 31, 2014

Perfect, thank you!

On Oct 31, 2014, at 10:52 AM, Cisco25 [email protected] wrote:

Sounds good, I will try this method over the week-end.
Although I will not have any point of comparison with a "not-fix to not-fix" configuration, so I will just send you a rough range in free air condition.


Reply to this email directly or view it on GitHub.

@eeintech
Copy link
Author

eeintech commented Nov 3, 2014

It's too bad I don't have a point of comparison but I've tested the range and seems like passed 6 meters, message still get transmitted 80% of the time. Then it gets worst with increased distance and passed 7 meters, it rarely gets to the other scout.
I have tried both configuration:

  • TX: not-fixed / RX: fixed
  • TX: fixed / RX: not-fixed

And results were similar.

In term of RSSI, it's tough to say as passed 4 meters, the value is most of the time 90 (it does not go above).
One side observation (which might seem obvious but often is not): I've noticed that RSSI seem better when antenna are facing each others, and worst when both antenna are on the same plane (scouts sitting horizontally). The RSSI value is also better when antennas are in perpendicular planes than in the same plane.

@amcjen
Copy link
Member

amcjen commented Nov 3, 2014

Thanks for checking! That's helpful.

I'm curious what your LQI readings were--as that's a better indicator to packet loss than RSSI.

Here's a graph of LQI vs. packet error rate:

screen shot 2014-11-03 at 12 09 53 pm

@eeintech
Copy link
Author

eeintech commented Nov 4, 2014

I can definitely reproduce the test, could you please let me know how to read the LQI value?

@amcjen
Copy link
Member

amcjen commented Nov 4, 2014

I think the routing table will show you what LQI is of the last sent message:

https://docs.pinocc.io/scoutcommands.html#mesh-routing

@eeintech
Copy link
Author

eeintech commented Nov 5, 2014

Hummm not sure it works properly on my scouts, it only shows one row, independently from the state/distance from the other scout.

For the 3V3-fixed scout (scoutid=1):
| Fixed | Multicast | Score | DstAdd | NextHopAddr | Rank | LQI |
| 0 | 0 | 3 | 2 | 2 | 143 | 254 |

For the other (scoutid=2):
| Fixed | Multicast | Score | DstAdd | NextHopAddr | Rank | LQI |
| 0 | 0 | 3 | 1 | 1 | 130 | 254 |

LQI value is always 254 and the only value that changes is "Rank" which increases with the number of time I call command.scout.ack function.

Am I missing something or is this normal?

@danwax0714
Copy link

I am running this by some Atmel RF experts. Looking at the schematic it seems (When compared to the official recommendations) that the decoupling is light.

http://www.atmel.com/Images/Atmel-42157-WIRELESS-AT02595-RF-Design-Schematic-Checklist_Application-Note.pdf

@amcjen
Copy link
Member

amcjen commented Nov 10, 2014

Excellent--specifically on the DEVDD and EVDD pins?

@danwax0714
Copy link

yeah .

check out the app note. I would have 5 caps. At least with this package you could do an experiment. I also worry a little about the voltage size of 6v vs 16 volt. Ill run it by the RF team. I also copied you on the internal Atmel case althought Im not sure you can see the internal discussions

@danwax0714
Copy link

hold off on experiments until I talk with my RF guy. Im taking this off line in private email

@eeintech
Copy link
Author

Sounds like a safe option to me too (having better decoupling).

I just received this part: STLQ015 and will give it a shot soon.

@eeintech
Copy link
Author

eeintech commented Dec 8, 2014

I said "soon"... it took me a month but I finally tried that LDO!

Pinoccio scout running bootstrap sketch with TI LDO: Vcc ripple ~ 500mV
Same Pinoccio scout still running bootstrap sketch with STM LDO: Vcc ripple ~ 60mV

I think it is still worth trying to improve the decoupling topology first, but on a two layer board it will be difficult to create the shortest power-gnd path that gives you minimum parasitic inductance.
Anyway, if it's still looking bad after that, I would definitely consider using the STM part, it is much much (almost 10x) better than the TI part. And you're not giving up on quiescent current very much, this STM part is very solid in that category. But the STM part is not as good as the Maxim part (stated earlier in this thread) for voltage regulation. Also worth noting, the STM regulator is about half the size of the TI regulator (didn't make my job easy...).

From I observed, there is trade-off between power consumption and output power regulation.
The best voltage regulation will consume the most power (as there will be more transistors turning on and off, increasing conduction and switching losses). Cutting off some of the regulating transistors will decrease quiescent power but will also decrease the ability to keep the output voltage constant.

Here is a table that summarizes my observation:

Part Number | Output ripple | Typical Iq
MAX8891     | 40mVp-p       | 40uA
STLQ015     | 60mVp-p       | 1uA
TPS78233    | 500mVp-p      | 0.5uA

Cheers

@amcjen
Copy link
Member

amcjen commented Dec 8, 2014

Hey Francois!

Great info, very good to see. Thank you for testing that. We tested the TI TPS70933 as well (same pinout), and got extremely good output ripple (~5-10 mVp-p). I believe the Iq on that chip is ~1µA. However, the Vdo (dropout voltage) is pretty bad--though not sure how often this will be a problem.

What do you think?

@eeintech
Copy link
Author

eeintech commented Dec 9, 2014

Hmm that advertised 1uA is only valid at no load, but be aware that it increases consequently with the output current load (see datasheet Figure 16). It seems like this one could work if you are okay with wasting 100uA @ 60mA/25C (which seems negligible).

Also the dropout parameter is still a concern to me. I just measured the battery voltage to be 3.8V on my scout and using Figure 9, at 25C the dropout is about 0.8V which means the LDO output can be as low as 3.0V.
My advise would be to make sure Vcc voltage still offer full ATmega256RF operation when battery power is low and that you're current battery voltage range isn't degraded with that particular LDO.

Checking on those two conditions will tell you if this LDO is appropriate.

Cheers

@amcjen
Copy link
Member

amcjen commented Dec 11, 2014

We're doing a board revision before we purchase the next run of boards, and now's the time to try the new regulator--so we no longer need to keep the same pinouts as before.

Given this, seems like the STLQ015 is the best one to go with, unless you had alternative ones you wanted to consider that get you less ripple @cisco25?

@eeintech
Copy link
Author

Hi Eric,

I think the STLQ015 is a very nice option, it has comparable specs/price and comes into a smaller package than the TPS78233. Combined with a better decoupling capacitor network, the ripple might even go under 60mV.

I got 10 free samples from ST and used only one, I can ship some to you if you want to give it a shot on your next spin.

amcjen pushed a commit that referenced this issue Dec 16, 2014
- Add 10k pull-up to reset line (#7)
- Add diode in parallel to 10k pull-up reset resistor (#6)
- Tie second pad on 16U2 crystal to ground (was not connected before)
- Replace LDO with lower-ripple alternative (#8) (STLQ015XX33)
- Add ground tie (0Ω) to pin 2 of balun
- Change all caps in RF signal path to RF-rated C0G/NPO (Murata GRM series)
- Reduce C7 and C8 to 100nF, and make C0G/NPO or X7R (<-Atmel engineer, could be 1.0µF instead)
- Consider adding the SE2438T Front-end module (FEM) amplifier
- Consider ferrite bead between digital and analog VDD lines
- Consider decoupling of 0.1µF on all VDD/GND pin pairs
- Move to a four layer board (GND/VDD in the middle two layers, signals on outer two)
- Add VBUS voltage check (with voltage divider to kick 5v -> 3.3v) into RFR2 and 16U2 input
- Change 16U2 to be powered via VBAT always, instead of off of VUSB
- Tie 16U2 pin to RFR2 pin, to notify RFR2 when serial port is opened
- Add series resistor to 16U2->RST line, removing existing reset circuit
- Remove load switch from VUSB, as it's now unneeded
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants