附上一份關于PID內容的stm32程序源碼:
#include "pid.h"
#include "usart.h"
PID pid; //存放PID算法所需要的數據
int PID_Calc(int Encoder,int Target) //pid計算
{
float DelEk;
float Pwm;
pid.Kp =80,pid.Ki =0.1,pid.Kd=500;
pid.Ek =Target -Encoder ; //計算偏差
pid.SEk+=pid.Ek; /歷史總偏差和 即偏差積分 sek=sek+ek
DelEk=pid.Ek-pid.Ek_1; //最近兩次偏差之和
Pwm=pid.Kp *pid.Ek +pid.Ki *pid.SEk +pid.Kd *DelEk;
pid.Ek_1=pid.Ek; //更新偏差
//printf(" pwm:%f\r\n", Pwm);
return Pwm;
}
全部資料下載地址:
電機PID算法.7z
(190.33 KB, 下載次數: 106)
2022-11-22 03:28 上傳
點擊文件名下載附件
|