BMS电池管理系统笔记——持续补充_bms电路设计-程序员宅基地

技术标签: 笔记  

为什么我们需要电池管理系统(BMS)?
锂离子电池因其高充电密度和低重量而被证明是电动汽车制造商感兴趣的电池。尽管这些电池的尺寸非常大,但它们本质上非常不稳定。非常重要的是,在任何需要监控其电压和电流的情况下,这些电池都不应过度充电或放电不足。这个过程变得有点困难,因为电动汽车中有很多电池组合在一起形成电池组,并且每个电池都应该单独监控其安全性和高效运行,这需要一个称为电池管理系统的特殊专用系统。此外,为了获得电池组的最大效率,我们应该以相同的电压同时对所有电池进行完全充电和放电,这再次需要 BMS。除此之外,BMS 还负责许多其他功能,这将在下面讨论。

电池管理系统 (BMS) 设计注意事项
设计 BMS 时需要考虑很多因素。完整的考虑因素取决于 BMS 将用于的具体最终应用。除了电动汽车之外,BMS 还用于涉及锂电池组的任何地方,例如太阳能电池板阵列、风车、电力墙等。无论何种应用,BMS 设计都应考虑以下所有或多个因素。

1. BMS的功能模块

电池系统控制单元BCU——信息处理及功能实现模块
电池监测回路BMC——信息输入接口及输送内容
均衡电路——能量消散型单向均衡(被动均衡)/能量转移型双向均衡(主动均衡)
通信模块(外设)——命令执行及信息发送内容

1.1 电池安全管理

充电电流限制(CCL)和放电电流限制(DCD)切断
过压和欠压保护
活跃的温度电芯检测和控制(加热/冷却)
过渡运行的预防

1.1.1防护等级IPXX

IP 防尘等级 防水等级
0 无防护 无防护
1 防止直径大于50mm的固体外物侵入 防止水滴侵入
2 防止直径大于12.5mm的固体外物侵入 倾斜15°时,仍可防止水滴侵入
3 防止直径大于2.5mm的固体外物侵入 防止喷洒的水侵入
4 防止直径大于1.0mm的固体外物侵入 防止飞溅的水侵入
5 防止外物和灰尘(不完全防止灰尘) 防止喷射的水侵入
6 防止外物和灰尘(完全) 防止大浪侵入
7 —— 防止侵水时的侵入
8 —— 防止沉没时的水侵入

1.1.2 阻燃材料等级

之后补

1.1.3 电池保护(使用电池开关)

电池保护
锂离子电池因其高功率密度而广受青睐。但该电池在临界条件下较易失控,因此需谨慎使用。
而这便需要电池管理系统 (BMS) 监控电池状态,保障运行安全。BMS 通常配有电子开关,在可能导致危险反应的临界条件下,后者将断开电池与充电器或负载的连接。而电池保护装置 (BPU) 则能保护电池芯免受损坏,防止电池故障。
若未能断开连接或管理电池则可能造成以下问题:
热失控:通常是由于电池过度充电或过热造成的。环境温度升高,或电池的充放电电流过高均有可能导致电池过热。热失控不仅会损坏电池芯,还会导致起火。
电池芯失效:通常是由于电池放电量高于其规定的阈值。
损坏负载设备:通常是由浪涌电流管理不良或电池极性反转所致。
开关

1.1.3.1 电池保护拓扑
1.1.3.1.1 高边保护

在高边保护方案中,已关断的 MOSFET 将串联电池组的正极端。
优势:无旁路接地,无挂接接地。
劣势:栅极驱动器需集成电荷泵以驱动 MOSFET。
在这里插入图片描述

1.1.3.1.2 低边保护

在低边保护方案中,已关断的 MOSFET 将串联电池组的负极端。
优势:易于实施,栅极驱动器无需配备电荷泵。
劣势:挂接接地 → 存在通过电池壳体旁路接地的风险,从而影响通信和运行。
在这里插入图片描述

1.1.3.1.3 源极到源极的保护电路

在共源极配置中,MOSFET 将通过互连其源极串联彼此,而其漏极端则构成保护电路的输入端与输出端。此类 MOSFET 结构也可称为背对背配置。
优势:
切换速度更快。
成本更低。
仅需一个电荷泵或隔离式电源。
仅需一个栅极驱动器即可驱动两个 MOSFET。
设计更简洁。
劣势:
MOSFET 采用漏极底置封装,散热区域小。由于 MOSFET 产生的热量会散失至与控制与感测电路相连的铜片中,因此该设计将影响控制与感测解决方案的精度和效率。
在采用单个栅极驱动器的前提下,若发生故障,则两个 MOSFET 很可能同时失效。
在这里插入图片描述

1.1.3.1.4 漏极到漏极的保护电路

在共漏极配置中,MOSFET 将通过互连其漏极串联彼此,而其源极端则构成保护电路的输入端与输出端。此类 MOSFET 结构也可称为背对背配置。
优势:
可独立控制 FET。
易于实现安全换向架构。
MOSFET 由单独的栅极驱动器驱动,因此安全度更高。
劣势:
需要一个电荷泵来驱动两个 MOSFET。
设计更复杂。
在这里插入图片描述

1.1.3.2 过充/过放保护

过度充电:即电池充电量超过其所允许的最大容量。
过度放电:即电池放电量超过其所允许的最小容量。

放电控制: BMS 的主要功能是将锂电池维持在安全工作区域内。例如,典型的 18650 锂电池的额定欠电压约为 3V。BMS 负责确保电池组中的电池放电电压不会低于 3V。

充电控制:除了放电之外,充电过程也应该由BMS监控。大多数电池在充电不当时往往会损坏或缩短使用寿命。对于锂电池充电器,使用2 级充电器第一阶段称为恒流(CC),在此期间充电器输出恒定电流对电池充电。当电池接近充满时,将使用称为恒压 (CV)阶段的第二阶段,在此期间以非常低的电流向电池提供恒定电压。BMS应确保充电时的电压和电流不超过导磁限值,以免电池过充或快充。最大允许充电电压和充电电流可以在电池的数据表中找到。

1.1.3.3过流/过温/低温保护

过电流:即电池处于短路状态,或其浪涌导通电流过高。
温度过高及过低:即电池内部温度高于或低于其安全工作温度范围。
1. 过电流保护:
在充放电过程中,如果工作电流超过了安全值,则采取相应的安全保护措施进行限制。由于电池有不同的过载电流倍率、过载持续时间,所以应按照相应的要求设计相应的过电流保护功能。
2. 过充过放保护
在电池的SoC为100%或者0%时,保护电池不被损坏而采取的切断电池的充/放电回路。
3. 过温保护:
由于动力电池是一种化工产品,所以温度过高和过低多都会对电池会产生影响。注意,要将电池温度的门限值和电池升温情况要综合起来考虑。例如,某个电芯升温过快是由于短路。

