1
\$\begingroup\$

I am using a NRF24L01+ 2.4Ghz radio transmitter to talk between Arduinos.

I was having issues with them frequently cutting out for short periods of times.

I noticed that when I added 100uF capacitors to the power pins of the NRF, I had almost no packet drops.

I added 100uF tantalum capacitors to my circuit board design, but when I plugged in the NRFs, I was still getting the same issue as before (albeit slightly better.)

When I soldered the capacitor onto the leads manually, I was using an aluminum electrolytic capacitor.

The NRF is connected to its own dedicated 3.3V LDO regulator that can supply 500ma of current, so power is not an issue.

I heard that these NRFs are incredibly sensitive to voltage noise, so adding capacitors is good for them.

But my suspicion right now is that for this case, aluminum electrolytic capacitors are better for this purpose than tantalum (and cheaper.) Am I right in this assumption?

Also, if I am trying to get the smoothest voltage to the NRF, what is the best capacitor setup?

Should I do one big 100 uF aluminum electrolytic, or should I do a 100uF aluminum and a 0.1 uF ceramic capacitor in parallel?

\$\endgroup\$
  • \$\begingroup\$ How far away is the dedicated LDO? Does it have enough decoupling? The important issue is capacitor ESR, so it may be better to have multiple smaller caps. \$\endgroup\$ – pjc50 Feb 10 '18 at 21:30
  • \$\begingroup\$ 1) the NRF24L01 already have supply decoupling on the module and a local LDO so I'm unconvinced that supply noise is the issue. 2) what is the distance between the modules, do you have dropped packets when the modules are 10 cm apart? 3) these modules use 2.5 GHz, 100uF capacitors are useless for 2.5 GHz and so are 0.1 uF caps. For 2.5 GHz you should be using 1 nF or 100 pF assuming supply noise is the issue. 4) How are supplying the whole setup, try a different supply or even a battery if possible. \$\endgroup\$ – Bimpelrekkie Feb 10 '18 at 22:00
  • \$\begingroup\$ I have dropped packets when the modules are very close together. With all my testing, tantalum capacitors don't seem to solve the problem. But Aluminium Electrolytic do. No matter what power source I supply them with or any other change in variables. I am trying to figure out why one capacitor is better than the other. \$\endgroup\$ – M.Schindler Feb 10 '18 at 22:10
  • \$\begingroup\$ Different caps will have different ESR. But for decoupling purposes you should rather have 100nF or some such. And to filter out radio noise, smaller ones yet. \$\endgroup\$ – Lundin Feb 12 '18 at 14:37
  • \$\begingroup\$ So playing around with capacitor placement I found something interesting. When I disconnect the NRF I get 676 drops per minute. When I put the tantalum cap on the SMD pad I get 430 drops per minute. When I put the Aluminium Electrolytic cap on the SMD pad I get 359 drops per minute. When I put the Aluminium Electrolytic Cap on the 2.54mm pins of the NRF, I get 1 drop per minute. Is it possible that my copper traces are screwing with something? They are about 2mm long and 0.5mm in width. \$\endgroup\$ – M.Schindler Feb 13 '18 at 6:02
1
\$\begingroup\$

Do you realize a general purpose 100uF can have an ESR of 2 Ohms ? while a LOW ESR 100uF will be < 10us or 0.1 Ohm.

It is always important to know ( by testing ) the sensitivity to supply ripple for any RF radio when you consider the sensitivity threshold is in uV range.

Even if the Rx current is only 10mA and the LDO output impedance is only 0.1 Ohm at some high ripple frequency, you need to understand that load regulation is frequency sensitivy as loop gain in the LDO drops with rising f. The parallel cap ESR must be very low for this RC attenuation or better to use LC decoupling to get a 2nd order effect.

