久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3027|回復: 1
打印 上一主題 下一主題
收起左側

求助模糊PID控制如何在stm32中實現

[復制鏈接]
跳轉到指定樓層
樓主
ID:262876 發表于 2017-12-17 21:51 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
有哪位大神知道模糊PID控制如何在stm32中實現嗎???求告知。。。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:155507 發表于 2017-12-18 17:35 | 只看該作者
  1. //======================================================================
  2. //Adjust these three factor ,to achieve the best control effect
  3. //P:1~10之間 I:0-5之間 D:0.1~1
  4. float P_Coefficient=4.75;
  5. float I_Coefficient=0.55;
  6. float D_Coefficient=0.2;
  7. #define Diff_Order 4 /* Differential order*/
  8. int Temp,DestTemp,HeatPower;
  9. int Set_Distant;
  10. long int Integral=5; // Points accumulated
  11. float Prev_Error[10]; // Record ten times before the error
  12. float P,I,D;
  13. float Ek,E;
  14. unsigned char FirstFlag=1;
  15. /*******************************************************************************
  16. * Funtion name:PID Control
  17. * Time:2013/3/5
  18. * Author:zhuhao
  19. *******************************************************************************/
  20. float PID_Control(float Error)
  21. {
  22.         int i;
  23.         float Output;
  24.         float Ture;
  25.         if(FirstFlag)//The first execution
  26.         {
  27.                 FirstFlag=0;
  28.                 for(i=0;i<10;i++)
  29.                 Prev_Error=Error;
  30.         }
  31.         for(i=0;i<10;i++)
  32.         Prev_Error[i+1]=Prev_Error;// Buffer queue
  33.         Prev_Error[0]=Error;//
  34.         Ek=Error-Prev_Error[Diff_Order];//
  35.         E=0.8+Ek*0.2;//IIR
  36.         P=P_Coefficient*Error;// Calculate the proportional component
  37.         I=I_Coefficient*Integral;// Calculate the integral component
  38.         D=D_Coefficient*E;//Calculate the derivative component
  39.         Output=(P+I+D);
  40.         if(Output>0)
  41.         {
  42.                 Ture=Output;
  43.         }
  44.         if(Output>=100||Output<=0||Error<-40||Error>40)//Saturated or large deviation integral
  45.         {
  46.                 if(Integral>0&&Error<0)
  47.                 Integral+=Error;
  48.                 if(Integral<0&&Error>0)
  49.                 Integral+=Error;
  50.         }
  51.         else
  52.         Integral+=Error;
  53.         if(Integral<-10) Integral=-10;
  54.         if(Integral>10) Integral=10;
  55.         if (Output>=100)
  56.         Output=99;
  57.         else if(Output<=0)
  58.         Output=Ture;
  59.         return Output;
  60. }

復制代碼



初次調試速度PID全過程(分享PID函數)
http://www.zg4o1577.cn/bbs/dpj-42514-1.html
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲不卡在线观看 | 欧美a级成人淫片免费看 | 日韩电影免费在线观看中文字幕 | 黄色片在线免费看 | 一区二区手机在线 | 操操日 | 日韩欧美在线视频观看 | 国产精品一区一区 | 欧美一区二区大片 | 国产97久久| 日韩av.com | 亚洲一区视频在线 | 精品国产第一区二区三区 | 欧美日韩专区 | 国产精品激情 | 尤物在线 | 中文字幕亚洲区 | 色橹橹欧美在线观看视频高清 | 狠狠操电影 | 99热在线播放 | 涩涩视频在线观看 | 亚洲午夜精品一区二区三区他趣 | 日本一卡精品视频免费 | 久久久www成人免费精品 | 久久综合香蕉 | 国内精品视频免费观看 | 午夜a区| av国产精品毛片一区二区小说 | 国产免费一级一级 | 成人免费福利视频 | 成人黄色在线 | 日韩在线视频一区 | 国偷自产av一区二区三区 | 高清久久 | 日韩免费福利视频 | 亚洲精品无人区 | 日韩欧美国产精品一区二区 | 久久综合伊人 | 精品丝袜在线 | 国产精品99免费视频 | 中文字幕一区二区视频 |