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

標題: STM32單片機的PID算法實現程序無法編譯,求指導 [打印本頁]

作者: 114786    時間: 2021-6-30 14:55
標題: STM32單片機的PID算法實現程序無法編譯,求指導

  1. #include "System_init.h"
  2. extern int U_Set;
  3. extern u16 CCR1_Val;

  4. /*====================================================================================================
  5. PID Function
  6. The PID (比例、積分、微分) function is used in mainly
  7. control applications. PIDCalc performs one iteration of the PID
  8. algorithm.
  9. While the PID function works, main is just a dummy program showing
  10. a typical usage.
  11. =====================================================================================================*/
  12. typedef struct PID {
  13.         float SetPoint; // 設定目標Desired value
  14.         float Proportion; // 比例常數Proportional Const
  15.         float Integral; // 積分常數Integral Const
  16.         float Derivative; // 微分常數Derivative Const
  17.         float LastError; // Error[-1]       
  18.         float PrevError; // Error[-2]
  19.         float SumError; // Sums of Errors
  20. } PID;
  21. /*====================================================================================================/
  22. PID計算部分
  23. =====================================================================================================*/
  24. PID   vPID={0,0.1,0.001,0.001,0,0,0};

  25. float PIDCalc( PID *pp, float NextPoint )
  26. {
  27.         float dError,
  28.         Error;
  29.         Error = pp->SetPoint - NextPoint; // 偏差
  30.         pp->SumError += Error; // 積分
  31.         dError = pp->LastError - pp->PrevError; // 當前微分
  32.         pp->PrevError = pp->LastError;
  33.         pp->LastError = Error;

  34.     if(pp->SumError>900)  pp->SumError=900;
  35.     else if(pp->SumError<-900)          pp->SumError=-900;

  36.         return (pp->Proportion * Error // 比例項
  37.         + pp->Integral * pp->SumError // 積分項
  38.         + pp->Derivative * dError // 微分項
  39.         );
  40. }

  41. float Vol(int vSet,int v3){

  42.         float vOut; // PID Response (Output)
  43.         float vIn; // PID Feedback (Input)

  44.         vPID.SetPoint = vSet; // Set PID Setpoint
  45.         vIn = (float)v3; // Read Input
  46.         vOut = PIDCalc ( &vPID,vIn ); // Perform PID Interation         
  47.         return vOut;
  48. }

復制代碼

代碼: STM32單片機的PID算法實例.zip (729.66 KB, 下載次數: 12)





歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 成人欧美一区二区三区黑人孕妇 | 久草网站| 丁香午夜 | av网站免费在线观看 | 欧美精品久久久久久久多人混战 | av一二三区 | 蜜桃91丨九色丨蝌蚪91桃色 | 日韩欧美视频 | 少妇网址 | 欧美激情国产精品 | 国产黄色三级 | 九月色婷婷| 黄色av毛片 | 亚洲一区二区三区在线视频 | 国产天天操 | 亚洲免费成人 | 国产在线欧美 | 青草视频网站 | 亚洲国产成人精品女人 | 精品国产乱码久久久久久88av | 日本加勒比视频 | 97精品视频在线观看 | 国产精品久久久久久99 | 成人激情视频在线观看 | 欧美黄色录像 | 日本三级香港三级 | 玖玖在线观看 | 操碰在线视频 | 手机看片福利永久 | 色婷婷中文字幕 | 日本男人天堂 | 国产精品一级二级 | 伊人在线视频 | 亚洲第一第二区 | 日韩一级在线 | 日本一区二区在线播放 | 麻豆成人91精品二区三区 | 99精品色 | 日本www视频 | 成人国产一区 | 亚洲欧美视频在线观看 |