1.1.4 多级诊断保护

1.1.5 双重故障检测

1.1.6 安全防护需求

  • 电池保护
  • 热管理
    锂电池组的寿命和效率很大程度上取决于工作温度。与正常室温相比,电池在炎热气候下放电速度往往更快。除此之外,高电流的消耗还会进一步升高温度。这需要电池组中的热系统(主要是油)。该热系统应该只能降低温度,但如果需要的话也应该能够在寒冷气候下升高温度。BMS负责测量单个电池的温度并相应地控制热系统以维持电池组的整体温度。
    还有一个重要的任务就是调节电池温度。如果在较高或较低的温度下运行,电池组的电量消耗会更快。为了防止这种情况,在电池中使用了冷却系统。例如,特斯拉使用液体冷却,其中一根管子穿过电池组以与所有电池接触。然后,水或乙二醇等冷却剂通过管道。BMS 根据电池温度控制冷却剂的温度。除此之外,电池还使用空气或化学物质来维持所需的温度。
  • 绝缘监测(漏电保护)
    目的:在于过程中出现漏电或者绝缘失效的状况,同时做出相应的保护措施。早期的绝缘监测多采用对整车各个金属连接位置进行电压测试,由于电气设备存在电容,会使得在应用过程中出现波动,测量精度低等状态,甚至导致绝缘监测误触发的结果。目前多采用基于自适应绝缘算法以提高检测结果的准确性。
    基于自适应绝缘检测算法的保护电路,其的工作流程如下:
    1、在集成运放的采样周期内,对Up、Un、Up+Un分别进行采样或计算,得到3组分压采样值,并计算各组电压的平均采样值。
    2、根据所述各组电压的平均采样值,确定分布电容Cp及Cn的充放电情况。
    3、根据分布电容的充放电状态和3组分压采样值,确定桥臂电压的变化值,若该值超过一定范围,则认为漏电,否者为正常。
  • 实时时钟
  • 碰撞探测
  • 极性反转:
    即电池插接至设备时,正负极接错。
  • 高压互锁(HVIL保护)
  • 继电器控制和诊断

1.2 性能评估

SOC 告诉您充电前可以行驶多远,SOH 告诉您何时需要更换电池。

在它的安全运行范围内电芯运行(SOA),充电状态(SOC)和放电状态(SOD),动态电阻计算,电容测量,健康状态评估(SOH),电芯泄露评估,热击穿预防。

  • 由电池本身供电
    电动汽车中唯一可用的电源是电池本身。因此, BMS 应该设计为由其保护和维护的同一块电池供电。这听起来很简单,但确实增加了 BMS 的设计难度。
  • 低功耗
    如果功率不理想。即使汽车正在运行、充电或处于理想模式,BMS 也应该处于活动状态并运行。这使得 BMS 电路持续供电,因此 BMS 必须消耗非常少的功率,以免过多消耗电池。当电动汽车数周或数月不充电时,BMS 和其他电路往往会自行耗尽电池电量,最终需要在下次使用前启动或充电。即使对于像特斯拉这样的流行汽车来说,这个问题仍然很常见。
  • 电流隔离 BMS 充当电池组和电动汽车 ECU 之间的桥梁。BMS 收集的所有信息都必须发送到 ECU,以显示在仪表盘或仪表板上。因此,BMS 和 ECU 应通过 CAN 通信或 LIN 总线等标准协议进行持续通信。BMS 设计应能够在电池组和 ECU 之间提供电流隔离。
    数据记录:对于 BMS 来说,拥有大内存非常重要,因为它必须存储大量数据。仅当电池的充电历史已知时,才能计算健康状态 SOH 等值。因此BMS必须从安装之日起跟踪电池组的充电周期和充电时间,并在需要时中断这些数据。这也有助于为工程师提供售后服务或分析电动汽车的问题。
    准确性:当电池充电或放电时,其两端的电压逐渐增加或减少。不幸的是,锂电池的放电曲线(电压与时间)有平坦区域,因此电压变化非常小。必须准确测量这种变化才能计算 SOC 值或将其用于电池平衡。设计良好的 BMS 的精度可以高达 ±0.2mV,但其最低精度应为 1mV-2mV。通常在此过程中使用 16 位 ADC。
    处理速度:电动汽车的 BMS 必须进行大量的数字运算来计算 SOC、SOH 等值。有很多算法可以执行此操作,有些甚至使用机器学习来完成任务。这使得 BMS 成为一个需要大量处理的设备。除此之外,它还必须测量数百个电池的电压,并几乎立即注意到细微的变化。

1.2.1 剩余容量估算

充电状态 (SOC) 确定:您可以将 SOC 视为电动汽车的燃油指标。它实际上以百分比形式告诉我们电池组的电池容量。就像我们手机里的一样。但这并不像听起来那么容易。应始终监控电池组的电压和充电/放电电流,以预测电池的容量。一旦测量到电压和电流,就有很多算法可用于计算电池组的 SOC。最常用的方法是库仑计数法;我们将在本文后面对此进行更多讨论。测量值和计算 SOC 也是 BMS 的职责。

1.2.2 电池健康估算

