新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > C51如何實(shí)現(xiàn)PID算法

C51如何實(shí)現(xiàn)PID算法

作者: 時(shí)間:2010-12-09 來(lái)源:網(wǎng)絡(luò) 收藏


/*以下部分代碼是講所有的正數(shù)項(xiàng)疊加,負(fù)數(shù)項(xiàng)疊加*/
if(.EkFlag_Uint8[0]==0)
{
PostSum+=Temp[0];//正數(shù)和
}
else
{
NegSum+=Temp[0];//負(fù)數(shù)和
}//KP*EK0
if(.EkFlag_Uint8[1]!=0)
{
PostSum+=Temp[1];//正數(shù)和
}
else
{
NegSum+=Temp[1];//負(fù)數(shù)和
}//-kI*EK1
if(.EkFlag_Uint8[2]==0)
{
PostSum+=Temp[2];//正數(shù)和
}
else
{
NegSum+=Temp[2];//負(fù)數(shù)和
}//KD*EK2
PostSum+=(uint32)PID.Uk_Uint16;//
if(PostSum>NegSum)//是否控制量為正數(shù)
{
Temp[0]=PostSum-NegSum;
if(Temp[0](uint32)ADPool.Value_Uint16[UMAXADCH])//小于限幅值則為計(jì)算值輸出
{
PID.Uk_Uint16=(uint16)Temp[0];
}
else
{
PID.Uk_Uint16=ADPool.Value_Uint16[UMAXADCH];//否則為限幅值輸出
}
}
else//控制量輸出為負(fù)數(shù),則輸出0
{
PID.Uk_Uint16=0;
}
}

本文引用地址:http://m.butianyuan.cn/article/173079.htm

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 算法 PID 實(shí)現(xiàn) 如何 C51

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