女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>嵌入式開發>PID例子

PID例子

2014-06-25 | doc | 28KB | 次下載 | 1積分

資料介紹

PID例子

電機與驅動] 一個簡單的PID

PID

#include 《hidef.h》 /* common defines and macros */

#include “derivative.h” /* derivative-specific definitions */

#include 《mc9s12xs128.h》

//定義PID參數

#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,設置死區范圍

typedef struct PID //定義數法核心數據

{

signed int vi_Ref; //速度PID,速度設定值

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; //電機控制輸出值

}PID;

PID sPID; // PID Control Structure

void PIDInit(void)

{

sPID.vi_Ref = 0 ; //速度設定值

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 ; //電機控制輸出值

}

unsigned int v_PIDCalc( PID *pp )

{

signed long error,d_error,dd_error;

error = (signed long)(pp-》vi_Ref - pp-》vi_FeedBack); // 偏差計算

d_error = error - pp-》vi_PreError;

dd_error = d_error - pp-》vi_PreDerror;

pp-》vi_PreError = error; //存儲當前偏差

pp-》vi_PreDerror = d_error;

if( ( error 《 VV_DEADLINE ) && ( error 》 -VV_DEADLINE ) ); //設置調節死區

//速度PID計算

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,防止調節最高溢出

pp-》vl_PreU = VV_MAX;

else if( pp-》vl_PreU 《= VV_MIN ) //速度PID,防止調節最低溢出

pp-》vl_PreU = VV_MIN;

else

;

return ( pp-》vl_PreU ); // 返回預調節占空比

}

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 */

}

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關電源基礎知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統的設計與實現
  10. 0.61 MB  |  2次下載  |  免費
  11. 6基于FPGA的C8051F單片機開發板設計
  12. 0.70 MB  |  2次下載  |  免費
  13. 751單片機窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21548次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費