基于PWM 的蓄电池内阻检测
2022-10-30王盛军
田 浩, 王盛军
(航天工程大学, 北京 101416)
0 引言
阀控式密封铅酸蓄电池(以下简称“蓄电池”)运行可靠、成本低、控制简单,而且更加环保。制造厂商会在蓄电池出厂时在铭牌上标注出理论寿命, 但是蓄电池在使用过程中,会受到过度充放电、浮充电压过高、工作温度等因素影响实际寿命, 使得蓄电池实际使用寿命低于理论寿命。当蓄电池出现老化现象不及时更换会导致断电、停机等严重事故。 例如,依据木桶效应,当一个蓄电池老化时,会加速整个蓄电池组的老化程度,故要提前发现并及时更换老化的蓄电池。 蓄电池内阻通常用作评估蓄电池老化程度,通过对蓄电池进行实时在线监测,对老化的蓄电池及时更换,避免造成的经济损失。
直流法测量方法简单,能够提供准确可靠的结果,但是必须要在断开线路的情况下对蓄电池内阻进行测量,无法实现实时测量蓄电池内阻, 这样就会给系统的运行带来安全隐患。 交流法测量蓄电池内阻能够实现实时在线测量,测得的内阻值与实际内阻值误差较小。
本文研究的内容主要是采用交流注入法测量蓄电池内阻,使用PWM 方式产生激励信号,经过功率驱动生成恒流电路注入蓄电池, 通过AD 采集模块采集微弱信号,使用快速傅里叶变换处理,通过计算后得到蓄电池内阻。
1 蓄电池内阻测量方法
蓄电池采用Thevenin 模型[1],见图1。图中,E 为理想电压源,R1为欧姆内阻,C 为平行极板之间的电容,R2为极板与电解液之间的极化内阻。
图1 Thevenin 模型
交流法测量蓄电池内阻的方法有:交流注入法、交流比例法[2]、交流放电法。 交流比例法需要进行两次滤波,会造成误差增大, 造成测量精度降低;交流放电法的检测电路复杂,装置体积较大,需要较高的硬件成本[3]。 本次实验采用交流注入法来测量蓄电池内阻阻值。
交流注入法测试原理: 将蓄电池等效于一个电池模型,注入恒定的电流等基本参数,经过相应的滤波对微弱电压信号进行提取,最后计算得到蓄电池内阻值。
激励电流信号输入:
式中:Imax—激励电流的幅值;Umax—蓄电池电压响应幅值;φ—电压电流的相位差;r—蓄电池内阻。
在测量蓄电池内阻时,常用的方法是四端子检测。该方法将输入电流信号与输出电压信号完全分离,可以有效的消除布线和连接电阻的阻抗与连接电阻和导线电阻对内阻测量结果带来的误差。 开尔文四线检测法,见图2。
图2 开尔文四线检测
2 激励信号产生
正弦脉冲宽度调制(SPWM),是在PWM 的基础上使脉冲宽度占空比在时间域上依照正弦函数取值,输出信号经过滤波处理呈正弦波的一种方式[4]。 见图3。
图3 SPWM 波形
式中:U—直流电源电压;u—电路输出电压;M—调制度,ω1—调制波的角频率;ωs—载波的采样角频率。
由上式可得,Mu 为基波振幅,将谐波成分,记为A,并根据贝塞尔公式,可得:式中:Jk—贝塞尔函数。
通过对其傅里叶变换分析可得,SPWM 波通过低通滤波器后,可以得到一定频率的正弦波。
通过单片机生成PWM,能够快速选择最佳的脉冲调制频段。 可以通过控制STM32 芯片时钟的定时中断,使STM32 芯片的I/O 口输出一定频率的脉冲信号,即占空比的改变, 这样就可以实现周期一定占空比的PWM 信号。也可以通过给I/O 口加一个定时器,用定时器中断来实现输出PWM 信号。
在Simulink 仿真中, 使用PWM Generator 模块产生PWM 信号,再通过滤波器,就可以得到所需要的正弦交流电流,来达到仿真的目的。
3 快速傅里叶变换
式中:Fn—变换后的频率;Fs—采样频率;N—采样点数。
由上式可以看出,FFT 算法的分辨率与采样频率和采样点数有关, 例如,1024Hz 的采样频率采样1024 点,采样时间共1s,FFT 变换后的结果能够分析到1Hz。 如果采样2048 点, 即采样2s, 变换后的结果能够分析到0.5Hz。 采样点数越多,结果越精确。
采样后的数据进过FFT 变换后为N 点的复数,其实部与该点的幅值对应,虚部与该点的相位对应。
在Matlab 软件中带有快速傅里叶变换的函数, 采样点数设置为1024 点。 在Simulink 仿真中,将采集到的微弱信号,先进行隔直,再进行快速傅里叶变换,随后将需要滤除的频率成分置零, 就能够得出所需要频率对应的幅值和相位。
4 仿真与实验
基于Simulink 建立了测量蓄电池内阻仿真模型,仿真系统分为PWM 信号生成部分、蓄电池内阻模型和数据信号处理部分, 其中PWM 信号生成部分主要是利用PWM 模块和低通滤波器模块组成,蓄电池内阻模型采用Thevenin 电池模型, 数据信号处理部分由To Workspace模块和通过FFT 编程进行微弱信号提取。 Simulink 中Thevenin 电池模型见图4。
图4 Thevenin 模型
在PWM 信号生成部分, 主要采用PWM 模块对信号进行产生,低通滤波器主要用于生成1020Hz 左右的正弦波,Gain 模块用于对信号幅值的调节。 其主要模拟的是使用STM32 芯片通过编码来生成PWM 信号, 再通过低通滤波器生成1020Hz 左右的正弦波信号, 再通过压控恒流源电路对蓄电池输入频率恒定的交流电流。
蓄电池输入信号与蓄电池输出信号(加入噪声)通过To Workspace 模块将测得的数据发送至Matlab 平台,通过对数据的滤波处理, 再进行运算即可得到蓄电池内阻的结果。 本系统采用快速傅里叶变换一方面通过软件编程来替代硬件,提高系统的稳定性,另一方面通过快速傅里叶变换滤波, 能够计算出所需要频率电压信号的电压大小和电流信号与电压信号的相位差, 并且能够滤除噪声,大大减少噪声对计算结果的误差。 Simulink 仿真模型搭建见图5。
图5 蓄电池内阻测量模型
在激励2A、1020Hz 的条件下, 实验将模拟蓄电池内阻设定为5、10、15、20、25、30、35、40、45、50mΩ,得到其误差统计表见表1。
表1 内阻测量误差表
通过对测量结果分析, 可以得出该测量方法的最大误差为3.72%,符合电池内阻测试仪校准规范。 随着内阻阻值的增大,误差逐渐减少,表明当蓄电池趋于老化状态时,能够精确的测量,方便工作人员进行更换,并且能够减少因质量问题都带来的经济损失。
5 结束语
本文使用交流注入法来测量蓄电池内阻,在测量时使用PWM 来生成需要频率的正弦信号, 使用开尔文四线检测法, 将输入电流信号与输出电压信号完全分离,可以有效的消除布线和连接电阻的阻抗与连接电阻和导线电阻对内阻测量结果带来的误差。使用快速傅里叶变换来对采集的电压信号进行滤波,能够得到其基波幅值和相位。 在实现过程中,在Simulink 平台完成验证快速傅里叶变换提取微弱信号仿真电路设计以及测量蓄电池内阻模型的搭建,进行了仿真分析与参数选择。在实际电路设计中, 可以结合AD 采集模块、STM32 的PWM模块、对STM32 编写快速傅里叶变换程序可实现蓄电池内阻测量。