BMS從機(jī)開發(fā)板 /凌力爾特LTC6804/6811開發(fā)板BMS從機(jī)電池管理評(píng)估板/儲(chǔ)能BMS從機(jī)采集板
采集板帶電源隔離/SPI隔離通信方案
最重要的事說三遍!??!
免費(fèi)提供技術(shù)支持!?。?br />
免費(fèi)提供技術(shù)支持?。?!
免費(fèi)提供技術(shù)支持?。?!
程序移植,調(diào)試,測(cè)試均可以。
程序采用STM32F103 用SPI驅(qū)動(dòng)
如只需要資料可私信樓主
提供技術(shù)支持,樓主是搞技術(shù)的所以互相學(xué)習(xí)互相進(jìn)步
功能:SPI/菊花鏈通信
1、電壓采集功能(精度1mv以內(nèi),高精度四位半萬用表測(cè)試結(jié)果)
2、GPIO1~5電壓采集功能(INA282雙向高精度電流采集,精度10ma)
3、輔助測(cè)量功能(總壓,內(nèi)部溫度,內(nèi)部基準(zhǔn)電壓等等)
4、斷線自檢功能(判斷哪一節(jié)電池?cái)嗑€并輸出故障電池節(jié)號(hào))
5、電流采集功能(高精度雙向電流采集芯片,軟件集成卡爾曼濾波,中值濾波等濾波算法)
6、IIC(GPIO4-GPIO5)通信功能(使用LTC6804讀寫EEPROM----24C02,無需主控編程即可存儲(chǔ)數(shù)據(jù))可以用來保存采集板的配置信息。該方案網(wǎng)上資料無,獨(dú)此一家開源
7、被動(dòng)均衡功能(設(shè)置壓差閾值并找出最高電壓開啟均衡)可設(shè)置0~1000mv任意值均衡
8、溫度采集功能(精度0 .1°C)
9、有上位機(jī),顯示檢測(cè)的數(shù)據(jù),如圖5(有通信協(xié)議說明)可以開源上位機(jī);
10、可以增加無線通信,將數(shù)據(jù)通過無限模塊上傳到上位機(jī);
11、可聯(lián)系樓主配置一套充放電控制套裝(增加充電器,充放電控制板,電子負(fù)載儀,若干線)
持續(xù)更新:20231223
資料:測(cè)試上位機(jī),采集源碼(主控STM32F103 SPI通信),原理圖,BOM,源碼解析,電量soc算法代碼及解析,斷線檢測(cè)代碼及解析等等
服務(wù):作者熱心詳細(xì)解答技術(shù)問題
注:學(xué)習(xí)技術(shù)交流使用,個(gè)人版權(quán),未經(jīng)授權(quán)不允許商用!

