| 哦,我准备先按pid.T (PID计算周期)是取200ms来算,不行的话,再调整。 |
tzh_123 发表于 2022-9-22 22:16 我当时是用的1S,因为我做的发热管滞后时间较长,我试过太快出水温度会震荡;另外我搞错了,我的控温应该是±6度才对;电路反馈做好一点应该能提高速度和出水温度 |
蓝魄 发表于 2022-9-22 09:51 谢谢,你用51单片机,流水都能控到±3℃,很不错了。目前大致的考虑,刚启动时,以进水处温度为pid.Pv来计算,其后在出水过程中,用出水处温度为pid.Pv来计算。问一下,你过去搞时,pid.T (PID计算周期)是取的多大,AC电的频率是50Hz,周期为20ms,pid.T (PID计算周期)是取多大合适。 |
| 这玩意我做过,还是很难控的,用的是几毛钱的8位普通单片机;我做的是2000W的发热管,大概13S左右温度能控在95度左右,不能在沸腾的边缘,因为这种的结构基本只有出水口,沸腾就会喷蒸汽很危险!首先进水处加装NTC是为能够快速反应进水温度以便及时调整,因为发热管不是开功率热量马上就传导到水里,这个过程还是有点缓慢的,就是滞后严重;改变功率后大概2-3秒水温才能“稳定”;是指这个功率能加热到的温度;慢是慢在这里;另外发热管工作电压的稳定、水泵工作电压稳定性、水泵的流量大小、进水的温度、管路的行程、探头的反应速度和精度、工作环境温度等等都有影响,这些都是我所碰到过的。别小看发热管几十瓦一百瓦的变化,这都是可能导致几度的变化,直接影响控制精度;当时没做电压检测220V的跳动直接影响出水温度一直在跳舞;如果是量产也要考虑水泵的一致性,水泵的流量影响也很大...因为客户成本问题我设计的没有检测电压,开关电源也是很便宜的那种,但是我的算法还是能控在±3度左右不算很稳定;所以高温出水速度并不是很快,因为在前面要捕捉水温的变化得到数据去处理,就像上次出水停止后,出水口的温度还是高温,如果马上出水就按这个温度处理就会突然降温很低然后在大功率加热,这段过程就会消耗很多时间去调整;为什么会这样,别忘了滞后这个问题;在停止加热后发热管的余热会增加水温,所以在刚出水的这段时间也要加以处理;进水温度在冬天的时候还要考虑,水温低还会导致水温上升的慢,会不会直接影响到算法控制导致出水超温喷溅。而且发热管的功率在进水低温的时候能否满足出水温度,当然全功率状态下水温达不到最高出水温度要求这个没有必须性;还是要看个人想法;以上是我能想起来的个人经验,希望能帮到你; |
robinsonlin 发表于 2022-9-21 15:28 有道理,如果通过测冷端、热端的差值,来直接控制可控硅的导通角,就不应该存在滞后问题, |
|
这种设备,要采样的温度应该是冷端,以及水流速度。 然后通过热量转换比给加热参数。 如果再豪华点,就加得加大气压测量。 因为PID算法本来就有很大的滞后效应,再加上你是在给流体加热,这个滞后效应就更大了。 如果你测量热端来做反馈, 最后流出来的水,肯定是一会热一会冷 |
| PID算法,目前比较纠结的是,对于交流220V,50Hz频率,温度的采样间隔取多大合适,pid.Kp,pid.T,pid.Ti,pid.Td,pid.pwmcycle;或者说,应该遵循什么来取值,没有经验。有大神指点一下,就好了。现在方感到学校的老师的好。 |
| 我的认知中加热效果应该取决于加热那段水路的长度把,加热段物理长度只要足够就没问题,首先全功率下实现速热,然后再PID实现水温可控 |
|
这跟STM32F103有什么关系吗?8051也是随便就能搞定的 如果是只有一两个档位的,直接就是两个温度开关就解决了 出水会经过一个相对比较长加热通道,取水就是全功率加热,温度到了就关掉,温度开关有延时,不会振荡的 如果是有温度设定的,就用PID控制,出水的地方一个NTC或者PTC检测温度 水的流速是固定的,前面出的水会加热到比设定温度高,杯子会带走一定的热量 流出一定量的水之后就开始PID控制,就能达到恒温的效果了 PID没什么好说的,到哪都是那几行代码,难点在于实际的参数调试 |
| 这个要上有限元来分析水里面的温度梯度分布了。 |
| 加热水的等待时间不能太长,否则会影响用户体验。 |
| 顶一下 |