BMS基于stm32f103驱动bq769x系列电池采集芯片

第一章 bq769x初始化

void BQ76930_config(void)
{
	  WAKE_ALL_DEVICE(); //bq769x复位

	  BQ_1_2_config(); //配置
	  Get_offset();
	  OV_UV_1_2_PROTECT();
	  OCD_SCD_PROTECT(); //设置保护

	  IIC1_write_one_byte_CRC(SYS_STAT,0xFF);
}

第二章 电芯采集

 void Get_Battery1(void)
{
  unsigned int readbattbuf[2];
  //unsigned int battery1val[2];
  short batteryval1;

  readbattbuf[1] = IIC1_read_one_byte(0x0c);
  readbattbuf[0] = IIC1_read_one_byte(0x0d);

  batteryval1= readbattbuf[1];
  batteryval1= (batteryval1 << 8) |readbattbuf[0];
  batteryval1=((batteryval1*GAIN)/1000)+ADC_offset;//单体电压计算公式,第1串
  //get cell voltage
  runData.bq76940.cell_voltage[0] = batteryval1;
}

第三章 电流采集

目前还未开源,可以私聊

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
BMS电池管理系统)是一种用于监控和制电池状态的系统,而STM32F103是一款由STMicroelectronics开发的32位ARM Cortex-M3微控制器。下面是关于如何使用STM32F103来实现BMS的介绍: 1. 硬件设计:首先,需要设计一个电路板,将STM32F103与其他必要的电子元件(如电池监测芯片、通信模块等)连接起来。这个电路板将负责读取电池的状态信息,并进行相应的控制。 2. 软件开发:使用适当的集成开发环境(IDE),如Keil MDK或STM32CubeIDE,编写嵌入式C代码来实现BMS的功能。以下是一些关键的软件开发步骤: - 配置GPIO:配置STM32F103的GPIO引脚,用于与其他电子元件进行通信。 - 初始化外设:初始化ADC(模数转换器)和定时器等外设,以便读取电池电压、电流等信息。 - 数据处理:根据读取到的数据,进行必要的计算和处理,如电池容量估算、SOC(State of Charge)计算等。 - 通信功能:实现与其他设备(如上位机或其他BMS)之间的通信功能,可以使用UART、CAN或SPI等通信协议。 - 故障保护:实现电池过充、过放、过流等故障保护功能,确保电池的安全运行。 - 数据存储:将电池状态数据存储在非易失性存储器中,以便在断电后恢复数据。 3. 测试和验证:完成软件开发后,需要进行测试和验证,确保BMS的功能正常工作。可以通过模拟电池状态、连接实际电池进行测试,以及验证通信功能和故障保护功能的正确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值