国产日韩欧美在线 I 国产老熟女伦老熟妇露脸 I 日韩精品欧美 I 美女91网站 I 夜色导航 I 欧洲亚洲一区 I 亚洲国产精品狼友在线观看 I 国产视频综合 I 丰满人妻一区二区三区四区53 I aaaa视频 I 四色在线 I av不卡一区二区三区 I 四虎成人永久免费视频 I 情侣黄网站免费看 I 欧美三级特黄 I 在线观看免费黄色小视频 I av在线不卡免费看 I 欧美xx在线 I 亚洲天堂男 I 国产欧美久久久精品免费 I 特片网av I 国产精品免费久久久久影院 I 国产强伦姧在线观看 I 成人在线电影院 I 中文字幕人成乱码熟女 I 黄色av免费网 I 夜夜春亚洲嫩草影院 I 在线成人精品国产区免费

當前位置: 首頁 > 資訊中心

關于單片機PID的算法實現

發布時間:2024-01-25  瀏覽量:1181

       用整型變量來實現PID算法,由于是用整型數來做的,所以也不是很精確,但是對于很多的使用場合,這個精度也夠了,關于系數和采樣電壓全部是放大10倍處理的.所以精度不是很高. 但是也不是那么低,大部分的場合都夠了. 實在覺得精度不夠, 可以再放大10倍或者100倍處理,但是要注意不超出整個數據類型的范圍就可以了.本程序包括PID計算和輸出兩部分.當偏差>10度全速加熱,偏差在10度以內為PID計算輸出.  

 具體的參考代碼參見下面:

*/
//================================================================
// pid.H
// Operation about PID algorithm procedure
// C51編譯器  Keil 7.08
//================================================================
// 作者:zhoufeng
// Date :2007-08-06
// All rights reserved.
//================================================================

