PID输出量映射到控制量,有公式吗?

[复制链接]
6226|11
 楼主| 小鱼儿1045 发表于 2011-12-25 21:31 | 显示全部楼层 |阅读模式
我现在用PID做温控,我实际是用控制可控硅的过零后的触发时间,来调节功率。但是在PID输出一个量,将其映射到过零触发时间上,出现了问题。例如:AC220,控制范围在10mS之内,温度越高,可控硅导通角应该越大,我自己用Rout=10000-PID算回的数据,然后Rout就是给可控硅触发的时间。可是控制效果很不好,我就怀疑我自己摸索的这个映射公式可对啊?
第一次做PID,很无助感觉……谢谢各位大侠了。
程序匠人 发表于 2011-12-26 13:03 | 显示全部楼层
因为你问的是“PID输出量映射到控制量”,因此,我先假设你的PID部分是没有问题的。

但是你的公式:Rout=10000-PID ,有问题!

如果是过零检测移相触发,请记住:你控制的是正弦波。正弦波上的每个点,其功率是不一样的。
试想一下,在过零点附近,与在波峰波谷附近,电压不一样,其功率能一样吗?

所以,控制量与导通时间并不是简单的比例关系。请重温有关正弦波的三角计算函数。
 楼主| 小鱼儿1045 发表于 2011-12-26 16:20 | 显示全部楼层
2# 程序匠人
那匠人可不可以指点一下我,如果是你,你怎么选择映射的函数。是自己做实验,所以精确度要求不是太高。
 楼主| 小鱼儿1045 发表于 2011-12-26 16:22 | 显示全部楼层
2# 程序匠人
谢谢了……
程序匠人 发表于 2011-12-26 20:48 | 显示全部楼层
2# 程序匠人  
那匠人可不可以指点一下我,如果是你,你怎么选择映射的函数。是自己做实验,所以精确度要求不是太高。
小鱼儿1045 发表于 2011-12-26 16:20


其实,方向已经指明了,只要上网一搜,就可以搜索到有关信息:

以下为圈圈当年2006年的帖子:
供参考:

---------------------------
用积分来算。
假设信号为sinx,则周期为2pi,设导通角为a度,功率比为n,只计算半个周期(因为对称),则有:
(∫(sinx)2)[从(a*pi/180)到pi]
------------------------------------  = n      注:后面的[]内表示积分区间,分子分母的pi被消掉
   (∫(sinx)2)[从0到pi]

由于∫(sinx)2)=(x-sin(2x))/2,所以有:
(pi-sin(2*pi))-(a*pi/180-sin(2*a*pi/180))
------------------------------------------ = n
     (pi-sin(2*pi))-(0-sin0)
即:
pi-a*pi/180+sin(2*a*pi/180)=n*pi

a*pi/180-sin(2*a*pi/180)=(1-n)*pi
式中pi为圆周率。
可代入几个值验证:导通角a=0,左边等于0,所以n=1,即100%
                  导通角a=90,左边等于pi/2,所以n=0.5,即50%
                  导通角a=180,左边等于pi,所以n=0,即0%

假设n=0.25,解出a,即可。不过,这个方程不好解。
lost1421 发表于 2012-1-20 15:40 | 显示全部楼层
5# 程序匠人:
a*pi/180-sin(2*a*pi/180)=(1-n)*pi
式中pi为圆周率。
可代入几个值验证:导通角a=0,左边等于0,所以n=1,即100%
                  导通角a=90,左边等于pi/2,所以n=0.5,即50%
                  导通角a=180,左边等于pi,所以n=0,即0%
-----------------
当a=45时,左边=45*pi/180-sin(2*45*pi/180)=pi / 4 - sin(pi / 2) = 3.14159265 / 4 - 1,结果为负!!!!
那么右边结果必须为负,就有n>1,就是说要超水平发挥喽?[/b]
yewuyi 发表于 2012-1-21 16:11 | 显示全部楼层
又有问这个问题的啦,很多在做数字PID控制的时候都会遇到,你只要想想模拟PID怎么处理这个问题就知道了。
lost1421 发表于 2012-1-22 01:22 | 显示全部楼层
只是突然发现等式左右会有负数出现,没考虑PID的问题。

是公式推导出错?还是一开始的理论有问题?

呵呵!纯属无聊!
yewuyi 发表于 2012-1-22 13:22 | 显示全部楼层
只是突然发现等式左右会有负数出现,没考虑PID的问题。

是公式推导出错?还是一开始的理论有问题?

呵呵!纯属无聊!
lost1421 发表于 2012-1-22 01:22


这就是公式和现实应用的区别,如果具有反向动作,负数自然就有用
DownCloud 发表于 2012-1-23 18:30 | 显示全部楼层
直接对应的关系,连续、直线, 如果你是什么导通角的 , 就算下三角函数 , 让输出量去控制占空比从0 到 100连续变化的。 这很简单 。
tracymoon 发表于 2014-4-29 11:22 | 显示全部楼层
你好 我想问一下 PID温度控制中 在温度比较程序中调用PID子程序后 的 输出high-time=rout/800  是根据什么来的
sandao 发表于 2015-10-12 20:59 | 显示全部楼层
最近也在看PID,匠人讲的很有道理!
但如何将PID算出的结果与控制量对应还没搞明白!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

70

主题

1968

帖子

19

粉丝
快速回复 在线客服 返回列表 返回顶部