Close

Upgrade

A project log for Outside Air Temperature Display

Simple digital thermometer that measures the outside temp with a wired probe and displays in Celsius or Fahrenheit.

brian-cornellBrian Cornell 10/09/2018 at 02:060 Comments

After the initial battery replacement at six months the second set lasted only a month.  When I tested them one was shorted so I figured I had a bum battery.  But after the third set died in less than a month I realized something was wrong.

Connected to the bench supply & amp meter showed an idle current draw in excess of 3mA - magnitudes higher than it should be.  There isn't much to go wrong but it actually took some time to figure out.  I reloaded the code, removed the temp sensor and its Vdd decoupling capacitor - nada.

Measuring the current with a Vdd down to 1V showed a calculated impedance of 700Ω - well below what it should be.  This also eliminated the LCD & MCU as possible culprits since the minimum operating Vdd is 1.8V.  The only thing left was the MCU's decoupling capacitor and, sure enough, removing it fixed the problem.

This seemed like a really strange failure for a 100nF 805 package MLCC.  Likely one of two things happened:

  1. I assembled with lead-free solder and perhaps a tin whisker shorted it
  2. As mentioned in a previous post the battery clips are junk and when dropped the batteries can come out - perhaps they damaged the cap's layers

I didn't inspect it that closely and finished the replacement.  Instead I took the opportunity to improve the design, many to improve battery life:

With all the mods done the idle current is 53uA and on-time current draw=302uA.

Here's a very crude 1st order (ignores all non-linear effects) calculation of battery life assuming 1Ah AAA batteries.  There are two components to estimating battery life:  IDLE and READ currents.  Idle current is assumed constant regardless of operating state.  Read current is the current draw when the processor is awake and inputs are active (temp & unit sense).

The READ current is first converted to a constant current figure that can be added to the Idle current.  The sample interval is 8 seconds and the on-time of a Read is approximately 120mS.  Therefore, the Read time as a percent of a sample interval is 120 / 8 = 0.015 (1.5%).  The Read current of 302uA converted to a constant current over 8 seconds is 0.015 * 0.000302 ≈ 5uA.

Adding the converted Read current of 5uA to the Idle current gives a total constant current draw of 53uA + 5uA = 58uA.

A AAA battery with a 1Ah capacity will operate for approximately 1 / 0.000058 ≈ 17,241 hours or 17,241 / 24 ≈ 718 days or 718 / 365 ≈ 1.97 years.  Probably a bit optimistic.

Below are a few pics of the physical mods.  I've also posted the updated code.  Note C1 is missing from the display side.

Discussions