#include
#include
typedef   unsigned   char        uint8;      
typedef   unsigned   int         uint16; 
typedef   unsigned   long int    uint32;
/**********函數聲明************/
void     PIDOutput ();
void     PIDOperation ();
/*****************************/
typedef struct PIDValue
{
uint32      Ek_Uint32[3];                  //差值保存,給定和反饋的差值
uint8       EkFlag_Uint8[3];              //符號,1則對應的為負數,0為對應的為正數    
uint8       KP_Uint8;
uint8       KI_Uint8;
uint8       KD_Uint8;
uint16      Uk_Uint16;                 //上一時刻的控制電壓
uint16      RK_Uint16;                //設定值
uint16      CK_Uint16;               //實際值
}PIDValueStr;
PIDValueStr  PID;
uint8        out ;                 // 加熱輸出
uint8        count;               // 輸出時間單位計數器
/*********************************
PID = Uk   KP*[E(k)-E(k-1)] KI*E(k) KD*[E(k)-2E(k-1) E(k-2)];(增量型PID算式)
函數入口: RK(設定值),CK(實際值),KP,KI,KD
函數出口: U(K)
//PID運算函數
********************************/
void     PIDOperation (void) 
{
uint32       Temp[3];                                        //中間臨時變量
uint32       PostSum;                                       //正數和
uint32       NegSum;                                       //負數和
Temp[0] = 0;
Temp[1] = 0;
Temp[2] = 0;
PostSum = 0;
NegSum  = 0;
if( PID.RK_Uint16 > PID.RK_Uint16 )                    //設定值大于實際值否?
{
  if( PID.RK_Uint16 - PID.RK_Uint16 >10 )            //偏差大于10否?
  {
   PID.Uk_Uint16 = 100;    }                        //偏差大于10為上限幅值輸出(全速加熱)
  else
  {
   Temp[0] = PID.RK_Uint16 - PID.CK_Uint16;       //偏差<=10,計算E(k)
   PID.EkFlag_Uint8[1]=0;                        //E(k)為正數
   //數值移位
      PID.Ek_Uint32[2] = PID.Ek_Uint32[1];
      PID.Ek_Uint32[1] = PID.Ek_Uint32[0];
      PID.Ek_Uint32[0] = Temp[0];
/****************************************/
      if( PID.Ek_Uint32[0] >PID.Ek_Uint32[1] )                            //E(k)>E(k-1)否?
      {
  Temp[0]=PID.Ek_Uint32[0] - PID.Ek_Uint32[1];           //E(k)>E(k-1)
        PID.EkFlag_Uint8[0]=0;  }                                       //E(k)-E(k-1)為正數
   else
{
  Temp[0]=PID.Ek_Uint32[0] - PID.Ek_Uint32[1];        //E(k)<E(k-1)
        PID.EkFlag_Uint8[0]=1;  }                                               //E(k)-E(k-1)為負數
/****************************************/
      Temp[2]=PID.Ek_Uint32[1]*2 ;                                             // 2E(k-1)
if( (PID.Ek_Uint32[0]  PID.Ek_Uint32[2])>Temp[2] )            //E(k-2) E(k)>2E(k-1)否?
      {
  Temp[2]=(PID.Ek_Uint32[0]  PID.Ek_Uint32[2])-Temp[2];     //E(k-2) E(k)>2E(k-1)
        PID.EkFlag_Uint8[2]=0;  }                                          //E(k-2) E(k)-2E(k-1)為正數
   else
{
  Temp[2]=Temp[2]-(PID.Ek_Uint32[0]  PID.Ek_Uint32[2]);  //E(k-2) E(k)<2E(k-1)
        PID.EkFlag_Uint8[2]=1;  }                                       //E(k-2) E(k)-2E(k-1)為負數
/****************************************/      
      Temp[0] = (uint32)PID.KP_Uint8 * Temp[0];                        // KP*[E(k)-E(k-1)]
      Temp[1] = (uint32)PID.KI_Uint8 * PID.Ek_Uint32[0];              // KI*E(k)
      Temp[2] = (uint32)PID.KD_Uint8 * Temp[2];                      // KD*[E(k-2) E(k)-2E(k-1)]

/*以下部分代碼是講所有的正數項疊加,負數項疊加*/    
/**********KP*[E(k)-E(k-1)]**********/
if(PID.EkFlag_Uint8[0]==0)
  PostSum  = Temp[0];                                    //正數和
else                                             
  NegSum  = Temp[0];                                    //負數和
/********* KI*E(k)****************/
if(PID.EkFlag_Uint8[1]==0)     
  PostSum  = Temp[1];                                 //正數和
else
   ;                                                 //空操作,E(K)>0
/****KD*[E(k-2) E(k)-2E(k-1)]****/                          
if(PID.EkFlag_Uint8[2]==0)
PostSum  = Temp[2];                               //正數和
else
  NegSum  = Temp[2];                             //負數和
/***************U(K)***************/                            
PostSum  = (uint32)PID.Uk_Uint16;   
       
if(PostSum > NegSum )                         // 是否控制量為正數
{ Temp[0] = PostSum - NegSum;
if( Temp[0] < 100 )                         //小于上限幅值則為計算值輸出
PID.Uk_Uint16 = (uint16)Temp[0];
else
  PID.Uk_Uint16 = 100;                     //否則為上限幅值輸出
}
else                                     //控制量輸出為負數,則輸出0(下限幅值輸出)
   PID.Uk_Uint16 = 0;
}
}
else
{ PID.Uk_Uint16 = 0;  }

}

/*********************************
函數入口: U(K)
函數出口: out(加熱輸出)
//PID運算植輸出函數
********************************/
void     PIDOutput (void) 
{
static  int i;
i=PID.Uk_Uint16;
if(i==0)
  out=1;
else out=0;
if((count  )==5)//如定時中斷為40MS,40MS*5=0.2S(輸出時間單位),加熱周期20S(100等份)
{              //每20S PID運算一次
  count=0;
  i--;
}
}


