本设计由MSP430F149单片机电路+MPPT模块电路+XL6009升压电路+ACS712电流检测电路+自恢复保险丝电路+1602液晶显示电路+DS18B20测温传感器电路。
1、设备要有MPPT功能,本系统采用MPPT模块设计。
2、采用3.7V锂电池给系统供电,12V太阳能电池板给锂电池充电。
3、锂电池经过3路的升压电路,产生12V、5V、3.3V的电压,每路均有自恢复保险丝(满足过流保护功能)。
4、实时检测锂电池的温度值。
5、将3路升压电路负载的电流值和锂电池系统电流值以及锂电池的温度值实时显示在1602液晶上。
#include "system.h"
#include <stdio.h>
float NowTemp=0; //实际测试纸
char temp[16]; //暂存显示buf
unsigned int tem; //暂存温度值
unsigned char DisLcd=0; //显示更新
unsigned char ReadTempFlag=0;//读取温度标志
float currentA,currentB,currentC,currentD;
void main( void )
{
IO_init();
// Uart0_init(9600);
TimerA(); //初始化定时器
TimerB();
// Init_WDT();
_EINT();
LcdReset(); //LCD1602初始化
delay_ms(100);
sprintf(temp,"T:%5.2f C a%3.2fA",NowTemp,currentA);//更新显示
DispStr(0,0,(unsigned char *)temp);//打印显示
Disp1Char(7,0,0xdf);//显示摄氏度标志
sprintf(temp,"b%3.2fc%3.2fd%3.2fA",currentB,currentC,currentD);//更新显示
DispStr(0,1,(unsigned char *)temp);//打印显示
while(1)
{
if(ReadTempFlag==1)//读取温度标志
{
ReadTempFlag=0;
tem=ReadTemp(); //读取温度
}
if(DisLcd==1) //更新显示
{
Disp1Char(7,0,0xdf);//显示摄氏度标志
sprintf(temp,"b%3.2fc%3.2fd%3.2fA",currentB,currentC,currentD);//更新显示
DispStr(0,1,(unsigned char *)temp);//打印显示
}
}
}