青青草无码国产亚洲 I 国产97色在线 | 国产 I 麻豆免费av I 国产美女遭强高潮网站下载 I 狠狠色狠狠色综合网 I 91鲁 I 天天插日日射 I 免费午夜男女高清视频 I 亚洲精品视频免费 I 全免费观看一级 I 国产6区 I 国产一二在线 I 中文字幕www I 久久亚州综合 I 国产精品亚洲产品一区二区三区 I 国产在线看片免费观看 I 亚洲熟妇无码av在 I 日韩在线视频观看免费网站 I 亚洲香蕉免费有线视频 I 天天干夜夜叉 I 人妻少妇456在线视频 I 久久成人一级片 I 久久99精品久久久久久动态图 I 伊人成网 I 乌克兰女人大白屁股ass I 国产电影一区二区三区 I 水果视频污 I jizzyou欧美16 I 国产三级久久久久 I 尹人香蕉久久99天天拍欧美p7

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

關(guān)于單片機PID的算法實現(xiàn)

發(fā)布時間:2024-01-25  瀏覽量:1212

       用整型變量來實現(xiàn)PID算法,由于是用整型數(shù)來做的,所以也不是很精確,但是對于很多的使用場合,這個精度也夠了,關(guān)于系數(shù)和采樣電壓全部是放大10倍處理的.所以精度不是很高. 但是也不是那么低,大部分的場合都夠了. 實在覺得精度不夠, 可以再放大10倍或者100倍處理,但是要注意不超出整個數(shù)據(jù)類型的范圍就可以了.本程序包括PID計算和輸出兩部分.當偏差>10度全速加熱,偏差在10度以內(nèi)為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;
/**********函數(shù)聲明************/
void     PIDOutput ();
void     PIDOperation ();
/*****************************/
typedef struct PIDValue
{
uint32      Ek_Uint32[3];                  //差值保存,給定和反饋的差值
uint8       EkFlag_Uint8[3];              //符號,1則對應的為負數(shù),0為對應的為正數(shù)    
uint8       KP_Uint8;
uint8       KI_Uint8;
uint8       KD_Uint8;
uint16      Uk_Uint16;                 //上一時刻的控制電壓
uint16      RK_Uint16;                //設(shè)定值
uint16      CK_Uint16;               //實際值
}PIDValueStr;
PIDValueStr  PID;
uint8        out ;                 // 加熱輸出
uint8        count;               // 輸出時間單位計數(shù)器
/*********************************
PID = Uk   KP*[E(k)-E(k-1)] KI*E(k) KD*[E(k)-2E(k-1) E(k-2)];(增量型PID算式)
函數(shù)入口: RK(設(shè)定值),CK(實際值),KP,KI,KD
函數(shù)出口: U(K)
//PID運算函數(shù)
********************************/
void     PIDOperation (void) 
{
uint32       Temp[3];                                        //中間臨時變量
uint32       PostSum;                                       //正數(shù)和
uint32       NegSum;                                       //負數(shù)和
Temp[0] = 0;
Temp[1] = 0;
Temp[2] = 0;
PostSum = 0;
NegSum  = 0;
if( PID.RK_Uint16 > PID.RK_Uint16 )                    //設(shè)定值大于實際值否?
{
  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)為正數(shù)
   //數(shù)值移位
      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)為正數(shù)
   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)為負數(shù)
/****************************************/
      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)為正數(shù)
   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)為負數(shù)
/****************************************/      
      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)]

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

}

/*********************************
函數(shù)入口: U(K)
函數(shù)出口: out(加熱輸出)
//PID運算植輸出函數(shù)
********************************/
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--;
}
}


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

