資源簡介
模糊PID源程序,C語言編寫,內有詳細說明,適用于初學者-Fuzzy PID source
代碼片段和文件信息
#include?
#include?“systick.h“
#include?“motor.h“
#include?“PID.h“
__IO?uint32_t?CaptureNumber1;
__IO?uint32_t?CaptureNumber2;
__IO?uint32_t?CaptureNumber3;
__IO?uint32_t?CaptureNumber4;
typedef?struct?
{
__IO?int??????SetPoint;?????????????????????????????????//設定目標?Desired?Value
__IO?double???Proportion;???????????????????????????????//比例常數?Proportional?Const
__IO?double???Integral;?????????????????????????????????//積分常數?Integral?Const
__IO?double???Derivative;???????????????????????????????//微分常數?Derivative?Const
__IO?int??????LastError1;????????????????????????????????//Error[-1]
__IO?int??????PrevError1;????????????????????????????????//Error[-2]
__IO?int??????LastError2;????????????????????????????????//Error[-1]
__IO?int??????PrevError2;????????????????????????????????//Error[-2]
__IO?int??????LastError3;????????????????????????????????//Error[-1]
__IO?int??????PrevError3;????????????????????????????????//Error[-2]
__IO?int??????LastError4;????????????????????????????????//Error[-1]
__IO?int??????PrevError4;????????????????????????????????//Error[-2]
}PID;
/*?私有宏定義?----------------------------------------------------------------*/
/*************************************/
//定義PID相關宏
/*************************************/
//定義PID相關宏
//?這三個參數設定對電機運行影響非常大
/*************************************/
#define??P_DATA??????3.2?????????????????????????????????//P參數
#define??I_DATA??????1.1????????????????????????????????//I參數
#define??D_DATA??????-0.15??????????????????????????????//D參數
static?PID?sPID;
static?PID?*sptr?=?&sPID;
/*?私有函數原形?--------------------------------------------------------------*/
/*?函數體?--------------------------------------------------------------------*/
/**************PID參數初始化********************************/
void?IncPIDInit(void)?
{
????sptr->LastError1=0;????????????//Error[-1]
????sptr->PrevError1=0;????????????//Error[-2]
sptr->LastError2=0;????????????//Error[-1]
sptr->PrevError2=0;????????????//Error[-2]
????sptr->LastError3=0;????????????//Error[-1]
????sptr->PrevError3=0;????????????//Error[-2]
sptr->LastError4=0;????????????//Error[-1]
sptr->PrevError4=0;????????????//Error[-2]
????sptr->Proportion=P_DATA;??????//比例常數?Proportional?Const
????sptr->Integral=I_DATA;????????//積分常數??Integral?Const
????sptr->Derivative=D_DATA;??????//微分常數?Derivative?Const
????sptr->SetPoint=100;???????????//設定目標Desired?Value
}
/********************增量式PID控制設計************************************/
int?IncPIDCalc1(int?NextPoint1)?
{
??int?iErroriIncpid;?????????????????????????????????//當前誤差
??iError=sptr->SetPoint-NextPoint1;????????????????????//增量計算
??iIncpid=(sptr->Proportion?*?iError)?????????????????//E[k]項
??????????????-(sptr->Integral?*?sptr->LastError1)?????//E[k-1]項
??????????????+(sptr->Derivative?*?sptr->PrevError1);??//E[k-2]項
??????????????
??sptr->PrevError1=sptr->LastError1;????????????????????//存儲誤差,用于下次計算
??sptr->Last
- 上一篇:ISE_14.7_license.lic
- 下一篇:railroad鐵路CAD生成
評論
共有 條評論
相關資源
- railroad鐵路CAD生成
- ISE_14.7_license.lic
- STM32f103超聲波模塊例程
- 最新版TTF16.OCX Formula One v. 6.1.6.2 控件
- stm32f103c8t6 4 oled.rar
- VirTest5.0.rar
- CAD中插入帶坐標的正射影像——Inse
- Uninstall_Cortana_WINCLIENT.CN.rar
- mpu6050+hmc5883L.rar
- LCD顯示溫度+串口接收溫度.rar
- 圖像的小波包分解
- 數字華容道
- VisualStudioUninstaller vs卸載工具
- 基于MSP430G2553的藍牙控制小車
- 金蝶K3wise數據字典
- DAC0832波形發生器幅值及頻率都精確可
- 安卓QQ6.71協議源碼易語言,qq協議源碼
- 編譯原理實驗工具及參考源碼(lex&
- E盾偷后臺工具源碼
- Zprotect專業版(無限制) 一機一碼E
- WPF USB 網絡 串口 通信軟件
- Servlet API中文文檔
- 組態王驅動開發包3.0.0.7(中文)
- stm32f030 IAP Demo(原創)
- 用python編寫的移動彩信的發送程序
- SSM+Shiro+redis實現單點登陸
- WPE三件套(WPE+CCP+E2G)冰楓修改版
- TCL-S1916 ,1924交換機管理程序
- 飛思卡爾單片機MC9S12XS12G128驅動(硬件
- VNCX