部分main程序 以及注解
int main(void)
{
float temp[2] = {0};
u16 adcx;
float adc_v;
HSE_SetSysClock(RCC_PLLMul_9); //則設(shè)置系統(tǒng)時(shí)鐘為:8MHZ * 9 = 72MHZ
delay_init(); //延時(shí)函數(shù)初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
LED_Init(); //LED端口初始化
KEY_Init(); //按鍵IO初始化
IO_CTRL_Config(); //系統(tǒng)的一些IO口設(shè)置;
Adc_Init(); //ADC初始化
uart_init(115200); //串口初始化為115200
CAN_Mode_Init(CAN_SJW_1tq,CAN_BS2_8tq,CAN_BS1_9tq,4,CAN_Mode_Normal);//CAN初始化環(huán)回模式,波特率500Kbps
LTC6804_initialize();//LTC6804初始化配置 標(biāo)準(zhǔn)模式 不允許放電 電壓所有單元 GPIO所有通道
//SPI2_Init(); //硬件SPI
Simulated_SPI_IoInit(); //軟件SPI
while(1)
{
LTC6804_adcv(); //Starts cell voltage conversion 開始電池電壓轉(zhuǎn)換
LTC6804_rdcv(0,cell_zu,cell_codes); //6804獲取12節(jié)電池電壓
LTC6804_adax(); //Start an GPIO Conversion 啟動(dòng)GPIO轉(zhuǎn)換
LTC6804_rdaux(0,cell_zu,aux_codes); //獲取GPIO1-5的數(shù)據(jù)+VREF2 0 讀回所有輔助寄存器
LTC6804_ADSTAT(); //啟動(dòng)狀態(tài)組ADC轉(zhuǎn)換,濾波模式
LTC6804_rdstat(0,cell_zu,stat_codes); //測(cè)量?jī)?nèi)部器件參數(shù) (ADSTAT 命令)
Get_Cell_Voltage(); //獲取電池電壓四位整數(shù) mv
Get_Cell_Voltage_Max_Min(); //最大電壓、最小電壓
Get_Update_ALL_Data(); //各項(xiàng)相加求總壓 / 寄存器讀取
Get_SOC(); //目前根據(jù)電壓取SOC 后面根據(jù)電流積分法
Get_BQ_Current(); //電流檢測(cè)
adow_test() ; //斷線檢測(cè)
BMS_STA(); //充放電狀態(tài)檢測(cè)
//***************溫度***********************
temp[0] = Get_Tempture(aux_codes[0][1]);
temp[1] = Get_Tempture(aux_codes[0][2]);
shang[38]=temp[0];
can_buf7[2]=(char)shang[38];
Balance_task(300); //計(jì)算電池電壓MAX 的標(biāo)號(hào)并開啟均衡 200mv 均衡開啟閾值
charge_management(); //按鍵充放電,并檢測(cè)過沖過放
RECEICE_DATA_DEAL(); //串口1接收上位機(jī)數(shù)據(jù)處理
Usart_Send_Array(USART1, shang,50); //TTL上傳數(shù)據(jù)
CAN_SEND();
// adcx=Get_Adc_Average(ADC_Channel_5,10);
// printf(" ADC:%drn",adcx); //打印ADC的值
// adc_v=(float)adcx*(3.3/4096);
// printf(" 電壓值:%f Vrn",adc_v); //打印電壓值
LED0 = ~ LED0;
//printf("**************作者:小高霸氣********************** rn");
delay_ms(100);
}
}
```
審核編輯 黃宇
-
電池管理
+關(guān)注
關(guān)注
28文章
624瀏覽量
46073 -
bms
+關(guān)注
關(guān)注
111文章
1255瀏覽量
70250
發(fā)布評(píng)論請(qǐng)先 登錄
聯(lián)合電子新一代BMS電池管理系統(tǒng)核心技術(shù)解析
汽車電池管理系統(tǒng)BMS的TVS和ESD等防護(hù)器件選型邏輯
BMS儲(chǔ)能電池測(cè)試系統(tǒng)的精度革命——毫伏級(jí)誤差如何影響安全?
BMS電池管理系統(tǒng)中的主動(dòng)均衡應(yīng)用考量因素
NXP電池管理系統(tǒng)(BMS):保障電池性能與安全的關(guān)鍵方案
MR-BMS771參考設(shè)計(jì):適用于移動(dòng)機(jī)器人的電池管理系統(tǒng)
儲(chǔ)能類電池管理系統(tǒng)BMS HiL解決方案
直播預(yù)約 |開源芯片系列講座第30期:“一生一芯”計(jì)劃——從零開始設(shè)計(jì)自己的RISC-V處理器芯片
從零開始了解智慧教室(一):智慧教室核心設(shè)備
?STEVAL-BMS114電池管理系統(tǒng)評(píng)估板技術(shù)解析
BMS電池管理系統(tǒng)測(cè)試架構(gòu)
琻捷電子出席復(fù)旦大學(xué)管理學(xué)院2025滬港新經(jīng)濟(jì)論壇
儲(chǔ)能柜電池管理系統(tǒng)(BMS)CANFD芯片國(guó)產(chǎn)替代方案
8串以上BMS電池管理系統(tǒng)數(shù)據(jù)監(jiān)測(cè)藍(lán)牙傳輸方案
電子硬件工程師如何從零開始學(xué)習(xí)?(文末免費(fèi)分享從零開始學(xué)習(xí)資料)
BMS電池管理學(xué)習(xí),從零開始
評(píng)論