久久久久久久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://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 成人精品久久 | 欧美一区二区三区的 | 久草网站 | 羞羞网站在线观看 | 岛国av在线免费观看 | 成年人网站在线观看视频 | 国产精品99免费视频 | 久久精彩视频 | 国产精品久久久久久亚洲调教 | 亚洲欧美一区二区三区情侣bbw | 毛片网在线观看 | 国产精品1区2区 | 久久99精品国产自在现线小黄鸭 | 亚洲在线 | 中文字幕一区二区三区四区不卡 | com.国产| 免费在线观看一区二区三区 | 天天看天天干 | 婷婷久久精品一区二区 | 99亚洲精品视频 | 亚洲国产精品va在线看黑人 | 黑人久久| 精品一区二区三区四区五区 | 欧美在线日韩 | 九七午夜剧场福利写真 | 精品精品 | 91视频精选 | 国内精品在线视频 | 先锋影音资源网站 | 亚洲一区自拍 | 日韩欧美国产一区二区三区 | 国产免费福利 | 国产成人精品免高潮在线观看 | av毛片在线| 久久一日本道色综合久久 | 欧美日日 | 亚洲精品久久久久中文字幕二区 | 国产精品久久久久久久久久久新郎 | 日韩精品免费播放 | 一区二区在线 | 亚洲视频1区 |