449 基于单片机锂电池太阳能充电系统设计( 原理图 程序代码 参考论文)

以 STC89C52RC单片机微控制器为核心,

针对便携式的小功率产品,设计一个太阳能锂电池充电系统,并对锂电池组的充、放电过程进行保护。

锂电池组的电流、电压、将被系统控制器通过控制AD转换芯片及时采集,并以LCD1602显示。

完整版 电路图和程序代码 下载地址

https://pan.baidu.com/s/1JHStUuheQaHTQ-P05qIHGw?pwd=3456

部分代码展示
#include<reg52.h>
#include "ads1115.h"
#include "stdio.h"
#include "delay.h"
#include "LCD1602.h"


#define Accuracy 32768      //定义ADC精度,ADS1115单端输入时15位
float VCC = 6.144;		     //VCC,电压参考值


unsigned char code display_1[] = {" Solar charging "};

unsigned char dis0[16] ;		   //打印数组初始化  

unsigned char count =0;	  //采集次数计数


xdata float Volt=0.0;		  	//检测电压
xdata float sumVolt,midV; //用于滤波 中间变量

xdata float Acurrent=0.0;				  //检测电流
xdata float sumAcur,midA;		//用于滤波 中间变量

//float error_A = 0.1;  //  使用稳压源测电流时候 电流误差0.1   手动补偿



void main()
{
	unsigned int result_v = 0,result_A = 0;
	
	LcdInit();											//LCD1602初始化
	LcdClread();										//清屏	

	WriteStr(1,1,display_1); 

	while(1)
	{	
		/*
			从ADS1115中获取电压值
		*/
		result_v = ADS1115(0,0);	//ADS1115取值_AIN0	 电压		 
		result_A = ADS1115(0,1);	//ADS1115取值_AIN1   电流
		
		//数据处理  计算出AD芯片读取到的电压值
		midV = ((float)result_v  / (float)Accuracy) * VCC;		//ADS1115取值 = Accuracy × (Vin / VCC)	
		midA = ((float)result_A  / (float)Accuracy) * VCC;		//ADS1115取值 = Accuracy × (Vin / VCC)	
		
		
		DelayUs2x(5);
		
				
		//  ACS712芯片 基准为 0 --> v/2      这里 单片机板子  v/2 = 2.455     V要根据实际板子电压进行转换计算
		if(midA>2.455)			 //如果电流转换后的电压值超过2.62
		{
			midA=(midA-2.455);
			midA = midA /0.185;
		
		}	 //电流模块 电压转换计算		得出电流值
		else
		{
			midA=0;	
		}	
		//以上代码 电流相差0.03A
		
		if(midV >= 12)
		{
			midV = 0;
		}
		
		/*
			LCD1602显示
		*/
			
		sprintf(dis0,"V:%3.2fv A:%3.2fA ",midV,midA);//打印电压电流值
			
		WriteStr(1,2,dis0); //在屏幕上显示出来


		PGA_val = PGA_0;   //量程设置  这里设置为 FS=6.144V

		DelayMs(500);
		DelayMs(500);
		DelayMs(500);
		DelayMs(500);

	}	
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值