Skip to main content

Design recommendation for checking battery levels

DA14531 SmartBond TINY Module

6 months ago

Posted by tsgowtham 80 points 23 replies
0 upvotes

Hi,

I'm working on designing a custom PCB which uses a LiPo battery and a LDO. I would like to use one ADC channel to sample the voltage of the battery. Can you please suggest the best/recommended method/design for this?

I previously had a custom board on which the positive terminal of the battery was connected to P0.7. This board had used a coin cell. This had an issue where there was an increase in power consumption even after configuring this pin as inactive. I verified that the increased current draw was due to this connection by checking the current draw after cutting the trace between P0.7 and the battery.

I would like to avoid this issue in this design, so please suggest a method I should use for sampling the battery voltage.

 

Thanks,

Gowtham

6 months ago

PM_Dialog

Hi tsgowtham,

Thanks for your question online. Can you please indicate if the DA14531 is powered via a LiPo? Or the LiPo is connected to a GPIO and you would like to sample the battery voltage?

Please check the following SDK example, but the supported battery types are CR2032 / CR1225 lithium cell and alkaline cell battery

6.0.14.1114\projects\target_apps\peripheral_examples\adc\batt_lvl

Please also check the following tutorial :

http://lpccs-docs.dialog-semiconductor.com/da145xx_tutorial_sdk6_peripherals/da14531_adc.html

Thanks, PM_Dialog

6 months ago

tsgowtham 80 points

Hi PM_Dialog,

The DA14531 is powered using the LiPo battery indirectly. There is a 3.3V LDO in between.

The LiPo is also connected to a GPIO(most likely with a voltage divider in between). And yes, I would like to sample the battery voltage.

I have gone through the SDK examples but they are not suitable for my application as they use the internal VBAT ADC channel unlike my scenario where I'm using a GPIO. And I don't have any issues on the code side, my problem is on the HW side due to the leakage current issue I have mentioned previously.

Thanks,

Gowtham

6 months ago

tsgowtham 80 points

Hi PM_Dialog,

Any updates on this?

Thanks

6 months ago

PM_Dialog

Hi tsgowtham,

Apologies for the delay. Since the DA14531 is powered through the LiPo, why do you need to use a GPIO to measure the battery level ? You can use the internal VBAT for this as per our SDK example. Is there any specific reason why you need to connect the battery to a GPIO as well?

Thanks, PM_Dialog

6 months ago

tsgowtham 80 points

Hi PM_Dialog,

The DA14531 is not powered by the LiPo. The LiPo is connected to a 3.3V LDO. The 3.3V output rail from the LDO is connected to the VBAT of the DA14531 module.

Sorry if my last response was a bit confusing.

 

6 months ago

PM_Dialog

Hi tsgowtham,

Could you please share the part of the schematic showing how the LiPo is connected?

Thanks, PM_Dialog

6 months ago

tsgowtham 80 points

Hi PM_Dialog,

I've attached a snippet of my schematic

Thanks,

Gowtham

Attachment Size
da14531-ldo.jpg 36.57 KB

6 months ago

PM_Dialog

Hi tsgowtham,

Thanks for attaching the schematic. Why do you this circuit between the battery and the VBAT?

If you are connecting the battery with any of the available GPIOs, please keep in mind that you should in spec.

See table 3.11 Digital I/O Characteristics from the DA14531 Datasheet. Are the voltages and currents in spec when connecting the battery with a GPIO?

Thanks, PM_Dialog

6 months ago

tsgowtham 80 points

Hi PM_Dialog,

The circuit in between the battery and the VBAT consists of a LDO. The LDO provides a constant 3.3V source to VBAT. We have other components which I have not included in the above picture which also uses this 3.3V rail.

I have gone through the datasheet and the Digital I/O characteristics. The battery has a maximum voltage of 4.2 V, so I planned on using a voltage divider to get it down to a maximum voltage of 2.1 V. But I would like to know if that is the best method Dialog suggests as I had the current leakage issue previously mentioned on a circuit which used the same design.

Thanks,

Gowtham

6 months ago

PM_Dialog

Hi tsgowtham,

I'll check this out with the HW Team and get back to you shortly.

Thanks, PM_Dialog

6 months ago

PM_Dialog

Hi tsgowtham,

Our Team internally had a look into your issue, so please find our points below :

