
本帖最后由 Paderboy 于 2016-5-5 15:08 编辑 4 t; e. t' s$ c) k B 多谢与非网和ST 提供的超值STM32L073RZ-Nucleo 开发板。。这个是测试板是基于STM32L073RZ-Nucleo开发板为核心的,锂电池8s主动均衡管理控制器。。# w, q2 r3 g: V# D' v 因为时间有限,基于STM32L073RZ开发的测试是基于STM32F0系列的锂电池8s主动均衡管理控制器上直接移植过来的。' L/ L2 P( e: W) S6 g 使用了CubeMx+HAL实现了所需的所有功能。。这里要赞一个。。移植超级方便。。 8 W( n5 p7 c; w5 j. o L0和F0的差别主要是L0系列是低功耗版本,又集成了EEPROM。。所以只需要修改下数据存储。基本都可以通过Cube配置外设,直接移植了。。。。 ![]() 2 r# B0 B# M3 E2 _ 最后用基于STM32L073RZ-Nucleo锂电池8s主动均衡管理控制器的演示视频。。因为只有晚上有时间移植。。所以测试时间比较短,光线也不好。还请大伙谅解下哦。。。 ![]() ) W, U9 m9 h% f& ~ d 先概述下主动和被动均衡的差异和利弊吧。。以下是个人拙见,有不对的陈述还请,大师纠正。。。。$ Z+ m. U; T: h( U7 |$ o 目前市场上被动均衡的控制器可以说非常的多,主要是用电阻消耗掉多余的能量,来达到稳压 保护单体电池不被过压冲坏(鼓包)。。如果能把需要消耗掉的能量,转移到低压的单体电池1 K5 G( p4 }' b2 Z 那样电池能量的使用效率可以有很大的提高。并且减少,发热对电池组的寿命影响。。。 锂电主动均衡控制器和被动均衡控制器的差异,主要是主动均衡控制器可以利用其他单体 高出的电压,使用DC隔离降压模块转移到低压的单体电池上。。所谓的"取长补短"达到均衡电池的同时又能提高电池能量的使用效率。一般的被动均衡控制器只能向下均衡(只能控制电阻导通发热)) ~/ j3 c6 K/ V8 n9 i 主动均衡的优点弥补的被动均衡的短板,可以向下充电补偿。把这2种均衡方式结合使用,可以, M5 i4 d1 Z+ D, }3 i) ]$ s; w 提高均衡效果和发热量。。4 i" q' a/ N" P! L8 C4 o 接下来说说,主动均衡工作原理。。使用巡检采样,得到所有通道里的电池组电压值,然后确定最大和最小的压差。。 根据不同的压差判断使用主动或被动均衡。。每次只能均衡一个通道。。。 如果过压或者低压,达到了设置上限或下限。。直接关闭输入或输出通道。。以保护电池组。。$ X" ~; z" r$ u3 {( k! D9 v 如果长期处于低压。。到达系统内部设定的下限。。会自动断开均衡控制器供电电源。。以保护电池组,不会被消耗所有的电能,导致电池组报废。。: B& L: O5 @8 Q, Y1 O& d2 k : t+ O8 z0 w: C3 c 6 L9 V5 W `. ? 先来个项目框架结构---以及STM32L073RZ-Morpho硬件接口图:+ `- c" u4 G. |, U; D% v9 U+ Q# Z, E3 d ![]() 1 B% K- X7 {5 H; j) C0 t' C ![]() 接下来。。。先介绍STM32L073RZ-Nucleo配置: p0 S. F; U! L* k3 q7 Q: S' z3 k k 1.配置系统主频32Mhz 使用内部晶振 8 |" o$ V+ E) h! {# k) t2 [( J+ s 2.配置PC13,PC14,PC15为中断按键,通过按键设置均衡参数 3.配置SPI2+PC4,PB1,PB2,PB11为LCD控制显示输出 4.配置串口2作为Wifi或者BLE通讯预留接口。。空闲中断+DMA. q3 L( \0 Q& _( ^9 ? - F. }6 ~6 N4 x: f. t 5.配置ADC 4个通道,ADC1,ADC4内部温度和内部参考电压 用于电池电压和NTC温敏电阻的数据采样 " ^% x% S: I: C0 L 6.配置PC5,PC6,PC8,PC9作为电池单体通道逻辑切换控制(抱歉具体IC型号暂时保密)。。。) t( u" ]2 D% D; w# y 2 c( \9 }, y+ q' X! M( d 7.配置PA11,PA12,PA5作为主动均衡,被动均衡和DC隔离供电低压保护控制。。3 C( [2 n" l$ ]5 j8 N ) s# p* ~$ \) Q- n9 y) J + j# l, [. S/ |; l# v ![]() ![]() ![]() ![]() ![]() ![]() ; ]- }. @ n8 q4 C" e# Y 以下是,部分的程序截图。。。抱歉(目前原理图和程序还无法分享。。还请见谅。。) ![]() ![]() ![]() ![]() 4 n) {( @4 q p6 ~5 }' d ![]() ![]() / q# z" y' ?5 A. u( Y8 k, c $ ]5 h8 `. ]6 \- `2 p 来几张PCB截图吧。。。9 X: ^- [- k% m1 r* c2 o ![]() : L1 [: L) N" a+ g% @- k+ B% q ![]() 9 p) v- X# {- U ![]() 2 S6 R- j" K% F* ?9 P 好了,最后实物测试截图。。) M/ }7 [* X# I ![]() ![]() 5 z8 l% m7 c: ^: [5 a P& S$ i ![]() $ H$ _. N- G! E( E+ A ![]() / k$ K" \! R6 [7 E7 q3 B ![]() & ]9 r A; r: H- |: F' H" v7 d' q4 ` 最后,来2张我基于STM32F0系列开发的BMS-16S铁锂主动均衡保护板。。应用中的截图。。。 ![]() ![]() # B9 h0 H) W& U8 g % ?0 x" P7 X; u( G' L8 z# J / N4 z; n* m! \: A; _ 7 J. H& }0 b$ m/ C( [ |
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的主动均衡。。。。
应该是光隔。