Tapatalk

Whisper Node LoRa on coin cell CR2032

Whisper Node LoRa on coin cell CR2032

2

PostJan 24, 2019#1

I am trying to run the Whisper Node LoRa on a coin cell battery inspired by the blog post here https://www.hackster.io/musskopf/temp-a ... ear-580114

The radio communication and voltage and temperature readings work well when i have a 5V power source, but when I switch to the CR2032 it fails trying to send the first voltage reading (at line 198 in the original code).

I basically just modified the source code to use RH_RF95 instead of RH_RF69 that is being used in the example. The RF69 only stuff like modem config and encryption I have just removed.

My guess is that the myRadio.send(radioBuf, radioBufLen); simply draws too much power and makes the voltage drop below the voltage regulators minimum level. It doesn't make a difference if I let it sleep for 4 seconds before doing send command, so it must be the send command alone that draws too much power I guess.. Unfortunately I don't have the equipment to do a continuous reading of the voltage.

Shouldn't it be possible to run the same code on the LoRa version? Or does the LoRa radio chip use significantly more power?

Is there anyway to configure the RH_RF95 to use less power. I have also tried lowering the RADIO_TX_POWER to 5 which I understand is the minimum, but that didn't help either..

I have tried attaching the DHT sensor as described in the blog post, but have also tried running with nothing attached to the board, but to no avail.

Thanks for any help..
DTH11Node.ino (5.35 KiB)   7

1885
1885

PostJan 25, 2019#2

Hi oleprinds,

Yes, there is a chance LoRa radio might draw too much current for longer periods and cause an unbearable voltage drop at the input. The example from hackester.io is based on the RFM69 radio, which is configured by default to use a fast transmission speed. The default bitrate for the RFM95 radio, defined by the Radiohead library is much slower.

You might try increasing the transmission speed using the ModemConfigChoice documented at the library (https://www.airspayce.com/mikem/arduino ... _RF95.html). You should add a line similar to:

Code: Select all

myRadio.setModemConfig(RH_RF95::Bw500Cr45Sf128 )
Include the line just after the Radio initialization and before the myRadio.sleep().

Additionally, the sketch will run continually, progressively draining the CR2032 and increasing the battery internal resistance. To prevent it, make sure your code executes a single transmission and go to fully sleep for a few seconds or minutes. This will allow the battery voltage to back-up and the internal resistance to lower for the next pulse. Remove any delay() or replace with sleep calls to reduce the MCU power consumption.

A final approach is to add a large capacitor (100uF+) at the VIN, this should help the battery during the current pulse.

CR2032 Datasheet: http://data.energizer.com/pdfs/cr2032.pdf

Regards

2

PostJan 30, 2019#3

Thank you for your help.. I managed to get it to run on the CR2032, by changing the modem config, like you suggest, and then adding a 470µF along with a small ceramic capacitor in parallel on the VBAT and Ground.

I didn't work on VIN, but is it okay to put it on VBAT instead of VIN? I am wondering if I should add a diode as well between VBAT and the capacitors, in order to avoid power running back from the capacitor to the battery, or is something like that unnecessary?

I already added lots of power down/sleep calls between radio and LED actions, but thanks for the heads up on that too.

Best regards,
Ole

1885
1885

PostJan 30, 2019#4

Hi again oleprinds,

Good to hear you're progressing with your project. Regarding the VIN and VBAT, those are different inputs. In the case of CR2032, it's wired to the VBAT input. The VIN is only wired to the micro-USB and it should be used only with 5V supply.

About the diode, you don't need to worry about that, the voltage at the capacitor will be always the same or lower to the CR2032, so no risk of damaging current flowing back.

Regards