I’m looking at making some battery powered sensor boards using some parts I have at home. They include:
- nRF24L01+ (basic model needs 1.9-3.6V, or 3.0-3.6V for units with PA and LNA)
- DS18B20 (Dallas temperature sensor, needs 3.0-5.0V)
- HT7333 (LDO 3.3v linear voltage regulator)
- Various PNP transistors (as well as various NPN transistors, and mainly N-channel MOSFETs)
- Many kinds of resistors (1/4W, from 1Ohm to 10MOhm)
- Many kinds of capacitors (ceramic, 1nF to 0.1uF, and electrolytic, 1uF to 470uF)
- 1N4001 and 1N4148 diodes
- TL431A (Adjustable Precision Shunt Regulator)
To accommodate the minimum 3.0V of the Dallas temperature sensors I aim for three AA/AAA batteries, or one 18650, for power. This poses a problem with the maximum 3.6V of the nRF24L01+ modules, when the voltage level is above 3.6V.
I’m trying to find some alternatives for providing the RF module with no more than 3.6V, preferably utilizing the components I already have.
Tests of HT7333 with smaller loads shows that HT7333 has a very low voltage drop with V(IN) at 3.3V. 40 mA load at 3.15V V(IN) produces a 3.08V V(OUT). and I believe this should be able to power the basic nRF24L01+ directly, with a reasonably large capacitor.
As for the nRF24L01+ with PA and LNA, the additional power draw may be a bit more difficult to handle, when voltages drop too much. Especially considering the beefier module seem to require a minimum 3.0V instead of the 1.9V minimum of the base module.
Edit: Base nRF24L01+ module requires only up to around 15 mA when transmitting or receiving, whereas the amplified module may draw up to 120 mA, and possibly more.
I have plenty of unused output pins from the ATmega328p. Would the following be possible?
Let’s say I string a bank of 8 of them together, and connect them all to the VCC of the nRF24L01+ for when the battery voltage is below 3.3V. The HT7333 would take care of the load at >3.3V battery voltage, and the ATmega328p pins would be set to INPUTs until needed, making sure to activate them all at once when I want to power up the nRF24L01+ device.
Wouldn’t this have the possibility to become too imbalanced, drawing too much power from a single pin?
Can, and should, I try to limit the output current of each pin? Having 8 current limiting resistors for 8 outputs is a bit cumbersome, and I’m not even sure it’s a good, or even feasible, design.
Are there sufficiently low voltage drop P-channel transistors I can use instead?
Edit 2: The best PNP transistors for the job I seem to have are A92 (3.25V in gives 0.25V drop at 90 mA load with -30mA I(G)) and A1015 (3.25V in gives 0.45V drop at 90mA load with -29mA I(G)). A voltage drop of 0.2-0.3V is roughly the same, or worse, than the HT7333 on its own with 100 mA load, and will be somewhat limited in their usefulness towards the low end of the battery voltage curve, if I want to stay above 3.0V.
If completely unfeasible with my current components, which components would you use instead to make this work better?
Can I string multiple outputs together from ATmega328p to power something which requires >40 mA, and can I limit the current per output pin in an easy way?
Edit 3: Reading some more about sourcing current from ATmega328p pins shows that voltage would drop even more with this approach, let alone having to contend with uneven load on the pins. Seems like the only option left for me, with the equipment I have, is to either use only HT7333 connected directly to the battery, or if I want to be able to turn the RF completely off I’ll have to use two A92 PNP transistors (one for HT7333 at >3.5V battery voltage, and one for direct battery drive at <=3.5V battery voltage). Other ideas are appreciated.