不死鸟的终章
不死鸟系列不用多说,这是我开源第一个成功的项目,也是贯穿了我绝大部分的大学生涯,在这个作品上面我花了很多时间和经历,再此特别感谢我的梓协师兄和各位给予我帮助的小伙伴们!
本次不死鸟跟新基于我在立创开源广场的 这个项目【CH32V_PD】——主要是OPA的部分,和电流检测部分。
——卡文迪许怪 2022.11.22
参数 | 值 | 单位 | 来源 |
---|---|---|---|
输入电压 | 8-26 | V | INA199最高耐压26V |
输出最大电流 | 12 | A | 3.0 / 50(β)/0.005 = 12A |
理论最大功率 | 312 | W | 26*12 = 312 |
推荐功率 | 96 | W | 12 * 8 = 96 |
5V输出功率 | 15 | W | 5 * 3 = 15 |
无负载功耗 | 0.2 | W | |
电流检测精度 | 0.0032 | A | 12/[3/3.3 * 4096] = 0.0032A |
过载保护时间(短路) | 1 | ms | |
输入的分压电路最大读3.3*(10 + 1.5) / 3.3 = 25.3v
5S锂电池max = 5 * 4.2 = 21v
-
自锁电路一键启动,关闭时损耗几乎为0。
-
电池识别:如果接入的是3.7V - 4.2V的整数倍,那么可以认为此设备是锂电池,如果倍数是2,那么就认为是2S电池,3倍即3S电池。如果识别到是锂电池,在使用过程中掉出对应最低电压,就会启动过放保护(关闭系统)。例如:【例1】
-
电流检测:利用采样电阻的差值信号给INA199做50倍放大,输出给MCU和其他IC。例如:【例2】
-
电流硬件过载保护:利用INA199检测到的电流信号,在LMV358与一个3.0的参考电压做比较,如果电流信号大于3.0V,即运放输出低电平(关闭系统)。
-
电流软件过载保护:利用INA199检测到的电流信号,使用MCU的ADC来读取电压值到程序中,与程序设定的电流最大值做比较(由MCU输出低电平关闭系统)。
-
温度保护:使用热敏电阻搭建的温敏电路,使温度和输出电压成正相关。使用MCU的ADC来读取电压值到程序中,与程序设定的温度最大值做比较(由MCU输出低电平关闭系统)。
-
DC-DC:由P-mos输出的VCC给TPS5450降压到固定的5V,用于IC供电、输出。
-
USB-OUT输出:平平无奇的输出5V(DC-DC提供)。
-
显示:LCD全彩屏。
-
通信:可以作为其他设备的从机IIC。
//【例1】
#define Bat_min 3.7
#define Bat_max 4.2
float vol = 11.7; //假设获取到电池电压是11.7
char Bat_S;
int temp = vol / Bat_min;
if(Bat_max * temp >= vol)
{
Bat_S = temp;
}
else
{
Bat_S = 0;
}
//【例2】
#define RES_Sample 0.005 //采样电阻是0.005欧姆
float Vol = 2.4; //假设获取到运放后面的电压是2.4
float Source_Vol = Vol / 50; //因为运放的倍率β固定是50倍
float Elec = Source_Vol / RES_Sample; //真实电流值
//计算结果为 9.6A
波纹图