資料介紹
PID例子
[電機(jī)與驅(qū)動(dòng)] 一個(gè)簡(jiǎn)單的PID
PID
#include 《hidef.h》 /* common defines and macros */
#include “derivative.h” /* derivative-specific definitions */
#include 《mc9s12xs128.h》
//定義PID參數(shù)
#define VV_KPVALUE 3 //比例
#define VV_KIVALUE 40 //積分
#define VV_KDVALUE 3 //微分
#define VV_MAX 10000 //返回的最大值,是pwm的周期值
#define VV_MIN 0
#define VV_DEADLINE 0X08 //速度PID,設(shè)置死區(qū)范圍
typedef struct PID //定義數(shù)法核心數(shù)據(jù)
{
signed int vi_Ref; //速度PID,速度設(shè)定值
signed int vi_FeedBack; //速度PID,速度反饋值
signed long vi_PreError; //速度PID,前一次,速度誤差,,vi_Ref - vi_FeedBack
signed long vi_PreDerror; //速度PID,前一次,速度誤差之差,d_error-PreDerror;
unsigned int v_Kp; //速度PID,Ka = Kp
unsigned int v_Ki; //速度PID,Kb = Kp * ( T / Ti )
unsigned int v_Kd; //速度PID,
signed long vl_PreU; //電機(jī)控制輸出值
}PID;
PID sPID; // PID Control Structure
void PIDInit(void)
{
sPID.vi_Ref = 0 ; //速度設(shè)定值
sPID.vi_FeedBack = 0 ; //速度反饋值
sPID.vi_PreError = 0 ; //前一次,速度誤差,,vi_Ref - vi_FeedBack
sPID.vi_PreDerror = 0 ; //前一次,速度誤差之差,d_error-PreDerror;
sPID.v_Kp = VV_KPVALUE;
sPID.v_Ki = VV_KIVALUE;
sPID.v_Kd = VV_KDVALUE;
sPID.vl_PreU = 0 ; //電機(jī)控制輸出值
}
unsigned int v_PIDCalc( PID *pp )
{
signed long error,d_error,dd_error;
error = (signed long)(pp-》vi_Ref - pp-》vi_FeedBack); // 偏差計(jì)算
d_error = error - pp-》vi_PreError;
dd_error = d_error - pp-》vi_PreDerror;
pp-》vi_PreError = error; //存儲(chǔ)當(dāng)前偏差
pp-》vi_PreDerror = d_error;
if( ( error 《 VV_DEADLINE ) && ( error 》 -VV_DEADLINE ) ); //設(shè)置調(diào)節(jié)死區(qū)
//速度PID計(jì)算
pp-》vl_PreU += (signed long)( pp -》 v_Kp * d_error + pp -》 v_Ki * error + pp-》v_Kd*dd_error);
else if( pp-》vl_PreU 》= VV_MAX ) //速度PID,防止調(diào)節(jié)最高溢出
pp-》vl_PreU = VV_MAX;
else if( pp-》vl_PreU 《= VV_MIN ) //速度PID,防止調(diào)節(jié)最低溢出
pp-》vl_PreU = VV_MIN;
else
;
return ( pp-》vl_PreU ); // 返回預(yù)調(diào)節(jié)占空比
}
void main(void) {
/* put your own code here */
InitMCu();
IncPIDInit();
int g_CurrentVelocity=0; //全局變量也初始化
int g_Flag=0; //全局變量也初始化
EnableInterrupts;
While(1)
{
if (g_Flag&&vi_FeedBack)
{
PWMOUT+= v_PIDCalc( PID *pp );
g_Flag&=~ vi_FeedBack;
}
}
}
for(;;) {
_FEED_COP(); /* feeds the dog */
} /* loop forever */
/* please make sure that you never leave main */
}
- [單片機(jī)]一個(gè)例子說(shuō)PID算法
- 經(jīng)典的PID控制技術(shù)圖書《Advanced PID Control》pdf 0次下載
- 基于PID控制的DC-DC升壓開關(guān)電源 28次下載
- 基于FPGA的PID系統(tǒng)源碼下載 80次下載
- PID控制中如何整定PID參數(shù) 67次下載
- PID調(diào)節(jié)及PID調(diào)節(jié)的基本原理 51次下載
- Labview Excel例子文件下載 148次下載
- 改進(jìn)的足球機(jī)器人PID調(diào)節(jié)器設(shè)計(jì) 9次下載
- 到底什么是串級(jí)PID
- 使用單片機(jī)和Arduino實(shí)現(xiàn)增量式PID位置式PID算法和PID庫(kù)免費(fèi)下載 69次下載
- PID控制經(jīng)典教程之位置式PID控制原理(上) 0次下載
- PID控制經(jīng)典教程之位置式PID控制原理(下) 0次下載
- PID_REG3 11次下載
- PID_通俗教程 0次下載
- arm應(yīng)用程序的例子.
- 位置式PID與增量式PID的區(qū)別 7255次閱讀
- PID項(xiàng)目實(shí)例詳解 2150次閱讀
- 一個(gè)模擬解像力圖表的例子 1124次閱讀
- 串級(jí)PID的相關(guān)概念 1964次閱讀
- 什么是PID?位置式PID與增量式PID有何不同 3.6w次閱讀
- 變頻器的PID控制原理框圖_變頻器的PID的作用 1.2w次閱讀
- 什么是PID控制? 3.2w次閱讀
- PID是什么PID的形象說(shuō)明和調(diào)試口訣詳細(xì)說(shuō)明 1.8w次閱讀
- 一文詳解工業(yè)自動(dòng)化控制中PID的應(yīng)用和整定方法 7002次閱讀
- pid控制器的輸入輸出_PID控制器的控制實(shí)現(xiàn) 2.8w次閱讀
- 如何從逆變器側(cè)防治PID效應(yīng) 1.8w次閱讀
- 光伏組件PID效應(yīng) 6353次閱讀
- 增量式pid參數(shù)調(diào)整公式及策略 5.5w次閱讀
- 深度解析PID 5615次閱讀
- PID理論詳解 8047次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論