主站蜘蛛池模板: 日本在线高清 | 国产bbbbbxxxxx精品 | 国产日韩欧美中文字幕 | 激情精品成人一区二区在线看 | 欧美69精品久久久久久不卡 | 亚洲观看黄色网 | 国产成人在线视频观看 | 在线观看中文字幕视频 | 国产香蕉国产精品偷在线 | www.91免费视频 | 狠狠色噜噜狠狠狠合久 | 久久精品一区二区三区不卡牛牛 | 一区二区三区无码高清视频 | 亚洲国产美国国产综合一区二区 | 午夜熟女插插xx免费视频 | 欧洲亚洲1卡二卡三卡2021 | 久久精品人人槡人妻人人玩 | 天天干天天av | 最新成人av | 日本xxxxx在线观看 | 新毛片基地 | 国产成人亚洲精品无码车a 中文字幕在线观看地址 | 欧美最猛黑人xxxx黑人猛交98 | 国产在线视频天天综合网 | 国产无遮挡又黄又爽在线观看 | 欧美黑人又粗又大又爽免费 | 中文字幕在线观看视频www | 在线麻豆精东9制片厂av影现网 | 国产人妻一区二区三区四区五区六 | 亚洲激精日韩激精欧美精品 | 亚洲一级免费视频 | 狼人视频国产在线视频www色 | 毛片一级黄色 | 免费国产精品视频 | 最美女人体内射精一区二区 | 国产国产久热这里只有精品 | 午夜小视频在线播放 | 欧美色欧美亚洲另类七区 | 欧美亚洲系列 | 欧美国产日韩一区二区三区 | 丝袜人妻无码中文字幕综合网 | 九九久久精品国产波多野结衣 | 亚洲综合在线一区二区三区 | 免费看毛片网站 | 精品欧洲av无码一区二区三区 | 国内精品第一页 | 中文字幕+乱码+中文乱码www | 色噜噜狠狠一区二区三区 | 天堂а√中文最新版在线 | h成人在线 | 三级av在线 | 好男人影视www| 国产一区欧美一区 | 国自产拍偷拍精品啪啪一区二区 | 亚洲精品偷拍 | 99精品国产在热久久无码 | 韩国黄色av | 国产亚洲精品a在线无码 | 欧美性高潮 | 主站蜘蛛池模板: 蛛词}| jizz日本在线播放 | 五月天中文字幕mv在线 | 日韩在线视频二区 | 91视频xxxx| 亚洲婷婷五月综合狠狠 | 人人射人人爱 | 中国老熟女重囗味hdxx | 成人午夜片av在线看 | 午夜福利三级理论电影 | 中文字幕不卡视频 | 国产三级久久久久 | 免费无遮挡无码视频在线观看 | 免费在线观看亚洲视频 | 国产激情无码视频在线播放性色 | www.日本在线观看 | 国产麻豆一精品一av一免费软件 | 一本色道久久88—综合亚洲精品 | 久久精品国内一区二区三区 | 巨胸不知火舞露双奶头无遮挡 | 丰满人妻中伦妇伦精品app | av黄色网址 | 亚洲色图29p | 久久精品卡二卡三卡四卡 | 亚洲色图第一页 | 人妻内射一区二区在线视频 | 色天天 | 91麻豆麻豆 | 99热er| 午夜日b视频 | 国产精品九 | 韩国精品视频一区二区在线播放 | 久久日本片精品aaaaa国产 | 亚洲精品无码久久久久不卡 | 在线 | 国产精品星空传媒丿 | 亚洲熟妇无码av不卡在线播放 | 又色又爽又黄18网站 | 春色伊人| 久久性感美女视频 | 精品国精品无码自拍自在线 | 真人无码作爱免费视频禁hnn | 日韩激情在线播放 | 国产午夜亚洲精品国产成人小说 | 国内精品久久久久久久久齐齐 | a一级黄色片 | 亚洲偷自拍国综合色帝国 | 九九九九精品 | 午夜少妇性影院私人影院在线 | 精品产国自在拍 | 丝袜 亚洲 欧美 日韩 综合 | 5个黑人躁我一个视频 | 成码无人av片在线电影网站 | 午夜视频一区 | 国产精品视频免费一区二区 | 日韩免费一区 | 国产精品偷伦一区二区 | 韩日激情视频 | 538prom精品视频在线播放 | 日日撸夜夜操 | 国产一区综合 | 主站蜘蛛池模板: 蛛词}| 麻豆安全免费网址入口 | 成人午夜看片 | 寂寞骚妇被后入式爆草抓爆 | 精品国产乱码久久久久久浪潮 | 樱花草涩涩www在线播放 | 亚洲国产精品18久久久久久 | 亚洲 欧美 日韩系列 | 中国少妇翘臀啪啪无遮挡 | 欧美六区 | 永久免费观看的毛片手机视频 | 狼色精品人妻在线视频 | 麻豆一二三区精品蜜桃 | 亚洲愉拍自拍欧美精品 | 国产精品99久久久久的智能播放 | 91麻豆精品91aⅴ久久久久久 | 无码少妇一区二区三区浪潮av | 羞羞影院午夜男女爽爽在线观看 | 日本一级黄色毛片 | 亚洲成年人专区 | 女人被男人桶30分钟无遮挡动态图 | 国色天香成人一区二区 | 九九热在线视频观看 | 爽爽影院在线看 | 国产一区二区三区a | 国产网站黄 | 国产免费无码av在线观看 | 一本久道久久综合狠狠躁av | 国产精品国产三级国产专i 久久99亚洲精品 | 91精品国产日韩91久久久久久 | 日韩欧美一级二级 | 免费毛片在线播放免费 | 国产精品爱久久久久久久电影 | 亚州av久久精品美女模特图片 | 久久人人爽人人爽人人片亞洲 | 国产一二三四 | 色拍拍国产精品视频免费观看 | 在线播放亚洲精品 | 日本v片在线观看 | 欧美性xxxx顶级按摩 | 无码高潮喷吹在线观看 | 婷婷色九月| 福利视频导航大全 | 国精产品一品二品国精品69xx | 波多野结衣喷水视频 | 欧美日韩高清一区 | 尤物色综合欧美五月俺也去 | 亚洲欧美999 | 尤物国产在线精品一区 | 97精品国产 | 啪视频在线 | av大片免费看 | 青娱乐福利视频 | 亚洲精品久久久蜜臀 | 永久免费在线观看视频 | 久福利 | 成人在线视频免费观看 | 欧美精品一区二区三区四区五区 | 国产亚洲精品久久久麻豆男与男 | 天天躁夜夜躁狠狠躁2021a2 | 主站蜘蛛池模板: 蛛词}| 黄页网址大全免费观看 | 欧美国产成人精品 | 国产小精品 | 91www在线观看 | 强制高潮18xxxx按摩 | 精品黄色网| 国产裸体美女永久免费无遮挡 | 成人无码精品一区二区三区亚洲区 | 极品人妻被黑人中出种子 | 免费毛片a在线观看67194 | 超碰牛牛 | 亚洲国产综合无码一区二区bt下 | 国产午夜精品一区理论片 | 亚洲国产视频一区二区 | 成人a视频在线观看 | 伊人春色网站 | 日本最新免费二区 | 色婷婷狠狠97成为人免费 | 中文字幕天堂av | 无码精品a∨在线观看 | 日日摸日日碰夜夜爽亚洲 | 亚洲日本va午夜蜜芽在线电影 | 一级黄色在线 | 青青草免费公开视频 | 综合精品视频 | 国产足控福利视频一区 | 天天做天天爱 | 日本高清视频www | 亚洲永久精品在线 | 艳妇臀荡乳欲伦69调教视频 | 荫蒂添的好舒服视频囗交 | 国产精品主播在线观看 | 亚洲中文字幕经典三级 | 国产成人精品自在钱拍 | 97影院理论片手机在线观看 | 欧美成人国产精品高潮 | 欧美精品v欧洲高清视频在线观看 | 九九99九九精彩4 | 成人爽a毛片在线视频淮北 国产做受69高潮视频 | 午夜剧场免费在线观看 | 福利在线不卡 | 日本免费更新一二三区不卡 | 国产大爆乳大爆乳在线播放 | 欧美精品v欧洲精品 | 狠狠操图片 | 老头搡老女人毛片视频在线看 | 国产日韩欧美一区二区东京热 | 色依依av在线 | 国产91精品欧美 | 国产夫妻露脸 | 国产寡妇亲子伦一区二区 | 人妻精品无码一区二区三区 | 国产寡妇色xxⅹ交肉视频 | 久久久久在线 | 伊人久久大香线蕉综合四虎小说 | 欧美黑人异族videos | 色妞综合 | 日本黄色一区二区 | 国产精品麻豆成人av在线观看 | 主站蜘蛛池模板: 蛛词}| 理论片毛片| 成人区人妻精品一区二区不卡网站 | 欧美深夜视频 | 成人无码视频免费播放 | 国产伦理网站 | 亚洲国产天堂久久综合网 | 成人乱人伦精品小说 | 免费的黄网站在线观看 | 8×8x拔擦拔擦在线视频网站 | 亚洲乱码国产乱码精品精98午夜 | 99视频精品免费 | 精品久久91 | 麻豆精品久久久久久中文字幕无码 | 国产偷摄中国推油按摩富婆 | 激情六月婷 | 日韩欧美福利视频 | 国产一级一区二区 | 中文字幕不卡视频在线观看 | 综合av| 51嫩草亚洲精品永久 | 亚洲va中文字幕无码一区 | 一区视频在线免费观看 | 国产片av国语在线观看导航 | 91视频 - 88av | 天天透天天操 | 婷婷色婷婷开心五月四房播播 | 亚洲mv国产mv在线mv综合试看 | 日韩永久| 99av国产精品欲麻豆 | 日韩视频一区二区在线观看 | 午夜剧院免费观看 | 夭天干天天躁天天摸 | 一区二区精品视频 | 国产人成亚洲第一网站在线播放 | 国产美女嘘嘘嘘嘘嘘 | 国产欧美日韩另类精彩视频 | 午夜啪啪福利 | 男女做爰裸体猛烈吻胸摸 | 黑人成人网 | 天堂…在线最新版资源 | 成年入口无限观看免费完整大片 | 欧美成人性色xxxxxx | 人妻久久久一区二区三区 | 国产亚洲成年网址在线观看 | 一个人看的免费视频www中文字幕 | av一区二区三区免费观看 | 日韩精品在线播放视频 | 亚洲国产精品久久久久久女王 | 欧美成 人版中文字幕 | 国产精品sm捆绑调教视频 | 亚洲天堂网在线观看 | 污污网站在线观看免费 | 精品三级视频 | 乱子伦国产对白在线播放 | 中文字幕日本精品一区二区三区 | 国产又色又爽又黄好看的视频 | 午夜888| 欧美日本亚洲韩国一区 | 日本视频高清一道一区 |