一种新光伏MPPT算法及硬件实现和实用性分析
一种新光伏 MPPT 算法及硬件实现和实用性分析摘要在分析了目前几种比较主流的光伏电池最大功率点跟踪 MPPT 算法的基础上提出了一种新的光伏电池 MPPT 算法。 利用 PIC16F877 单片机构建的最小系统控制的 Buck 电路,实现了新算法的实验验证,新算法较大地提高了 MPPT 控制器的性价比。同时,这里还提出了一种新的基于 IR2110 构建的单管高边功率 NMOSFET 驱动电路, 提高了变换器的变换效率。关键词光伏电池;最大功率点跟踪;硬件电路1 引言近年来,随着地球上化石能源不断被人类开采并消耗,石油可用储量不断减少,太阳能光伏电池系统作为可控性强, 利用率高, 并储存方便的一种对太阳能进行利用的方式, 为人类解决日益严重的能源和环境危机提供了一个很好的发展方向。然而,目前光伏电池的太阳能转化率还不高,对其商业化形成了巨大的阻力。故提高光伏电池的转化率是推动光伏电池产业和解决能源危机的主要途径。 从光伏电池材料和制造工艺角度提高光伏电池的转化率是做法之一。此外,还可通过光伏电池控制器,利用 MPPT技术,使光伏电池输出功率达到最大。目前为达到良好的动态特性,研究出的光伏 MPPT方法很多, 但通过控制器提高转化率的前提条件是控制器的性价比要合理, 据此, 从实际应用的角度出发,通过引入新的 MPPT 算法,以有限的硬件条件实现了光伏电池的最大功率输出。2 MPPT 算法思想2. 1 MPPT 算法的基本原理图 1 示出光伏电池阵列的电路原理图。显然,流经等效二极管的电流 IVD 随光伏电池阵列输出电压 Uoc 增大而增大,且增大到二极管的导通阈值电压时, Iph 大部分从等效二极管分流, 从而使输出电流 IL 较小, 所以设计 MPPT 控制器的思想是通过控制器将 Uoc 钳制在等效二极管完全导通之前的某一电压值,使光伏电池的实际输出功率是当前光照和环境温度条件下的最大功率。2. 2 传统 MPPT 算法恒电压法是最早的一种 MPPT 控制方法,不同光照强度下,光伏电池阵列的最大输出功率点 MPP 的电压近似相等。利用这一特性,将光伏电池输出电压固定在此电压上,实现光伏电池的最大功率输出。此方法无法较准确地实现 MPPT 控制。扰动观察法,即爬山法,是一种比较实用的 MPPT 控制算法,这种方式虽在一定程度上减轻了 CPU 的负担,但由于周期性寻优,会对系统的输出电压造成周期性的波动。电导增量法是目前跟踪 MPP 快速而准确的算法之一, 但其缺点是 对硬件的要求非常高,特别是要求模拟信号的数字化转换精确而快速, 且必须要对信号做高质量的滤波处理, 否则无法实现找到 MPP 的功能。此外还有同扰动观察法一样占用 CPU 时间太多的缺点。2. 3 新 MPPT 算法一过山车法过山车法是针对传统算法占用 CPU 时间过多,或对硬件要求过高的缺点提出的,对于中小功率的太阳能光伏系统而言,此算法性价比较高。由于该算法是在 Buck 电路实验平台上发展起来的,故该算法适用的主要范围是负载端的阻抗比光伏电池 MPP 处的等效阻抗小的情况。该算法基本思想是 ①利用过山车法, 即先将光伏电池阵列两端电压 U1 钳制在蓄电池电压 U2 处,再逐渐增加 U1,使光伏电池阵列的输出功率点由小到大,经过 MPP 后,继续增大 U2,使输出功率比最大输出功率小于一个阈值△ P1。输出功率由小变大,再变小,一定会经过一个最大点。 在输出功率变化过程中, 记录下光伏电池阵列输出最大功率时的输出电压 U_max ;②根据光伏电池阵列输出最大功率时记录下的 U_ max,利用稳压程序 可利用PID 控制 将 U1 钳制在记录下的 U_max 上, 实现光伏电池阵列以最大功率稳定地输出能量;③当光照强度发生变化 由于在短时间内, 环境温度的变化对系统输出功率的变化影响不大,可以忽略 ,即输出电压 U_max 时的输出功率 P1 与之前的 P_max 之间差值超过一定阈值△P 时,若 P1P_max,说明光照强度增加了, MPP 处的输出电压也相应增大了,所以此时应启动按增加光伏电池阵列输出电压的方向用过山车法寻找 MPP 程序;如果 P1P_max,说明光照强度减小了, MPP 处的输出电压也相应减小,故此时应启动按减小光伏电池阵列输出电压的方向用过山车法寻找 MPP 程序。整个程序的流程图如图 2 所示。3 单管高边 NMOSFET 驱动电路为保证硬件电路的稳定性, 实验采用 IR2110 芯片, 搭建所需单管高边 NMOSFET 驱动电路,如图 3 所示。图中 A, B 两点分别接被驱动的 NMOS FET 的栅极和源极。驱动电路基本工作机制是① PWM 为低电平时, HIN 为低电平, HO 与 VS 导通, VQ1 , VQ3 先后关断, LIN 为高电平, LO 与 Vcc 导通, LO 变为高电平, VQ2 导通,将升压电容 C1 的负极端接地,此时,直流电压源 12 V 通过二极管 VD1 给 C1 充电;② PWM 为高电平时, LO 与COM 导通, LO 变为低电平, VQ2 关断,而 HO 与 VB 导通,这使得 C1 的正负极直接连接在 VQ3 的栅极和源极上, VQ3 导通, 导致 C1 的正负极通过 VQ3 连接在被驱动 MOSFET VQ1的栅极和源极上,使 VQ1 导通。需要注意的是,即使由于 VQ1 导通导致 B 点的电压升高,由于 C1 的作用, A , B 两点之间的电压保持不变,保证了主电路 NMOSFET 的持续导通。经实测 A, B 两点间的 PWM 波占空比范围能达到 0~ 96%, 图 4 为 A , B 两点间的 PWM波形 占空比为 96% , uo 为 PWM 模块输出信号, uPWM 为经驱动电路后用于驱动 MOSFET的 PWM 信号。利用 IR2110 搭建传统 Buck 驱动电路,如图 5 所示。该驱动电路是用 VD3 和 R2 实现将 C1 的负极接地,从而完成 VQ1 关断期间对 C1 的充电。由于 C2 及容性负载 如蓄电池 的两端有电压 U2, 使 B 点出现对地大小为 U2 的电势, 导致 C1 两端电压近似为零而无法给C1 充电,故需在 B 点至 C2 及容性负载正极之间加一个 VD3 ,使得在 VQ3 关断期间,将 B点与 C2 及容性负载正极之间断开, 再通过 R2 与地等电势, 间接地将 C1 负极接地, 实现对C1 充电。比较图 3, 5 可知,图 5 中主电路上多 R2 和 VD3 ,假设 Buck 后端负载电压 U114 V ,负载电流 I5 A ,前端电压 U2≈ U1/ D, D 为占空比, VD3 导通电压 Uf1 V ,那么消耗在R2 和 VD3 的能量为新驱动电路中,多出的两个 MOSFET 会增加能耗,其能耗分为两部分①给栅源极电容充放电消耗的能量为 P2_12QgUgsf , Qg 为 VQ2 或 VQ3 的总栅极电荷, Ugs 为 VQ2 或VQ3 栅源端电压, f 为 VQ2, VQ3 开关频率。这里 VQ1 选用 L2203N , VQ2 , VQ3 均选用IRF640 。 从 IRF640 Datasheet 中可查得 Qg72 nC, 且选择 Ugs12 V , f30 kHz , 故 P2_10. 025 92W。②漏源极之间的导通与关断消耗的能量。由于 VQ2 的通断是为 C1 充放电 而 C1 为 VQ1栅源电容充放电 , VQ3 的通断是为 VQ1 栅源电容充放电,从 L2203N Datasheet 中可查得VQ1 的总栅极电荷 Q1g60 nC, C1 在一个周期中因给 VQ1 栅源电容充电而导致 C1 的电压下降△ u1Q1g/ C16 mV ,可见 C1 两端电压变化很小,所以 VQ2 通断前后, VQ2 漏源极两端电压很小 为毫伏级 ,可视作 ZVS 软开关,那么 VQ2 通断造成的能量损耗几乎能忽略不计。而 VQ3 关断时, VQ1 先关断, VQ1 的栅源极电势相等,而 VQ1 的栅极、源极分别跟 VQ3 的漏极、源极等电势,那么 VQ3 的漏源极两端电压也近似为零,可见, VQ3 关断时也可视为 ZVS 软开关, 所以 VQ3 的关断造成的能量也可忽略不计; VQ3 导通时, 栅极电压变化过程如图 6 所示。图中, Uth 为开启阈值电压, Ugp 为米勒平台电压, Ucc 为 MOSFET 稳定导通后栅源极两端电压。对于 VQ1, VQ3 ,通过查阅相关数据求取 t1, t2当 VQ3 栅源电压上升到 Uth 后,即 VQ3 开始导通后, VQ1 栅源电压才从零开始上升,从上述计算数据可见, t2_VQ3- t1_VQ3≈ t1_VQ1 。可知, VQ3 栅源电压上升到 Ugp 后, VQ1栅源电压还未上升到 Uth , VQ3 栅源极电压上升到 Ugp 后, VQ3 几乎完全导通, C1 两端电压几乎全加在 VQ1 的栅源极两端,使 VQ3 两端电压接近零,故 VQ3 开通过程消耗的能量主要集中在 t1~ t2 这段时间内。为简化计算,可求取最大能量损耗,假设在 t1~ t2 时段内,VQ1 栅源两端电压 Ugs_VQ1 为零,那么 VQ3 开通过程消耗的能量为从 t1~ t2 这段时间内,查表可得在漏源电压为 25V 测试条件下,由于 VQ3 跨导为由式 4变形得 Ids11Ugs-33 , 则 VQ3 漏源极导通电阻 R25/ 11Ugs-33 , 而 Ugs 可写成时间函数故传统驱动电路比此处提出的驱动电路多消耗的能量△ PP1-P2_1P2_25 . 067 08 W,故新 Buck 驱动电路比传统 Buck 驱动电路提高的效率 η 1△ P/ IU27 . 239%,可见对于中小功率的 Buck 电路,这里提出的 MOSFET 驱动电路极大地提高了能量转换效率。4 新 MPPT 算法硬件实现这里选择的硬件主电路是 Buck 电路, 控制芯片采用 PIC16F877A , A/ D 模块及 PWM 模块是 PIC16F877A 内部集成的。为了降低成本,电流检测模块选用高边电流检测芯片MAX4072 搭建。主 MOSFET 采用 L2203N 。驱动电路是利用 IR2110 芯片搭建的高边NMOSFET 单管驱动电路。整个系统的原理图如图 7 所示。硬件电路工作的基本原理是将电流、 电压信号经单片机 PIC16F877A 自带的 A/ D 模块转换成相应的数字信号,经过相应的程序处理后,计算出 PWM 波的占空比, 经单片机自带的PWM 模块输出控制 MOSFET 的 PWM 信号, 实现控制 Buck 电路前端的电压从而实现 MPPT算法。5 实验结果①加 MPPT 控制器组建的光伏系统,如图 8a 所示,开始运行调试器后,用示波器测试光伏电池阵列两端电压波形,即得 MPPT 控制器跟踪光伏阵列输出电压曲线,如图 9 所示②测量在光伏电池与蓄电池之间加入这里的太阳能控制器后组成的光伏系统见图 8a,蓄电池端充电功率 P 和不加控制器的光伏系统,即直接将光伏电池与蓄电池组成的光伏系统,见图 8b,设给蓄电池充电的功率为 P’ ,比较加入控制器后蓄电池充电功率的提升效率加入 MPPT 控制器后,蓄电池充电电流明显增加,与不加 MPPT 控制器相比,提升效率η2 大致在 8. 8%。 此外, 与第 3 节中的 η 17. 239%比较, 进一步证明了新提出的 MOSFET驱动的必要性,若未使用新 MOSFET 驱动,实际充电提升效率 η 2’ η2-η 18. 8% -7. 239%1. 561%,显然通过 MPPT 控制而获得的增加的能量基本使 MOSFET 驱动部分消耗殆尽。目前市场上光伏电池单价为 14 元/ W,而 MPPT 控制器的制造成本在 100 元以下,以η 28. 8%计算,对于 100 W 的光伏电池,其提升能量为 8. 8 W,由此可得该 MPPT 控制器的单位提升功率造价为 11. 36 元/ W,这显然低于光伏电池单价。故这里设计的 MPPT控制器从实际运用出发,解决了控制器最低性价比问题。6 结论这里提出的新光伏 MPPT 控制算法很好地解决了其他 MPPT 算法跟踪振荡的问题,与此同时,提出了一种适用于中小功率变换器的高效 MOSF ET 驱动电路。在实现既定控制性能指标的同时, 这里从实用性方面分析了该控制器可行性。 由实验结果可见, 所设计的控制器满足了实际应用的性价比要求。