Part Number:MSP430G2332
MSP430G2332 3.7V锂电池供电,如何测量电池电压,不采用外部电阻分压的方式。
电路设计时没有用外部分压测电压的电路,锂电池是直接给芯片供电的。
Yale Li:
我对电池方面的应用不是很了解。我假定电池只有比较少的一部分时间是处于满电状态(3.7V)。
可以使用G2332的10-Bit ADC,使用外部3.6V VCC作为参考(实际上VCC的最大耐压是4.1V,每一个管脚的最大耐压在VCC的基础上再加0.3V,也就是4.4V。但是手册上推荐的是在3.6V内使用,具体需要你自己来考量)。
其实使用3.6V的外部参考是完全够用的。电池电压可能最终并不会上到3.7V;上到3.7V了也并不会一直保持,大部分时间是落到3.6V以内的。
,
user6303367:
感谢回复。
我看到网上有使用ADC10内部2.5V的参考电压,这个方案可行吗?
,
Yale Li:
参考电压是2.5V的话,量程也就是2.5V。
,
user6303367:
哦,选择11通道,貌似是Vcc/2.
但是感觉通过公式:Vcc = (ADC * 2.5 / 1023)*2, 实际电压不相符。
初始化代码如下:
// ADC初始化
void adc_init(void)
{
ADC10CTL0 = REFON + ADC10SHT_1 + ADC10ON + SREF_1 + REF2_5V; // ADC10ON,REF2.5V 2012-5-24
ADC10CTL1 = INCH_11; //(VCC –VSS)/2 as input 2012-6-7
}
//获取ADC值uint16_t get_batteryState(void)
{
ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start
while (ADC10CTL1 & ADC10BUSY);
return ADC10MEM;
}
,
Yale Li:
user6303367 said:Vcc/2
user6303367 said:Vcc = (ADC * 2.5 / 1023)*2
这个公式是参考的哪里?Vcc =?