0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

三大PID控制算法的C语言实现方案

西西 来源:博客园 作者:wyu123 2020-09-08 15:52 次阅读

(1)微分先行PID控制算法

微分先行PID控制的特点是只对输出量yout(k)进行微分,而对给定值rin(k)不进行微分。这样,在改变给定值时,输出不会改变,而被控量的变化通常是比较缓和的。这种输出量先行微分控制适用于给定值rin(k)频繁升降的场合,可以避免给定值升降时引起系统振荡,从而明显地改善了系统的动态特性

(2)不完全微分PID控制算法

在PID控制中,微分信号的引入可改善系统的动态特性,但也易引进高频

干扰,在误差扰动突变时尤其显出微分项的不足。若在控制算法中加入低通滤波器,则可使系统性能得到改善

不完全微分PID的结构如下图。左图将低通滤波器直接加在微分环节上,右图是将低通滤波器加在整个PID控制器之后

(3)带死区的PID控制算法

在计算机控制系统中,某些系统为了避免控制作用过于频繁,消除由于频繁动作所引起的振荡,可采用带死区的PID控制算法,控制算式为:

式中,e(k)为位置跟踪偏差,e0是一个可调参数,其具体数值可根据实际控制对象由实验确定。若e0值太小,会使控制动作过于频繁,达不到稳定被控对象的目的;若e0太大,则系统将产生较大的滞后 控制算法流程:

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    5999

    文章

    43968

    浏览量

    620745
  • PID
    PID
    +关注

    关注

    35

    文章

    1446

    浏览量

    83791
  • PID控制
    +关注

    关注

    10

    文章

    441

    浏览量

    39702
  • 控制算法
    +关注

    关注

    4

    文章

    155

    浏览量

    21490
收藏 人收藏

    评论

    相关推荐

    C语言实现Web参数传递

    电子发烧友网站提供《C语言实现Web参数传递.docx》资料免费下载
    发表于 03-24 09:14 0次下载

    ADUC7061如何使用C语言实现EEPROM功能?

    我使用ADUC7061做的信号采集,现在客户需要实现EEPROM功能来保存3-5个数据,请问如何使用C语言实现?不使用外部EEPROM 专用IC。
    发表于 01-12 06:56

    飞行控制PID算法的作用解析

    控制算法仍然是最简单、最有效的控制方案。目前主流的几款开源飞控中,无一例外地都是采用PID控制
    的头像 发表于 11-27 10:57 704次阅读
    飞行<b class='flag-5'>控制</b><b class='flag-5'>PID</b><b class='flag-5'>算法</b>的作用解析

    单片机如何实现pid控制 基于pid控制的STM32代码实现

    PID控制算法是目前应用较为广泛的一种控制算法PID控制
    的头像 发表于 11-10 16:56 1865次阅读

    基于VHDL语言实现远程防盗报警设计

    电子发烧友网站提供《基于VHDL语言实现远程防盗报警设计.pdf》资料免费下载
    发表于 11-08 14:33 0次下载
    基于VHDL<b class='flag-5'>语言实现</b>远程防盗报警设计

    pid的各种算法优缺点有哪些

    主要用于消除余差,该方法特别适用于生产设备启动阶段的控制。 C语言实现PID位置式上面有,这里只需要添加一句判断语句和对积分处理。
    发表于 10-07 11:39 1798次阅读
    <b class='flag-5'>pid</b>的各种<b class='flag-5'>算法</b>优缺点有哪些

    使用C语言编写的热水器控制温度的PID算法示例

    以下是一个使用C语言编写的热水器控制温度的PID算法示例
    的头像 发表于 09-28 17:14 1795次阅读
    使用C<b class='flag-5'>语言</b>编写的热水器<b class='flag-5'>控制</b>温度的<b class='flag-5'>PID</b><b class='flag-5'>算法</b>示例

    位置式PID和增量式PID的C语言实现 P、I、D各个参数的作用

    PID控制应该算是非常古老而且应用非常广泛的控制算法了,小到热水壶温度控制,大到控制无人机的飞行
    的头像 发表于 08-31 14:23 930次阅读
    位置式<b class='flag-5'>PID</b>和增量式<b class='flag-5'>PID</b>的C<b class='flag-5'>语言实现</b> P、I、D各个参数的作用

    如何使用PID控制算法优化控制系统

    当涉及到控制系统中的精确调节和稳定性,PID(比例-积分-微分)控制算法是一种不可或缺的工具。本文将简单介绍 PID
    的头像 发表于 08-29 16:39 1337次阅读
    如何使用<b class='flag-5'>PID</b><b class='flag-5'>控制</b><b class='flag-5'>算法</b>优化<b class='flag-5'>控制</b>系统

    PID算法控制系统中的特性和指标

    PID算法广泛的被应用在很多的控制系统中,最终的目的都是希望通过pid控制实现被控量能稳定在预
    的头像 发表于 08-22 11:05 705次阅读
    <b class='flag-5'>PID</b><b class='flag-5'>算法</b>在<b class='flag-5'>控制</b>系统中的特性和指标

    如何通过C语言和梯形图实现PID控制算法

    C语言程序其实用代码将算法的加减乘除实现一下就可以了。
    的头像 发表于 07-23 16:24 682次阅读
    如何通过C<b class='flag-5'>语言</b>和梯形图<b class='flag-5'>实现</b><b class='flag-5'>PID</b><b class='flag-5'>控制</b><b class='flag-5'>算法</b>

    PID控制算法代码 PID控制算法的原理

    算法的原理,然后带大家使用FPGA来实现(C语言实现过程特别简单)。 二. PID算法 PID
    的头像 发表于 07-20 09:23 1362次阅读
    <b class='flag-5'>PID</b><b class='flag-5'>控制</b><b class='flag-5'>算法</b>代码 <b class='flag-5'>PID</b><b class='flag-5'>控制</b><b class='flag-5'>算法</b>的原理

    两种实现PID控制算法的技巧

    PID控制算法公式*
    的头像 发表于 05-19 16:45 579次阅读
    两种<b class='flag-5'>实现</b><b class='flag-5'>PID</b><b class='flag-5'>控制</b>的<b class='flag-5'>算法</b>的技巧

    FPGA实现PID控制算法

    相信大家对于PID控制算法,都不感到陌生了,平衡车就是靠它平衡起来的,还有飞控的平衡算法也是它,以及FOC中的闭环控制中也是用的它,它不仅简
    的头像 发表于 05-19 16:40 1208次阅读
    FPGA<b class='flag-5'>实现</b><b class='flag-5'>PID</b><b class='flag-5'>控制</b><b class='flag-5'>算法</b>

    电机控制中的PID

    FOC算法中的电流环,速度环都涉及到PID控制 PID又分位置式PID控制
    发表于 05-05 11:51 10次下载
    电机<b class='flag-5'>控制</b>中的<b class='flag-5'>PID</b>