[应用相关]

STM32与BMS系统

[复制链接]
6297|83
手机看帖
扫描二维码
随时随地手机跟帖
Diyer2015|  楼主 | 2019-1-2 10:05 | 显示全部楼层 |阅读模式
    铿电池作为电动汽车动力的源泉。铿电池的容量、充放电性能,在很大程度上影响着电
动汽车的行驶里程、加速减速性能。铿电池在使用过程中容易出现过充过放的现象,这种现
象会极大的损坏铿电池。铿电池单体之间的电压不均衡,也会极大损害铿电池的性能。所以
设计铿电池管理系统(简称BMS)来控制铿电池的充放电,检测铿电池的温度,均衡铿电池
单体之间的电压,显得十分重要。本电动汽车铿电池管理系统采用电池管理芯片LTC6804作
为电池管理系统的采集芯片,STM32单片机作为主控芯片,DS 18B20作为温度采集模块,
USB作为通信总线,MOSFET作为辅助开关。能够实现对铿电池过充过放的保护,均衡单位
体之间的电压,并对过热的铿电池进行降温。
    本BMS系统以LAB VIEW为开发环境设计上位机,可在上位机与下位机之间通过USB
总线进行通信,可以及时的显示铿电池的电压、充电电流、局部温度。并可以通过USB总
线向下位机发送指令,用来控制散热系统,充电系统。经测试本设计能够达到指标且安全性
优秀,能够有效的管理电动汽车铿电池的充放电过程,并且通过主动均衡来实现单体电压之
间的平衡。


Diyer2015|  楼主 | 2019-1-2 10:07 | 显示全部楼层
    21世纪以来,随着燃油汽车的口益增多,汽车尾气的排放量愈来愈大,带来的环境危害
也越来越大。空气质量严重下降,随着温室效应的加强,电动汽车应运而生,电动汽车使用
铿电池作为电机的动力,电能是一种清洁的能源,不会对环境造成任何污染。而且电能产生
的方式多种多样,风力发电,核电,水电都是极其环保的发电方式。而且石油资源属于不可
再生资源,总有一天会枯竭,所以发展电动汽车是一种必然的趋势[[1l
    电动汽车有着节约资源,保护环境,安全可靠的优点,但是行驶里程短,加减速性能差
是其主要缺点。电动汽车铿电池在代替石油资源上有着无法比拟的优点,大范围的应用在电
动汽车行业。铿电池作为电动汽车动力的源泉,铿电池的容量,充放电性能,在很大程度上
影响着电动汽车的行驶里程,加速减速性能。铿电池在使用过程中容易出现过充过放的现象,
这种现象会极大的损坏铿电池。铿电池单体之间的电压不均衡,也会极大损害铿电池的性能
[2]。电动汽车铿电池的额定电压不高,一般在3.4V左右,是由于电池制造工艺的限制,电动
汽车铿电池的容量一般在2000mAh左右,但是大部分电动汽车驱动电机的额定电压
2_SOV}4_SOV}4};电动汽车的额定功率在10 KW}_50 KW。所以需要将单体铿电池进行串并联来
满足电动汽车驱动功率的要求,一般是把电动汽车铿电池串并联成为一个电池箱,然后在单
独使用这些电池箱。
    铿电池作为电动汽车能量的源泉,其地位重要性无法比拟,电动汽车铿电池的性能很大
程度上决定了电动汽车的使用性能。铿电池的储电能力和电动汽车的行驶里程息息相关。储
电能力越大,则行驶里程越长。其中过充和过放是损害铿电池寿命的主要原因。铿电池电压
高于4.3 V即为过充,铿电池电压低于3.0V即为过放[}s}。过充和过放严重影响了铿电池的性
能,使铿电池的储电能力下降,也是导致铿电池报废的主要原因。制造工艺的不同和各种环
境因素会导致铿电池容量不同,铿电池单体的电压差异会随着充放电次数的增多而逐渐扩
大,这种电压差异会导致电池组性能下降和工作年限缩短[6]。

