打印

探讨:关于带过零点触发的交流加热系统温控精度探讨

[复制链接]
1708|25
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ColeYao|  楼主 | 2020-6-12 21:09 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
    在实际的加热系统中,带零点触发的交流加热系统比较常见,这种加热系统一般有效控制周期最小可以与零点触发周期相同,即10毫秒(假设一个周期内两个零点各触发一次),不过加热功率的分辨率很低,50HZ交流电一秒内共100个半波信号,以一秒为周期,其加热功率分辨率不过1%。因为加热功率的分辨率低,因此加热系统的控温精度一般不高,相对直流供电加热系统而言精度低了很多。
   只是尽管知道加热功率的分辨率会影响温控精度,但是通过调节温控系统的控制参数,尽可能地挖掘系统潜力,却是设计和研发工程师比较头疼的事情,到底自己设计的温控系统在硬件条件固定的状况下,软件方面是不是还有提升的空间呢?其实这个可以通过温控系统算法仿真软件来快速模拟加热系统的情况,大致评估系统的最大控温精度,从而分清温控系统提高控温精度的下一步工作到底是优化软件还是更改硬件设计!

使用特权

评论回复

相关帖子

沙发
ColeYao|  楼主 | 2020-6-12 21:27 | 只看该作者
本帖最后由 ColeYao 于 2020-6-12 21:46 编辑

   如附图所示,控制方式根据自己喜好选择增量式PID,温度分辨率选18B20的话为0.0625度,采样周期1秒,控制周期选10毫秒,仿真周期选1000秒,系统延时估算一下,大致符合即可,此处填20秒,PWM周期填100(无关项),算法介入提前量填0(无关项),系统最大温度根据实际填写,此处填150度,环境温度填25度,也可以手绘环境温度用来评估环境温度带来的影响,最大温升速度根据实际填写,一般是全功率加热不久后的升温速度,此处填15度每分钟,设置温度为温控系统目标温度,此处填65度,勾选PWMOff项目,然后填写左侧Kp、KI、Kd参数,点击“运行”即可仿真50HZ过零触发交流加热系统的温控效果(从图中可以看出,此时每10毫秒计算一次PID参数,得到对应的加热功率数值,如果加热功率占最大功率比率超过70%,则在此后过零的10毫秒内加热处于开启状态,如果加热功率占最大功率比率小于30%,则在此后过零的10毫秒内加热处于关闭状态,因此加热只有开关状态,不再需要使用PWM模拟数值输出)。
   改变Kp、KI、Kd参数,重复运行可以寻找增量式PID所能达到的最佳效果,如附图所以,温度波动参数为0.07度,表示实际温度大致在设定温度正负0.2度之间波动,如果这样的控温精度和效果可以满足要求,那么就不需要修改硬件了,否则就需要重新设计硬件。

交流加热系统精度模拟.png (323.62 KB )

交流加热系统精度模拟.png

交流加热系统精度模拟A.png (315.26 KB )

交流加热系统精度模拟A.png

使用特权

评论回复
板凳
ColeYao|  楼主 | 2020-6-12 22:39 | 只看该作者
  直流加热系统的效果图如附件所示,由图可知,同样状况下,直流PWM加热效果要优于过零触发的交流加热系统。

使用特权

评论回复
地板
gx_huang| | 2020-6-13 11:05 | 只看该作者
支持LZ探讨温控系统!
我以前经常使用过零触发控制温度,输出周期1-60秒,实际用户设置一般是2秒,则最多200步,不过软件为了方便,输出是0-100的。
似乎这个输出分辨率是100还是1000,对温度波动影响不大,毕竟实际环境,市电电压是波动的,环境是变化的。
曾经尝试把内部计算精度提高,比如0-10000的值,按照0-100输出,则除以100即可,余数放入下一次继续输出。
比如本次1050,输出10,余数50,下次也是1050,则1050+50全部输出11,似乎温度波动并没有改善。

使用特权

评论回复
5
ColeYao|  楼主 | 2020-6-13 11:15 | 只看该作者
gx_huang 发表于 2020-6-13 11:05
支持LZ探讨温控系统!
我以前经常使用过零触发控制温度,输出周期1-60秒,实际用户设置一般是2秒,则最多20 ...

你说的余数留存到下次进行累积,加热控制仿真工具软件里面也留了一个选项,我测试过,貌似对实际控温效果改善不大,我上面说的控制方式是10毫秒控制周期,一般人用的大多是10毫秒分辨率,1秒周期。这两者思路上一个是定周期,一个是定分辨率,实际效果还是有差异的,哪个更好应该也可以通过仿真大致确定。
  另外,温度采样周期与控制周期相比,显然重要性差得多,我仿真的结果是采样周期的变动对控温精度的影响远小于控制周期变动的影响。

使用特权

