太阳能光伏系统控制器
www.winang.com 电路特色功能:1. 蓄电池过充电与过放电保护;2. 自动恢复放电功能;3. 防止蓄电池与太阳能电池反接功能。电路参数:1. 最大充电电流( A):≤52. 最大放电电流( A):≤53. 蓄电池额定工作电压( V): 12 4. 太阳能电池额定输出电压( V): 18 5. 太阳能电池最大开路电压( V): 25 6. 过充电电压( V): 14.8 7. 过放电电压( V): 10.8 8. 恢复供电电压( V): 12.3 在气候压力日趋加大的今天,减少温室气体排放,提倡低碳生活方式已成为全球的共识。要实现低碳经济,除了通过技术创新、制度创新、产业转型等多种手段,尽量减少煤炭,石油等高碳能源消耗,并提高人们的节能意识外,开发新能源的应用是更重要的手段,其中太阳能光伏发电是主要的新能源之一。在业余条件下,读者很容易利用太阳能电池自己制作一套太阳能光伏发电装置,不但非常有趣,而且可以实现自己使用新能源的愿望。业余制作的太阳能光伏发电装置一般不存在和电网并网的可能,因此需要在不用电的时候用蓄电池把电能储藏起来,需要用电时再使用蓄电池中储藏的电能,要实现这一功能就需要一个太阳能光伏系统控制器,本文介绍一款用单片机电路设计制作的这种装置。硬件电路设计本文介绍的太阳能光伏系统控制器系统使用额定输出电压为 18V 的太阳能电池板,配用 12V 蓄电池,太阳能电池板的功率和蓄电池的容量可根据实际需要确定,同时考虑到充电时间和用电时间的长短,进行合理搭配,如额定输出功率为 10W的太阳能电池板配 10Ah的蓄电池比较合适。www.winang.com 太阳能光伏系统控制器的电路见图 1。电路由单片机电路、充电控制电路、放电控制电路等部分组成。一、单片机电路IC1、 R9、 C3等组成单片机最小系统电路,其中 R9、 C3为上电复位电路, IC 使用 PIC12F675,它虽然只有 8 只引脚,功能却比较强大,引脚见图 2。PIC12F675 片内含 1KB的 Flash 只读程序存储器、 64B数据存储器 RAM和 128B 的 EEPROM,工作速度为0~20MHz,工作电压为 2~5.5V 。有 6 个具有复用功能的 I/O 引脚 GP0~GP5。PIC12F675 可以选择外部或内部振荡器,这里使用了内部振荡器,工作频率为 4MHz。片内有一个带有8 位可编程预分频器的 8 位定时器 / 计数器 Timer0 和一个带有预分频器的 16 位定时器 / 计数器 Timer1 ,一个看门狗定时器, 4 通道 10 位 A/D 转换器,一个模拟比较器。VT5、 VT6等组成充电控制电路,当 PIC12F675 的 GP2脚输出低电平时, VT5截止、 VT6饱和导通,太阳能电池通过 VD9、 VT6 给蓄电池充电。VT1、 VT2和 VT3、 VT4等分别组成两路蓄电池放电控制电路,使用两路负载可增加使用的灵活性,当程序对 PIC12F675 的 GP4、 GP5脚采取不同的控制时可实现不同的功能,比如 GP4作常规控制, GP5增加夜灯控制功能,只有在天黑以后蓄电池才对外供电。 GP4、 GP5如果采用相同的控制功能,两个输出端也可以并联使用。以第一路(负载 1)为例,当 GP5输出低电平时,蓄电池通过 VD8、 VT1 向负载供电。二、充放电控制器本文介绍的控制器采用 A/D 转换的方式测量蓄电池的电压,即先把蓄电池的电压转换成数据,然后将测试数据和已储存的过充电电压、过放电电压、恢复供电电压数据进行比较,根据比较结果作出相应的控www.winang.com 制。电路中 R11、 R12 和 R15、 R16 分别组成蓄电池和太阳能电池的电压取样电路,太阳能电池的电压取样电路在增加夜灯控制功能时使用。 PIC12F675 的 GP0、 GP1分别作两个通道 A/D 转换器的模拟信号输入端。A/D 转换器的参考电压选择单片机内部的 VDD,即 5V 作为参考电压。R10、 VD5、 C1、 C2等组成单片机 5V 稳压电源。VD7、 保险丝 FUSE组成防蓄电池反接电路, 当蓄电池接反时 VD7导通, 通过保险丝 FUSE使蓄电池短路,烧断保险丝,从而蓄电池断路,起到保护电路和负载的作用。保险丝 FUSE同时也起到过载保护作用。VD9能防止太阳能电池板接反。三、工作过程接上太阳能电池板和蓄电池后,电路的工作情况如下(设蓄电池的电压为 U):充电工作情况:当 U≤ 14.8V 时 GP2输出低电平,太阳能电池对蓄电池充电;当 U> 14.8V 时 GP2输出高电平,蓄电池停止充电。放电工作情况:当 U 由大于 12.3V 下降到 10.8V 前, GP4、 GP5输出低电平,蓄电池对负载放电。 1. 当 U≤ 10.8V 时, GP4、 GP5输出高电平,蓄电池停止对负载放电。 2. U随着充电逐渐上升,当 U> 10.8V 时,电路并不立刻恢复蓄电池的供电,否则会在很短的时间内因电压下降又停止供电,形成一种振荡的供电状态,即一会通一会断,为了解决这一问题,设置了一个电压的回差,当蓄电池充电恢复到 U> 12.3V 时, GP4、 GP5再输出低电平恢复供电。 3. www.winang.com 软件设计程序在 MPLAB IDE 编译器中进行编译,使用汇编语言编写。程序由主程序、定时中断服务子程序、 A/D转换子程序、延时子程序、数值比较子程序等组成。主程序主要用来进行初始化,设置单片机的工作模式,将各种控制电压值写入有关存储单元。定时中断服务子程序使用了定时器 / 计数器 Timer0 , Timer0 使用内部时钟源, 预分频器采用 256 分频。由于 PIC12F675 的内部振荡器振荡频率为 4MHz, 1 个指令周期为 4 个时钟周期, 因此一个指令周期为 1μ s,经 256 分频后 Timer0 的 8 位计数器 TMR0计数脉冲的周期为 256μ s,因此如果它的初始值取 61,则计满256 个数的时间为 256×( 256- 61) =49920( μ s)≈ 50ms,即每过 50ms产生一次中断。程序中设置了一个计数变量 N,每中断 1 次计 1 个数,每计满 20 个数时测量一下蓄电池的电压,即每过 1s 测一下蓄电池的电压,程序根据测量结果发出相应的控制指令。PIC12F675 有 4 通道 10 位的 A/D 转换器,这里使用了 AN0和 AN1两个通道,转换结果 10 位二进制输出到 ADRESH和 ADRESL寄存器中,输出格式采用左对齐,即前 8 位存入 ADRESH,后两位存入 ADRESL,如图3 所示。 A/D 转换器的参考电压为 5V,能转换的最大模拟电压值就是 5V,因此取样电路要使用分压电阻,当输入的模拟电压值为 5V 时转换结果为 1023=1111111111B,这时 ADRESH=11111111B=FFH,ADRESL=11000000B=C0H。以蓄电池电压取样为例,当其电压为 14.8V 时,经分压后 GP0输入的模拟电压为12.8× R12/( R11+R12) =12.8× 2/ ( 2+6.2 ) =3.61 ( V),对应的 A/D 转换结果为 1023× 3.61/ 5=739,程序中把每次检测蓄电池电压进行 A/D 转换值同 739 比较大小,当值大于 739 时即认为充电结束。程序中要用到的蓄电池各种控制电压值所对应的 A/D 转换结果见表 1。表 1名称 电压( V) A/D 转换结果 ADRESH ADRESL 过充电电压 14.8 739 B8H C0H 过放电电压 10.8 539 86H C0H 恢复供电电压 12.3 614 99H 80H表 2序号 元件名称 位号 型号规格 数量1 单片机 IC PIC12F675 1 2 R10 金属膜 1/4W 680 Ω 1 3 R7、 R8 金属膜 1/8W 1k Ω 2 4 R1、 R4、R12、 R16 金属膜 1/8W 2k Ω 4 5 电阻器 R11 金属膜 1/8W 6.2k Ω 1 6 R15 金属膜 1/8W 6.8k Ω 1 7 R2、 R5、www.winang.com R9、 R13 金属膜 1/8W 10k Ω 4 8 R3、 R6、 R14 金属膜 1/8W 20k Ω 3 9 电容器 C2 瓷片 0.1 μF 1 10 电解电容器 C1 100μ F/16V 1 11 C3 10μ F/16V 1 12 二极管 VD1 、 VD2、 VD6 10V 稳压二极管 3 13 VD5 5V 稳压二极管 1 14 VD7 1N5401 1 15 VD8 、 VD9 SB560( 5A60V ) 2 16 发光二极管 VD3 φ 3 绿色 1 17 VD4 φ 3 红色 1 18 三极管 VT2 、 VT4 、 VT5 2SC945 3 19 场效应管 VT1 、 VT3 、 VT6 IRF3205 3 20 集成电路插座 DIP8 1 21 保险丝 FUSE 5A 1 22 电路板 PCB 板 1 制作与调试先将目标文件 gfkzq.HEX 写入单片机 PIC12F675 , 按图 4 对有关配置位进行设置, 具体烧写方法见 《无线电》杂志以前的文章。控制器的印制电路图见图 5,也可以使用万能电路板进行安装。元器件的型号规格和数量见表 2。图 6 是笔者制作的控制器实物(图中只装配了一路控制输出)。调试时主要是测试电压控制点是否准确,只要调准一个电压控制点,其他几个电压控制点也就基本准确了,这里选择调节过充电电压。由于控制器的 A/D 转换器的参考电压选择单片机的 5V 工作电压,因此 5V 稳压电源电压的大小影响到控制电压的精度,调试时用数字万用表测量此电压,误差较大(超过 ± 0.2V )时应调换 5V 稳压二极管。www.winang.com 接下来在充电的过程中测量蓄电池的电压,当充电指示发光二极管由点亮到熄灭时的电压即为过充电电压,当此值偏离 14.8V 较大时,可通过改变取样电阻 R11、 R12 的分压比来调整,当测量值大于 14.8V时,减小 R11 或增加 R12 的阻值,调大分压比;反之增加 R11 或减小 R12 的阻值,调小分压比。使用时控制器输出的是蓄电池的 12V 直流电源, 当用电器使用 220V 交流电源时, 还要接入一个输入电压为 DC12V的逆变器,逆变器的额定功率根据蓄电池的容量和使用要求确定。