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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久精品综合 | 日韩www视频 | av看看| 美女久久视频 | 国产福利资源 | 精品国偷自产在线 | 国产一区二区三区 | 在线一区观看 | 亚洲精品一二三区 | 亚洲国产视频一区 | 成人av播放 | 欧美中文字幕一区 | 日本精品一区二区 | 一级片在线免费看 | 精品精品视频 | av一级久久 | 91亚洲精华国产 | 欧美一区二区久久 | 99久久婷婷 | 美女毛片免费看 | av免费网站在线观看 | 久久国产欧美日韩精品 | 欧美一区二区三区在线视频 | 国产精品美女久久久久久免费 | 国产精品精品 | 国产成人av免费看 | 一本久久a久久精品亚洲 | 羞羞视频免费在线 | 日本免费一区二区三区四区 | 伊人欧美视频 | a级在线观看 | 中文字幕一区二区三区四区不卡 | 久久久久久久久久久蜜桃 | 精品久久国产 | 国产美女精品 | 国产精品高潮呻吟久久aⅴ码 | 欧洲尺码日本国产精品 | 操操操日日日 | 精品综合网| 欧美成人影院 | 亚洲国产精品日本 |