BMS 的主要计算能力专用于估计电池状态。这包括 SOC 和 SOH 的测量。可以使用电池电压、电流、充电曲线和放电曲线来计算 SOC。SOH可以通过使用充电循环次数和电池的性能来计算。
“如何测量电池的 SOC?”
有许多算法可以测量电池的 SOC,每种算法都有自己的输入值。最常用的 SOC 方法称为库仑计数法,又名簿记法。我们稍后将对此进行更多讨论。除此之外,下面列出了许多其他高级和更复杂的算法。
基本方法
库仑计数法
安时 (Ah) 法
开路电压 (OCV) 方法
阻抗/IR测量方法
基于机器学习的算法
神经网络模糊逻辑
支持向量机
高级方法
使用卡尔曼滤波器的状态空间模型估计
e.g.
库仑计数技术
到目前为止,库仑计数技术是最常用且易于理解的算法。它基于这样的事实:总充电输入与电池最大容量之间的比率将为我们提供 SOC 值。下面给出了相同的公式。
SOC = 总充电输入 / 最大容量
虽然电池的数据表中会提到电池的最大容量,但计算总充电输入需要一些数学方法。总电荷输入只不过是电流和时间的乘积,但电流值随时间变化,因此我们必须使用电流积分方法来确定总电荷输入。在常规内部获取电流的离散值,这些值的积分将为我们提供总电荷输入的值。
为了便于理解,如果我们考虑电流值恒定,例如 2A 持续 4 小时,那么总充电输入的值为 8Ah,如果电池的最大容量为 25Ah,则 SOC 值就是 ((2*4) /25) 32%。但这种方法不太可靠,因为随着电池的老化,电池的最大容量会降低。因此开发了许多其他算法。
算法或验证您的 BMS 是否按预期工作
答:电池建模,
“为什么我们需要电池建模?”
典型的电池组充电大约需要 6 小时,放电还需要 6 小时。根据负载、寿命、温度和许多此类条件,电池的电压和电流曲线在充电和放电期间会有所不同。实际上不可能在电池组的整个生命周期内,在所有要求的条件下对电池进行充电和放电,以检查 BMS 是否按预期工作。这就是开发电池模型的原因。该模型在BMS的开发阶段可以充当虚拟电池(硬件循环)。
SOC和SOH的准确度还取决于电池模型的准确度;因此它应该始终提供高保真度和鲁棒性。电池型号的典型用法如下图所示
在理想的电池模型中,输入电压应等于输出电压,并且误差值应为零。但实际上这种情况很难实现,因为有许多参数(例如温度、寿命等)会影响系统。有许多可用的电池模型,它们可大致分为集总参数模型、等效电路模型和电化学模型,在这三种模型中,电化学模型是最难、最准确的模型。

电池荷电状态SoC评估
电池健康状态SoH评估

健康状态 (SOC) 确定:电池的容量不仅取决于其电压和电流曲线,还取决于其寿命和工作温度。SOH 测量根据电池的使用历史告诉我们电池的寿命和预期生命周期。这样我们就可以知道电动汽车的行驶里程(充满电后的行驶距离)随着电池老化而减少多少,也可以知道何时应该更换电池组。BMS 还应计算并跟踪 SOH。

电池功能状态SoF评估
      SoF是SoC及温度的函数:SoF = 

1.2.3 高精密容量估算

1.3 电芯/电池包参数检测

电压,电流,高精确电流检测,温度,湿度包括万一发生水淹[optional];检测热击穿的开始压力[optional];对于电芯压力的气体检测[optional]

1.3.1 电池电压检测与分析

电压保护:由于电池系统是由多个单体电池通过串并联的形式组合而成,单个电池过充或过放都会影响到系统安全,所以电压保护要细化到以每一串联为单体电池或并联模组上。
电压保护要综合到串联单体电压采集信息及总电压采集信息综合判断。
电压采集分为单体电压采集模块(AFE,主动前端采集芯片)和总电压采集模块(ADC,模拟数字转换器),分别获得单体电池电压及总电压信息。

电压采集:由于电池系统是由多个单体电池串并联。单个串联模块电压的高低将会直接影响整个系统的安全和使用特性,因此电压检测必须能够实现电池系统每一个串联模块的电压。(电压检测整个串联的电芯的电压)。

1.3.1.1 BMS的总压采集(主板功能)
1.3.1.2 BMS的电芯电压采集(从板功能)
1.3.1.3 供电电源电压采集

1.3.2 电池电流检测与分析

电流采集:为了实现对电池系统充放电信息的实时采集,电池状态系统必须具备对系统总电流的检测功能。对于,在某些特制的BMS中,电池系统子模块(如各个电池并联支路)也具备电流信息采集功能。

1.3.2.1 BMS的母线电流采集(主板功能)

1.3.3 电池温度检测与分析

1.3.3.1 BMS的电芯温度采集(从板功能)

温度检测:要检测电池本身温度,汽车内部温度,环境温度。
使用电动汽车来举个例子:电动汽车(EV)内的每个子系统都需要温度监控。车载充电器、DC/DC 转换器和逆变器/电机控制需要安全高效的控制来保护功率开关 (MOSFET/IGBT/SiC)。电池管理系统(BMS) 还需要电池级温度测量的高精度分辨率。为了保护系统,在极端温度下必须保持准确的一个组件无疑是温度传感器。准确的温度信息使处理器能够对系统进行温度补偿,以便无论驾驶条件如何,电子模块都可以优化其性能并最大限度地提高其可靠性。这包括电源开关、电源磁性元件、散热器、PCB 等的温度感测。温度数据还有助于以受控方式运行冷却系统。
负温度系数 (NTC) 和 PTC(正温度系数)热敏电阻是最常用的温度监测器件。NTC是无源电阻,NTC的阻值随温度变化。更具体地,随着NTC周围的环境温度升高,NTC的电阻减小。工程师将 NTC 放入分压器中,并将分压器的输出信号读入微控制器(MCU) 的模数转换器 (ADC) 通道。
然而,NTC 的一些特性使其难以在汽车环境中使用。如前所述,NTC 的电阻与温度成反比变化,但这种关系是非线性的。下图显示了典型的基于 NTC 的分压器的示例。
在这里插入图片描述
当考虑电动汽车内各个子系统产生的热量以及世界不同地区的气候时,很明显,车辆的半导体组件将暴露在很宽的温度范围(-40°C 至 150°C)下。在很宽的温度范围内,当将电压读数转换为实际温度测量值时,NTC 的非线性行为将导致很难减少误差。NTC 非线性曲线引入的误差会降低任何基于 NTC 的温度读数的准确性。
与 NTC 相比,模拟输出 IC 温度传感器将具有更线性的响应,如上图所示。MCU 可以轻松地将电压转换为温度数据,更准确、更快速。最后,与 NTC 相比,模拟温度传感器 IC 在高温下通常具有卓越的温度灵敏度。IC 温度传感器与热敏电阻、电阻温度检测器 (RTD) 和热电偶等其他传感技术共享一个市场类别,但当在宽温度范围(如 AEC-Q100 0 级范围 (-40°C) 内需要良好的精度时,IC 具有一些重要优势至 150°C)。首先,数据表中以摄氏度为单位给出了 IC 温度传感器在整个工作范围内的精度限制;相反,典型的负温度系数 (NTC) 热敏电阻可能仅以百分比形式指定单个温度点的电阻精度。然后,**在使用热敏电阻时,需要仔细计算整个温度范围的总系统精度。**事实上,请仔细检查指定任何传感器精度的操作条件。

  • 模拟输出
    LMT87-Q1(提供 AEC-Q100 0 级标准)等器件是简单的三引脚解决方案,提供多种增益选项,可与你选择的模数转换器 (ADC) 最佳匹配,让你能够确定总体分辨率。你还可以获得低工作功耗的优势,与热敏电阻相比,该功耗在整个温度范围内相对一致。这意味着不必为了噪声性能而牺牲功耗。
  • 数字输出
    为了进一步简化热管理实施,TI 提供数字温度传感器,可通过 I²C 或串行外设接口 (SPI) 等接口直接传送温度信息。例如,TMP102-Q1 将以 ±3.0°C 的精度监控 -40°C 至 +125°C 范围内的温度,并通过 I²C 直接将温度传送至 MCU。这完全消除了对任何类型的查找表或基于多项式函数的计算的需要。此外,LMT01-Q1 器件是一款高精度 2 引脚温度传感器,具有易于使用的脉冲计数电流环路接口,这使其适用于汽车中的板载和板外应用。
  • 温度开关
    TI 的许多汽车级开关都提供简单、可靠的过温警告,例如 TMP302-Q1。但是,拥有模拟温度值可以为您的系统提供一个早期指标,您可以使用该指标在达到临界温度之前缩减到有限的操作。由于恶劣的操作环境(两种 IC 均符合 AEC-Q100 0 级标准),**EV 子系统还可以受益于 LM57-Q1 的在线操作验证的可编程阈值、超宽工作温度范围和高可靠性。**如需了解基于 IC 的温度传感器部件的完整产品组合,您可以访问:http://www.ti.com/sensors/Temperature-sensors/products.html
    TIDA-00752 参考设计的框图
    在这里插入图片描述