使用特权

评论回复
Diyer2015|  楼主 | 2019-1-2 10:08 | 显示全部楼层
    电动汽车铿电池组充电过程时,由于充电刚开始的时候,单体铿电池的电压各不相同,
达到充电预置电压的时间有先有后。先达到预置电压的铿电池单体需要切断充电回路,未达
到预置电压的铿电池单体则需要继续充电。某一节铿电池单体充满电就切断整个电池组的充
电回路,则整个电动汽车铿电池组的电能储存量不能达到最大,会极大降低电动汽车的行驶
里程;电动汽车铿电池组在放电驱动电机的时候,铿电池单体在放电的时候,其电压变化也
各不相同[8]。铿电池单体电压低的最先达到低压阀值,这时要切断所在处铿电池单体,使之
不在参与放电。如果某个铿电池低于阀值则切断放电回路,而其他铿电池还保存有一定的电
量,则铿电池组的能量也没有得到充分利用。
    铿电池在工作过程中会产生电流,根据焦耳定律会产生热量,如果工作时间过长,会导
致铿电池局部温度过高。严重的话则会引起火灾,严重威胁到了驾车员的人身安全。
    因此必须设计电动汽车铿电池管理系统(BMS,对单体电压过低的进行充电,对单体
匕匕
电池过高的进行放电。在铿电池单体之间电压差异过大的时候,
使单体之间的电压保持大体一致,这样才能最有效的保护铿电池
对整个系统进行主动均衡,
,发挥出电池组的最大储育
能力,改善电动汽车的性能,提高电动汽车的行驶里程
电池组温度过高的时候,及时对电池组进行降温处理,
。同时对电池组的温度进行检测,在
提高电动汽车铿电池组的安全性。

使用特权

评论回复
Diyer2015|  楼主 | 2019-1-2 10:08 | 显示全部楼层
    特斯拉设计的热管理系统也颇有特色。特斯拉电动汽车铿电池组高达lOkWh的电池容量,
因此在电动汽车工作的过程中会出现严重的发热现象,若不设计热管理系统,则产生爆炸的
机率将大大增加。特斯拉铿电池管理系统BMS热管理系统的设计是每个单体都连接一个热敏
电阻和一系列的光导纤维,通过热敏电阻采集的电信号来测量单体电池的温度。如果发生热
逃逸事件,就会影响光在光导纤维中的传输,光敏感应器就会识别这种变化,从而触发对电
池的温度调控。特斯拉使用自主研发设计生产的冷却系统对铿电池组进行温度调控,这种调
控系统采用冷凝液进行热量交换,每一个电池单体都连接有冷凝管。该系统为双层系统,第
一层系统调控每一个铿电池单体的温度,第二层系统与转动部件相连,防止由于转动而产生
的过热现象。

使用特权

评论回复
Diyer2015|  楼主 | 2019-1-2 10:42 | 显示全部楼层
    国外的铿电池管理系统BMS技术比较成熟,主要是在主动均衡方面较为突出,热管理系
统设计的也比较完善,安全可靠性较高。国内的各大高校和企业已经取得了显著成果[mo。设
计的产品也是各有千秋,各有所长。但是还存在着一定的缺陷,主要表现为以下几点:
    1、大部分铿电池管理系统BMS还在使用被动均衡方式进行电压均衡,被动均衡是将铿
电池中电压过高的单体,串联一个耗能电阻,根据焦耳定律,进行耗能放电。这种方案虽然
实现起来特别简单,控制也并不复杂。但是能量利用率低下,不符合节约资源的时代主题,
而且电阻发热严重,增加电池热管理系统的负担。
    2、剩余电量即SOC是电池管理系统中的必不可少的一个数据,SOC在估算剩余行驶里
程中有着重要作用。铿电池充放电的过程是一个化学变化,其过程非常复杂。在这个复杂的
化学变化中,铿电池的各种特性参数都呈非线性变化。正常工作和不能工作的临界点往往难
以预测。铿电池的制造工艺,温度,过充过放和过热带来的危害都是难以准确预测SOC的
原因。现在常用的估算SOC的算法有开路电压法、安时积分法、卡尔曼滤波算法、模糊算
法。但是由于各种不确定因素导致高校和企业使用的算法都难以准确的估算出SOCo
    3、就目前来看国内铿电池管理系统BMS的热管理系统还不是很完善。铿电池由于长时
间处于放电状态或者是由于操作者使用不当,而产生过热状态,进而引发连锁反应,将导致
冒烟,明火甚至可能出现危害使用者生命的爆炸现象。可以看出热管理系统在铿电池管理系
统BMS中必不可少。

使用特权

评论回复
Diyer2015|  楼主 | 2019-1-2 10:43 | 显示全部楼层
电池管理芯片可以显著提高铿电池的管理效率。主要表现在电池管理芯片可以快速的采
集多节铿电池的电压,
而电动汽车上有上千节
若是使用AD芯片,则需要对每个186_50电池都并联一个AD芯片,
186_50
可以对铿电池进行批量管理,
集中式管理。
铿电池,这种方案显然成本太高而不可取。使用电池管理芯片
大多数电池管理芯片还可以形成菊链式结构,方便主控芯片的
    本设计使用LINEAR公司的LTC6804电池管理芯片,LINEAR(凌特)公司坐落于美国
硅谷**区,始建于1981年,于1986年上市,LINEAR公司的产品以高性能集成电路为主。
涉及范围广泛如:航空航天,电动汽车,音响音频,电池管理,复杂医疗设备,工业自动化。
LTC6804是LINEAR公司的电池管理芯片中性能优越的一款芯片。LTC6804可以集中管理
12节串联铿电池,直接使用串联电池电压供电。测量电池电压速度极快,可以在300us之内
完成对所有铿电池电压的测量。并且总测量误差低于1.2mv。若使用较低的数据采集速率,
则可以实现较高的噪声抑制「‘“]。LTC6804和主控芯片之间使用SPI进行通信,LTC6804有着
丰富的功能,可以达到铿电池管理系统BMS的指标要求。图为LTC6804电池管理芯片的结
构图:
20925c2c255334e26.png

使用特权

评论回复
Diyer2015|  楼主 | 2019-1-2 10:44 | 显示全部楼层
Void  LTC6804_ initiafize(void)
RCC一>APB2ENR1=1+3;
//开启SPI的时钟
GPIOB一>CRH&=OXFFFOFFFF;
GPIOB->CRHI=0X00030000;//设置SPI的MOSI,MISO
LTC6804 CS =1
//设置LTC6804的片选信号
SPI2_ InitQ;
//配置SPI
SPI2_ SetSpeed(SPI_SPEED_ 32);//设置SPI的波特率
set_adc(MD_ NORMAL,DCP_DISABLED,CELL_CH_ ALL,AUX_CH_ ALL,CHST_ ALL);//设置adc的采集方式
}
      LTC6804可以集中管理12节串联铿电池,测量电池电压速度极快,总测量误差低于
