田 侃,张 斌,蔡明扬
基于STM32F103RBT6的电池检测仪设计
田 侃,张 斌,蔡明扬
(武汉船用电力推进装置研究所,武汉 430064)
本文设计了一种基于STM32F103RBT6芯片的电压及温度检测设备,详细描述了检测仪的设计思路,包含系统硬件设计以及软件设计。该检测仪可以广泛用于多场景下电池电压及温度检测,同时包含友好的人机交互界面。
STM32F103RBT6 电压检测 温度检测
随着新能源技术的快速发展,锂离子电池[1~2]的应用也越来越多,一次锂原电池组的电压检测[3~5]场景也屡见不鲜。特殊工况下的锂原电池组存储时间较长,为检验电池组长期存储后的电性能,电压检测设备的设计尤为重要,同时常用电池检测芯片电压检测范围为0~5 V,该电压检测范围无法满足多个高电压(≤50 V)的电压检测,同时温度检测也存在需要多点检测问题,本文基于STM32F103RBT6设计一种宽电压(≤50 V)范围的电压检测设备,该设备可同时检测最多10路电压和基于DS18B20传感器[6][7]的10路温度,电压检测精度达到±50 mv。具备电压报警和温度报警功能,报警参数可设置。同时可通过显示屏检测电池电压和温度。
本检测仪主要用于电池电压以及温度检测。检测仪对外输出维修检测接口如表1所示。
主控芯片采用STM32F103RBT6是一款基于ARM的32位微处理器,内部集成了USB外设,是一款基于ARM的32位MCU的闪存,USB,CAN,7个16位定时器,两个ADC和9个通信接口的芯片。
方案设计示意图如图1所示:
图1 方案设计示意图
通过模拟电路设计,采用10组GS8552精密运算放大器组成ADC采集电路,采用两路电压跟随电路,前级采用分压电路将电池电压缩小20倍,然后通过后级缓冲器用于提供高输入阻抗和低输出阻抗来缓冲信号。GS8552为高精度双通道运放,1.5 MHz增益带宽积, 轨到轨输入输出,高精度1 μV(5 μV,Max,25°C) , 低温漂0.05 μV/℃ (Max.)采集功能采样电路如图2所示。放大器回路的输出接入MCU的ADC输入口,通过软件设计实现对电压信号的采集和转换功能。
表1 维修检测接口
图2 电压采集电路示意图
温度传感器使用单总线温度测量芯片DS18B20,该传感器具有高精度的温度测量功能,具有±0.5℃的温度采集误差,测量温度范围为-55℃到+125℃,可根据用于需要通过配置寄存器设定ADC转换精度和测温速度。芯片内置2个字节用于保存用户自定义信息,掉电不丢失,可以用于保存地址信息。检测仪只需要一组3.3 V供电和一个普通IO口来实现与温度传感器通讯,最多可与数百个温度传感器组成总线网络,节约布线资源,硬件配置如图6所示。
图3 温度传感器接线示意图
电源输入采用220VAC供电,接口采用国标品字型电源插座,带3A单相2节交流滤波器,带AC220V3A保险丝;采用环形电源金属按钮开关来控制电源输入,220 V电源通过开关电源输出12 V直流,开关电源为金升阳的LM35-20B12,该电源输入电压85-264VAC,输出电压12V3A,工作温度范围-30℃ to +70℃,具有低纹波噪声,输出短路过流过压保护,EMC及安全规格满足国际IEC/EN61000-4、CISPR32/EN55032、IEC/UL/EN62368、IEC/EN60335、GB4943、IEC/EN61558 的标准,产品安全可靠,输出的直流DC12V给显示屏和主控单元供电。
图4 电源供电示意图
主控单元电源电路原理图如图5所示,DC12V通过防反二极管以及LC滤波器输入到DCDC控制 回路,控制芯片采用矽力杰的SY8120B1ABC,该芯片功能类型降压型输入18 V带使能控制2 A,同步降压DCDC,高瞬态响应,软启动防浪涌电流内置高精度基准源,过流保护,符合Rohs标准。DCDC回路将12 V电压转换为5 V电压,5 V电压通过LDO转换为3.3 V电压,给单片机以及外围电路供电,LDC采用CJT1117B-3.3,该芯片可输出电流1A,具有75DB@(120 HZ)的电源纹波抑制比,使3.3 V供电具有极小的纹波电压。
图5 主控单元电源电路原理图
检测仪通过485通讯与上位机进行通讯,通讯回路原理图如图6所示。
图6 485对外通讯
通讯采用485收发器,芯片采用杭州瑞盟公司的MS3485,该芯片数据速率高达10 Mbps,工作电压范围1.8 V-3.6 V,ESD高达20 kV,片内集成瞬态保护功能保护器件不受IEC61000静电放电(ESD)和瞬态放电(EFT)的影响。器件具有宽的共模电压范围,这使得此期间适合于长电缆运行上的多点应用。485信号通过滤波电路到通讯电缆接口,通讯电缆接口并接SM712实现端口静电保护设计,实现长距离通讯和减少干扰。
声光报警采用22 mm金属蜂鸣器带灯指示器,通过一路控制即可实现灯光和蜂鸣功能,指示器外部材质为不锈钢,外壳为PC材质,防水等级IP65,防护等级IK09,绝缘电阻≥1 000 MΩ,抗电强度1 000 VAC min,蜂鸣响度60-70 DB,基本满足现有要求。
显示屏采用7寸串口屏,型号为DMG80480T070_A5WTR,该屏工作电源12 V,额定功率小于5 W,通过485通讯与主控单元通讯,屏幕基于迪文科技自主研发的T5L1芯片,运行DGUS II系统,工业级产品,800×480 分辨率,16.7 M色TN屏,带三防工艺和外壳,基本满足现有功能需求。
显示屏显示10组电池总压,10组电池温度以及温度传感器相应的位置,并可显示欠压、压差、高温、低温报警提示,屏幕效果图如图7所示。
图7 显示效果图
软件设计流程如图8所示
图8 软件设计流程图
主控单元上电后,读取内部保存的FLASH参数(包括报警触发条件),初始化时钟、定时器、IO口、485通讯接口以及ADC采集功能。
初始化完成后,通过定时器循环启动ADC采集、判断报警条件、发送显示数据以及与采集温度传感器温度值。
上位机通讯主动发送查询指令,主控单元接收到查询指令后返回电池信息。
电压模拟信号通过ADC口输入到单片机,单片机循环转换ADC值,通过公式计算出实际的电池电压并进行补偿,通过10组电压计算出压差和最低电压值,用于判断压差报警和欠压报警。设计决策图如图9所示。
图9 电压采集决策图
检测仪有两组485通讯接口,一组用于与显示,一组用于连接上位机,与显示屏通讯主控单元作为主机,主动发送显示数据;与上位机通讯,主控单元作为从机,接收到上位机的查询指令后反馈相应的电池信息。线路示意图如图10所示,CSIC内部采用UART异步串口连接485收发芯片,然后通过485接口与外部设备进行485通讯。
图10 485通讯示意图
本文基于ARM芯片STM32F103RBT6,设计了一个宽电压范围及温度检测仪,通过功能测试,检测仪可用于10个通道以内电压测量,以及基于DS18B20温度传感器的10路以内温度检测。根据实际需求,可以拓展检测更多电压及温度以适应不同的应用场景。
[1]王培培, 魏思伟, 高学友, 等. 高能量密度锂离子电池应用研究[J]. 新材料产业, 2012(9): 55-61.
[2] 柳杨, 张彩萍, 姜久春, 等. 锂离子电池组容量差异辨识方法研究[J]. 中国电机工程学报, 2021, 41(4): 1422-1430, 1548.
[3] 林立南. 一种新型电池组单体电池电压检测方法[J]. 传感器世界, 2010, 16(10): 18-20.
[4] 沈伟康, 刘万军, 张志亮, 等. 基于单片机的电池电压检测方案设计[J]. 数字技术与应用, 2019, 37(1): 165-166.
[5] 张文文, 徐航, 朱浩然, 等. 基于MSP430单片机的电池组检测装置设计[J]. 科学技术创新, 2021(15): 27-28.
[6] 赵亚冬, 李夏琴. 基于DS18B20温度传感器的温度检测电路: CN202023273287.5[P]. 2020-12-29.
[7] 陈振宇, 唐海波, 刘琼. 多路DS18B20温度监测系统设计[J]. 中国新技术新产品, 2022(7): 38-40.
Design of battery detector based on STM32F103RBT6
Tian Kan, Zhang Bin, Cai Mingyang
(Wuhan Institute of Marine Electric Propulsion, Wuhan 430064, China)
1003-4862(2023)11-0043-04
2022-10-08
田侃(1993-),男,工程师,研究方向:电池管理系统。E-mail:kantian0827@163.com