1.3.4 BMS的绝缘检测

  • 目的

    检测电池包的正极对壳体和负极对壳体的绝缘阻值,防止电池包漏电导致安全事故发生。

1.4 信息与通信需求

充电控制(快充/慢充,电流/电压控制,再生等)
ECU控制(驱动器控制文件)
服务/维护界面
在电压区域隔离通信
在分配电芯内部无线通信
检测ICS和中心的电池管理监测
无线软件更新

1.4.1 CAN通信

1.4.2 RS485通信

1.4.3 历史程序存储

1.电池信息显示:
第一类,实时电压、电流、温度信息。
第二类,电池剩余电量信息。
第三类,警告信息。
2. 系统内外信息的交互
对于BMS有两个信息交互的网络。内网主要是将每个电芯的信息传递给主控制板。外网(双工)用于BMS与整车控制器、电机控制器等其他部件交互信息。一边,BMS将电压、电流、温度等信息发送给其他部件;另一方向,整车控制器将“是否有充电机接入”“是否允许进行充电”等信息发送给BMS。
3.电池历史信息存储(不是必须)
临时存储是利用RAM,暂时保存电池信息。永久存储可利用EEPROM、闪存等器件来实现。

1.4.4 程序刷新与诊断

  • 版本升级及管理

1.5 电池最优化

均衡,再分配,分配充电
1.电池充电控制管理
原理:在电池的充电过程过程中,对充电电压、充电电流等参数进行实时监测。现在的车载充电机和地面充电桩,一般都有与BMS通信的接口,根据接收到的参数信息,控制充电电压、电流大小。快充要考虑电池系统的热安全,以及对电池寿命的影响。
2.电池放电控制管理
原理:在电池的放电过程中根据电池的状态对放电电流大小进行控制。电池组提供的电能要保证负载的正常工作和让动力电池组发挥更大的效能。例如,在动力电池组SoC小于10%的情况下,如果适当限制电池组的最大放电电流大小,尽管会对汽车额最高速度产生影响,有利于延长车辆的继续行驶的里程数,有利于延长动力电池组的寿命。
能量控制管理也负责制动能量回收。例如,在某些混合动力汽车中,需要通过充放电管理把电池的SoC维持到50%~80%,以腾出足够的电荷容量空间来接收由于制动而回收的能量。
3.电池均衡控制管理
为什么有电池均衡功能?因为电池组内的单体电池总存在着不一致性。电池的均衡管理,是指采取一定的措施尽可能降低电池不一致性的负面影响,已达到优化电池组整体放电功能,延长电池组整体寿命的效果。
4.电池操作窗口管理
通过一系列测试确定电池使用的“边界条件”,规范电池的不同工况条件的正常使用充放电倍率。电池操作窗口管理注重于不损害电池的前提下,电池可承受的充放电电流的极限管理,即电池输出功率的控制;而传统的充电和放电管理则更侧重于电池在满足过充、过放及过温限制条件下的输入、输出控制。

1.5.1 均衡

电池平衡: BMS 的另一个重要功能是维持电池平衡。 例如,在串联的 4
个电池组中,所有四个电池的电压应始终相等。如果一节电池的电压低于另一节电池或高于另一节电池,则会影响整个电池组,例如一节电池的电压为
3.5V,而其他三节电池的电压为 4V。在充电过程中,这三个电池将达到 4.2V,而另一个电池将刚刚达到 3.7V,类似地,该电池将首先在其他三个电池之前放电至 3V。这样,由于该单个电池,电池组中的所有其他电池都无法发挥其最大潜力,从而损害了效率。 为了解决这个问题,BMS
必须实施称为电池平衡的技术。电池平衡技术有很多种,但常用的是主动式电池平衡和被动式电池平衡。在被动平衡中,电压过高的电池将通过电阻等负载强制放电,以达到其他电池的电压值。在主动平衡中,较强的电池将用于为较弱的电池充电,以均衡它们的电位。
当四个电池串联时,所有四个电池的电压值应该相等,以获得最大效率的电池组。保持所有电池电压相等的方法称为电池平衡。
造成电池组电芯不平衡的原因是什么?
SOC不平衡
测量电池的 SOC 很复杂;因此,测量电池中单个电池的 SOC 非常复杂。理想的电池平衡技术应该匹配相同 SOC 的电池,而不是相同电压 (OCV) 水平的电池。但由于在制造电池组时实际上不可能仅在电压方面匹配电池,因此 SOC 的变化可能会导致 OCV 的变化。
内阻变化
很难找到具有相同内阻 (IR) 的电池,并且随着电池老化,电池的 IR 也会发生变化,因此在电池组中并非所有电池都具有相同的 IR。我们知道,IR 会影响电池的内部阻抗,从而决定流过电池的电流。由于 IR 发生变化,通过电池的电流及其电压也会发生变化。
温度
电池的充电和放电容量还取决于其周围的温度。在电动汽车或太阳能电池阵列等大型电池组中,电池分布在废弃区域,电池组本身可能存在温差,导致一个电池的充电或放电速度快于其余电池,从而导致不平衡。

1.5.1.1 基于电压模式的均衡
1.5.1.2 基于时间模式的均衡
  • 快充管理
  • 慢充管理
