
本帖最后由 Paderboy 于 2016-5-5 15:08 编辑 4 J2 z) G) S' m8 l5 Z7 q 9 \/ ~2 ~$ F+ d) i( [$ v% d 多谢与非网和ST 提供的超值STM32L073RZ-Nucleo 开发板。。这个是测试板是基于STM32L073RZ-Nucleo开发板为核心的,锂电池8s主动均衡管理控制器。。 $ e* P) g+ Y* l7 m 因为时间有限,基于STM32L073RZ开发的测试是基于STM32F0系列的锂电池8s主动均衡管理控制器上直接移植过来的。# Y! H. h% z0 X+ a0 X/ A, m! J% s/ p; P 使用了CubeMx+HAL实现了所需的所有功能。。这里要赞一个。。移植超级方便。。/ ^. C& Y: \ {" ] p( }8 c) N0 | L0和F0的差别主要是L0系列是低功耗版本,又集成了EEPROM。。所以只需要修改下数据存储。基本都可以通过Cube配置外设,直接移植了。。。。 ![]() # z7 H) H$ N$ y; W+ @* d2 a 最后用基于STM32L073RZ-Nucleo锂电池8s主动均衡管理控制器的演示视频。。因为只有晚上有时间移植。。所以测试时间比较短,光线也不好。还请大伙谅解下哦。。。 ![]() 先概述下主动和被动均衡的差异和利弊吧。。以下是个人拙见,有不对的陈述还请,大师纠正。。。。" Z. t5 p* C3 B+ `# { 目前市场上被动均衡的控制器可以说非常的多,主要是用电阻消耗掉多余的能量,来达到稳压 保护单体电池不被过压冲坏(鼓包)。。如果能把需要消耗掉的能量,转移到低压的单体电池, E9 y3 G( Z- J( D 那样电池能量的使用效率可以有很大的提高。并且减少,发热对电池组的寿命影响。。。 锂电主动均衡控制器和被动均衡控制器的差异,主要是主动均衡控制器可以利用其他单体( p) w5 t% O3 U F. o7 b 高出的电压,使用DC隔离降压模块转移到低压的单体电池上。。所谓的"取长补短"达到均衡电池的同时又能提高电池能量的使用效率。一般的被动均衡控制器只能向下均衡(只能控制电阻导通发热) 主动均衡的优点弥补的被动均衡的短板,可以向下充电补偿。把这2种均衡方式结合使用,可以) o4 t$ u- z7 r& L7 B6 }$ Q) l 提高均衡效果和发热量。。 p Z! o7 x% v% J0 ?! | / {6 o( z* Y, c. X1 U- }: u4 J9 [ 接下来说说,主动均衡工作原理。。使用巡检采样,得到所有通道里的电池组电压值,然后确定最大和最小的压差。。1 E, L K4 P/ r9 v( d 根据不同的压差判断使用主动或被动均衡。。每次只能均衡一个通道。。。 如果过压或者低压,达到了设置上限或下限。。直接关闭输入或输出通道。。以保护电池组。。 如果长期处于低压。。到达系统内部设定的下限。。会自动断开均衡控制器供电电源。。以保护电池组,不会被消耗所有的电能,导致电池组报废。。 & A" B. ]( G9 L. B / F8 K) g9 a+ X, Q4 S: l; @ 先来个项目框架结构---以及STM32L073RZ-Morpho硬件接口图: ![]() # H; O/ Q; ~$ N5 k+ O4 o ![]() 接下来。。。先介绍STM32L073RZ-Nucleo配置:- E, |, Z& }: D9 @8 ^ 1.配置系统主频32Mhz 使用内部晶振9 Z: O. J- ?: A( j* J 2.配置PC13,PC14,PC15为中断按键,通过按键设置均衡参数# v* Z- J5 o% a, a - E* c* r3 r) B, y! {! o: F 3.配置SPI2+PC4,PB1,PB2,PB11为LCD控制显示输出9 E" @, l, |/ u/ H( p7 h % M& t# P% _; q- V: J+ v2 G 4.配置串口2作为Wifi或者BLE通讯预留接口。。空闲中断+DMA) g& z& w( c9 i8 T0 A! ? 5.配置ADC 4个通道,ADC1,ADC4内部温度和内部参考电压 用于电池电压和NTC温敏电阻的数据采样 2 _2 f o+ Z/ a* d `! q 6.配置PC5,PC6,PC8,PC9作为电池单体通道逻辑切换控制(抱歉具体IC型号暂时保密)。。。" q+ q% M9 P4 Q- v7 a. G% x f " R9 @* b+ S7 p6 i( a* u 7.配置PA11,PA12,PA5作为主动均衡,被动均衡和DC隔离供电低压保护控制。。 ![]() b0 `! ^1 H! Z ![]() ![]() , G& q1 a& O! l& F' ~- L/ | ? ![]() / _2 p9 b1 b) U ![]() ! a+ b0 S' N( y" t; c$ i/ l/ X% w( f! _ ![]() 以下是,部分的程序截图。。。抱歉(目前原理图和程序还无法分享。。还请见谅。。)) W& v1 m- E. b; x% k ![]() ![]() 4 d9 A( M% v( C ![]() , Y% f, q6 ? _1 U, [5 m ![]() ![]() + [* d1 Z; K0 P! K3 Q) P( C7 \ ![]() , ~3 d: \: t: B 来几张PCB截图吧。。。- n# e* P- K1 L9 v/ e ![]() & S" Z$ X0 J5 K- |5 }: d; r ![]() " a6 J, R/ o& i! Q7 d# S! u2 S ![]() ; s+ l3 S+ c0 V& Z 好了,最后实物测试截图。。2 r- _& t- B" S0 [/ M7 b ![]() C; T. r U* i) v O# Y5 a. d% W ![]() 6 N0 B% N: I$ R ![]() 6 `% A0 C! L/ g* y4 Z ![]() ![]() - R! t O- n& E+ \& x& D% e " t' H: v I& q8 ?% G8 i X! ~ 最后,来2张我基于STM32F0系列开发的BMS-16S铁锂主动均衡保护板。。应用中的截图。。。( Y2 g# _7 \! t: B K* L( s' H3 G ![]() ![]() * H. m, b1 a/ A" M4 D" m % |" m' P* W5 L# z8 } s 3 O' O! @* z( Q) f 9 e, d8 |& E$ |5 x' t |
STM32如何分配原理图IO
STM32ADC过采样及几种ADC采样的处理方法
分享一个STM32L031的串口调试程序
基于STM32L051使用CubeMX生成工程文件ST系列芯片通用经验分享
基于STM32L051开始添加需要的代码经验分享
STM32L051测试I2C协议设备的添加经验分享
基于STM32L051测试Flash和EEPROM的读写
基于STM32L051串口测试与Enocean模块通讯问题
基于STM32L0的EEPROM读写经验分享
基于STM32L0 ADC使用HAL库关于校准问题经验分享
这不是普通的光耦。。是可以有一定负载能力的。。。光耦mos可以支持长时间的过载电流(例如 1a电流)。。就可以通过mcu配置通道,巡检采样电池数据,处理后给低压电池充电(通过隔离dc降压隔离后,再通过降压ic降到合适的电压,并到需要均衡的电池上(均衡时间由mcu控制))。。。。
谢谢讲解。我最初还说怎么没用MOS管呐。原来是这样。但是似乎光耦的价格科比mos管高多了
BMS要是不带屏幕就不爽了。。。这样非常直观。。。全部数据可以方便查看。。。。
光耦(通道切换)。。。目前可以支持800ma的主动均衡。。。。
应该是光隔。