1.2mv。并且可以在300us之内完成对所有铿电池电压的测量。直接使用串联电池电压供电。
若使用较低的数据采集速率,则可以实现较高的噪声抑制。LTC6804的初始化设置如下:
void  set_adc(u8 MD, //ADC Mode
              u8 DCP, //Discharge Permit
              u8 CH, //Cell Channels to be measured
              u8 CHG, //GPIO Channels to be measured
              u8 CHST//状态转换设置
{u8 and_ bits;
u8 wei=1;
and_ bits=(MD&0x02)>>1;
ADCV [0}=and_ bits+0x02;//设置ADCV [0]寄存器
  and少its=(MD&0x01)<<7;
ADCV[1]=and_ bits+0x60+(DCP+4)+CH;//设置ADCV[2]寄存器
and_ bits=(MD&0x02)>>1;
ADAX[0]=and_ bits+0x04;//设置ADAX[0]寄存器
  and少its=(MD&0x01)<<7;
ADAX[ 1 ]=and_ bits+0x60+CHG;//设置ADAX[0]寄存器
and_ bits=(MD&0x02)>>1;
ADSAT[0]=  ADAX[0]=and_ bits+0x04;//设置ADSAT[0]寄存器
and_ bits=(MD&0x01)<<7;
ADSAT[1]=and_ bits+0x60+CHST+(wei+3);}//设置ADSAT[ 1]寄存器

使用特权

评论回复
mmuuss586| | 2019-1-2 10:45 | 显示全部楼层
感谢分享

使用特权

评论回复
Diyer2015|  楼主 | 2019-1-2 10:45 | 显示全部楼层
    铿电池管理系统BMS在工作过程中,如果铿电池单体电压不一致,则就会出现电池的“短
板效应”即单体电压最小的电池,最先达到过放状态,从而会中断铿电池管理系统BMS的
工作。这种不一致还会加速铿电池的衰老,极大地降低铿电池管理系统BMS的工作效率,
若系统长时间工作在电压不一致的状态,会造成铿电池的报废。所以设计铿电池的电压均衡
系统显得尤为重要。铿电池管理系统BMS电压均衡系统分为被动均衡系统和主动均衡系统。
其中被动均衡是将铿电池能量消耗在电阻上,利用的是焦耳定律,时间过长的话则会提高铿
电池管理系统BMS局部的温度。被动均衡法以电阻为耗能原件,这中均衡方法能量利用率
低下,不符合环保的时代主题。被动均衡的优点是,控制回路简单,原理简单易于实现。由
于主动均衡技术还不是很成熟,所以被动均衡电路在铿电池管理系统BMS中的应用较为
广泛。
838825c2c25ce86f89.png

使用特权

评论回复
Diyer2015|  楼主 | 2019-1-2 10:45 | 显示全部楼层
    如上图所示,当检测到C12和C11之间的电压(即第12节铿电池)大于平均值O.1V时
即认为铿电池需要放电。LTC6804控制S12为高电平,则Q12导通,则第12节铿电池则和
Q12和R24形成回路,并通过R24进行放电。若检测到C12和C11之间的电压低于平均值
0.1 V时则将S12置为低电平,第12节铿电池停止放电。被动均衡电路用于控制电池组中电
压过高的单体「m
    与之对应的则是主动均衡法,主动均衡利用电感、电容、变压器为储能原件,将能量在
铿电池管理系统BMS内部传递,实现单体至单体的能量传递,或者是单体到整体的能量传
递。这种均衡方式有利于控制能量的流失。主要的方法包括电感均衡法、电容均衡法、变压
器均衡法。主动均衡的难点在于提高能量的传递效率,和电路的控制和切换。以下着重对主
动均衡方法进行探讨。

使用特权

评论回复
Diyer2015|  楼主 | 2019-1-2 10:46 | 显示全部楼层
52625c2c25ef4bac4.png     如上图所示,电感主动均衡电路的工作原理为,当检测到电池1的电压高于电池2的电
压O.1V时则认为电池1需给电池2充电.首先控制Q1导通,则电池1和电感L1串联,电池
1给L1充电。充电过后,断开Q1闭合Q2,由于电感中的电流不能突变,L1给电池2充电。
可以看出该能量的传递方向是逐级进行的,若电池1需要给电池3充电,则需要以电池2为
中介。该电路的优点在于电路控制原理简单,易于实现主动均衡,缺点是能量传递效率不高。
    图为电容主动均衡电路的原理图:

使用特权

评论回复
Diyer2015|  楼主 | 2019-1-2 10:46 | 显示全部楼层
222355c2c2612e2e84.png

使用特权

评论回复
Diyer2015|  楼主 | 2019-1-2 10:47 | 显示全部楼层
736055c2c262c6224d.png     本设计提出的主动均衡电路图如图2-7所示,CO}C4分别与LTC6804的电压检测端子相
连,R1}R9为采样电阻,D 1 }D4为稳压二极管。Q13, Q14, Q11, Q12, Q15组成一个双向
开关,Q1_5为充电允许开关,其他支路结构一样,不再一一赘述。Q3为均衡模式选择开关,
Q3闭合则电路工作在单体一单体工作模式,Q3断开电路工作在单体一整体工作模式。C20为
超级电容,如果在充电过程中C20的电压变化率过大,则会产生一个很大的冲击电流,有可
能会烧坏电路结构,所以串联一个L1来限制冲击电流。整个BMS中只有一个超级电容用来
实现点对点的能量传递。T1为反激变压器,用来实现单体到整体之间的能量传递。举例说明
一下双层主动均衡电路的工作方式。
    若系统监测到CELLS要向CELL1充电,则需要按照以下步骤进行工作:
    1,闭合Q3则主动均衡电路工作在单体至单体的能量转移模式,将S3和GPIO 1的电平
