sparkfun / SparkFun_Edge_BSP

BSP and examples to integrate the SparkFun TensorFlow board with the AmbiqSuite
20 stars 8 forks source link

no led is on when it is battery powered for the tensorflow example #7

Closed csukuangfj closed 5 years ago

csukuangfj commented 5 years ago

Hi,

For the tensorflow yes/no demo, it can detect yes/no and one LED is always blinking when the board is connected to a PC USB port.

But nothing happens when the board is powered by a coin battery. No LED is on.

Is there any thing that I should do when the board is battery powered?

oclyke commented 5 years ago

Hi @csukuangfj, the first thing I'd recommend checking is whether the battery is making good electrical contact with the solder bump on the board. It is possible that a layer of soldering flux is insulating. You can try giving it a little scrub with a brush, screw driver, or hobby knife. Besides that I'd check that the coin cell is fully charged with a multimeter.

If those ideas don't work my next step would be to get in touch with a technical support member on the SparkFun Forums

csukuangfj commented 5 years ago

@oclyke

thank you for the reply. I have asked the problem on the forum but after clicking the submitting button, it says that somebody has to approve it before it appears on the forum.

Is it OK to use a 3.6V coin battery? Currently I use a 3V battery.

I have measured the voltage between VDD and GND on the board, it is 2.2V when battery powered and it increases to 2.8V when connected with USB to the PC. Is this expected?

oclyke commented 5 years ago

@csukuangfj yes, this is more or less to be expected because battery/usb power is selected by a diode OR on the Edge board.

Let's take the case of powering with the 3.3V FTDI adapter. If you power with 3.3V and measure VDD to GND as 2.8V that suggests a 0.5V dropout over the diode. This is expected because the amount of current flowing is low and we are using schottky diodes with a slightly lower than normal drop (normal is 0.7V for a standard diode).

So if the forward voltage drop of the diode on the battery side matches then when measuring 2.2V we can guess that the battery may be around 2.7V. Depending on the battery this may be expected or not. Is 3V the fully-charged voltage or the nominal voltage? Has the battery been used for some time?

Your 3.6V battery will be safe to use as long as it is put into the coin cell holder (~3.1V will be supplied to the Apollo3), however it would be risky to supply 3.6V directly on the VDD pin, so be cautious.

It might be worthwhile to point out some things:

  1. The Apollo3 microcontroller onboard the Edge board can run down to as low as 1.755V at its supply voltage (after the diode drop) so the bare minimum battery voltage should be 2.3V.
  2. Even if the microcontroller can run at low power and low voltages (that's the Ambiq specialty!) the LEDs have a minimum voltage that depends on color and amount of current (see attached diagram). The Blue led will require the most voltage and the Red will require the least. A conservative minumum for the Blue LED might be 2.5V, in which case the coin cell would have to be at minimum 3V.
  3. The coin cell on the Edge board will not be charged by plugging into USB, so when it gets low you should replace it with a new battery.
  4. Never exceed 3.6V into the Apollo3 microcontroller. Even accounting for the 0.5V diode drop that would be a 'never exceed battery voltage' of 4.1V, but LiPo batteries are charged to 4.2V per cell. This means no LiPo batteries for the Apollo3/Edge without a custom power regulator that will keep the board safe.

image

Thanks for making this issue, I will link to it on SparkFun forums as well.

csukuangfj commented 5 years ago

Hi @oclyke

I think the board from the tensorflow dev summit has some bugs. After switching to a new board, the above problems disappear!

Do you known if there are significant changes to the board after the summit?

oclyke commented 5 years ago

Yes, there was a major change between the dev summit board and the later version available through the SparkFun website. On the dev summit release there was a routing mistake that caused high current consumption (up to 60 mA) that would quickly drain batteries. That seems like a likely culprit!