评论回复
6
zlf1208| | 2020-6-13 13:41 | 只看该作者
温控系统是滞后较大的系统,要提高温控精度,就是要减小滞后,而减小滞后就要求传感器本身的滞后量很小,所以想提高温控精度,可能要在传感器上花点时间,找一个滞后很小的传感器,并且要有加速或直接将热量传递给传感器的安装措施。传感器滞后大,PID周期再短都没用,因为这时传感器给出的结果不是当前的测量值,而是先前采样周期的测量值。

使用特权

评论回复
评论
tyw 2020-6-15 10:57 回复TA
@zlf1208 :LZ似乎攻错方向了.很多时候旁观者清.但真正清的人不多,哈哈 
zlf1208 2020-6-15 10:49 回复TA
@tyw :谢谢鼓励 
tyw 2020-6-15 10:28 回复TA
思路很清晰.赞一个. 
评分
参与人数 1威望 +15 收起 理由
tyw + 15 很给力!
7
gx_huang| | 2020-6-13 13:47 | 只看该作者
ColeYao 发表于 2020-6-13 11:15
你说的余数留存到下次进行累积,加热控制仿真工具软件里面也留了一个选项,我测试过,貌似对实际控温效果 ...

你说的有些不明白,为何采样周期是1秒,PID运算控制周期却是10毫秒,这如何做到的?采集到的温度是每秒才变化一次,1秒计算100次,温度都一样呢。还有,没每10毫秒计算一次,大于70%就输出,小于30%j就不输出,这个也没看懂。

使用特权

评论回复
8
fly1974| | 2020-6-13 14:52 | 只看该作者
gx_huang 发表于 2020-6-13 13:47
你说的有些不明白,为何采样周期是1秒,PID运算控制周期却是10毫秒,这如何做到的?采集到的温度是每秒才 ...

采样周期可以与控制运算周期不同,采样周期为一秒,运算控制周期10毫秒时,第一个运算周期不光有当前温度与设定温度的偏差值,也有当前温度与上一秒温度的差异,而后面的99个10毫秒运算就没有前后10毫秒温度差异了。

使用特权

评论回复
9
fly1974| | 2020-6-13 15:09 | 只看该作者
gx_huang 发表于 2020-6-13 13:47
你说的有些不明白,为何采样周期是1秒,PID运算控制周期却是10毫秒,这如何做到的?采集到的温度是每秒才 ...

  大于70%输出,小于30不输出的含义: 常规是计算PID值,用该值当做加热功率的比率,比如计算得到的PID范围是1000,加热功率最大100W,那么计算出100代表10W(一秒的控制周期就是开100毫秒,关900毫秒),计算出500代表50W加热功率(开500毫秒关500毫秒)。而另外一种方式是每10毫秒计算一次PID数值,当计算得到的数值大于700时本来应该是开70%的总功率,此处换一个解释,计算得到的PID是变化的,越大表示加热功率越大,就是表示该开加热了,人家都那么大功率加热了,同样切入小于30%功率的时机用来关加热,因为人家都那么小功率加热了,用计算的PID值的上下各设置一个上下限,用于控制加热系统开关加热的时机。

使用特权

评论回复
10
fly1974| | 2020-6-13 15:18 | 只看该作者
本帖最后由 fly1974 于 2020-6-13 15:22 编辑

两种加热方式不同点: 一种是计算加热功率,因为用太大的加热功率容易超出设定温度,太小的加热功率温度又上不去,计算PID值就是找合适的加热功率。另一张方式就管得比较粗放,只管啥时候该开,啥时候该关,尽管开始管得没那么细,如果每次管的间隔时间很短,比如10毫秒或更短,也可以达到类似数值输出的效果。

使用特权

评论回复
11
zhangyu20666| | 2020-6-14 00:25 | 只看该作者
赞!!支持你

使用特权

评论回复
12
qd118| | 2020-6-14 23:16 | 只看该作者
我是2秒采样一次,pid计算后得出0-100的值给下个2秒控制通断使用,如是计算结果是20,就通电0.4秒,关闭1.6秒,请教这样处理是否有问题

使用特权

评论回复
13
jrcsh| | 2020-6-15 03:52 | 只看该作者
个人觉得如何是已知环境范围的系统,作好物理量范围计算,温度还是比较好控制的, 对于采用交流系统的就哪鸟样的成本,精度对得起成本了!

使用特权

评论回复
14
ColeYao|  楼主 | 2020-6-15 09:52 | 只看该作者
qd118 发表于 2020-6-14 23:16
我是2秒采样一次,pid计算后得出0-100的值给下个2秒控制通断使用,如是计算结果是20,就通电0.4秒,关闭1.6 ...

  没啥大问题,就是在系统延时较大时会出现传感器温度控制不住,波动较大的情况,系统延时较小时只要PID参数整定好是完全正常的,另外系统抵抗环境温度变化的能力和PID参数有关,一般负反馈越强,抵抗环境温度变化的能力也相对要强一些,就看如何取舍了,一般KI系数不能取太小,以免影响系统抗干扰能力。

使用特权

评论回复
15
zyj9490| | 2020-6-15 10:56 | 只看该作者
zlf1208 发表于 2020-6-13 13:41
温控系统是滞后较大的系统,要提高温控精度,就是要减小滞后,而减小滞后就要求传感器本身的滞后量很小,所 ...

