今年三月,一个做精酿啤酒的朋友找上门来——他们厂的发酵车间,6个500升的不锈钢发酵罐,温度全靠手摸和人工开关冷媒阀。夏天快到了,这么搞根本顶不住。
我一听来了兴趣。啤酒发酵对温度极其敏感——拉格啤酒要求在10-13℃低温长时间发酵,艾尔啤酒在18-24℃,温度波动超过±0.5℃,酵母活性就不对,出来的酒不是有杂味就是酯类物质不够,口感大打折扣。
老法师常说”做酒就是控温”,不是没道理的。
硬件选型
朋友预算有限,我选了一套性价比方案:
- PLC:汇川H3U-1616MT,带两路模拟量输入和一路模拟量输出。16点IO够用,价格不到一千
- 触摸屏:威纶通TK6071iQ,7寸,1024×600分辨率,用来设配方曲线
- 温度传感器:PT100铂电阻,三线制,每个发酵罐装一个,量程-50~150℃
- 温度变送器:SBWZ-2480,PT100输入,4-20mA输出,精度0.2%FS
- 冷媒控制:6个DN20不锈钢电磁阀(先导式,220VAC),控制乙二醇冷媒进罐
- 电源:明纬S-350-24(给PLC和触摸屏)+ 一个220V中间继电器扩展输出点
冷媒是乙二醇水溶液,由一台10匹冷水机组提供,出口温度恒定在2-3℃。每个发酵罐有一个夹套(冷却层),电磁阀打开时冷媒流过夹套给罐体降温。
控制策略:分段PID
啤酒发酵不是恒温到底的,它有温度曲线:
阶段一:主发酵(升温期) 投酵母后,酵母产热让温度自然上升 目标:控制在18℃起步,自然升到22℃ 控制:基本不开冷媒 阶段二:主发酵(恒温期) 维持在20±0.3℃,持续3-5天 控制:PID输出,开电磁阀时间比例 阶段三:降温期(冷储) 每天降1-2℃,最终降到4℃ 控制:PID降温 + 定时限速
如果用一套PID参数打天下,恒温期会振荡,降温期又反应太慢。所以我用了汇川H3U的分段PID功能——根据当前温度和目标温度的差值自动切换参数组。
PID调试:最折磨人的部分
前面说的都是理论,真正干活时一个发酵罐的PID参数我调了整整三天。
第一次试的参数是P=3.0,I=120,D=0。结果温度从20℃跌到18.2℃才稳住,超调严重,啤酒厂的酿酒师差点跟我翻脸——温度已经超出工艺窗口了。
第二组参数P=1.2,I=300,D=0。超调控制住了,但稳定时间太慢——从设定温度变化到稳定花了将近两个小时。
最后反复试下来,比较理想的一组是:P=1.8,I=180,D=0。不要D(微分),因为发酵罐温度变化很慢,D项反而容易被干扰信号放大导致电磁阀频繁开关。在恒温段,温度波动控制在±0.2℃以内,能满足精酿啤酒的工艺要求。
恒温段PID:P=1.8, I=180, D=0(PV=20℃,SV=20℃,4-20mA对应-10~80℃)
降温段PID:P=2.5, I=240, D=0(目标降速:-1℃/h)
PWM周期:10秒(电磁阀开闭周期,太短触点寿命短,太长温度波动大)
死区:±0.1℃(避免电磁阀频繁动作)
另外我还加了个保护逻辑——冷媒电磁阀每次开启最少3秒,关闭最少10秒。这样避免了PID在临界点附近以毫秒级频率开关阀,那会直接把电磁阀烧掉。
触摸屏上的配方功能
用威纶通的配方数据库做了一个发酵工艺选择界面。酿酒师不用改程序,在触摸屏上选”比利时小麦”还是”IPA”,自动载入对应的温度曲线:
- 比利时小麦:20℃恒温4天 → 23℃自然升温1天(产生酯香) → 3天降至4℃
- IPA:18℃恒温5天 → 每天降0.5℃至12℃保持2天 → 快速降至2℃
- 拉格:12℃恒温7天 → 每天降0.3℃至4℃保持5天
每个配方有独立的PID参数预设,换配方时自动切换。
最终效果
整套系统花了两个星期做完,第一罐酒是比利时小麦——发酵7天,温度曲线完全跟踪设定值,恒温段偏差最大±0.3℃,比他们之前人工控制的±3℃好了整整一个数量级。
酿酒师大哥尝了第一口成品后说:”这是我今年做的最好的一批。” 就这一句话,前面调试的那些通宵都值了。
现在这套系统已经跑了三个多月,6个罐全部稳定运行。下一步打算加一个上位机,把每个罐的温度曲线存下来做批次追溯。
- 发酵罐温控不用加D(微分),温度变化慢,D项放大干扰
- 电磁阀PWM周期设在10-15秒比较合理,兼顾控温精度和触点寿命
- 加死区(±0.1℃)和最短开关时间保护,防止电磁阀高频动作烧毁
- 分段PID比单套PID好得多——恒温段和降温段对参数要求不同
- 如果冷媒温度太低导致降温过快,可以在水管上加个比例阀或者混水阀
你们用PLC做过食品饮料相关的什么项目?有没有遇到更奇葩的温控场景?评论区聊聊。