怎样更好的了解鸿贝蓄电池
在气候压力日趋加大的今天,减少温室气体排放,提倡低碳生活方式已成为全球的共识。要实现低碳经济,除了通过技术创新、制度创新、产业转型等多种手段,尽量减少煤炭,石油等高碳能源消耗,并提高人们的节能意识外,开发新能源的应用是更重要的手段,其中太阳能光伏发电是主要的新能源之一。在业余条件下,读者很容易利用太阳能电池自己制作一套太阳能光伏发电装置,不但非常有趣,而且可以实现自己使用新能源的愿望。
业余制作的太阳能光伏发电装置一般不存在和电网并网的可能,因此需要在不用电的时候用蓄电池把电能储藏起来,需要用电时再使用蓄电池中储藏的电能,要实现这一功能就需要一个太阳能光伏系统控制器,本文介绍一款用单片机电路设计制作的这种装置。
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向负载供电。
程序在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时即认为充电结束。