基于单片机PID控制算法开关电源设计实现(完善)
Posted Mr song song
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于单片机PID控制算法开关电源设计实现(完善)相关的知识,希望对你有一定的参考价值。
开关电源是用通过电路控制开关管进行高速的道通与截止,将直流电转化为高频率的交流电提供给变压器进行变压,从而产生所需要的一组或多组电压。开关稳压电源(以下简称开关电源)问世后,在很多领域逐步取代了线性稳压电源和晶闸管相控电源。早期出现的是串联型开关电源,其主电路拓扑与线性电源相仿,但功率晶体管工作于开关状态。随着脉宽调制(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]项
以上是关于基于单片机PID控制算法开关电源设计实现(完善)的主要内容,如果未能解决你的问题,请参考以下文章
转发分享基于单片机简易数控直流电源基于单片机脉冲宽度测量仿真系统基于单片机简易电饭煲电饭锅仿真系统基于单片机的PID直流电机控制系统