嵌入式 > 集成电路 > 详情

太阳能光伏系统控制器

发布时间:2020-06-22 发布时间:
|
电路特色功能:

  1.蓄电池过充电与过放电保护;

  2.自动恢复放电功能;

  3.防止蓄电池与太阳能电池反接功能。

    电路参数:

  1.最大充电电流(A):≤5

  2.最大放电电流(A):≤5

  3.蓄电池额定工作电压(V):12

  4.太阳能电池额定输出电压(V):18

  5.太阳能电池最大开路电压(V):25

  6.过充电电压(V):14.8

  7.过放电电压(V):10.8

  8.恢复供电电压(V):12.3

  在气候压力日趋加大的今天,减少温室气体排放,提倡低碳生活方式已成为全球的共识。要实现低碳经济,除了通过技术创新、制度创新、产业转型等多种手段,尽量减少煤炭,石油等高碳能源消耗,并提高人们的节能意识外,开发新能源的应用是更重要的手段,其中太阳能光伏发电是主要的新能源之一。在业余条件下,读者很容易利用太阳能电池自己制作一套太阳能光伏发电装置,不但非常有趣,而且可以实现自己使用新能源的愿望。

  业余制作的太阳能光伏发电装置一般不存在和电网并网的可能,因此需要在不用电的时候用蓄电池把电能储藏起来,需要用电时再使用蓄电池中储藏的电能,要实现这一功能就需要一个太阳能光伏系统控制器,本文介绍一款用单片机电路设计制作的这种装置。

  硬件电路设计

  本文介绍的太阳能光伏系统控制器系统使用额定输出电压为18V的太阳能电池板,配用12V蓄电池,太阳能电池板的功率和蓄电池的容量可根据实际需要确定,同时考虑到充电时间和用电时间的长短,进行合理搭配,如额定输出功率为10W的太阳能电池板配10Ah的蓄电池比较合适。

  太阳能光伏系统控制器的电路见图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转换的方式测量蓄电池的电压,即先把蓄电池的电压转换成数据,然后将测试数据和已储存的过充电电压、过放电电压、恢复供电电压数据进行比较,根据比较结果作出相应的控制。电路中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输出高电平,蓄电池停止充电。

  放电工作情况:

  1. 当U由大于12.3V下降到10.8V前,GP4、GP5输出低电平,蓄电池对负载放电。

  2. 当U≤10.8V时,GP4、GP5输出高电平,蓄电池停止对负载放电。

  3. U随着充电逐渐上升,当U>10.8V时,电路并不立刻恢复蓄电池的供电,否则会在很短的时间内因电压下降又停止供电,形成一种振荡的供电状态,即一会通一会断,为了解决这一问题,设置了一个电压的回差,当蓄电池充电恢复到U>12.3V时,GP4、GP5再输出低电平恢复供电。

  软件设计

  程序在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、

                      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稳压二极管。

  

  

  接下来在充电的过程中测量蓄电池的电压,当充电指示发光二极管由点亮到熄灭时的电压即为过充电电压,当此值偏离14.8V较大时,可通过改变取样电阻R11、R12的分压比来调整,当测量值大于14.8V时,减小R11或增加R12的阻值,调大分压比;反之增加R11或减小R12的阻值,调小分压比。使用时控制器输出的是蓄电池的12V直流电源,当用电器使用220V交流电源时,还要接入一个输入电压为DC12V的逆变器,逆变器的额定功率根据蓄电池的容量和使用要求确定。

  




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
图像采集压缩卡在数字化装甲指挥系统中的应用