What I would do is inject noise with a sine wave FM sweep and find the threshold for loss in Rx sensitivity at the minimum RF level. This can be done by using a voltage FM sweep gen with a resistor divider and measure the energy with a spectrum anlyzer AC coupled into 50 Ohms. Then you can measure the RX load current spectrum during Tx data using a 1 Ohm ground shunt resistor and AC couple into the 50 Ohm Spectrum Analyzer.

Once you know the ESR of the present system , Ripple current and the Rx noise sensitivity, the choice of low ESR Caps with optional low ESR series L, you can design the transfer function of your power LPF to get no change in x uV Rx sensitivity threshold and thus no dropout and no loss in range or rise in BER.

This is a routine operation for any RF designer, unless they know from experience and design the right filter and get it right 1st . RF Beads will help from induced RF noise as well as paying attention to all other sources of interference or BER degradation from crosstalk.

Once you know this ripple sensitivity threshold vs f. then you can design your LDO LPF filter to ensure load ripple and verify it.

Get the right tools and understand 1/Zo load regulation error with ESR and SRF of filter parts vs f helps save time in debugging Radio issues so you can look at other causes like group delay error , antenna mismatch, PLL performance, xtal error etc.

\$\endgroup\$
0
\$\begingroup\$

For valid comparisons, the two types of capacitors must connect to the exact same point in the circuit.

Also the ringing frequency depends on inductance; 4" wire in air, not over a plane of any type, is 100mm long and thus approximately 100nanoHenries inductance. That much inductance, with 100uF capacitor, resonate at

1/sqrt( L * C) in radians/second

1/sqrt( 100nH * 100uF) = 1/sqrt(1e-7 * 1e-4) = 1/sqrt(1e-11)

= 1/sqrt(0.1 * 1e-10) = sqrt(10) / sqrt(1e-10) = 3.16 / 1e-5 = 316,000 rad/sec

~~ 50,000 Hertz ringing

The optimum dampening Resistor (Q ~ 1) is sqrt(L / C) = sqrt(0.001)

= 31 milliOhms, for wire length of 4"

\$\endgroup\$
0
\$\begingroup\$

Your problem with the NRF24L01 modules is not "smooth" power, and it isn't noise.

Your problem is that you are most likely using a plugin connector to attach the module to your own board.

Your description is pretty clear:

A capacitor on your board helps, but not enough. A capacitor directly on the power pins of the NRF24L01 fixes the problems almost perfectly.

There's a couple of things going on:

  1. The plugin connectors have a little resistance. When the module starts transmitting, the voltage on the module drops (though the voltage on your board stays stable.) The voltage on the module drops because of the resistance of the connector.
  2. The connector acts like an inductor, and prevents current from flowing into the module "fast enough" when the transmitter kicks in.

As you've noticed, putting a capacitor right on the NRF24L01 module helps. The problem occurs on the NRF24L01, after the connector. Fixing it on your board won't work.

You have a couple of ways to fix it:

  1. Remove the connector. Solder the NRF24L01 to your board using a pin header of the proper length and spacing. Use a low equivalent series resistance (ESR) capacitor on your board (right close to the module power pins,) and that should fix it. Tantalum is (relatively) low ESR, but there are aluminum electrolytics that are lower still.

  2. Install a big capacitor with low ESR directly on the NRF24L01 module as you have been doing.


You probably ought to stick with aluminum electrolytics.

Appropriate aluminum models are better for your use than tantalum capacitors. Tantalums also have a failure mode ("vent with flames") that makes some people reluctant to use them.

In any case, it is a good idea to include a 100nF ceramic in parallel with the larger electrolytic.

Electrolytic capacitors can have a fairly large inductance, which can slow them down on sudden load changes.

Ceramic capacitors have very low resistance and very low inductance, so they can deliver that sudden burst when the transmitter kicks in.

To get that fast reaction, you need a small ceramic - it can deliver a fast, sharp burst. A small ceramic has a small capacitance, though, so it can't provide current for very long.

So, use a small ceramic for the fast stuff together with a larger (low ESR) electrolytic.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.