PID控制参数整定C语言实现,PID控制算法的C语言实现(完整版)[汇编].docx

文档收拾 | 学习参阅

20XX

PID操控算法的C言语完结一 PID算法原理

?? 最近两天在考虑一般操控算法的C言语完结问题,发现网络上尚没有一套完好的比较体系的解说。所以总结了几天,收拾一套思路共享给咱们。

?? 在工业运用中PID及其衍生算法是运用最广泛的算法之一,是名副其实的全能算法,假设能够熟练掌握PID算法的规划与完结进程,关于一般的研制人员来讲,应该是满意应对一般研制问题了,而难能可贵的是,在我所触摸的操控算法傍边,PID操控算法又是最简略,最能体现反响思维的操控算法,可谓经典中的经典。经典的未必是杂乱的,经典的东西常常是简略的,并且是最简略的,想想牛顿的力学三大规矩吧,想想爱因斯坦的质能方程吧,多么的简略!简略的不是原始的,简略的也不是落后的,简略到了美的程度。先看看PID算法的一般办法:

?? PID的流程简略到了不能再简略的程度,经过差错信号操控被控量,而操控器自身便是份额、积分、微分三个环节的加和。这儿咱们规矩(在t时刻):

?? 1.输入量为rin(t);

?? 2.输出量为rout(t);

?? 3.差错量为err(t)=rin(t)-rout(t);

?? pid的操控规矩为

?? 了解一下这个公式,首要从下面几个问题着手,为了便于了解,把操控环境具体一下:

?? 1.规矩这个流程是用来为直流电机调速的;

?? 2.输入量rin(t)为电机转速预订值;

?? 3.输出量rout(t)为电机转速实践值;

?? 4.执行器为直流电机;

?? 5.传感器为光电码盘,假定码盘为10线;

?? 6.直流电机选用PWM调速 转速用单位 转/min 标明;

? 不难看出以下定论:

?? 1.输入量rin(t)为电机转速预订值(转/min);

?? 2. 输出量rout(t)为电机转速实践值(转/min);

?? 3.差错量为预订值和实践值之差(转/min);

?? 那么以下几个问题需求弄清楚:

?? 1.经过PID环节之后的U(t)是什么值呢?

?? 2.操控执行器(直流电机)滚动转速应该为电压值(也便是PWM占空比)。

?? 3.那么U(t)与PWM之间存在怎样的联络呢?

/user1/3407/archives/2006/33541.html(见附录1)这篇文章上给出了一种办法,即,每个电压对应一个转速,电压和转速之间呈现线性联络。但是我考虑这种办法的条件是把直流电机的特性了解为线性了,而实践状况下,直流电机的特性必定不是线性的,或许说在部分上是趋于线性的,这便是为什么说PID调速有个规模的问题。具体看一下/component/article90249.htm(见附录2)这篇文章就能够了解了。所以在正式进行调速规划之前,需求现有开环体系,测验电机和转速之间的特性曲线(或许查阅电机的材料阐明),然后再进行闭环参数整定。这篇先写到这,下一篇阐明接连体系的离散化问题。并根据离散化后的特色叙述方位型PID和增量型PID的用法和C言语完结进程。

PID操控算法的C言语完结二 PID算法的离散化

?? 上一节中,我论说了PID算法的底子办法,并对其操控进程的完结有了一个扼要的阐明,经过上一节的总结,底子现已能够了解PID操控的进程。这一节中先持续上一节内容弥补阐明一下。

?? 1.阐明一下反响操控的原理,经过上一节的框图不难看出,PID操控其实是对差错的操控进程;

?? 2.假设差错为0,则份额环节不起效果,只需存在差错时,份额环节才起效果。

?? 3.积分环节首要是用来消除静差,所谓静差,便是体系安稳后输出值和设定值之间的差值,积分环节实践上便是差错累计的进程,把累计的差错加到原有体系上以抵消体系构成的静差。

?? 4.而微分信号则反响了差错信号的改动规矩,或许说是改动趋势,根据差错信号的改动趋势来进行超前调理,然后添加了体系的快速性。

?? 好了,关于PID的底子阐明就弥补到这儿,下面将对PID接连体系离散化,然后便利在处理器上完结。下面把接连状况的公式再贴一下:

?? 假定采样距离为T,则在第K T时刻:

差错err(K)=rin(K)-rout(K);

积分环节用加和的办法标明,即err(K)+err(K+1)+……;

微分环节用斜率的办法标明,即[err(K)-err(K-1)]/T;

然后构成如下PID离散标明办法:

则u(K)可标明成为:

至于说Kp、Ki、Kd三个参数的具体表达式,我想能够轻松的推出了,这儿节省时刻,不再具体标明晰。

其实到这儿中止,PID的底子离散标明办法现已出来了。现在的这种表述办法归于方位型PID,别的一种表述办法为增量式PID,由U上述表达式能够简略得到:

那么:

这便是离散化PID的增量式标明办法,由公式能够看出,增量式的表达成果和最近三次的差错有关,这样就大大进步了体系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值