不死鳥的終章
不死鳥系列不用多說,這是我開源第一個成功的項目,也是貫穿了我絕大部分的大學生涯,在這個作品上面我花了很多時間和經歷,再此特別感謝我的梓協師兄和各位給予我幫助的小伙伴們!
本次不死鳥跟新基於我在立創開源廣場的這個項目【 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波紋圖