1.5.1.3 基于电芯SOC的均衡
1.5.1.4 主动/被动均衡可选
  • 主动均衡
    能量转移型双向均衡(主动均衡)
    在主动平衡中,一个电池的多余电荷被转移到另一个低电荷的电池以平衡它们。
    电荷梭(飞跨电容器)
    该方法利用电容器将电荷从高压电池转移到低压电池。电容器通过 SPDT 开关连接,最初开关将电容器连接到高电压单元,一旦电容器充电,开关将其连接到低电压单元,其中来自电容器的电荷流入单元。由于电荷在电池之间穿梭,因此这种方法称为电荷穿梭。
    在这里插入图片描述
    这些电容器被称为飞跨电容器,因为它们在携带充电器的低压和高压电池之间飞翔。这种方法的缺点是电荷只能在相邻电池之间转移。此外,由于电容器必须充电然后放电以转移电荷,因此需要更多时间。它的效率也非常低,因为在电容器充电和放电期间会产生能量损失,并且还必须考虑开关损耗。下图显示了快速电容器在电池组中的连接方式
    在这里插入图片描述
    电感式转换器(Buck Boost 方式)

主动电池平衡的另一种方法是使用电感器和开关电路。在这种方法中,开关电路由降压升压转换器组成。来自高压电池的电荷被泵入电感器,然后通过降压升压转换器放电至低压电池。下图表示仅具有两个单元和单个降压升压转换器的电感转换器。
在这里插入图片描述
在上述电路中,通过按以下方式切换 MOSFET sw1 和 sw2,可以将电荷从电池 1 转移到电池 2。首先,开关 SW1 闭合,这将使电池 1 中的电荷以电流 I-charge 流入电感器。一旦电感器充满电,开关 SW1 就会打开,开关 sw2 就会闭合。

现在,充满电的电感器将反转其极性并开始放电。这次,来自电感器的电荷随着电流 I-discharge 流入 cell2。一旦电感器完全放电,开关 sw2 打开,开关 sw1 闭合以重复该过程。下面的波形将帮助您获得清晰的图像。
在这里插入图片描述
在时间 t0 期间,开关 sw1 闭合(接通),这导致电流 I charge 增加,并且电感器 (VL) 两端的电压增加。然后,一旦电感器在时间 t1 充满电,开关 sw1 打开(关闭),这使得电感器释放在上一步中积累的电荷。当电感器放电时,它的极性会改变,因此电压 VL 显示为负。放电时,放电电流(Idischarge)从其最大值开始减小。所有这些电流都进入电池 2 进行充电。从时间 t2 到 t3 允许有一个小的间隔,然后在 t3 再次重复整个循环。

该方法还存在一个主要缺点,即电荷只能从较高的电池转移到较低的电池。还应考虑开关损耗和二极管压降。但它比电容器方法更快、更高效。
电感式转换器(基于反激式)

正如我们所讨论的,降压升压转换器方法只能将电荷从较高的电池转移到较低的电池。使用反激转换器和变压器可以避免这个问题。在反激式转换器中,绕组的初级侧连接到电池组,次级侧连接到电池组的每个单独的电池,如下所示
在这里插入图片描述
电池以直流电运行,并且在电压切换之前变压器不会产生任何影响。因此,为了开始充电过程,初级线圈侧Sp上的开关被切换。这会将直流电转换为脉冲直流电,并且变压器初级侧被激活。

现在,在次级侧,每个单元都有自己的开关和次级线圈。通过切换低压电池的 MOSFET,我们可以使该特定线圈充当变压器的次级。这样,初级线圈的电荷就会转移到次级线圈。这会导致整个电池组电压向弱电池放电。

这种方法的最大优点是,电池组中的任何弱电池都可以轻松地通过电池组电压充电,而不是特定电池放电。但由于涉及变压器,占用空间大,电路复杂度高。

  • 被动均衡
    能量消散型单向均衡(被动均衡)
    使电量较高的电池将部分电量转移到电量较低的电池,这种方法只适用相邻电芯的电压转移。
    以下是被动电池平衡的两种类型。

电荷分流
使用电阻器等虚拟负载来释放多余的电压并将其与其他电池均衡。这些电阻器称为旁路电阻器或泄放电阻器。电池组中串联连接的每个电池都有自己的旁路电阻,通过开关连接,如下所示。
在这里插入图片描述
每个单元都通过 MOSFET 等开关连接到两个旁路电阻器。控制器测量所有四个电池的电压,并打开电压高于其他电池的电池的 MOSFET。当 MOSFET 开启时,该特定电池开始通过电阻器放电。由于我们知道电阻器的值,​​因此我们可以预测电池消耗了多少电荷。与电池并联的电容器用于过滤开关期间的电压尖峰。

这种方法不是很有效,因为电能在电阻器中以热量的形式耗散,并且电路还考虑了开关损耗。另一个缺点是整个放电电流流经大部分内置于控制器 IC 中的 MOSFET,因此放电电流必须限制在较低值,这会增加放电时间。克服该缺点的一种方法是使用外部开关来增加放电电流,
在这里插入图片描述
控制器将触发内部 P 沟道 MOSFET,使电池通过电阻器 R1 和 R2 放电(I 偏置)。选择 R2 的值,使得由于放电电流 (I-bias) 流动而在其两端产生的压降足以触发第二个 N 沟道 MOSFET。该电压称为栅源电压 (Vgs),偏置 MOSFET 所需的电流称为偏置电流 (I-bias)。

一旦 N 沟道 MOSFET 导通,电流就会流经平衡电阻器R-Bal。该电阻器的值可以较低,从而允许更多的电流通过它,从而使电池更快地放电。该电流称为漏极电流(I-drain)。在该电路中,总放电电流是漏极电流和偏置电流之和。当控制器关断 P 沟道 MOSFET 时,偏置电流为零,因此电压 Vgs 也为零。这会关闭 N 沟道 MOSFET,使电池再次恢复理想状态。

1.5.2 再分配Redistribution

1.5.3 分配充电Distribution charging

2. BMS拓扑结构

