1. 程式人生 > 實用技巧 >758【畢設課設】基於微控制器的恆流開關電源控制系統設計

758【畢設課設】基於微控制器的恆流開關電源控制系統設計

【資源下載】下載地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl

一、設計內容
雙向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();