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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

PID算法控制PWM占空比的代碼

  [復制鏈接]
跳轉到指定樓層
樓主
ID:170098 發表于 2017-4-19 15:26 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<string.h>
#include<stdio.h>
typedef struct PID {
double SetPoint; // 設定目標Desired value
double Proportion; // 比例常數Proportional Const
double Integral; // 積分常數Integral Const
double Derivative; // 微分常數Derivative Const
double LastError; // Error[-1]

double PrevError; // Error[-2]
double SumError; // Sums of Errors
} PID;

/*====================================================================================================
PID計算函數
=====================================================================================================*/
double PIDCalc( PID *pp, double NextPoint )
{
    double dError, Error;
    Error = pp->SetPoint - NextPoint; // 偏差
    pp->SumError += Error; // 積分
    dError = pp->LastError - pp->PrevError; // 當前微分
    pp->PrevError = pp->LastError;
    pp->LastError = Error;
    return (pp->Proportion * Error // 比例項
    + pp->Integral * pp->SumError // 積分項
    + pp->Derivative * dError );         // 微分項
}

/*====================================================================================================
PID結構體變量初始化函數
=====================================================================================================*/
void PIDInit (PID *pp)
{
memset ( pp,0,sizeof(PID));
}

/*====================================================================================================
讀取輸入變量函數(在此設定為固定值100)
======================================================================================================*/
double sensor (void)  
{
return 100.0;
}

/*====================================================================================================
輸出變量控制函數
======================================================================================================*/
void actuator(double rDelta)  
{
}

//主函數
void main(void)
{
    PID sPID; // PID Control Structure
    double rOut; // PID Response (Output)
    double rIn; // PID Feedback (Input)
    PIDInit ( &sPID ); // Initialize Structure
    sPID.Proportion = 0.5; // Set PID Coefficients
    sPID.Integral = 0.5;
    sPID.Derivative = 0.0;
    sPID.SetPoint = 100.0; // Set PID Setpoint
    for (;;)
    {                                   // Mock Up of PID Processing
        rIn = sensor ();                // 讀取輸入變量函數(Read Input )
        rOut = PIDCalc ( &sPID,rIn );   // PID計算函數(Perform PID Interation)
        actuator ( rOut );              // 輸出變量控制函數(Effect Needed Changes)
    }
}


PID算法代碼.zip

20.2 KB, 下載次數: 598, 下載積分: 黑幣 -5

PID算法的代碼,輸出函數要根據項目來編寫

評分

參與人數 2黑幣 +10 收起 理由
hzd530 + 5 贊一個!
genesis_2012 + 5 很給力!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏22 分享淘帖 頂7 踩
回復

使用道具 舉報

沙發
ID:359327 發表于 2018-6-27 10:40 | 只看該作者
PID算法中的PID參數怎樣確定?
回復

使用道具 舉報

板凳
ID:345500 發表于 2018-6-28 09:26 | 只看該作者
不錯,可以參考
回復

使用道具 舉報

地板
ID:340339 發表于 2018-6-29 11:39 | 只看該作者
感謝樓主分享,下載學習借鑒
回復

使用道具 舉報

5#
ID:341045 發表于 2018-6-30 17:49 | 只看該作者
感謝分享, 收藏備用。
回復

使用道具 舉報

6#
ID:363726 發表于 2018-7-10 17:30 | 只看該作者
感謝分享,下載學習借鑒
回復

使用道具 舉報

7#
ID:162777 發表于 2018-7-12 12:01 | 只看該作者
多謝分享!!!!!!!!!!
回復

使用道具 舉報

8#
ID:399348 發表于 2018-11-18 20:44 | 只看該作者

多謝分享!!!!!!!!!!
回復

使用道具 舉報

9#
ID:429095 發表于 2018-11-19 11:36 | 只看該作者
我有個PID原碼,也能分享下
回復

使用道具 舉報

10#
ID:429147 發表于 2018-11-19 22:02 | 只看該作者
當時參加智能車競賽也用到了pid算法控制pwm,感覺還是很不錯的
回復

使用道具 舉報

11#
ID:300395 發表于 2019-1-12 22:20 | 只看該作者
可以參考一下
回復

使用道具 舉報

