欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

PID算法—完美篇

[復制鏈接]
跳轉到指定樓層
樓主
ID:99624 發表于 2015-12-27 05:03 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
部分源程序
typedef struct PID
{
    intSetPoint; //設定目標 Desired Value
    doubleProportion; //比例常數 Proportional Const
    doubleIntegral; //積分常數 Integral Const
    doubleDerivative; //微分常數 Derivative Const
    intLastError; //Error[-1]
    intPrevError; //Error[-2]
} PID;
//*****************************************************
//定義相關宏
//*****************************************************
#define P_DATA 100
#define I_DATA  0.6
#define D_DATA  1
#define HAVE_NEW_VELOCITY 0X01
//*****************************************************
//聲明PID實體
//*****************************************************
static PID sPID;
static PID *sptr = &sPID;
//*****************************************************
//PID參數初始化
//*****************************************************
void IncPIDInit(void)
{
sptr->LastError = 0; //Error[-1]
sptr->PrevError = 0; //Error[-2]
sptr->Proportion = P_DATA; //比例常數 ProportionalConst
sptr->Integral = I_DATA; //積分常數Integral Const
sptr->Derivative = D_DATA; //微分常數 DerivativeConst
sptr->SetPoint =100;  目標是100
}
//*****************************************************
//增量式PID控制設計
//*****************************************************
int IncPIDCalc(int NextPoint)
{
   int iError, iIncpid;//當前誤差
   iError =sptr->SetPoint - NextPoint; //增量計算
   iIncpid =sptr->Proportion * iError //E[k]項
            - sptr->Integral * sptr->LastError//E[k-1]項
            + sptr->Derivative * sptr->PrevError;//E[k-2]項
   sptr->PrevError =sptr->LastError;  //存儲誤差,用于下次計算
   sptr->LastError = iError;
   return(iIncpid);                         //返回增量值
}
Int g_CurrentVelocity;
Int g_Flag;

先跟大家交代下為什么要用PID。。
1由于外界原因,小車的實際速度有時不穩定
2要讓小車以最快的時間達達到既定的目標速度
3速度控制系統是閉環,才能滿足整個系統的穩定要求,必竟速度是系統參數之一
而這份文檔是一份講述關于PID的算法,大家知道,PID算法的講述其實網上你去找的話
會有很多資源的,而臥現在共享的這一份與網上其他資源略有不同,這份是詳細闡述了
飛思卡爾單片機的PID控制的,并且里面最后一段還有標注相當清晰的代碼,大家看完以
后肯定會有收獲的,因為令大家最痛苦的是網上的資源都沒有以代碼的形式進行闡述,而是純粹的理論。      
另外呢,PID算法的應用現在已經是相當廣泛了,對于車子的穩定性加強應該說是首選的算法,而且呢,
這次的電磁組大家看過資料的話應該明白,有超過5處需要用到PID算法軟件控制。。這就對大家提出了更高的要求。
所以,特地為大家奉上這個完美資源。希望大家能給點鼓勵,畢竟我好不容易才找到的,肯定已經有一部分人看過
類似的資源了,但是沒有看到有人完全把這個資源拿出來的,,嘿嘿,大家懂得


但是如果要徹頭徹尾地弄PID,建議多調試,寫幾個仿真程序
這是劉金錕先生的《先進PID控制及其MATLAB仿真.pdf》,方便大家實際演練PID


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表