拉高,则Q33和Q32导通,CELLS, Q32, Q33, VD34, VD31, VD3, Q2, VD1之间形成
通路,CELLS给C20充电。
    2,待CELLS给C20充完电以后,闭合CELL 1的充电允许开关Q1_5,则C20和CELL1
形成回路,则C20给CELL1充电,从而实现了单体到单体之间的能量转移。
    若系统检测到CELL2需要向整个电池组放电则需要按照以下步骤进行工作:
    1,将S2和Q4置为高电平,则CELL2给反激变压器的原边充电。
    2,待CELL2给反激变压器的原边充电结束时,断开Q4,则变压器原边的能量转移至变
压器副边,即完成了单体至整体的能量转移。
    综上所述,可见整个电路工作原理简单,单体一单体主动均衡电路和单体一整体主动均衡电
路之间的切换只需要一个Q3实现,切换起来十分简单。单体一单体主动均衡电路和单体一整体
主动均衡电路相互补充,可以满足不同条件下的主动均衡需要,提高了能量传递效率。

使用特权

评论回复
Diyer2015|  楼主 | 2019-1-2 10:48 | 显示全部楼层
317345c2c266e06dd8.png

使用特权

评论回复
Diyer2015|  楼主 | 2019-1-2 10:49 | 显示全部楼层
59705c2c268b78865.png DS 18B20是一个常用的温度传感器,它具有体积小、控制简单、成本低、测量数据准确的特
点。DS 18B20在使用时不需要任何的外围电路,而且DS 18B20的数据线只有一根,也就是
说只用STM32的一个I/O口就可以实现DS 18B20的控制,这使其应用起来十分方便。
本设计使用6个温度传感器,来采集系统不同位置的温度。使用风扇来模拟冷凝管系统进行
局部降温。图2-8为BMS热管理系统的原理图。每个 DS 18B20的电源端接_5 V电源,公共
端接GND。数据线接单片机I/O口,同时数据线要经过一个4.7K的上拉电阻,连接至VCC}
目的是为了给数据线提供输出能力。可见6个DS 18B20分别由STM32F103ZET6的6个I/O
控制,每一个I/O口都是一个双向通道,既可以完成对DS 18B20的控制,又可以接受DS 18B20
采集到的数据。图2-9为降温系统原理图。