12#
ID:443931 發表于 2019-1-14 09:10 | 只看該作者
感謝樓主分享,學習一下
回復

使用道具 舉報

13#
ID:460567 發表于 2019-1-14 10:06 來自手機 | 只看該作者
有加入模糊控制的嘛?
回復

使用道具 舉報

14#
ID:433935 發表于 2019-3-9 11:03 | 只看該作者
解決了我的燃眉之需
回復

使用道具 舉報

15#
ID:284075 發表于 2019-4-7 15:30 | 只看該作者
PID的取值范圍是多少?
回復

使用道具 舉報

16#
ID:582529 發表于 2019-7-12 14:56 | 只看該作者
非常好
回復

使用道具 舉報

17#
ID:586452 發表于 2019-7-18 16:40 | 只看該作者
感謝樓主分享
回復

使用道具 舉報

18#
ID:593177 發表于 2019-7-31 16:17 | 只看該作者
多謝分享。
回復

使用道具 舉報

19#
ID:484435 發表于 2019-8-1 09:23 | 只看該作者
謝謝樓主分享
回復

使用道具 舉報

20#
ID:595963 發表于 2019-8-6 10:06 | 只看該作者
謝謝樓主
回復

使用道具 舉報

21#
ID:423971 發表于 2020-4-16 23:24 | 只看該作者

謝謝樓主
回復

使用道具 舉報

22#
ID:765690 發表于 2020-5-31 14:09 | 只看該作者
感謝分享
回復

使用道具 舉報

23#
ID:765743 發表于 2020-5-31 15:16 | 只看該作者
非常不錯,謝謝樓主
回復

使用道具 舉報

24#
ID:108573 發表于 2020-6-1 09:04 | 只看該作者
代碼風格很好
回復

使用道具 舉報

25#
ID:275041 發表于 2020-6-1 09:22 | 只看該作者
感謝樓主分享,下載學習借鑒
回復

使用道具 舉報

26#
ID:530586 發表于 2020-6-16 08:57 | 只看該作者
可以參考一下
回復

使用道具 舉報

27#
ID:371965 發表于 2020-6-18 11:07 | 只看該作者
這個積分是不是太大了   如果是0.5  那么  就是 0.5*100+0.5*100+0了          這樣的話  第一次就直接100了
回復

使用道具 舉報

28#
ID:949050 發表于 2021-7-8 15:15 | 只看該作者
這個確實很詳細啊
回復

使用道具 舉報

29#
ID:81196 發表于 2021-7-9 09:12 | 只看該作者
正好最近做項目會用到這個,正解所需,作為參考,
回復

使用道具 舉報

30#
ID:954990 發表于 2021-7-20 15:53 | 只看該作者
學了很久的PID都不會但是看了樓主的代碼突然就豁然開朗了
回復

使用道具 舉報

31#
ID:949302 發表于 2021-8-2 19:04 | 只看該作者
hncan 發表于 2018-11-19 11:36
我有個PID原碼,也能分享下

分享給我唄,我想多學一點
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品白浆高清久久久久久 | 精品久久久久香蕉网 | 99tv | 欧美v在线观看 | 九九99精品 | 日韩a视频| 亚洲美女一区 | 成人欧美一区二区三区黑人孕妇 | 国产精品免费一区二区三区 | 99tv| 午夜精品网站 | 91天堂网| 亚洲国产成人精品女人久久久 | 毛片在线免费 | 亚洲国产精品久久人人爱 | 蜜桃av一区二区三区 | 午夜精品一区二区三区三上悠亚 | 欧美一区二区激情三区 | 免费能直接在线观看黄的视频 | 天天色综 | 日韩毛片在线视频 | 午夜视频一区 | 欧美aaa一级片 | 中文字幕av在线 | 手机三级电影 | 国产精品日韩欧美一区二区三区 | 久久久一区二区三区 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 在线91 | 伊人春色在线观看 | 欧美国产日韩在线观看成人 | 在线观看亚洲 | 久久99精品久久久久久琪琪 | 国产精品亚洲一区二区三区在线观看 | 国产精品国产三级国产aⅴ原创 | 黄色av网站免费看 | 在线一区二区国产 | 欧美精品一区久久 | 国产精品亚洲综合 | 中文字幕精品一区二区三区精品 | 黄色免费网 |