开关电源是用通过电路控制开关管进行高速的道通与截止,将直流电转化为高频率的交流电提供给变压器进行变压,从而产生所需要的一组或多组电压。开关稳压电源(以下简称开关电源)问世后,在很多领域逐步取代了线性稳压电源和晶闸管相控电源。早期出现的是串联型开关电源,其主电路拓扑与线性电源相仿,但功率晶体管工作于开关状态。随着脉宽调制(PWM)技术的发展,PWM开关电源问世,它的特点是用20kHz的载波进行脉冲宽度调制,电源的效率可达65%~70%,而线性电源的效率只有30%~40%。因此,用工作频率为20 kHz的PWM开关电源替代线性电源,可大幅度节约能源。
工程实际中,应用最为广泛调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制主要技术之一。
【资源下载】下载地址:点击下载(1602)?百度网盘
#include "Include.h"
float idata P_DATA=30;
float idata I_DATA=2;
float idata D_DATA=1;
//声明 PID 实体
//*****************************************************
static PID idata sPID;
static PID idata *sptr = &sPID;
//*****************************************************
//PID 参数初始化
//*****************************************************
void IncPIDInit(void)
{
sptr ->LastError = 0; //Error[-1]
sptr ->PrevError = 0; //Error[-2]
sptr ->Proportion = P_DATA; //比例常数 Proportional Const
sptr ->Integral = I_DATA; //积分常数 Integral Const
sptr ->Derivative = D_DATA; //微分常数 Derivative Const
//sptr ->SetPoint =10; //目标是 100
}
//*****************************************************
//增量式 PID 控制设计
//*****************************************************
float IncPIDCalc(float NextPoint,float SetPoint )
{
float iError, iIncpid; //当前误差
iError = SetPoint - NextPoint; //增量计算
iIncpid = sptr ->Proportion * iError //E[k]项
?
?
|