从硬件结构的角度来看,根据其拓扑结构,BMS只有三种类型:集中式BMS、分布式BMS和模块化BMS。通用电池管理系统
BMS数据采集
我们从核心来分析一下上面的功能块。BMS 的主要功能是监控电池,需要测量电池组中每个电池的电压、电流和温度等三个重要参数。我们知道,电池组是由许多电芯串联或并联而成,比如特斯拉有8256个电芯,其中96个电芯串联,86个电芯并联形成一个电池组。如果一组电池串联,那么我们必须测量每个电池的电压,但整组电池的电流将相同,因为串联电路中的电流相同。类似地,当一组电池并联时,我们只需测量整个电压,因为并联时每个电池上的电压将相同。下图显示了一组串联的电池,您可以注意到测量单个电池的电压和温度,并且测量整个电池组的电流。
在这里插入图片描述
“如何在BMS中测量电池电压?”
由于典型的电动汽车有大量连接在一起的电池,因此测量电池组的单个电池电压有点困难。但只有当我们知道单个电池电压时,我们才能执行电池平衡并提供电池保护。为了读取电池的电压值,需要使用 ADC。但由于电池是串联的,因此涉及的复杂性很高。这意味着每次测量电压的端子都必须改变。有很多方法可以做到这一点,包括继电器、多路复用器等。除此之外,还有一些电池管理 IC,如 MAX14920,可用于测量串联连接的多个电池 (12-16) 的单个电池电压。
“如何测量BMS的电池温度?”
除了电池温度之外,有时 BMS 还必须测量总线温度和电机温度,因为一切都在高电流下工作。用于测量温度的最常见元件称为 NTC,它代表负温度系数 (NTC)。它类似于电阻器,但它会根据周围的温度改变(减小)其电阻。通过测量该设备上的电压并使用简单的欧姆定律,我们可以计算电阻,从而计算温度。(温度和电压是相关的,检测电压,在转换为温度的值)传感器加ADC。
热敏电阻:
负温度系数 (NTC) 和 PTC(正温度系数)热敏电阻是最常用的温度监测器件。NTC是无源电阻,NTC的阻值随温度变化。更具体地,随着NTC周围的环境温度升高,NTC的电阻减小。工程师将 NTC 放入分压器中,并将分压器的输出信号读入微控制器(MCU) 的模数转换器 (ADC) 通道。
用于电池电压和温度测量的多路复用模拟前端 (AFE)
测量电池电压可能会变得复杂,因为它需要高精度,并且还可能从多路复用器注入开关噪声,除此之外,每个电池都通过开关连接到电阻器以实现电池平衡。为了克服这些问题,使用了 AFE(模拟前端 IC)。AFE 内置高精度复用器、缓冲器和 ADC 模块。它可以轻松地用共模测量电压和温度并将信息传输到主微控制器。
“如何测量 BMS 的电池组电流?”
电动汽车电池组可以提供高达 250A 甚至更高的大电流,除此之外,我们还必须测量电池组中每个模块的电流,以确保负载均匀分布。在设计电流传感元件时,我们还必须在测量和传感设备之间提供隔离。最常用的电流检测方法是分流法和基于霍尔传感器的方法。两种方法都有其优点和缺点。早期的分流方法被认为不太准确,但随着最近使用隔离放大器和调制器的高精度分流设计的出现,它们比基于霍尔传感器的方法更受青睐。

2.1 硬件总体设计方案

输出原理图样,元器件BOM(材料清单),再layout。

2.2 输出单板总体设计方案书:

电路板功能概述
电路板尺寸
电路板逻辑图及各功能模块说明
电路板软件功能概述
软件功能划分
硬件接口定义及与相关模块的连接关系
重要性能指标,功耗及采用标准
开发用仪器仪表

参考infineon的拓扑图
BMS总体的拓扑图
请添加图片描述

2.3 电池组的架构:

2.3.1 单模块电池

适用于单模块电池保护解决方案
单模块电池通常适用于电压范围不超过 150 V 的应用,比如电池供电工具、吸尘器、多旋翼飞行器、机器人、电动脚踏车、电动自行车、低压电信设备和服务器的不间断电源 (UPS)。
在这里插入图片描述

2.3.2 多模块电池

适用于多模块电池的保护解决方案
多模块电池通常用于高压电池应用,包括汽车、电动叉车、电动船、家用和公用储能系统和 UPS。
在这里插入图片描述

2.4 硬件原理

BMS的硬件电路

分为从板或子板(BMC)和主板(BCU)。电池检测回路(BMC)和电池控制单元(BCU)。

BMS拓扑分类

一体式BMS:

将BMC和BCU设计在一块电路板上。适用于电池数量少的电动汽车。
一体式的BMS的外观像是一个盒子,盒子上会延伸一组导线,连接到各个电池单体或者模组上。一体式BMS的优点是成本低,在电池系统箱的空间占有率小,维护起来比较容易。

主从式(星型)BMS:

BMC和BCU分离的方式,目前都采用通信总线来连接。BCU位于中央位置,而每个BMC模块均以线束与之相连。通常BCU中还要有一个总线集中模块,通过特定的通信协议,让多个从板BMC共享通信信道。
其中,BCU主要实现以下功能:
1、对整个电池的总电压和总电流进行检测。
2、对SoH,SoC等态度进行估算。
3、制定均衡策略,进行均衡决策。
4、控制预充电电路,总继电器等。
5、与整车控制器,电机控制器进行通信。
6、分析电池组状态,与充电机进行通信,控制电池组的充电状态。
其次,BMC负责检测电池单元的电压和温度,并对电池实施具体的均衡控制。

总线式BMS:

与星型相比,总线型的BMS的线材开销相对较小,连接方式更为灵活,扩展性强。适用于电动大巴车。在各种总式BMS通信方案中,CAN(控制器局域网)总线式汽车上比较常见的总线。其BMS的构造是,每一个从板(BMC),由电压/温度采集回路,单片机(MCU),通信隔离模块构成,BMC和BMC之间使用CAN总线连接,从而实现与BCU的信息交换。
总线式BMS的优点是灵活性和可扩展性方面具有一定的优势,缺点是通信线路相互依赖性不利于实际应用及维护过程中带来一定的困扰。总线式BMS中的BMC元器件较多,体积较大。

无线式BMS

有线式BMS导线会老化且增加成本。
无线式BMS:
1、从电池单体或者系统直接获得电源,可实现不间断地对电池系统进行检测、管理及控制。
2、对于有多个从控单元的BMS,无线通信方式适用于多数网络节点的信息对接,其可靠性相对有线连接更优。但是如果从控数量不多,无线通信方式不具备优势。
3、BMS是连接高压和低压的设备,无线通信可以实现隔离减少高压对低压系统的干扰。
4、可以避免电池系统在空间和线束布置上的约束,系统设计灵活性更高,无线模式也降低了线束的成本。

3.PDU电源分配单元

3.1 PDU分布

无意识损失的预防
安全(事故前管理和故障)
负载预充(特别是高电容负载,例如直流总线在发动机转换器)
电池预充(特别是当电池电芯高度放电)

