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