1、PID算法在太阳能蓄电池充电控制器中的应用研究张东栋 1(青岛科技大学 自动化学院,山东 青岛 266042)摘要:针对传统太阳能发电系统中蓄电池充电电压跟随太阳能电压变化幅度过大且易出现过充的问题,本文采用经典 PID 控制算法实现太阳能电池稳定高效地向蓄电池充电,恒压充电时电压稳定。在太阳能电压变化较大时,蓄电池端电压不会过高,从而有效的保护蓄电池,延长电池使用寿命。关键词:太阳能,蓄电池,充电,PIDStudy on the Application of PID Algorithm in the Solar Battery Charge ControllerKeywords: solar
2、 power; battery; charging; PID太 阳 能 是 一 种 理 想 的 绿 色 能 源 。 太 阳 能 发 电 系统 由 太 阳 能 电 池 和 蓄 电 池 两 部 分 组 成 。 太 阳 能 电 池利 用 光 生 伏 打 效 应 将 太 阳 辐 射 能 直 接 转 换 为 电 能 。目 前 国 内 被 广 泛 使 用 的 太 阳 能 蓄 电 池 为 铅酸免维护蓄电池。铅酸蓄电池虽然具有较好的性能特性,但现实使用中往往难以达到其设计寿命。本文主要研究太阳能发电系统中蓄电池充电器的设计部分,通过对太阳能电池阵列输出特性和蓄电池充电技术的研究,提出了一种基于 PID 算法的
3、蓄电池充电控制技术,实现蓄电池智能充电,从而达到延长系统整体使用寿命的目的。1 蓄电池充电控制器的电路结构太阳能充电部分控制电路包括 CPU 控制单元模块、蓄电池电压检测单元、太阳能电压检测单元和由大功率 MOS 管组成的充电控制电路。CPU 控制单元采用 TI公司具有超低功耗的 MSP430F103 作为核心控制器件,充电时通过 PID 方式控制充电精度,单片机引脚产生PWM 脉冲信号来控制 MOSFET 的打开和关断,实现对蓄电池充电的目的。系统结构原理框图如图 1 所示。太阳能电池板太阳能电压检测微控制器蓄电池电压检测蓄电池防反充电路充电控制电路图 1 蓄电池充电控制器系统结构图2 选择
4、 PID 控制方法随着计算机技术的快速发展,PID控制器被广泛应用在各种工业控制过程中。PID算法可经过计算由微处理器来实现。在PID 调节中,微分作用主要用来加快系统的动作速度, 减小超调, 克服振荡。积分环节主要用以消除系统静差。将比例、积分、微分三种调节规律恰当地结合在一起, 即可实现迅速、平稳、准确地向蓄电池充电。本文采用增量式的 PID 控制方法,增量 PID 的输出与过去的所有状态有关,计算时要对 e(每一次的控制误差)进行累加。充电的 PID 控制器的输出并不是绝对数值,而是一个,代表增多少,减多少。换句话说,通过增量 PID 算法,每次输出是 PWM 要增加多少或者减小多少,而
5、不是 PWM 的实际值。增量式 PID 公式原型如式 1 所示。(1()*()()2.()outpidPKetet=+-)上一次的计算值如式 2:(2(1)*()(1).(1)outpidPKetet-=-+-)两式相减得到增量计算公式(3):(3*()1)*()()212dltpidetetKt- -+)控制算法选定后接下来对 PID 参数进行整定。3.PID 参数调节方法传统的 PID 经验调节大体可分为以下五步:首先关闭控制器的积分和微分调节,加大控制器的比例调节,使系统产生振荡。紧接着逐渐减小 P,使系统找到一个临界的振荡点。之后增强积分调节,使系统达到设定值。最后重新上电,观察超调、
6、振荡和稳定时 作者简介:张东栋(1988-),男,汉,硕士研究生,研究方向为智能仪器与嵌入式系统。间是否符合系统要求,针对系统出现超调和振荡的情况可适当增加微分项。以上几步是传统调节 PID 控制器时的普遍步骤,但是在实际使用中如何寻找到合适的 I 和 D 参数是具有一定难度的。在实际的调试过程中我们根据经典的Ziegler-Nichols(ZN 法)公式来初步确定 I 和 D 元件的参数,这样对我们的调试能够起到很大帮助。所谓的对 PID 回路的参数“整定”就是指调整控制器对实际值与设定值之间的误差产生的反作用的积极程度。如果控制过程是相对缓慢的话,那么 PID 算法可以设置成只要有一个随机
7、的干扰改变了过程变量或者一个操作改变了设定值时,就能采取快速和显著的动作。相反地,如果控制过程对执行器是特别地灵敏而控制器是用来操作过程变量的话,那么 PID 算法必须在比较长的一段时间内应用更为保守的校正力。回路整定的本质就是确定对控制器作用产生的过程反作用的积极程度和 PID 算法对消除误差可以提供多大的帮助。经过多年的发展,Ziegler-Nichols 方法已经发展成为一种在参数设定中,处于经验和计算法之间的中间方法。这种方法可以为控制器确定非常精确的参数,在此之后也可进行微调。Ziegler-Nichols 方法可分为两步:1.构建闭环控制回路,确定稳定极限。2.根据公式计算控制器参
8、数。稳定极限是由 P 元件决定的。当出现稳态振荡时就达到了这个极限。产生了临界系数 Kpcrit 和临界振荡周期 Tcrit,如图 2 所示。图 2:稳态振荡图当我们确定临界系数 Kpcrit 和临界振荡周期Tcrit 后,可根据经典 Ziegler-Nichols 参数表计算其他参数,见表 1。表 1:Ziegler-Nichols 参数控制器 pKiTdP 0.50*Kc / /PD 0.65*Kc / 0.12*PcPI 0.45*Kc 0.85*Pc /PID 0.65Kc 0.5*Pc 0.12*Pc综上可以看书,在调试 PID 控制器时,如果应用Ziegler-Nichols 方法
9、,可以快速、精确的算出相应的各参数数值,再之后只需进行微调便可得到理想的控制效果4.PID 参数调节过程及试验数据根据现有蓄电池特性,设定目标充电电压为11.0V,暂不考虑温度对蓄电池充电电压的影响。首先确定 Kp 值,令 Ki,Kd=0 只用比例调节,得到一个稳定的且接近控制目标的震荡参数,然后根据这个 Kp 和震荡周期来计算 Ti,Td 的值。为了得到一个系统稳定震荡的 Kp 值,我们进行了四次实验,实验中 Kp 的值分别取为 2.5、5、8.5、9。实验数据见图?所示,其中 Y 坐标为蓄电池端电压值,放大了 100 倍,X 坐标为时间,每 5 秒一个点。图 3:不同 Kp 值系统仿真结果
10、当我们选取 Kp=8.5 且测试时间有意加长时,从图中仿真结果可见震荡已经较为稳定了。第四次实验时我们把 Kp 值选为 9,从图中可见此时波形震荡已基本稳定且上下幅度比较均匀,但是震荡幅度有所加大。同时从图中数据我们还可以看到,系统震荡周期点数为 45 个左右,点间隔为 5s,所示系统震荡周期可取225s。 接下来进行 PD 实验。首先选取临界增益KC=9.2,系统震荡周期取 Pc=225s,计算出Kp=5.85, Td=27s,又Kd=Kp*Td/T=5.85*27/5=31.59,参数的计算方法见表1。此时 PD 实验仿真结果如图 4:图 4:PD 算法仿真曲线图从图 4 数据分析可知,蓄
11、电池端电压最终稳定在一个 10.9V,上下波动 0.05V,而我们设定的目标电压为 11.0V,说明这里引入了 0.2V 的稳态误差,需要加入积分调节器才能消除这个稳态误差 。计算 Ti=112.5 秒,根据公式:Ki=Kp*T/Ti=5.85*5/112.5=0.26。下面加入 PID 调节,取参数 Kp=5.85,Kd=31.59,Ki=0.26,图 5 是加入积分分离法的 PID 算法实验结果。从图中数据可看出已经符合设计要求,在 11.0V 稳定精度为+/-0.05V。图 5:PID 算法仿真曲线图5 结束语以上提出了一种基于 PID 算法的蓄电池充电控制技术,在太阳能电压变化时,蓄电池端的电压不会出现突变,仍然会稳定在目标值,从而能够对蓄电池提供较好保护,避免充电过程中电压过高引起蓄电池损坏,延长蓄电池使用寿命。作者姓名:张东栋电话:15244231951邮箱:作者单位:青岛科技大学自动化学院