使用特权

评论回复
Diyer2015|  楼主 | 2019-1-2 10:50 | 显示全部楼层
18645c2c26bb94190.png     FS-1为单片机控制的一个I/O口,3904为一个三极管,943_5A为封装为SOP-8的MOSFET,
R19是三极管基极和发射极之间的限流电阻,R21是为了I/O口为低电平时,使三极管可靠
的关断。C24是为了防止电压的突变延缓电压上升时间。其工作原理为:若单片机根据
DS 18B20采集到的温度数据判断出系统过热,则会控制相应的I/O口为高电平,三极管导通,
将3端的电平拉低,则使P-MOS的门极和源极之间产生负电压,P-MOS导通,D和S导通,
即给风扇提供了工作电压,降温系统开始工作。6个风扇基本上覆盖了12节铿电池占据的所
有区域,实验验证降温效果明显。散热系统具体实现代码如下:

使用特权

评论回复
Diyer2015|  楼主 | 2019-1-2 10:55 | 显示全部楼层
    铿电池充电要遵循一定的原则,如果不设计专用模块,而使用直接对铿电池充电的话则
会对铿电池造成很大的危害,严重影响铿电池的寿命。
    铿电池充电过程一般遵循以下原则,如果铿电池电压低于2.9 V,这时如果使用较大的电