1. Can you please share the battery specification?
The DA14531 module has BUCK configuration.  Hence the VBATHIGH has 1.8V – 3.3V (typically 3.0V) range – see attached.
If the battery voltage is between 1.8 to 3.3, you do not have to use an LDO to supply the module.
So please provide battery specification.

2. What is the o/p voltage of the LDO?
After reset, P0X(P0_7) has input Pulldown 25k resistor and it will be active.
Hence there could be a chance that the current of VLDO/25k is flowing and that could be what he is seeing in his application.
What is the value of the current consumption?

Ideally, you need to program the PID bit of p07 to 15 to select ADC input after reset.
Once this is done, the D 25k resistor will be disconnected.

3. Alternative option to save p07:

Please program GP_ADC_SEL_P to select VBAT_HIGH so that it will be sampled by the ADC and P07 will be saved and could be used for any other purpose.

Thanks, PM_Dialog

Attachment Size
images.zip 28.58 KB

5 months ago

tsgowtham 80 points

Hi PM_Dialog,

Below are the answers to your questions:

1. The battery is typically at a voltage of 3.3V to a max voltage of 4.2V. So I will not be able to use the BUCK configuration here.

2. The output voltage of the LDO is 3.3V.

3. Regarding the pulldown, I currently do not have any of my boards with me as my city in a lockdown. I'll try to get my hands on one and try out your solution.

 

Thanks,

Gowtham

5 months ago

PM_Dialog

Hi tsgowtham,

Thanks for your comments. I'll push them internally to check them out. Can you also share the part number of the battery?

Thanks, PM_Dialog

5 months ago

tsgowtham 80 points

Hi PM_Dialog,

I don't have any part number for the battery, it's just a generic LiPo with a nominal voltage of 3.7V. Please note that the 3.3V I have mentioned as the typical voltage of the battery is incorrect, it is 3.7V. The maximum is still 4.2V.

Thanks,

Gowtham

5 months ago

PM_Dialog

Hi tsgowtham,

So, let’s summarize. The module is by default configured in BUCK and you will have to use it as BUCK. As described in the datasheet too. The LDO o/p 3.3 is within spec to operate in BUCK mode as the I/p range is 1.8 to 3.3 and absolute max rating for VBATHIGH is 3.6V. But it’s better to operate in between 1.8 to 3.3. If the LDO is configurable, it is better to configure it in between 1.8 to 3.3.

Please let us know with the results with #3 approach.

Thanks, PM_Dialog

5 months ago

PM_Dialog

Hi tsgowtham,

Can you please let us know if you had a chance to test approach #3 ? Or you need further support on this ticket?

Thanks, PM_Dialog

5 months ago

tsgowtham 80 points

Hi PM_Dialog,

Currently my city is in a lockdown due to the pandemic and I don't have any equipment with me to test approach #3. I should be able to try it out and get back to you by the end of the next week.

Thanks,

Gowtham

5 months ago

tsgowtham 80 points

Hi PM_Dialog,

Unfortunately I will not be able to get my PCBs for the next few months atleast, so I will not be able to try out approach #3 now.

Can you still provide me with Dialog's recommended circuit design and guidelines for measuring the battery voltage as I'm working on a design of a new custom PCB?

Thanks,

Gowtham

5 months ago

PM_Dialog

Hi tsgowtham,

Still with a LiPo battery as a power source? 

Thanks, PM_Dialog

5 months ago

tsgowtham 80 points

Hi PM_Dialog,

Yes, I'll still be using a 3.7V LiPo as a power source and a 3.3V LDO as I had mentioned in one of my previous comments.

Thanks,

Gowtham

accepted answer!

5 months ago

PM_Dialog

Hi Gowtham,

Apologies for my late response.

According to our Team internally, the circuit had been initially mentioned should be fine.

But it would be better to keep the LDO o/p at 3.0V as that's the typical voltage for VBAT_HIGH.

This would save power consumption.

The current circuit should work.

However, please do have a comparison once you develop the next revision board.

Thanks, PM_Dialog

5 months ago

tsgowtham 80 points

Hi PM_Dialog,

Thanks a lot for confirming it. As suggested I'll go ahead with the above mentioned design and compare the 2 revisions.

Thanks,

Gowtham

5 months ago

PM_Dialog

Hi Gowtham,

Thanks for accepting the answer. If you need further support on the board rev 2, please raise a new forum ticket.

Thanks, PM_Dialog