免責聲明:本站部分圖片和文字來源于網絡收集整理,僅供學習交流,版權歸原作者所有,并不代表我站觀點。本站將不承擔任何法律責任,如果有侵犯到您的權利,請及時聯系我們刪除。

主站蜘蛛池模板: 日韩有码视频在线 | 成年午夜精品久久久精品 | 免费无码又爽又刺激高潮的漫画 | 中文字幕 人妻熟女 | 国内自产少妇自拍区免费 | 97精产国品一二三产区在线 | 粗大的内捧猛烈进出小视频 | 蜜乳av 懂色av 粉嫩av | 欧美video性欧美熟妇 | 欧美日韩亚洲一区 | 宅男噜噜噜66国产精品86 | 精品无码一区二区三区不卡 | 亚洲精品欧美激情 | 国产a国产片国产 | 无码丰满熟妇浪潮一区二区av | 成人午夜sm精品久久久久久久 | 一本到综在合线伊人 | 日本爽快片100色毛片 | 丰满少妇作爱视频免费观看 | 涩涩视频网站 | 呦呦在线视频 | 久久久久久久无码高潮 | 最新毛片网站 | 天海翼一区二区三区四区在线观看 | 密臀av一区二区三区 | 99热2| 日本少妇xxxx做受 | 久久窝窝 | 亚洲国产成人精品青青草原 | 19+韩国美女vip福利 | 精品无人区卡一卡二卡三乱码 | 欧美爱爱视频网站 | 国产单亲乱hd| 狠狠操天天干 | 日韩爽妇网 | 秋霞影院午夜伦 | 影音先锋在线观看视频 | 999在线视频 | 欧美精品日韩一区 | 超级碰国产 | 九一毛片 | 国产69精品久久久久9999不卡免费 | 又色又湿又黄又爽又免费视频 | 少妇人妻好深太紧了a | 午夜影视啪啪免费体验区入口 | 忘忧草社区在线资源www | 亚洲精品无码专区在线观看 | 亚州中文字幕 | 天天搞天天干 | 久久精品中文无码资源站 | 99国产精品久久久久久久成人热 | 爱色影音 | 国产精品久久精品 | 日韩在线国产 | 娇妻在交换中哭喊着高潮 | 国产乱妇视频 | 一本大道伊人av久久综合 | 亚洲成人高清在线 | 美女黄频视频大全免费的国内 | 主站蜘蛛池模板: 蛛词}| 日韩欧美精品在线视频 | 欧美少妇网 | 成人免费毛片嘿嘿连载视频 | 色偷偷激情日本亚洲一区二区 | 一级黄色免费毛片 | 中文字幕日本 | 欧美黄页在线观看 | 91超薄肉色丝袜交足高跟凉鞋 | 日本免费不卡高清网站 | 91国内免费视频 | 人人成人 | 日本狠狠干 | 午夜女色国产在线观看 | 97人妻人人做人碰人人爽 | 女人被爽到高潮视频免费国产 | 亚洲日韩精品无码专区加勒比海 | 日本亚洲免费 | 久久久久国产精品人妻aⅴ果冻 | 国产xxxx99真实实拍 | av片在线播放 | 亚洲色图18p | 4hu最新网址 | 欧美激情精品久久久久久蜜臀 | 国产狂喷潮在线观看 | 久色影视| 国产成人无遮挡免费视频 | 国产性猛交xxxx免费看 | 国产 亚洲 中文在线 字幕 | 国产线观看免费观看 | 亚洲黄色激情 | 成人精品少妇免费啪啪18 | 偷拍亚洲综合 | 免费人成视频在线观看不卡 | 久久久久久亚洲综合影院 | 青青热在线精品视频免费观看 | 华人永久免费视频 | 91久久久久久久国产欧美日韩- | 狠狠色香婷婷久久亚洲精品 | 少妇高潮惨叫正在播放对白 | 日本高清一区二区视频 | 亚洲人成伊人成综合网小说 | 麻豆aⅴ精品无码一区二区 懂色av懂色aⅴ精彩av | 一本久久a久久精品综合 | 99国产精品99久久久久久 | 狠狠色噜噜狼狼狼色综合久 | 老熟女强人国产在线播放 | 9lporm自拍视频区论坛 | www.久久久.com | 日本人xxxx视频 | 亚洲综合视频一区 | 亚洲一二三四视频 | 少妇被粗大的猛烈进出免费视频 | 亚洲多毛妓女毛茸茸的 | 日本国产乱弄免费视频 | 99免费在线| 激情五月婷婷综合网 | 又黄又爽又刺激久久久久亚洲精品 | av蓝导航精品导航 | 中美日韩毛片免费观看 | 主站蜘蛛池模板: 蛛词}| 免费看成人aa片无码视频吃奶 | 夜av | 国产欧美va欧美va在线 | 成人精品视频一区二区三区尤物 | 亚洲国产aaa| 亚洲综合无码久久精品综合 | 国产精品免费_区二区三区观看 | 91伦理视频 | 香港日本三级亚洲三级 | 激情久久综合 | 欧美 日韩 国产 精品 | 一本色道久久hezyo无码 | 色婷婷在线视频 | 亚洲成a人片在线观看天堂无码不卡 | 黄色日批视频在线观看 | 亚洲欧美一区二区三 | 日本高清成本人视频一区 | 免费一级特黄特色毛片久久看 | 97欧美一乱一性一交一视频 | 久产久精国产品 | 色噜噜在线播放 | 狠狠爱无码一区二区三区 | 欧美老熟妇xb水多毛多 | a级成人毛片 | 久久中文字幕人妻丝袜系列 | 成人看毛片 | 噜噜噜av久久 | 18禁美女黄网站色大片免费看 | 亚洲无线观看国产高清 | 免费女女同性 av网站 | 色视频在线观看免费 | 国产精品国产三级国产aⅴ原创 | 国产 制服丝袜 动漫在线 | 一本色道久久综合亚洲精品图片 | 久久人妻av一区二区软件 | 欧美双人家庭影院 | 丰满少妇大力进入av | 欧美无乱码久久久免费午夜一区 | 97视频观看 | 欧美国产综合欧美视频 | 国产毛片毛片毛片毛片毛片毛片 | 性色av一区二区三区v视界影院 | 色婷婷综合五月 | 1—2雯雯的山村性欢 | 中文字幕av一区二区五区 | 国产一区二区三区视频 | 欧美日韩在线影院 | 亚洲人成人伊人成综合网无码 | 久久久免费精品视频 | 久久曰视频| 国产亚洲精品久久久久秋霞不卡 | 日韩在线精品视频 | 色狠狠成人综合网 | 亚洲精品国产视频 | 免费一区区三区四区 | 日本人妖xxxx | 国产97在线 | 日韩 | 亚洲色成人网站www永久下载 | 欧美精品videos性欧美 | 主站蜘蛛池模板: 蛛词}| 毛片手机在线 | 4480yy私人精品国产 | 欧美综合自拍亚洲图久青草 | 国偷自产中文字幕亚洲手机在线 | 亚洲日韩成人性av网站 | 亚洲中文字幕久久精品无码va | 无码一区二区三区视频 | 亚洲色成人中文字幕网站 | 免费一二区 | 午夜精品一区二区三区在线视 | 欧美日a| 主播粉嫩国产在线精品 | 中文字幕亚洲精品日韩 | 亚洲乱码中文论理电影 | 无码人妻视频一区二区三区 | 狠狠操视频网站 | 日本福利一区二区 | 国产成人亚洲综合网站 | 欧美亚洲精品在线 | 不满足出轨的人妻中文字幕 | 蜜臀av久久国产午夜福利软件 | 黑人巨大精品欧美一区二区三区 | 免费很黄无遮挡的视频 | 亚洲综合成人婷婷五月网址 | 50岁人妻丰满熟妇αv无码区 | 一区二区三区精 | av小说亚洲 | 欧美人交a欧美精品av一区 | 三上悠亚久久 | 日日拍夜夜嗷嗷叫|日日摸 丰满婷婷久久香蕉亚洲新区 | 青青草免费在线视频观看 | 亚洲欧美日韩精品永久在线 | 国产一区内射最近更新 | 亚洲性bbbbbbbbbbbb | 中文字幕一二三区有限公司 | 成人片网址 | 北条麻妃一区二区三区四区五区 | 久久久久久国产精品日本 | 99av在线| 二区视频在线观看 | 亚洲日本一区二区三区在线播放 | 国产精品成人在线 | 国产人澡人澡澡澡人碰视频 | 亚洲熟妇无码乱子av电影 | 岛国免费av| 狠狠躁夜夜躁人人爽超碰女h | 黄色片免费在线观看 | 成人免费区一区二区三区 | 日韩少妇精品 | 少妇人妻中文字幕hd | 狠狠综合久久综合88亚洲爱文 | 国产无遮挡又爽又黄大胸免费 | 夜夜添夜夜添夜夜摸夜夜摸 | 亚洲日韩中文字幕久热 | 可以免费观看的av | 中文字幕国产在线视频 | 嫩草视频在线观看免费 | 极品少妇在线观看 | 日韩一级免费看 | 主站蜘蛛池模板: 蛛词}| 欧美三级网址 | 久久艹久久 | 男女下面一进一出好爽视频 | 天天撸夜夜操 | 黄色激情视频网站 | 少妇激情偷人三级 | 久久99er6热线精品首页蜜臀 | 真实国产乱子伦对白视频 | 一个人看的www免费视频在线观看 | 亚洲国产精品久久精品 | 欧美韩一区 | 蜜臀av人妻国产精品建身房 | 熟年交尾五十路视频在线播放 | 免费超碰在线 | 无码人妻精品一区二区三区久久 | 狠狠色噜噜狼狼狼色综合久 | 亚洲午夜无码极品久久 | 无码一区二区三区不卡av | 99在线成人精品视频 | 88国产精品欧美一区二区三区 | 国产精品日韩精品 | 亚洲午夜av久久乱码 | 特级黄aaaaaaaaa毛片 | 女女女女女裸体处开bbb | 狼人色综合 | 13小箩利洗澡无码视频网站 | 少妇久久久久久被弄高潮 | www五月天 | 激情五月色综合国产精品 | 国产av激情无码久久天堂 | 国产成人亚洲精品无码h在线 | ktv偷拍视频一区二区 | 成年片色大黄全免费网站久久高潮 | 亚洲人成在线播放无码 | 亚洲国产果冻传媒av在线观看 | 一区二区三区波多野结衣在线观看 | 久久99精品久久久久子伦 | 97精品国产97久久久久久粉红 | 日韩av无码久久一区二区 | 免费精品国自产拍在线不卡 | 曰本女人牲交高潮视频 | 日韩人妻无码免费视频一区二区三区 | 国产成人亚洲欧洲在线 | 中文字幕人妻熟女人妻a片 人人草人人澡 | 亚洲午夜精品久久 | 国产日韩av网站 | www.羞羞答答在线观看蜜桃臀 | 成人在线免费小视频 | 国产精品区二区三区日本 | 日日碰日日摸 | 亚洲精品永久入口 | 国内精品自线一区二区三区2021 | 国产99一区| 国产成人精品微拍视频网址 | 日日碰狠狠添天天爽超碰97 | 亚洲精品永久www嫩草 | 成年人天堂com | 久久久久久久极品内射 | 在线亚洲人成电影网站色www |