发明内容
本发明为了解决现有技术太阳能控制器在放电照明时,都是以某一设定的电流恒流输出,不能自行调节的技术问题,提供了一种太阳能控制器及其实现方法。
为解决上述技术问题,本发明采用的技术方案为设计一种太阳能控制器的实现方法,包括下列步骤:
根据蓄电池发电变量值和蓄电池容量的不同设置不同等级恒流输出的亮度等级输出函数;
时时检测蓄电池当日的发电变量值和蓄电池容量,获取发电变量值和蓄电池容量并存储所述发电变量值和蓄电池容量,且对所述发电变量值和蓄电池容量做逻辑与运算;
判断逻辑与运算结果是否符合要求,且在符合要求时根据获取的发电变量值和蓄电池容量调用亮度等级输出函数,并使蓄电池根据所述亮度等级输出函数输出相应等级的恒流驱动LED。
所述亮度等级输出函数包括根据不同时间段设置不同的亮度等级输出。
所述太阳能控制器的实现方法还包括一检测蓄电池是否过放电,且在检测到过放电时关闭LED的步骤。
所述发电变量值为根据MPPT控制方法检测到的功率。
本发明还提供了一种太阳能控制器,所述太阳能控制器包括:
设置模块,其根据蓄电池发电变量值和蓄电池容量的不同设置不同等级恒流输出的亮度等级输出函数;
发电变量值检测模块,其时时检测蓄电池当日的发电变量值和蓄电池容量,获取发电变量值和蓄电池容量并存储所述发电变量值和蓄电池容量,且对所述发电变量值和蓄电池容量做逻辑与运算;
调用模块,其判断逻辑与运算结果是否符合要求,且在符合要求时根据获取的发电变量值和蓄电池容量调用亮度等级输出函数,并使蓄电池根据所述亮度等级输出函数输出相应等级的恒流驱动LED。
所述亮度等级输出函数包括根据不同时间段设置不同的亮度等级输出。
所述太阳能控制器还包括一过放电检测模块,其检测蓄电池是否过放电,且在检测到过放电时关闭LED。
所述发电变量值为根据MPPT控制方法检测到的功率。
所述太阳能控制器包括用于检测蓄电池过充的两串联电阻和与所述两串联电阻一端连接的MPPT控制管。
本发明通过先根据蓄电池发电变量值和蓄电池容量的不同设置不同等级恒流输出的亮度等级输出函数,再时时检测蓄电池当日的发电变量值和蓄电池容量,获取发电变量值和蓄电池容量,然后在驱动LED时,判断逻辑与运算结果是否符合要求,且在符合要求时根据获取的发电变量值和蓄电池容量调用亮度等级输出函数,并使蓄电池根据所述亮度等级输出函数输出相应等级的恒流驱动LED。
具体实施方式
请参见图1。本发明太阳能控制器的实现方法,包括下列步骤:
第一步:根据蓄电池发电变量值和蓄电池容量的不同设置不同等级恒流输出的亮度等级输出函数。
蓄电池发电变量值和蓄电池容量可划分成若干区间,根据每一区间的发电变量值和蓄电池容量设置相应的亮度等级输出函数,以输出相应等级的恒流驱动LED。亮度等级输出函数包括根据不同时间段设置不同的亮度等级输出。
所述蓄电池的发电变量值为根据MPPT控制方法检测到的功率。
发电变量值的计算方法为:从每天早上九点到下午四点,每两点五分钟采集一次电压、电流的乘积,每十分钟既每四次采集总和再平均,平均后得的值再跟每十分钟的平均值再次平均,所得的值就是发电变量值。其算数表达式:F={[(q1+q2+q3+q4)/4]+ [(q1+q2+q3+q4)/4]+…+[(q1+q2+q3+q4)/4]}/42,其中,省略号处有39个[(q1+q2+q3+q4)/4]这样的表达式,q=v×i,q表示功率,v表示电压,i表示电流。
第二步:时时检测蓄电池当日的发电变量值和蓄电池容量,获取发电变量值和蓄电池容量并存储所述发电变量值和蓄电池容量,且对所述发电变量值和蓄电池容量做逻辑与运算。
所述时时检测可采用间隔几分钟检测一次来实现。所述逻辑与运算,即只有检测到的发电变量值和蓄电池容量的均满足要求时,才进入下一步。发电变量值和蓄电池容量的具体数值可根据具体情况具体设定。在本具体实施例中,要求蓄电池容量大于11V时才进入下一步。
第三步:判断逻辑与运算结果是否符合要求,且在符合要求时根据获取的发电变量值和蓄电池容量调用亮度等级输出函数,并使蓄电池根据所述亮度等级输出函数输出相应等级的恒流驱动LED。
当然,所述太阳能控制器的实现方法还可以设置过放、过充保护。如,设置一检测蓄电池是否过放电,且在检测到过放电时关闭LED。
请一并参见图2。该图为本发明太阳能控制器的实现方法的一具体实施例流程图。启动时,首先初始化,然后检测是白天还是黑夜,若是白天,则进行充电,若是黑夜,则放电输出。充电时,首先检测蓄电池的电压,电压小于11V时,调用PWM预充子程序预充;电压大于11V、小于13.8V时,调用PWM均充子程序对蓄电池进行均充;电压大于13.8V小于15V时,调用PWM浮充子程序对蓄电池进行浮充;电压大于15V时,过充保护启动,关闭过充保护管。然后再检测蓄电池是否过冲,若过充,则调用过充子程序停止充电,否则,返回检测步骤。在充电的同时,间隔几分钟检测一次蓄电池当日的发电变量值和蓄电池容量,并获取当日发电变量和蓄电池容量存储在EEPROM中,夜间供亮度等级输出函数调用。上述仅仅介绍了数据为12V系统的数据,实际系统中,是12V和24V自动识别。
放电输出时,首先检测蓄电池电压是否低于11V,若低于11V,则调用过放子程序关闭负载,否则,根据检测到的当日发电变量值和蓄电池容量,调用亮度等级输出函数,并使蓄电池根据所述亮度等级输出函数输出相应等级的恒流驱动LED。在本具体实施例中,亮度等级输出函数按照两个不同的时间段来设置不同的亮度等级输出,其包括第一时间段对应的第一时段亮度等级输出和第二时间段对应的第二时段亮度等级输出。即,先调用亮度等级输出函数,使蓄电池按照第一时段亮度等级输出驱动LED工作,并在第一时间段的时间结束后按照第二时间段的第二时段亮度等级输出驱动LED工作。然后,检测蓄电池是否过放,若过放则调用过放子程序,关闭LED。否则,调用延时子程序,延时至待第二时间段时间结束后关闭负载LED。
该具体实施例通过最大功率跟踪充电方式,和每天检测发电变量值和蓄电池容量,来调用亮度等级输出函数,有效地保障每天晚上都能亮灯,实现全年亮灯。
请参见图3。本发明太阳能控制器包括依次连接的设置模块、发电变量值检测模块和调用模块。其中:
设置模块用于根据蓄电池发电变量值和蓄电池容量的不同设置不同等级恒流输出的亮度等级输出函数;所述亮度等级输出函数包括根据不同时间段设置不同的亮度等级输出。
发电变量值检测模块用于时时检测蓄电池当日的发电变量值和蓄电池容量,获取发电变量值和蓄电池容量并存储所述发电变量值和蓄电池容量,且对所述发电变量值和蓄电池容量做逻辑与运算;所述发电变量值为根据MPPT控制方法检测到的功率。
调用模块用于判断逻辑与运算结果是否符合要求,且在符合要求时根据获取的发电变量值和蓄电池容量调用亮度等级输出函数,并使蓄电池根据所述亮度等级输出函数输出相应等级的恒流驱动LED。
所述太阳能控制器还包括一过放电检测模块,其检测蓄电池是否过放电,且在检测到过放电时关闭LED。实际上过放电检测模块应该很少调用,但是作为系统完整性,也是必须的。
所述太阳能控制器包括用于检测蓄电池过充的两串联电阻和与所述两串联电阻一端连接的MPPT控制管。
请参见图4。该图示出了太阳能控制器的一具体实施例电路图。
如图一所示,该电路主要包括蓄电池板PV、防雷器Z、电阻R1、电阻R2、防反充二极管D1、微处理器MCU、MPPT控制管T1、压控恒流元件T2、采样反馈电阻R3、人机对话显示X、滤波功放电路和蓄电池。串联的电阻R1、电阻R2构成的电压采样回路并联在蓄电池板PV的两端,采集的电压信号送微处理器MCU处理,微处理器MCU定期的主动调节PWM的占空比D,来改变蓄电池对外输出电流,从而引起蓄电池的对外输出电压及负载特性曲线变化。
本具体实施例采用电压增量的MPPT寻优算法流程,由于在寻优过程中不断调整参考电压,因此,蓄电池的工作点始终保持在最大功率点附近。在放电时,通过采样反馈电阻R3采集信号送微处理器MCU,进行差分放大处理,来调节LED驱动所需要的电流,使之恒定在某一电流上。人机界面用数码管作桥梁,赋予两位数码管从00到99对应的设置含义。
采用MPPT控制方法后,过充保护采用串联保护,不易烧毁保护管,大大提高系统充电效率。在智能模式下,白天微处理器MCU时时检测当日发电量,并通过片内EEPROM每日刷新存储起来,夜间供亮度等级输出函数调用。可通过自动或者手动设置来调节亮度等级,有多套智能全功率、调节功率搭配选择,基本上能保证全年能正常亮灯。系统还带多套工作模式,如亮灯时段设置,有单时段和多时段、全光控、普通等模式。系统用低成本、低功耗的AVR单片机做控制器的主控芯片。
本发明采用充电效能很高的MPPT控制算法技术,放电时可调为数控恒流源,系统形成一个动态的闭环系统。
本发明通过先根据蓄电池发电变量值和蓄电池容量的不同设置不同等级恒流输出的亮度等级输出函数,再时时检测蓄电池当日的发电变量值和蓄电池容量,获取发电变量值和蓄电池容量,且对所述发电变量值和蓄电池容量做逻辑与运算,然后在驱动LED时,判断逻辑与运算结果是否符合要求,且在符合要求时根据获取的发电变量值和蓄电池容量调用亮度等级输出函数,并使蓄电池根据所述亮度等级输出函数输出相应等级的恒流驱动LED。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。