标题:
PID温度控制的STM32程序源码
[打印本页]
作者:
Firstime
时间:
2018-9-5 15:38
标题:
PID温度控制的STM32程序源码
#include "pid.h"
#include "tm1640.h"
#define K_percent 50
#define T 0.1 //采样周期为1s
#define Ti 10000 //积分常数
#define Td 0 //微分常数
Struct_pid_def PID_Temp;
extern u16 Pump_Temp;
void PID_init(void)
{
/*
PID_Temp.Kp=20;//K_percent;
PID_Temp.Ki=0.2;//K_percent*(T/Ti);//积分系数
PID_Temp.Kd=1;//K_percent*(Td/T);//微分系数
*/
PID_Temp.Kp=50;//K_percent;
PID_Temp.Ki=1.5;//K_percent*(T/Ti);//积分系数
PID_Temp.Kd=2.5;//K_percent*(Td/T);//
PID_Temp.Set_value=50;//设定输出值
PID_Temp.Now_value=Pump_Temp; //当前输出值
PID_Temp.Last_value=0;//上一次输出值
PID_Temp.Pre_value=0; //前一次输出值
}
int Pid_calc(Struct_pid_def *PID)
{
int Ek=0,Ek_Last=0,Ek_Pre=0;
volatile float Pid_out=0;//定义当前误差,上一次误差,前一次误差及pid的调整输出值
PID->Now_value=Pump_Temp; //当前输出值
Ek=(PID->Set_value)-(PID->Now_value);//计算当前误差
Ek_Last=PID->Set_value-PID->Last_value;//计算当前误差
Ek_Pre=PID->Set_value-PID->Pre_value;//计算当前误差
Pid_out=(Ek-Ek_Last)*PID->Kp + PID->Ki*Ek + (PID->Kd)*(Ek-2*Ek_Last+Ek_Pre);
PID->Pre_value= PID->Last_value;//存储前次值
PID->Last_value=PID->Now_value;//存储上次值
return (int)Pid_out;
}
u16 PID_Ctrl(void)
{
int Hot_percent;
Hot_percent+=Pid_calc(&PID_Temp);
if(Hot_percent<0)
{
Hot_percent=0;
}
if(Hot_percent>100)
{
Hot_percent=100;
}
SEG_display(PID_Temp.Set_value,Hot_percent,Pump_Temp);
return Hot_percent;
}
复制代码
全部资料51hei下载地址:
PID实验.rar
(374.52 KB, 下载次数: 270)
2018-9-6 02:53 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
Firstime
时间:
2018-9-5 15:39
这是PID.C文件内的代码,仅供参考
作者:
Firstime
时间:
2018-9-5 15:39
自己给自己顶帖
作者:
little4_su
时间:
2018-9-30 23:54
pid控制难点不编程而在整定
作者:
maxsuntech
时间:
2019-1-17 12:10
很值得參考 謝謝
作者:
jiangkeqin_sy
时间:
2019-1-18 08:45
温度控制代码啊
作者:
qwetrq
时间:
2019-1-31 22:50
Firstime 发表于 2018-9-5 15:39
这是PID.C文件内的代码,仅供参考
为什么用不了啊
作者:
qwetrq
时间:
2019-1-31 22:50
Firstime 发表于 2018-9-5 15:39
自己给自己顶帖
怎么用啊 好像没有作用
作者:
jxchen
时间:
2019-2-4 15:05
感謝分享 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
作者:
zhejianglsf
时间:
2019-2-25 13:19
好东西,学习了
作者:
wildxie
时间:
2019-2-25 15:33
楼主有没有防过冲的PID算法啊?
作者:
55555ss
时间:
2019-12-2 17:46
楼主 NTC用的什么型号呀 真是谢谢楼主
作者:
2773725487
时间:
2020-11-12 15:12
我还想要图
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1