求一个用STC8H1K08-36I-TSSOP20单片机ADC查看4.2V电池电量的制作方法
求一个用STC8H1K08-36I-TSSOP20单片机ADC查看4.2V电池电量的制作方法没有玩过ADC求大神指导{:baoquan:}
先试着玩一下呗,手册里是有ADC的例子的。 如是电池给 MCU-VCC供电,
那就 ADC_VREF+直接短接到 MCU-VCC就行了
https://www.stcaimcu.com/forum.php?mod=redirect&goto=findpost&ptid=2794&pid=19213
无论如何,你测到的只是电池的电压,而不是电量
电量是不能直接测量的,
要么使用电参测量设备得到电池电量和电压关系表,
要么使用电量管理芯片,实时监测充放电电流然后积分统计得到电量。
直接测电压是很容易的
要是测容量,需要两个ADC同时测量电压电流,库仑计算法
尝试做过,用失调几μV的RRIO运放,电流零点也不准,需要软件校准,最好有负电源轨给运放
DebugLab 发表于 2025-12-17 18:28
直接测电压是很容易的
要是测容量,需要两个ADC同时测量电压电流,库仑计算法
尝试做过,用失调几μV的RRI ...
就是测电压就行,大佬有没有做过的方案分享一下 lcwswust 发表于 2025-12-17 13:12
先试着玩一下呗,手册里是有ADC的例子的。
{:OK:} 隐约 发表于 2025-12-18 11:17
就是测电压就行,大佬有没有做过的方案分享一下
8H8K64U,AiCube的CDC发送VREF程序供参考
CH15=ADC_Convert(15);
CH10=ADC_Convert(10);
VREF=(unsigned int)((unsigned long)BGV*4096UL/(unsigned long)CH15);
V_CH10=(unsigned int)((unsigned long)VREF*(unsigned long)CH10/4096UL);
printf("BGV=%dmV CH15=%d Vref=%dmV CH10=%d V_CH10=%dmV\r\n",BGV,CH15,VREF,CH10,V_CH10);
DebugLab 发表于 2025-12-18 12:14
8H8K64U,AiCube的CDC发送VREF程序供参考
CH15=ADC_Convert(15);
非常感谢
页:
[1]