基于单片机的恒流开关电源控制系统设计

一、设计内容

双向DC-DC变换器电路原理图及PCB源文件,用AD软件打开;

双向DC-DC变换器电路程序;

双向DC-DC变换器电路论文;

双向DC-DC变换器电路BOM清单;

二、设计思路
设计出一种基于STC系列51单片机的BUCK型直流降压开关电源是本课题所要研究的主要内容。本系统需要达到的预期目标是:在系统完成后,系统能预置电压,其步进的电压为1V,输出的电压的限度为0V~10V,输出电流为0~1A。同时液晶显示屏上可以显示出所预的电压置,另有实时的输入输出电压,实时的电流,来使得本系统可以让调整速度加快、提升精准度,同时也能使得电压和负载的调整率降低,提升系统的效率,不在附加额外的电源板,最后还可以让输出的纹波变小等。

本开关电源设计采用STC12C5A60S2单片机发生47KHZ的PWM脉冲信号,经过IR2104控制MOS,从而控制整个BUCK(降压式变换)电路。单片机内部自带的10位ADC能通过电压电流检测电流实时反馈电流和电压数值,并由此调整输出的PWM的占空比,形成电流电压闭环控制系统。按键能设置输出电流从0.2A到2A,以0.01A递增,输出最大10V,液晶能显示实时输出电流与电压。

 

 

 

/*************手工焊板BUCK-BOOST******/
#include <STC12C5A60S2.H>
#include <intrins.h>	      /*use _nop_() function*/
#define uchar unsigned char
#define uint unsigned int
#define ADC_FLAG      0X10

/*****************************************
端口功能设定
*****************************************/
sbit PWM_1		=	P1^4;       //PWM1_Boost/Buck
sbit SD_1		  =	P1^3;       //SD1_Boost_Buck
sbit Key_1		=	P2^1;       //Key_1
sbit Key_2		=	P2^2;       //Key_2
sbit Key_3		=	P2^3;       //Key_3

uint ADC_value;
uchar PWM_temp=2;
uchar last_key;				//按键变量
uchar channel=0;			//第一通道
uchar Caes=0;					//菜单
uint  OUT_Current=300;
uint  Battery_voltage;		//输入电压	
uint  Boost_voltage;		 //Boost电压	 	
uint  Boost_Buck_current;	//Buck_Boost电流8位
uint  O_current;//输出电流
uint  A_value=90;
bit lock=0;           		//PWM输出锁定
bit ADC_ready=0;           	//ADC完毕
bit K=0;
bit Charge=0;
void delay();

  

 

posted @ 2020-12-26 20:50  MCU创新DIY  阅读(672)  评论(0)    收藏  举报