千家信息网

什么是PID算法及PID算法源代码怎么写

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇文章给大家分享的是有关什么是PID算法及PID算法源代码怎么写,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。明接到这样一个任务:有一
千家信息网最后更新 2026年11月03日什么是PID算法及PID算法源代码怎么写

本篇文章给大家分享的是有关什么是PID算法及PID算法源代码怎么写,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

明接到这样一个任务:

有一个水缸点漏水(而且漏水的速度还不一定固定不变),
要求水面高度维持在某个位置,
一旦发现水面高度低于要求位置,就要往水缸里加水。

小明接到任务后就一直守在水缸旁边,
时间长就觉得无聊,就跑到房里看小说了,
每30分钟来检查一次水面高度。水漏得太快,
每次小明来检查时,水都快漏完了,离要求的高度相差很远
,小明改为每3分钟来检查一次,结果每次来水都没怎么漏
,不需要加水,来得太频繁做的是无用功。几次试验后,
确定每10分钟来检查一次。这个检查时间就称为采样周期。

开始小明用瓢加水,水龙头离水缸有十几米的距离,
经常要跑好几趟才加够水,于是小明又改为用桶加,
一加就是一桶,跑的次数少了,加水的速度也快了,
但好几次将缸给加溢出了,不小心弄湿了几次鞋,小明又动脑筋,
我不用瓢也不用桶,老子用盆,几次下来,发现刚刚好,不用跑太多次,
也不会让水溢出。这个加水工具的大小就称为比例系数。

小明又发现水虽然不会加过量溢出了,有时会高过要求位置比较多
,还是有打湿鞋的危险。他又想了个办法,在水缸上装一个漏斗,
每次加水不直接倒进水缸,而是倒进漏斗让它慢慢加。这样溢出的问题解决了,
但加水的速度又慢了,有时还赶不上漏水的速度。
于是他试着变换不同大小口径的漏斗来控制加水的速度
,最后终于找到了满意的漏斗。漏斗的时间就称为积分时间 。

小明终于喘了一口,但任务的要求突然严了,
水位控制的及时性要求大大提高,一旦水位过低,
必须立即将水加到要求位置,而且不能高出太多,否则不给工钱。
小明又为难了!于是他又开努脑筋,终于让它想到一个办法,常放一盆备用水在旁边,
一发现水位低了,不经过漏斗就是一盆水下去,这样及时性是保证了,但水位有时会高多了。
他又在要求水面位置上面一点将水凿一孔,再接一根管子到下面的备用桶里这样多出的水会从上面的孔里漏出来。
这个水漏出的快慢就称为微分时间。


大学时代做机器人时用的PID算法源代码:
#define PID_Uint struct pid_uint
PID_Uint
{
int
U_kk;
int
ekk;
int
ekkk;
int
Ur; //限幅输出值,需初始化
int
Un; //不灵敏区
//int
multiple; //PID系数的放大倍数,用整形数据的情况下,提高PID参数的设置精度 固定为256
int
Kp; //比例,从小往大调
int
Ti; //积分,从大往小调
int
Td; //微分,用巡线板时设为0
int
k1; //
int
k2;
int
k3;
};


void Init_PID_uint(PID_Uint *p)
{
p->k1=(p->Kp)+(p->Kp)*1024/(p->Ti)+(p->Kp)*(p->Td)/1024;
p->k2=(p->Kp)+2*(p->Kp)*(p->Td)/1024;
p->k3=(p->Kp)*(p->Td)/1024;
}

void reset_Uk(PID_Uint *p)
{
p->U_kk=0;
p->ekk=0;
p->ekkk=0;
}

int PID_common(int set,int jiance,PID_Uint *p)
{
int
ek,U_k=0;
ek=jiance-set;
if((ek>(p->Un))||(ek<-(p->Un))) //积分不灵敏区
U_k=(p->U_kk)+(p->k1)*ek-(p->k2)*(p->ekk)+(p->k3)*(p->ekkk);
p->U_kk=U_k;
p->ekkk=p->ekk;
p->ekk=ek;
if(U_k>(p->Ur))

以上就是什么是PID算法及PID算法源代码怎么写,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

小明 漏斗 算法 位置 时间 水缸 速度 检查 水位 水面 高度 源代码 不用 任务 就是 积分 灵敏 办法 及时性 大小 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 山东特亿宝互联网科技有限公司 中国 科技 互联网 互联网女皇 腾讯科技 四川狮子座互联网科技 天扬科技互联网广告 中国最先进互联网科技公司 广州优美互联网科技 中国互联网有什么科技含量 福建科技产业互联网发展 华夏互联网科技业 互联网科技与大数据专业 成都互联网科技公司工作好不好 互联网媒体平台算高科技产业 恒生互联网科技业指数调整周期 互联网科技圈年度人物 深圳互联网科技的发展 领航科技大厦互联网公司 昆明中奇联合互联网科技 上海万顺科技互联网有限公司招聘 河南商务圈互联网科技有限公司 互联网的科技 科技赋能下的互联网金融 厦门中拓互联网络科技有限公司 艾特科技互联网 西藏七维空间互联网科技有限公司 互联网大会黑科技排名 广州恒生互联网科技有限 消费医药和互联网科技 兰石爱特工业互联网科技分公司 青岛互联网科技园
0