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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2084|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美激情一区二区三区 | 一级中国毛片 | 欧美性久久 | 国产欧美日韩在线 | 四虎新网址| 深夜免费福利 | 黄色片网站在线观看 | 成人在线一区二区 | 不卡的av在线 | 成人深夜 | 91免费版看片 | 97国产视频| 一区二区三区久久久 | www.麻豆av| 精品国产va久久久久久久 | 亚洲精品乱码久久久久久 | 五月婷婷激情综合 | 一区二区免费视频 | 国产无精乱码一区二区三区 | 久草免费福利视频 | 一区二区免费看 | 国产日韩欧美精品 | av免费观看网址 | 插少妇| 第一福利视频导航 | av免费网| 成人激情视频网 | 国产视频一二区 | 色综合久 | 亚洲欧美日韩一区二区三区四区 | 在线一区二区三区 | 日本一级一片免费视频 | 久久久久精 | 久久精品国产免费 | 毛片资源 | av永久免费 | 91免费看 | 国产欧美在线 | 999久久久| 手机看片1024日韩 | 亚洲理论片 |