查看: 11550|回复: 23

[其他] Debug连载帖第七帖——PID算法(1)

[复制链接]
  • TA的每日心情
    郁闷
    2021-3-10 19:44
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    126

    主题

    525

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2018
    最后登录
    2023-12-25
    发表于 2015-8-21 09:00:05 | 显示全部楼层 |阅读模式
    本帖最后由 MDebug 于 2015-8-21 10:04 编辑

          Debug连载帖第帖——PID算法(1)

    这一篇帖子我将用C语言和Matlab同步实现PID算法。

    一:PID算法原理
    Pid在工业领域是什么地位呢?是当之无愧的老大。就是在工业应用中PID及其衍生算法是应用最广泛的算法之一,是当之无愧的万能算法,PID控制算法比较简单,能体现反馈思想的控制算法。
    先看看PID算法的一般形式:
    图片1.png

       PID的流程的中心思想就是:通过误差信号控制被控量,而控制器本身就是比例、积分、微分三个环节的加和。这里我们规定(在t时刻):
       1.输入量为rin(t);
       2.输出量为rout(t);
       3.偏差量为err(t)=rin(t)-rout(t);

       所以我们得到pid的控制规律为

    图片2.png

       我们以直流电动机作为我们的控制模型,说明以下几个问题:
       1.输入量rin(t)为电机转速预定值;
       2.输出量rout(t)为电机转速实际值;
       3.传感器为光电码盘,假设码盘为10线;
       4.采用PWM调速 转速用单位 r/min 表示;


    二:关键问题的论述:
      我们知道,我们驱动电机的时候是靠电压驱动的,那么,u(t)和PWM之间到底是一种什么样的关系?

    为此,我们有这样一个解决方案,每个电压对应一个转速,电压和转速之间呈现线性关系。在正式进行调速设计之前,需要现有开环系统,测试电机和转速之间的特性曲线(或者查阅电机的资料说明),然后再进行闭环参数整定。

      论述本质:
    PID控制其实是对偏差的控制过程;如果偏差为0,则比例环节不起作用,只有存在偏差时,比例环节才起作用。积分环节主要是用来消除静差,所谓静差,就是系统稳定后输出值和设定值之间的差值,积分环节实际上就是偏差累计的过程,把累计的误差加到原有系统上以抵消系统造成的静差。而微分信号则反应了偏差信号的变化规律,或者说是变化趋势,根据偏差信号的变化趋势来进行超前调节,从而增加了系统的快速性。

    好了,关于PID的基本说明就补充到这里,下面将对PID连续系统离散化,从而方便在处理器上实现。
    我们废话少说,直接给出公式:

    图片3.png

    这就是离散化PID的增量式表示方式,由公式可以看出,增量式的表达结果和最近三次的偏差有关,这样就大大提高了系统的稳定性。需要注意的是最终的输出结果应该为

           u(K)+增量调节值;

    PID的离散化过程基本思路就是这样,下面是将离散化的公式转换成为C语言,从而实现微控制器的控制作用。

    我知道答案 目前已有23人回答
    很开心
    回复

    使用道具 举报

    该用户从未签到

    21

    主题

    435

    帖子

    0

    高级会员

    Rank: 4

    积分
    916
    最后登录
    2020-4-8
    发表于 2015-8-21 09:24:18 | 显示全部楼层
    谢谢分享!!!
    回复

    使用道具 举报

    该用户从未签到

    19

    主题

    401

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1116
    最后登录
    2017-8-16
    发表于 2015-8-21 09:25:58 | 显示全部楼层
    mark   
      正想找资料学习
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    29

    主题

    439

    帖子

    0

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    720
    最后登录
    2015-12-29
    发表于 2015-8-21 09:29:19 | 显示全部楼层
    不错啊,支持一个
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-1-24 09:50
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    654

    主题

    3262

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    13267
    最后登录
    2019-1-27
    发表于 2015-8-21 09:33:41 | 显示全部楼层
    给楼主一个大大的赞!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    9

    帖子

    0

    注册会员

    Rank: 2

    积分
    50
    最后登录
    2015-8-21
    发表于 2015-8-21 09:35:38 | 显示全部楼层
    虽没接触到这块,但还是要顶一个!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-5-3 11:19
  • 签到天数: 10 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    50

    主题

    1万

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    14090
    最后登录
    2024-4-19
    发表于 2015-8-21 09:43:02 | 显示全部楼层
    i like this. blank.png blank1.png blank2.png blank3.png blank4.png blank5.png blank6.png blank7.png blank8.png blank9.png
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    24

    帖子

    0

    注册会员

    Rank: 2

    积分
    154
    最后登录
    2018-2-6
    发表于 2015-8-21 10:21:02 | 显示全部楼层
    楼主辛苦了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2021-3-10 19:44
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    126

    主题

    525

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2018
    最后登录
    2023-12-25
     楼主| 发表于 2015-8-21 10:28:24 | 显示全部楼层
    建议各位自己去VC或者VS环境运行一下,亲身感受一下调试的步骤。
    很开心
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-11-21 08:48
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    2

    主题

    27

    帖子

    2

    中级会员

    Rank: 3Rank: 3

    积分
    242
    最后登录
    2018-7-23
    发表于 2015-8-21 11:17:25 | 显示全部楼层
    这个很好啊,一小会ibutai了解PID这个怎么搞
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-7 15:20 , Processed in 0.428954 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表