您的位置 首页 编程

PID算法调理C51程序(1)

关于PID比例调节作用:是按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,

关于PID

份额调理效果:是按份额反响体系的差错,体系一旦呈现了差错,份额调理当即发生调理效果用以削减差错。份额效果大,能够加速调理,削减差错,可是过大的份额,使体系的稳定性下降,乃至构成体系的不稳定。

积分调理效果:是使体系消除稳态差错,进步无差度。由于有差错,积分调理就进行,直至无差,积分调理中止,积分调理输出一常值。积分效果的强弱取决与积分时刻常数Ti,Ti越小,积分效果就越强。反之Ti大则积分效果弱,参加积分调理可使体系稳定性下降,动态呼应变慢。积分效果常与另两种调理规则结合,组成PI调理器或PID调理器。

微分调理效果,微分效果反映体系差错信号的改变率,具有预见性,能预见差错改变的趋势,因而能发生超前的操控效果,在差错还没有构成之前,已被微分调理效果消除。因而,能够改进体系的动态功能。在微分时刻挑选适宜情况下,能够削减超调,削减调理时刻。微分效果对噪声搅扰有扩大效果,因而过强的加微分调理,对体系抗搅扰晦气。此外,微分反响的是改变率,而当输入没有改变时,微分效果输出为零。微分效果不能独自运用,需要与别的两种调理规则相结合,组成PD或PID操控器。

//PID参数设定常数(扩大2倍)
#define Kp 15 // 实践7.5
#define Ki 3 // 实践1.5
#define Kd 25 // 实践14.5

void adcpro()
{

signed int tempP,tempI,tempD,TempOut;

// PID
tempP = Tparam[ path *2 ] – TpreTeat[path]; // 核算 e(t)..根本差错
tempSigmaEt[path] += tempP; // sigma e(t)..累计差错积分项
if (tempSigmaEt[path]>60) tempSigmaEt[path]= 60;// 过度积分的极限处理
if (tempSigmaEt[path]<-60) tempSigmaEt[path]= -60;
tempD = (tempP – tempEt[path]) * Kd; // Kd * (e(t)-e(t-1))微分项
tempEt[path] = tempP; // 纪录e(t)给下一次用e(t-1)份额项
tempI = tempSigmaEt[path] * Ki; // Ki * sigma e(t)积分部分

TempOut = (tempP * Kp + tempI + tempD)/2; // 归纳输出函数
if (tempP>25)
{
TempOut = 200;
tempSigmaEt[path]=0;
}
else
{
if (TempOut<0)
{
TempOut = 0;
}
else
{
if(TempOut>200)
{
TempOut=200;
}
}
}
if (tempP<-2)
{
TempOut = 0;
}
hottimer_set[path] = TempOut;

if ( Tparam[ path *2 ] < 50 )
{
Tparam[ 8 ] &= ~( 0x11 << path ); //假如不需要加温则铲除犯错标志
};
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/biancheng/260902.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部