BMS不是单纯实现电池的安全监控,而且要实现对各个零部件所需电源的控制,分配及防护。
设计PDU的过程,1、制定PDU设计流程图2、根据流程图,确定配电原则,选择合适的高压电器元件,最终确定PDU结构。
设计PDU的需求:1、使用环境2、电流采集3、快充管理4、慢充管理5、加热管理6、预充电管理7、设计尺寸8、其他辅助需求9、法规要求
将制定PDU的具体设计要求1,主要包括以下几项:
1、考虑电池使用安全,必须具备熔断器或者MSD(手动维修开关),实现短路保护。
2、确保在动力电池功率1回路中串联2个或2个以上的接触器,以提升控制安全性,预防单一接触器失效风险。
3、元器件及线束设计过程务必确保布局布线整齐美观,注意高低压线束要分开包扎。
4、为预防电池干扰,通信线应远离母线。
5、考虑电压电气负载匹配,接触器等关键元器件选型应预留足够的空间。
6、高压电气间隙及爬电距离须符合标准要求。
基于以上要求,在PDU设计过程中,要先确定PDU分布。
包括两个部分:

  1. 高压部分
    由动力电池组的总正极总负极输入,经过继电器开关和熔丝,预充电电路等实现通断控制及保护元器件,再输出给整车高压用电器(如电机系统,DC-DC交换器,空调等)。

  2. 低压部分
    由蓄电池(12V或24V输入),经过一系列熔丝及低压继电器等元器件,再分别输出给整车各个低压用电器(高压继电器控制器,整车控制器,仪表,多媒体系统等)。

  3. 缓启动电路

由于动力电池电源瞬间可能产生较大电流,这会影响负载的正常使用甚至会导致设备元器件受损。因此,PDU中有预充电,称为缓启动电路。

设计思路:采用能承受较大功率的限流电阻以限制电源启动器瞬间的电流。
待启动电器内部储能电路的容性元件都被充满后,再打开主电路,使电路系统输出电流符合各元器件的使用需求,避免对用电器的冲击 。
在这里插入图片描述

由于动力电池电源瞬间可能产生较大电流,这会影响负载的正常使用甚至会导致设备元器件受损。因此,PDU中有预充电,称为缓启动电路。

2、电动汽车电池

电动汽车的燃料:电池,燃料电池或超级电容器。与只有一个电池的手机不同,电动汽车是由数百个甚至数千个电池作为一个电池组供电的。

电芯

电芯是指单个电池。根据化学性质,电芯有许多不太的尺寸和形状。这些电池有多种不同的形状,如圆柱形、硬币形、棱形和扁平形。最常用的化学电池是铅酸电池和锂电池。电池(每个电池)的额定电压为锂电池的 3.7V 和铅酸电池的最大 12V。
我们如何从只有 3.7V 的锂电池获得更高的电压呢?
电池模组:
为了从3.7V锂电池获得更高的电压,使用了由多个电池组合在一起形成的电池组。当两个电池串联时,它们的额定电压会相加;当两个电池并联时,它们的 Ah 额定值会相加。
在这里插入图片描述
单个锂电池电压和 Ah 额定值不足以驱动电动汽车,因此这些电池以串联和并联配置连接,以提高最终的系统电压。该包称为模块。

对于刚接触电池的人来说,术语Ah可能会令人困惑,因为有很多与电池相关的此类参数,我们将在另一篇文章中介绍这些参数。现在,您可以将 Ah 视为电动汽车的燃油范围,Ah 越大,我们可以从电动汽车中获得的里程数越多。

电池组
通过串联和并联配置组合各种模块获得系统电压和 Ah 额定值后,应将该设置放置在 EV 内部。但这并不那么容易;原因是它的复杂性。锂电池本质上不稳定,任何短路或过度充电或放电等事故都可能使电池变得非常热,导致火灾或爆炸。因此,应监控每个电池的电压电流和温度以确保安全运行。在充电和放电过程中监控电池的职责交给了称为电池管理系统或简称 BMS 的电路
一旦电池模块准备就绪,就应该将其连接到 BMS 和冷却系统,以确保电池的安全运行。
这个完整的布置连同 BMS、冷却系统外壳和电池模块一起被称为汽车的电池组。

充电器

电动汽车中另一个需要改进的重要组件是充电器。一辆普通电动汽车至少需要 5 小时才能充满电,再加上其极低的行驶里程,这简直就是一场灾难。美国人平均每天行驶超过50公里,在这种情况下,充满电后可行驶90公里的电动汽车几乎每天都需要充电。这使得电荷成为最常用的组件。

它插入交流电源并将交流电转换为直流电为电池充电。但还有更多内容需要补充。充电是一个电池和充电器共存的过程,如果电池尚未准备好接受电流,则无法将电流推入电池内部。充电器的种类有很多;下面讨论最常见的类型。

**1 级充电器:**这些是最基本的充电器,它可能是您的汽车所配备的充电器。由于电池在 120V 交流电下运行,因此需要很长时间为电池充电。他们将 120V 交流电转换为直流电,然后用它为电池充电。充电器的额定电流也会较低,接近 8-10 A,这意味着您将发送较少的电流,因此需要很长时间才能在夜间为电池充电。从积极的一面来看,这种方法可以改善电池的生命周期,因为我们的充电电流较小。

**2 级充电器:**这些充电器比 1 级充电器要快一些,这取决于制造商为您提供 1 级或 2 级充电器。2 级充电器可在 240V 或以上的较高电压下运行,并且还具有接近 40A 至 50A 的高额定电流。这使得汽车充电速度更快。

3 级充电器: 3 级充电器是游戏规则的改变者,也称为超级充电器或快速充电器。他们可以在 30 分钟内将您的汽车充电至总容量的 60%。缺点是,由于它会在电池内部产生大量电流,例如 Tesla 的 100A(疯狂!是的),因此内部的电池感觉就像全年都在参加速成课程。因此最终电池的寿命会缩短。此外,大多数超级充电器不会将电池充电至 100%,因为将电池从 80% 充电到 100% 需要更多时间。下图是特斯拉的超级充电站。

混合动力汽车和电动汽车有什么区别?

,如果车辆既可以用电又可以用汽油行驶,那么它就是混合动力汽车,如果只用电而不可以用汽油行驶,那么它就称为电动汽车。
混合动力汽车可以排除电动汽车的缺点,如燃油时间、行驶里程短等,但由于它同时具有内燃机和电动汽车的硬件,这些汽车通常价格昂贵。混合动力汽车通常旨在通过利用电机低速运行汽车来提高汽车的效率。

补充

P- 电池组负极端子连接

P+ 电池组正极端子连接

T 用于安装温度传感器

B+ 第一节电池正极

B- 最后一块电池的负极端子

B1 连接第 1块 电池

B2 连接2号 电池

