找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3517|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

電機(jī)PID調(diào)節(jié)程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:760179 發(fā)表于 2023-5-16 19:18 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
分別有增量式PID調(diào)節(jié)程序、積分限幅調(diào)節(jié)程序、位置式PID調(diào)節(jié)程序
  1. #include<stdio.h>
  2. struct _pid
  3. {
  4.         float Setspeed;//定義設(shè)定值
  5.         float ActualSpeed;//定義實(shí)際值
  6.         float err;//定義偏差值
  7.         float err_last;//定義上上個(gè)偏差值
  8.         float Kp,Ki,Kd;//定義比例、積分、微分系數(shù)
  9.         float err_next;//定義上一個(gè)偏差值
  10. }pid;
  11. void PID_init()
  12. {
  13.          printf("PID_init begin \n");
  14.          pid.Setspeed=0.0;
  15.          pid.ActualSpeed=0.0;
  16.          pid.err=0.0;
  17.          pid.err_last=0.0;
  18.          pid.err_next=0.0;
  19.          pid.Kp=0.2;
  20.          pid.Ki=0.015;
  21.          pid.Kd=0.2;
  22.          printf("PID_init end\n");
  23. }
  24. float PID_realize(float speed)
  25. {
  26.         float incrementSpeed;
  27.         pid.Setspeed =speed;
  28.         pid.err=pid.Setspeed-pid.ActualSpeed;
  29.         incrementSpeed=pid.Kp*(pid.err-pid.err_next)+pid.Ki*pid.err+pid.Kd*(pid.err-2*pid.err_next+pid.err_last);
  30.         pid.ActualSpeed+=incrementSpeed;
  31.         pid.err_last=pid.err_next;
  32.         pid.err_next=pid.err;
  33.         return pid.ActualSpeed;
  34. }
  35. int main()
  36. {
  37.         int count;
  38.         printf("System begin\n");
  39.         PID_init();
  40.         count=0;
  41.         while(count<1000)
  42.         {
  43.                 float speed=PID_realize(50);
  44.                 printf("%f\t",speed);
  45.                 count++;
  46.         }
  47.         getchar();
  48.         return 0;
  49. }
復(fù)制代碼


積分限幅PID.rar

677.47 KB, 下載次數(shù): 60, 下載積分: 黑幣 -5

增量式PID.rar

543.92 KB, 下載次數(shù): 68, 下載積分: 黑幣 -5

位置式PID.rar

5.52 MB, 下載次數(shù): 65, 下載積分: 黑幣 -5

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏19 分享淘帖 頂2 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:762196 發(fā)表于 2023-5-20 17:30 | 只看該作者
點(diǎn)贊點(diǎn)贊點(diǎn)贊點(diǎn)贊點(diǎn)贊點(diǎn)贊點(diǎn)贊點(diǎn)贊
回復(fù)

使用道具 舉報(bào)

板凳
ID:149799 發(fā)表于 2023-7-20 07:40 | 只看該作者
全面介紹PID的多種程序范例,謝謝分享。
回復(fù)

使用道具 舉報(bào)

地板
ID:7199 發(fā)表于 2023-7-25 19:32 | 只看該作者
還好可以借鑒
回復(fù)

使用道具 舉報(bào)

5#
ID:1133578 發(fā)表于 2024-10-15 17:16 | 只看該作者
沒有曲線圖像輸出?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表