流进行充电的话,则会对铿电池的内部结构造成很大的冲击。所以一般使用涓流充电,涓流
即很小的电流,使用涓流充电有利于在铿电池电压过小进行充电时保护铿电池。如果铿电池
电压高于2.9 V ,铿电池就可以承受较大的充电电流,这时就可以使用恒流充电,铿电池电压
高于2.9 V时,对铿电池使用恒流充电,可以提高铿电池的充电效率,并且提高铿电池的充
电速度。若铿电池的电压达到4.2 V ,铿电池即将充满电,这时若再使用恒流充电的话,就容
易造成铿电池的过充,所以使用恒压充电,将铿电池的电压充到4.4V时切断充电回路[y s}
本BMS系统使用铿电池专用的恒压恒流充电模块如图2-10所示。该恒压恒流模块的使用方
法是:
    1)首先通过确定铿电池恒压充电时的电压,和恒流充电时的电流。充电电压为4.4V ,
充电电流为2.2A o
    2)在不连接铿电池的情况下,电压表测量输出端的电压,调节电压旋钮使输出电压达
到恒压充电电压。
    3)在不连接铿电池的情况下,用电流表测量输出端的电流,调节电流旋钮使输出电流
到达恒流充电时的电流。

使用特权

评论回复
Diyer2015|  楼主 | 2019-1-2 10:57 | 显示全部楼层
void Budian(u8 nCell) //统一时刻只能有一节电池充电
{switch(nCell)
{case 1:
GPIO_SetBits(GPIOA,GPIO_ Pin_1);//Close CHTO
GPIO_SetBits(GPIOA,GPIO_ Pin_ 4); //Close CHT1
GPIO_ ResetBits(GPIOD,GPIO_ Pin_ 2);
break;case 2:
GPIO_SetBits(GPIOA,GPIO_ Pin_ 4); //Close CHT1
GPIO_SetBits(GPIOC,GPIO_ Pin_6); //Close CHT2
GPIO_SetBits(GPIOD,GPIO_ Pin_ 2);
break;case 3:
GPIO_SetBits(GPIOC,GPIO_ Pin_6); //Close CHT2
GPIO_SetBits(GPIOC,GPIO_ Pin_ 7); //Close CHT3
GPIO_ ResetBits(GPIOD,GPIO_ Pin_ 2);
break;case 4:
GPIO_SetBits(GPIOC,GPIO_ Pin_ 7); //Close CHT3
GPIO_SetBits(GPIOC,GPIO_ Pin_8); //Close CHT4
GPIO_SetBits(GPIOD,GPIO_ Pin_ 2)
break;case _5:
GPIO_SetBits(GPIOC,
GPIO_SetBits(GPIOC,
GPIO_ Pin_8); //Close CHT4
GPIO_ Pin_ 9); //Close CHTS
GPIO_ ResetBits(GPIOD,GPIO_ Pin_ 2);
break;case 6:
GPIO_SetBits(GPIOC,
GPIO_SetBits(GPIOC,
GPIO_ Pin_ 9); //Close CHTS
GPIO_ Pin_12); //Close CHT6
GPIO_SetBits(GPIOD,GPIO_ Pin_ 2)
break;case 7:
GPIO_SetBits(GPIOC,
GPIO_SetBits(GPIOC,
GPIO_ Pin_12); //Close CHT6
GPIO_ Pin_13); //Close CHT7
GPIO_ ResetBits(GPIOD,GPIO_ Pin_ 2);
break;case 8:
GPIO_SetBits(GPIOC,
GPIO_SetBits(GPIOB,
GPIO_ Pin_13); //Close CHT7
GPIO_ Pin_1);//Close CHT8
GPIO_SetBits(GPIOD,GPIO_ Pin_ 2)
break;case 9:
GPIO_SetBits(GPIOB,
GPIO_SetBits(GPIOB,
GPIO_ Pin_1);//Close CHT8
GPIO_ Pin_ 5); //Close CHT9
GPIO_ ResetBits(GPIOD,GPIO_ Pin_ 2);
break;case 10:
GPIO_SetBits(GPIOB,
GPIO_SetBits(GPIOB,
GPIO_ Pin_ 5); //Close CHT9
GPIO_ Pin_6); //Close CHT10
GPIO_SetBits(GPIOD,GPIO_ Pin_ 2)
break;case 11:
GPIO_SetBits(GPIOB,
GPIO_SetBits(GPIOB,
GPIO_ Pin_6); //Close CHT10
GPIO_ Pin_ 7); //Close CHT11
GPIO_ ResetBits(GPIOD,GPIO_ Pin_ 2);
break;case 12:
GPIO_SetBits(GPIOB,GPIO_ Pin_7); //Close CHT11
GPIO_SetBits(GPIOB,GPIO_ Pin_ 9); //Close CHT12
GPIO_SetBits(GPIOD,GPIO_ Pin_ 2);
break;default:break;}}

