0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

BMS电池管理学习,从零开始

877430185 来源:877430185 作者:877430185 2024-01-02 09:47 次阅读

BMS从机开发板 /凌力尔特LTC6804/6811开发板BMS从机电池管理评估板/储能BMS从机采集板
采集板带电源隔离/SPI隔离通信方案
最重要的事说三遍!!!
免费提供技术支持!!!
免费提供技术支持!!!
免费提供技术支持!!!
程序移植,调试,测试均可以。
程序采用STM32F103 用SPI驱动

如只需要资料可私信楼主
提供技术支持,楼主是搞技术的所以互相学习互相进步

功能:SPI/菊花链通信
1、电压采集功能(精度1mv以内,高精度四位半万用表测试结果)
2、GPIO1~5电压采集功能(INA282双向高精度电流采集,精度10ma)
3、辅助测量功能(总压,内部温度,内部基准电压等等)
4、断线自检功能(判断哪一节电池断线并输出故障电池节号)
5、电流采集功能(高精度双向电流采集芯片,软件集成卡尔曼滤波,中值滤波等滤波算法
6、IIC(GPIO4-GPIO5)通信功能(使用LTC6804读写EEPROM----24C02,无需主控编程即可存储数据)可以用来保存采集板的配置信息。该方案网上资料无,独此一家开源
7、被动均衡功能(设置压差阈值并找出最高电压开启均衡)可设置0~1000mv任意值均衡
8、温度采集功能(精度0 .1°C)
9、有上位机,显示检测的数据,如图5(有通信协议说明)可以开源上位机;
10、可以增加无线通信,将数据通过无限模块上传到上位机;
11、可联系楼主配置一套充放电控制套装(增加充电器,充放电控制板,电子负载仪,若干线)
持续更新:20231223
资料:测试上位机,采集源码(主控STM32F103 SPI通信),原理图,BOM,源码解析,电量soc算法代码及解析,断线检测代码及解析等等
服务:作者热心详细解答技术问题
注:学习技术交流使用,个人版权,未经授权不允许商用!

wKgaomWRVGOAXijsAAFHU-6Ubms326.png

部分main程序 以及注解

int main(void)
{
	float temp[2] = {0};
	u16 adcx;
	float adc_v;
	
	HSE_SetSysClock(RCC_PLLMul_9);   //则设置系统时钟为:8MHZ * 9 = 72MHZ
	delay_init();	    	 //延时函数初始化	  
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); 	 //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
	LED_Init();			     //LED端口初始化
	KEY_Init();          //按键IO初始化
	IO_CTRL_Config(); //系统的一些IO口设置;
	Adc_Init();		  		//ADC初始化
	uart_init(115200);	 //串口初始化为115200
	CAN_Mode_Init(CAN_SJW_1tq,CAN_BS2_8tq,CAN_BS1_9tq,4,CAN_Mode_Normal);//CAN初始化环回模式,波特率500Kbps 
	
	LTC6804_initialize();//LTC6804初始化配置   标准模式 不允许放电  电压所有单元   GPIO所有通道
	//SPI2_Init();   //硬件SPI
	Simulated_SPI_IoInit(); //软件SPI

	while(1)
	{
		LTC6804_adcv();      //Starts cell voltage conversion                                 开始电池电压转换
		
		LTC6804_rdcv(0,cell_zu,cell_codes);        //6804获取12节电池电压    
		LTC6804_adax();      //Start an GPIO Conversion                                        启动GPIO转换

		LTC6804_rdaux(0,cell_zu,aux_codes);        //获取GPIO1-5的数据+VREF2   0 读回所有辅助寄存器

		LTC6804_ADSTAT();                          //启动状态组ADC转换,滤波模式
		LTC6804_rdstat(0,cell_zu,stat_codes);      //測量內部器件參數 (ADSTAT 命令) 
		
		Get_Cell_Voltage();           //获取电池电压四位整数 mv
		Get_Cell_Voltage_Max_Min();   //最大电压、最小电压
		Get_Update_ALL_Data();        //各项相加求总压 / 寄存器读取
		Get_SOC();                    //目前根据电压取SOC  后面根据电流积分法
		Get_BQ_Current();             //电流检测
		adow_test() ;                 //断线检测
		BMS_STA();                    //充放电状态检测
		//***************温度***********************
		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);   //计算电池电压MAX 的标号并开启均衡  200mv 均衡开启阈值
		charge_management();        //按键充放电,并检测过冲过放
		RECEICE_DATA_DEAL();    //串口1接收上位机数据处理
		Usart_Send_Array(USART1, shang,50);       //TTL上传数据
		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);
	}
}
```

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电池管理
    +关注

    关注

    26

    文章

    526

    浏览量

    42657
  • bms
    bms
    +关注

    关注

    103

    文章

    854

    浏览量

    64839
收藏 人收藏

    评论

    相关推荐

    解密BMS电池管理系统

    BMS电池管理系统(BatteryManagementSystem)是一种用于监控和管理电池组的设备,它主要应用于需要精确
    的头像 发表于 04-22 08:10 95次阅读
    解密<b class='flag-5'>BMS</b><b class='flag-5'>电池</b><b class='flag-5'>管理</b>系统

    一文讲明BMS(电池管理系统)

    BMS是BatteryManagementSystem的缩写,中文意义为电池管理系统。顾名思义,BMS就是一个用来管理
    的头像 发表于 03-16 08:10 1056次阅读
    一文讲明<b class='flag-5'>BMS</b>(<b class='flag-5'>电池</b><b class='flag-5'>管理</b>系统)

    晶振在BMS电池管理系统)中起到什么作用?

    晶振在BMS电池管理系统)中扮演着关键的角色
    的头像 发表于 11-30 09:51 366次阅读

    光耦在电池管理系统(BMS)的应用

    电池管理系统(BMS)是现代储能技术的重要组成部分。随着可再生能源和电动交通的快速发展,对高效、安全和稳定的电池管理系统的需求也越来越迫切。
    的头像 发表于 11-01 09:27 755次阅读
    光耦在<b class='flag-5'>电池</b><b class='flag-5'>管理</b>系统(<b class='flag-5'>BMS</b>)的应用

    Linux内存管理学习笔记

    开始的程序运行时只能跑一个进程的,那就不需要复杂的内存管理,把我弄到固定的位置,然后这片区域都是我的。而且有多大的内存我就用多大的,一旦我进程想用的内存比拥有的物理内存大的时候,崩了就完事了。
    的头像 发表于 10-30 14:14 260次阅读
    Linux内存<b class='flag-5'>管理学习</b>笔记

    bms是什么模块 bms系统是什么意思 电池bms是什么意思

    bms是什么模块 bms系统是什么意思 电池bms是什么意思 电池管理系统(Battery Ma
    的头像 发表于 10-16 15:42 2342次阅读

    bms电池管理概述 bms电池管理什么意思

    bms电池管理概述 bms电池管理什么意思  随着电动汽车的普及,
    的头像 发表于 10-16 15:42 748次阅读

    BMS(电池管理系统)和模拟电池有什么不同

    BMS是指电池管理系统,它是一种用于监控和控制电池的设备或系统。BMS可以实时监测电池的状态、温
    的头像 发表于 10-12 15:55 531次阅读

    BMS电池管理测试系统

    BMS测试系统是成都虹威科技有限公司针对电池管理系统开发的一款专用测试系统。测试系统由高精度电池模拟器、温度模拟器、总电压模拟单元、充放电电流模拟单元、温度模拟单元、数据采集单元、CA
    的头像 发表于 10-07 16:24 682次阅读
    <b class='flag-5'>BMS</b><b class='flag-5'>电池</b><b class='flag-5'>管理</b>测试系统

    从零开始学ARM》真心适合新手小白

    ARM架构一直以来都备受欢迎,无论是在移动设备、嵌入式系统还是服务器领域。然而,对于初学者而言,ARM架构可能显得复杂而晦涩。《从零开始学ARM》这本书为初学者提供了一个理想的学习起点,帮助他们逐步
    发表于 09-02 15:29

    什么是BMS电池管理系统(BMS)到底在管理哪些东西?

    BMS是Battery Management System首字母缩写,电池管理系统。
    发表于 08-23 10:10 1.3w次阅读
    什么是<b class='flag-5'>BMS</b>?<b class='flag-5'>电池</b><b class='flag-5'>管理</b>系统(<b class='flag-5'>BMS</b>)到底在<b class='flag-5'>管理</b>哪些东西?

    BMS架构的初学者指南,电池管理系统bms的功能包括哪些

    电池技术的持续转型促使许多新人学习设计电池管理系统。本文提供了电池管理系统(
    的头像 发表于 07-12 15:41 2270次阅读
    <b class='flag-5'>BMS</b>架构的初学者指南,<b class='flag-5'>电池</b><b class='flag-5'>管理</b>系统<b class='flag-5'>bms</b>的功能包括哪些

    电池管理系统BMS的工作原理(一)

    电池管理系统bms
    jf_97106930
    发布于 :2023年05月17日 21:05:41

    #BMS电池管理系统

    电池管理系统bms
    jf_97106930
    发布于 :2023年05月17日 20:34:30

    BMS电池管理测试系统

    BMS测试系统 系统介绍BMS测试系统是成都虹威科技有限公司针对电池管理系统开发的一款专用测试系统。测试系统由高精度电池模拟器、温度模拟器
    发表于 05-16 09:58