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.

Parents
  • 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.

Reply
  • 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.

Children
No Data
Related