This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Intermittent device reset in modified ble_app_beacon example

I've been documenting this issue and asking questions here:

Intermittent device reset in modified ble_app_beacon example

Since I need to post a proprietary schematic, I made this private post to continue.

This project is a stripped down version of a product under development. It depends upon being able to change the contents of the advertising data whenever the board (a sensor) detects a new state.  The code as shown generally works but eventually the device resets. This could happen after running for a few minutes or a few days or anywhere in between.

UPDATE:

I've removed the schematic and am now making this post public.

SUMMARY:

  • Verified the resets are not caused by software by examining the RESETREAS register after a reset occurrs.
  • Learned the NRF52 processors will reset if the supply voltage rises 0.3v at or above a rate of 1mV/mS.
  • Verified the ripple on Vdd was within tolerance. Eliminate brown-out reset as a cause.
  • Verified no reset happens when running off a power supply instead of a coin cell (CR2477)
  • Eliminate battery connection as a cause
  • Suspect the battery brand, test another brand, still got resets.
  • Build and use a current to voltage amp to accurately measure peak battery current
  • Eliminate peak current as a cause
  • Measure battery current while programming the device and discover programmer is sending current into the battery.
  • Configure programmer to not send power to the device
  • Retest 12 devices with fresh batteries.

At this point I am gaining confidence that the programmer was damaging the coin cells with the reverse current. I've appealed to Nordic to document this in the DK user guide and am converting this post to public in case they don't.

  • Hi,

    brian said:
    has Nordic ever seen battery connection issues like this? 

    Yes, we have seen similar issues with coin cell batteries, when the current consumption is too high, exceeding the rated drain current for the battery, and causing too large voltage drop that then causes a brown-out reset. We have a whitepaper on this subject here.

    Could you measure the current consumption on your board?

    Based on this result, you might need to increase the value of C7, and/or reduce the overall current consumption. 

  • The current ranges between 180 and 220 uA when operating at 2.5v.  At 680uF right now, C7 is able to keep the device running without a battery for 10 seconds.

    Thanks for the link.

  • So, we have eliminated all possible causes except the battery and the battery connection. So I've been doing battery swap tests the last few days as you suggested. The results are interesting.

    First, I lightly sanded and then cleaned both the battery surfaces and the board's battery contacts and then cleaned all with alcohol. Testing resulted in 10 of 15 boards reset within 12 hours.

    Then I rotated the batteries amongst the boards and retested for 12 hours.

    This was repeated 3 times. Here are the results. X indicates failure. The red lines follow a battery through the tests.

    battery swap test results

    The failures tend to follow the battery. Here are the same results by battery:

    results by battery#

    11 of 15 results tracked with the battery movement. I realize there not a lot of statistical significance in this data to claim confidence but I'm going to assume the battery is the issue and not the contacts.

    During each those tests I put a scope on one of the boards' Vdd line.  I set the scope up for a single-shot trigger with a rising-edge trigger and the trigger threshold set 0.1v above the measured Vdd. 

    On the last test run, the board I chose had a measured Vdd of 2.08v. So the trigger threshold was set to 2.18v.  8 hours later the trigger had fired and Vdd was now measuring 2.60!!! The battery voltage had INCREASED 0.42v at some point during the test AND this board had RESET.

    This kind of jump would cause a reset as you stated earlier in this thread.

    What would make a coin cell suddenly jump up in voltage 0.4v? The load is dynamic but the load pattern isn't changing.

    I would have never expected this from a battery. Googling around found no similar experiences.

    So let's talk coin cells.  I'm using PKCELL CR2477.  PKCell is the cheapest CR2477 out there so it is worthy of suspicion.

    I am now testing Panasonic CR2477 and will also test Sony brand when they arrive next week.

    Sigurd, Any experience, comments questions you can share on these latest results would be appreciated.

  • Panasonic CR2477 test

    This test has been running for over 3 days now without a reset. I have been measuring battery voltages twice a day and did notice one odd event: one battery jumped from 2.7v to 2.9v. Similar to what I saw with the PKCell batteries but not as large or as common.

    So I'm still a bit concerned as these tests are all statistically small sample sizes. 

    What options are available ti mitigate the reset behavior of the NRF52832 when the supply voltage rises quickly by > 0.3v?

  • Panasonic CR2477 test failure

    It took five days but now 3 out of 15 of the Panasonic CR2477 batteries have shown the voltage step up and subsequent reset. The battery voltage slowly ramped down to somewhere under 2.4v and now is at 2.6v.

    Any ideas?

    How can I keep the processor from reseting when this happen?

Related