为了测量温度,可以使用NTC热敏电阻。必须将热敏电阻的一端连接到 P+ 端子,NTC 热敏电阻的另一端必须连接到 BMS 模块上的 T 焊盘。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_52232783/article/details/136362195

智能推荐

buck dcm占空比计算_一看就会!这位牛人把MOS开关损耗计算写神了-程序员宅基地

文章浏览阅读643次。电源工程师们都知道开关MOS在整个电源系统里面的损耗占比是不小的,我们谈及最多的就是开通损耗和关断损耗,由于这两个损耗不像导通损耗或驱动损耗一样那么直观,所以有部分人对于它计算还有些迷茫。今天我们就来详细分析计算一下开关损耗,并论述实际状态下功率MOSFET的开通过程和自然零电压关断的过程,从而使电子工程师知道哪个参数起主导作用并更加深入理解MOSFET。MOSFET开关损耗1、开通过程..._buck电路电感和开关管损耗占比

cocos2dx——裁剪节点ClippingNode-程序员宅基地

文章浏览阅读77次。【唠叨】 学习cocos2dx 3.2确实比较吃力,因为网上关于最新版的v3.2的资料十分稀少,或者是讲解的确实不是很详细。大部分人都是根据官方文档照样画瓢,而对于有些比较抽象的概念及函数都是照着官方文档来讲解的。这样的结果,导致有些东西令我确实非常费解。没有办法,只好自己来总结cocos2dx3.2,然后将个人的学习感悟分享给大家。PS:当然有些大牛写的文章还是..._clippingnode 性能

Viper炫彩蛇的下载与安装(MSF图形化界面)_简易极速安装版-程序员宅基地

文章浏览阅读647次,点赞2次,收藏2次。1.更新apt-get2.下载docker.ioY。_炫彩蛇

CVPR2021|| Coordinate Attention注意力机制_位置注意力机制-程序员宅基地

文章浏览阅读2.4w次,点赞63次,收藏418次。Paper:https://arxiv.org/pdf/2103.02907.pdfGitHub:https://github.com/Andrew-Qibin/CoordAttention轻量,优秀,好用!讲之前我们先回顾一下以前的SE与CBAMSESE比较简单,看一下结构图差不多就能理解了,如果有些实现不太懂的,可以借鉴一下CBAM的。但SE只考虑内部通道信息而忽略了位置信息的重要性,而视觉中目标的空间结构是很重要的。CBAM稍微介绍一下CBAM,如图b所示,CBAM包含空间注意力和通_位置注意力机制

eslint搭配prettier使用步骤_plugin:prettier/recommended-程序员宅基地

文章浏览阅读1.2k次。这里的执行逻辑顺序是:eslint会首先读extends的规则,这个时候遇到了最后配置的plugin:prettier/recommended,而这个插件又会先读本地配置的.prettierrc文件再读取prettier自己内部设置的配置,最后读.eslintrc.json的rules配置。2、其次配置.eslintrc.json文件,extends: [“plugin:prettier/recommended”],如果有其他扩展,则"plugin:prettier/recommended"放在最后。_plugin:prettier/recommended

kettle 共享数据库连接时带汉字引发的错误-程序员宅基地

文章浏览阅读548次。处理方式:在目录: C:\Users\Administrator\.kettle 里 找到:shared.xml 把该文件的编码方式改为UTF-8,重启kettle就没问题了

随便推点

HDOJ 2544 BellmanFord实现-程序员宅基地

文章浏览阅读69次。1 #include <cstdio> 2 3 struct road{ 4 int head; 5 int tail; 6 int value; 7 }; 8 9 #define Infinity 23333333310 11 int main(){12 int n, m;13 ...

大数据Hadoop复习笔记_燕山大学大数据期末复习笔记-程序员宅基地

文章浏览阅读3.9k次,点赞14次,收藏39次。题型与分值选择题10道*2分=20分填空题5道*2分=10分判断题5道*1分=5分简答题2道*10分=20分方案设计题1道*15分=15分(无唯一标准答案,可用中文写清楚每个关键步骤和重要技术点,也可直接写代码,或者中文和代码混合说明)注意:①写清方案实行的步骤②每个步骤的重要技术点,比如用的哪个类来实现程序设计题6段*5分=30分(从挖行改成挖段)内容复习hive的JSON和多字节分隔符的解析步骤和关键技术点复习hive窗口函数的使用方法和含义集群与分布式分布式_燕山大学大数据期末复习笔记

java读取TXT文件类_readtxt.readfile java-程序员宅基地

文章浏览阅读431次。Java读取txt文件内容。可以作如下理解:首先获得一个文件句柄。File file = new File();file即为文件句柄。两人之间连通电话网络了。接下来可以开始打电话了。通过这条线路读取甲方的信息:new FileInputStream(file)目前这个信息已经读进来内存当中了。接下来需要解读成乙方可以理解的东西既然你使用了FileInputStream(_readtxt.readfile java

天才ACM-程序员宅基地

文章浏览阅读446次,点赞11次,收藏7次。给定一个整数 M,对于任意一个整数集合 S,定义“校验值”如下:从集合 S 中取出 M 对数(即 2×M 个数,不能重复使用集合中的数,如果 S 中的整数不够 M 对,则取到不能取为止),使得“每对数的差的平方”之和最大,这个最大值就称为集合 S 的“校验值”。现在给定一个长度为 N 的数列 A 以及一个整数 T。我们要把 A 分成若干段,使得每一段的“校验值”都不超过 T。求最少需要分成几段。_天才acm

仅用5个线程,让Idea全系列Ide能看电视、直播、电影、听广播、音乐、美女图_bg-boom-程序员宅基地

文章浏览阅读7.6k次,点赞21次,收藏24次。今天要分享的技术方案是我在写bg-boom这款插件当中一小块的代码实现方案,先从需求说起吧,其模块整体的需求是丰富idea的背景功能,让背景支持电影、视频、直播、TV、广播、音乐、美女图等功能。_bg-boom

联想适合计算机专业的游戏本,全球最佳游戏笔记本电脑Top 10-程序员宅基地

文章浏览阅读751次。如果你告诉你的朋友你想买一台电脑,他们肯定会建议你买一台台式电脑。因为在相同的预算下,台式电脑可以比笔记本电脑带来更强大的性能。然而,在很多情况下,台式电脑的不可移动性会给游戏玩家带来很多麻烦,这并不像笔记本电脑那样方便。Origin EON15-X:桌面级的CPU造就一个无与伦比的游戏笔记本电脑处理器:4GHz英特尔酷睿i7-4790K;显卡:英伟达GeForce GTX 980 M (..._联想买什么电脑好,能玩游戏,办公软件