软件程序设计
以单片机为核心的控制软件具有实时性、灵活性、通用性及运行可靠性的特点。风光互补发电系统控制是实时控制系统,这就对软件的执行速度有一定的要求,在软件程序设计中,为节约内存和保证较强的适应能力,通常要求程序要有一定的灵活性和通用性。因此,软件开发一般采用结构化程序设计方法,尽量将共用的程序编写成子程序(如系统参数设置程序、A/D转换计算程序、MPPT运算程序、减小功率子程序等),然后把子程序按一定的规则进行组合就得到完成特定任务的应用程序。本系统软件主程序流程图,见图3。
其中系统参数设置是针对风光互补当时的最佳条件设定初始参数,如光伏最佳功率点电压、风电机组卸荷电压、蓄电池充电限制电压、蓄电池充电限制电流、浮充电压、涓流电流等;A/D采样环节是把传感器获得的模拟信号转换为数字信号以送给单片机进行运算;PI调节则是通过软件把检测获得的实际参数与设置参数进行比较,其误差经运算后通过单片机输出相应的PWM进行控制调节;过压、欠压报警子程序是系统实测参数达到报警上下限时进行报警提示。控制系统中蓄电池充放电主要设定参数,如表1所示。
其控制过程如下:开机后,系统自动进行初始化,初始化完毕后系统自动进行参数设置子程序,然后进入采样环节,采样不是一直采样的,而是有一定的时间间隔,到了一定的时间间隔才进行系统关键点的参数采样。采样得到的数据给A/D变换后传送到单片机,与设定的参数进行比较,判断目前蓄电池充电处于第几阶段,判断出结果后进入下一环节,系统进行MPPT增加输入功率子程序或进入减小功率子程序。程序反复则系统进入智能控制状态。系统最大功率跟踪控制MPPT算法流程图如下图4所示。
具体结合前述各种硬件电路及功能,对程序实现从以下几个方面考虑:
用软件来产生PWM信号,驱动IGBT工作。蓄电池电压与充放电电流检测处理程序设计思想为:若蓄电池电压高于它的上限额定电压,且充电电流低于某一个值持续了一段时间,则产生信号控制光伏系统充电控制电路,启动风电机组泄荷电路,避免蓄电池过充电。泄荷电路的驱动脉冲是PWM脉冲,蓄电池电压越高,驱动脉冲的脉宽也越宽,直到全泄荷,隔断太阳能电池为止。在软件设计的时候对A/D转换的结果进行分类计数统计平均,过压在某一段时间连续出现且充电电流低于某一个值持续了一段时间时才能全泄荷,隔断风光互补供电电路。这样有效地防止了因为干扰引起的误动作,提高了充电效率,同时保证了PWM的实时跟踪能力。