使用特权

评论回复
Diyer2015|  楼主 | 2019-1-2 10:57 | 显示全部楼层
int main(void)
u8 rdcfg_ error,rdaux_ error,rdsat error;
  int loop,k,flag,flagl=0;
Stm32_ Clock_ Init(9);//初始STM32时钟为72M
uart init(72,115200);//初始化串口的波特率
delay_ init(72);//初始化系统延时函数
LED_ Init();//初始化系统指示灯
LCD_ Init();//初始化LCD屏
KEY_ Init();//初始化按键
GPIO_ Configuration();//配置GPIO口
while(  DS 18B20_ InitOQ) {;}//第一个DS 18B20初始化
while(  DS 18B20_ Initl ()) {;}//第二个DS 18B20初始化
while(  DS 18B20_ Init2Q) {;}//第三个DS 18B20初始化
while(  DS18B20_ Init3Q){;}//第四个DS 18B20初始化
while(  DS 18B20_ Init4Q) {;}//第五个DS 18B20初始化
while(  DS18B20_ InitSQ){;}//第六个DS 18B20初始化

使用特权

评论回复
Diyer2015|  楼主 | 2019-1-2 10:58 | 显示全部楼层
    搭建完成后的BMS系统硬件部分实物图如图2-11所示。其中电池管理芯片LTC6804
和DS 18B20的主要负责电压,温度的采集。STM32F103根据内部均衡算法,决定能量转移
方向。MOSFET阵列的控制主要是由STM32F103 I/O口和LTC6804的Sn引脚控制的。
STM32F103还会根据DS 18B20的温度值来控制散热系统的工作。若温度超过_50摄氏度即视
为系统过热,过热部分的散热系统就会工作,进行局部降温。STM32F103和LTC6804之间
主要是通过SPI进行通信,SPI是一种全双工的通信方式,只需要四根线即可实现,这四根
线分别是:数据线((2根),时钟线,使能线。单体一单体主动均衡电路通过超级电容传递能
量,单体一整体主动均衡电路通过反激变压器传递能量。以上过程和构造构成了完整的BMS
下位机系统。
252485c2c28d8605b2.png

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

63

主题

1615

帖子

13

粉丝