[国产单片机] 单片机/DSP数字化控制与Z变换 满满的干货!

[复制链接]
 楼主| mega99 发表于 2023-1-26 11:24 | 显示全部楼层 |阅读模式
本帖最后由 mega99 于 2023-2-4 09:46 编辑

回复本帖显示全部内容和下载附件

#申请原创#   
      我们知道,在利用单片机或者是DSP进行控制的时候,被控制量一般是模拟量,所以需要AD采样转换成数字量,

再通过数字量的变换处理去控制模拟量,这个过程实际就是数字信号处理的过程。这里讲下数字PID控制,在

网路上搜了下PID数字控制的相关资料,发现有部分的推导公式是错误的,而且没有一个采用Z变换来求解PID数字

控制序列信号,特别是在数字控制的离散化这块基本化是利用微分方程进行的,比喻 df(t)/dt ,那么数字离散成

f(n) - f(n-1) / T来近似(以下讲的都是右向序列,不对收敛ROC做讨论),下面我用Z的反变换来推导PID的数字控制序列,这些

方法可以推广到其他的数字控制中,实现从f(t)-->F(s)-->F(z)-->f(k) 数字化控制,而Z变换就是这个利器,这中间还涉及零极点

的数字化补偿,这里主要是利用逆向Z变换来求数字控制序列 x[k]   
游客,如果您要查看本帖隐藏内容请回复


通过本贴,你将彻底弄明白PID数字控制的原理

下图是经典的PID控制框图







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| mega99 发表于 2023-1-26 11:46 | 显示全部楼层
本帖最后由 mega99 于 2023-1-26 14:34 编辑

        对连续的模拟量f(t)采样,按理想的采样器完成模型建立就是  f(t) * δT(t)  

在时间轴上离散化就是f(kT) *   δT(t - kT) ,这就是f(t)在 δT(t - kT)的作用下得到一系列的幅度为f(kT)冲激串,

这个冲激串是离散的信号

这就是我们采样后得到的序列信号,这些信号可以直接存在的计算机或者控制的内存单元x[k]下图中es(t) = e(k) ,

这种离散信号可以直接存在x[k]数组中,完成了数字化的采样






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| mega99 发表于 2023-1-26 12:14 | 显示全部楼层
本帖最后由 mega99 于 2023-1-26 12:27 编辑

      对于上式,两边取拉普拉斯变换就是离散的拉普拉斯信号,再映射到z平面就是z函数了
     一般地,对一个模拟系统数字化控制,可以先求出系统的传递函数H(s)  (这样更简单)

再通过s变换到z域,然后通过z函数求解差分方程,也就反变换求出序列信号f(k),根据上图①的

模拟PID控制函数,很容易得到下面的传递函数H(s)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| mega99 发表于 2023-1-26 12:33 | 显示全部楼层
本帖最后由 mega99 于 2023-1-26 12:34 编辑

  通过后向差分,把H(s)转换成关于Z的H(z)函数 ,图④

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| mega99 发表于 2023-1-26 13:35 | 显示全部楼层
离散的拉普拉斯变换后是关于s的函数,现在要映射到关于z的平面上

令 z = e^(sT)    ,实现了s-->z的映射

U(z)是一个关于z的幂级数

下面给出z的通项公式

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| mega99 发表于 2023-1-26 13:40 | 显示全部楼层
本帖最后由 mega99 于 2023-1-26 15:53 编辑

通过④式反Z变换,得到关于u(k)的序列信号 图⑥
游客,如果您要查看本帖隐藏内容请回复
  

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| mega99 发表于 2023-1-26 13:48 | 显示全部楼层
本帖最后由 mega99 于 2023-1-29 13:42 编辑

对⑥式进行合并化简后为下图式子,这个式子在网络上大部分是对的,实际控制中
为了调试方便还是不要PID三项控制分开

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| mega99 发表于 2023-1-26 14:14 | 显示全部楼层
本帖最后由 mega99 于 2023-1-29 13:42 编辑

转换成增量PID

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
zwjiang 发表于 2023-1-26 15:28 | 显示全部楼层
学习学习
 楼主| mega99 发表于 2023-1-26 15:32 | 显示全部楼层
本帖最后由 mega99 于 2023-1-29 13:47 编辑
上式转换成增量PID

回复有附件
游客,如果您要查看本帖隐藏内容请回复



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
xch 发表于 2023-1-26 17:16 | 显示全部楼层
宇宙第一了。
jameswangchip 发表于 2023-1-26 20:15 | 显示全部楼层
好好学习!
dytg 发表于 2023-1-26 21:31 | 显示全部楼层
谢谢分享。
王栋春 发表于 2023-1-26 22:16 | 显示全部楼层
学习了解一下,多谢楼主分享。
zyj9490 发表于 2023-1-27 00:07 | 显示全部楼层
okokoklokokk
shenwen2011 发表于 2023-1-27 02:12 | 显示全部楼层
谢谢楼主
apan 发表于 2023-1-27 16:12 | 显示全部楼层
谢谢分享!
cooldog123pp 发表于 2023-1-27 20:10 | 显示全部楼层
没有回复之前没有看到具体代码,希望回复以后能看到具体代码,还有能说下具体单片机型号。
00750 发表于 2023-1-27 21:22 | 显示全部楼层
了解一下
w1w1 发表于 2023-1-28 09:41 | 显示全部楼层
挺复杂的,有简化的吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

40

帖子

1

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