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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2062|回復: 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婷婷韩国欧美一区二区 | 草草精品 | 中文字幕亚洲一区 | 黑人巨大精品欧美一区二区免费 | 欧美日本一区 | 精品国产乱码一区二区三区a | 91精品综合久久久久久五月天 | 久久中文字幕av | 天天操夜夜操免费视频 | 国产我和子的乱视频网站 | 噜啊噜在线 | 亚洲第一网站 | 天天视频成人 | 国产激情在线 | 成人高清网站 | 中文字幕精品视频 | 久久久久久久久久久高潮一区二区 | 午夜精品一区二区三区免费视频 | 亚洲精品国产a久久久久久 午夜影院网站 | 欧美日韩久久精品 | 欧美一区二区三区四区五区无卡码 | 99久久精品视频免费 | www.99热| 日本视频免费观看 | 国产剧情一区 | 91视频.| 国产精品久久久久久久久免费樱桃 | 国产欧美一区二区三区国产幕精品 | 国产精品无码久久久久 | 久久99国产精一区二区三区 | 久久精品一级 | 亚洲成人精品免费 | 国产精品久久久久久久久久软件 | 成人在线免费观看视频 | 一区二区三区在线 | www久久久| 全部免费毛片在线播放网站 | 色黄视频在线 | 精品一区二区不卡 |