热量对流速度要加快。加主动散热

使用特权

评论回复
评论
zlf1208 2020-6-15 13:37 回复TA
最理想的状态是传感器瞬间反映系统的温度,但是做不到的,只能尽量快,减少滞后 
16
ColeYao|  楼主 | 2020-6-15 11:54 | 只看该作者
zlf1208 发表于 2020-6-13 13:41
温控系统是滞后较大的系统,要提高温控精度,就是要减小滞后,而减小滞后就要求传感器本身的滞后量很小,所 ...

     主要是讨论硬件结构条件不变的状况下,如何发挥软件的最大作用,你的帖子已经是改变硬件和结构了。

SWorHW.PNG (27.27 KB )

SWorHW.PNG

使用特权

评论回复
评论
ColeYao 2020-6-15 14:29 回复TA
@zlf1208 :但是两种方式对环境温度波动时受到的影响是否差不多,当加热系统延时参数变化(比如加热元件未固定好,忘了涂导热硅脂等),其温度传感器的温度是否能有效的控制在设定温度上(温度波动和升温时间等加热参数是否依旧良好)。 
ColeYao 2020-6-15 14:25 回复TA
@zlf1208 :PID调节是很成熟,但是加热控制系统不只受PID参数变化影响,比如我上面说的交流50HZ并且带过零位触发的加热系统,如果控制周期设置不当,可能会产生半周期10毫秒的开关误差,这对于本身精度并不高的交流加热系统来说是很难接受的。另外每半个周期10毫秒控制开或关一次与1个周期1秒内控制0-100个10毫秒的脉冲宽度这两种方式可能在某些条件下控温精度差不多,... 
zlf1208 2020-6-15 13:49 回复TA
我理解楼主的想法。PID调节是很成熟的技术,温度控制与系统的热传导和发热或制冷元件温度变化速率等有关,热传导和温度变化速率都是时滞的,如果想改善控制精度,或许在传统PID的基础上增加一个前馈环节,来预测即将发生的温度变化,这个前馈环节可以以纯软件的方式来实现 
17
zlf1208| | 2020-6-15 15:05 | 只看该作者
本帖最后由 zlf1208 于 2020-6-15 15:18 编辑
ColeYao 发表于 2020-6-15 11:54
主要是讨论硬件结构条件不变的状况下,如何发挥软件的最大作用,你的帖子已经是改变硬件和结构了。
...

我不清楚您的实际系统是怎么样的,但是我们讨论的前提是系统装配正常可靠,否则变成一个不确定的系统,无法讨论了。

从时滞系统的特性来看,半周期控制一次,对温度控制曲线的平滑性来说肯定是最优的了。如果单单用传统的PID控制,那其控制性能也随之确定了,方法决定结果,要改变结果,就需要修正方法,我不能给出具体的方法,因为不同的系统需要不同的方法,哪怕方法一样,参数也会不同,所以只能给出参考建议。因为加热系统是一类特殊的系统,在发出调节信号以后,温度的波动方向是可知的,波动的幅度与系统的热容量(系统的时间常数)以及热负载相关,我觉得这是一个可行的方法,您可以试试。

如果传感器的时间常数很大,可能效果会不太明显。另外,如果系统控制进入半周期开半周期关这样的状态,那么改善精度的机会就没有了。

使用特权

评论回复
18
ColeYao|  楼主 | 2020-6-15 20:56 | 只看该作者
本帖最后由 ColeYao 于 2020-6-15 21:22 编辑
qd118 发表于 2020-6-14 23:16
我是2秒采样一次,pid计算后得出0-100的值给下个2秒控制通断使用,如是计算结果是20,就通电0.4秒,关闭1.6 ...

闲着没事拿软件仿真了几张对比图,供参考,有兴趣又有空闲时间的话可以自行拿实际的加热系统验证一下仿真的结果是否正确(按我的想法仿真结果应该是没问题的,20毫秒控制周期反应快,调节过程短,理应抗干扰能力强,不过没有仔细验证,不过如果仿真结果无误的话,至少能说明20毫秒控制周期这种方式在某些方面是要优于2秒控制周期这种方式的)!

周期2秒PWM最大100.png (281.31 KB )

周期2秒PWM最大100.png

周期20毫秒方式.png (280.04 KB )

周期20毫秒方式.png

周期2秒PWM最大100大延时.png (292.11 KB )

周期2秒PWM最大100大延时.png

周期20毫秒方式大延时.png (279.76 KB )

周期20毫秒方式大延时.png

周期2秒PWM最大100抗干扰情况.png (291.33 KB )

周期2秒PWM最大100抗干扰情况.png

周期20毫秒方式抗干扰.png (285.91 KB )

周期20毫秒方式抗干扰.png

使用特权

评论回复
19
steelen| | 2020-6-16 09:34 | 只看该作者
软件仿真的?还是

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

373

帖子

5

粉丝