在“啤酒”(«Пиво»)和“奶酪制作”(«Сыроварение»)模式下,需要随程序进行添加各种添加物:啤酒中加啤酒花(通常每次煮沸加 2-4 次),奶酪中加发酵剂、凝乳酶、氯化钙、盐和香料。Samovar 可以自己完成投料,也可以在合适的时刻提醒您。下面介绍四种内置的投料器实现方式,从最简单到最灵活,说明每种需要什么、在程序中如何设置;随后概述世界各地酿酒爱好者使用的自制结构,以及如何把它们接入 Samovar。
方式 1. 按 Samovar 信号手动添加
不需要任何硬件。到了合适的时刻,Samovar 会让蜂鸣器响起,在显示屏和网页界面上显示消息,并向移动应用和网站发送推送通知。添加物由您亲手加入。
啤酒。在每个“B”行(煮沸)结束前 30 秒,Samovar 发送消息“请加啤酒花!”(«Засыпьте хмель!»)。“B”行的数量等于投放啤酒花的次数:例如,煮沸 60 分钟、在结束前 60、30 和 5 分钟投放啤酒花,就写成 30、25 和 5 分钟的三个“B”行。程序不等待确认,直接继续执行。
奶酪。使用“W”行(手动操作),操作选择“加入发酵剂”(«Внести закваску»)、“加入酶”(«Внести фермент»)或“加入添加物”(«Внести добавку»):Samovar 暂停程序(如设置了搅拌器,搅拌器继续运转),等待在模式页面、应用或网站上按下“确认”(«Подтвердить»)按钮。方法为“手动”(«Вручную»)的“D”行(投料)作用相同,另外还会记录成分和体积。
优点:无需制作任何东西。缺点:人必须在附近;在啤酒中,投料的准确时间取决于您。
方式 2. 步进电机驱动的转盘式啤酒花投料器(啤酒)
这是“啤酒”模式内置的干料自动投料器。在发送“请加啤酒花!”消息的同时,Samovar 让主步进电机(在其他模式下驱动取酒泵的那台)精确转动 1/20 圈(18°)。电机轴上装有一个带格子的圆盘,圆盘下方是一块固定板,板上只在锅的上方开有一个孔。每转动一次,下一个格子就对准这个孔,格子里的物料落入麦汁中。
需要什么。一台 NEMA17 步进电机(接到 Samovar 的泵接口上,不需要单独的驱动器和设置),一个直径 150-200 mm、用食品级塑料或不锈钢制成、圆周上有 20 个格子(或更少,见下文)的圆盘,一块只开一个孔的底板,以及一个盖子,以免沸腾麦汁的蒸汽把啤酒花弄潮。圆盘用 3D 打印制作很方便。啤酒花按旋转顺序放入格子,从紧挨出料口的那一格开始。
在程序中如何设置。无需额外设置:每个“B”行就是一次投料。转动发生在行结束时,所以第一份(例如“60 分钟时的啤酒花”)在第一个“B”行结束时落下,这一行可以设得很短,例如 1 分钟。驱动器的微步模式必须为 1/16,与泵相同。
如果格子不是 20 个。每步的转角在固件的 HopStepperStep() 函数(文件 beer.h)中设定:TargetStepps = 360 / 1.8 * 16 / 20,其中 20 是整圈的格子数。对于 10 格圆盘,把 20 改为 10 并重新刷写 Samovar。也可以不用圆盘,而在水平轴上做一个带纵向隔仓的滚筒,计算方法相同。
优点:酿造完全自动,除标准配置外不需要其他电子元件。缺点:只能投放干料;“奶酪”模式下不执行此步进(那里电机被泵占用)。
方式 3. 用于液体的蠕动泵(奶酪)
在“奶酪制作”模式下,Samovar 的主步进电机作为计量泵工作。方法为“本地步进电机”(«Локальный шаговый двигатель»)的“D”程序行(投料)按设定的速度(ml/min)输送设定体积(毫升)的液体:例如 1 分钟内输送 25 ml 氯化钙溶液,或 2 分钟内输送 50 ml 稀释的凝乳酶。输送结束后,程序自动转到下一行;如果在“超时,分钟”(«Тайм-аут, мин»)时间内未输送完设定体积,奶酪制作会停止并发出消息。
需要什么。一个适配 NEMA17 步进电机的蠕动泵头(与精馏取酒所用的相同)和食品级硅胶管。管子的进口端放入装溶液的容器,出口端引到奶酪锅中、高于牛奶液面。溶液要提前配好;发酵剂和凝乳酶用凉开水稀释,使体积足够大,以便泵能准确输送。
校准。体积按“泵步数”(«Количество шагов насоса»)值(每 1 ml 的步数)换算成步数。该值在“设置 → 泵”选项卡中用“泵校准”(«Калибровка насоса»)按钮设定(见
泵):泵把液体泵入量杯,您输入实际体积,Samovar 保存系数。校准时请使用与投料时相同的管子和相同的液体,并预先充满管子,否则第一份液体会用于充管。
多种成分。一台泵对应一种溶液。如果一次制作中需要加入两三种不同的溶液,可在“D”行之间插入“加入添加物”(«Внести добавку»)的“W”行,并把进液管移到另一个容器(先冲洗),或者使用 I2CStepper 板上的第二台泵(方式 4)。
优点:体积和时间准确,无需手工操作。缺点:只能投放液体;一台泵只能投一种成分。
方式 4. I2CStepper 板:由 Lua 脚本控制泵和继电器(啤酒和奶酪)
I2CStepper 板为 Samovar 增加第二台步进电机(地址 2 — 泵)和四个继电器。固件本身不会用它们投料,但所有功能都可以通过“L”程序行启动的 Lua 脚本调用:在该行中选择一个 .lua 文件并传给它参数(例如继电器编号和体积),这样一个脚本就能完成所有投料。脚本打开泵或继电器,等待完成,然后调用 setNextProgram() 转到下一行。
液体 — I2C 泵。函数 i2cpump_start(rate, volume) 以 rate l/h 的速度泵送 volume ml;每 1 ml 的步数取自“I2C 泵步数”(«Количество шагов I2C насоса»)字段(设置 → 泵),校准在“I2CStepper”页面上进行。示例脚本 dose_pump.lua 以 6 l/h 的速度加入该行第一个参数所给的体积(在程序中:文件 dose_pump.lua,参数 20):
-- dose_pump.lua:用 I2CStepper 泵加入 arg[1] ml 溶液
if i2cpump_start(6, tonumber(arg[1])) == 1 then
while i2cpump_get_running() == 1 do delay(500) end
sendMsg("Solution added", 2)
else
sendMsg("I2CStepper pump is not responding", 1)
end
setNextProgram()
干料 — 继电器和带闸门的料斗。为每一份啤酒花(或盐、香料)在锅上方做一个小料斗,料斗底部由 12 V 电磁铁(螺线管)驱动的闸门封住。板上的继电器给电磁铁通电,闸门打开,这一份物料落入锅中。四个继电器,四份物料;每份在装料时预先称好。示例脚本 dose_rele.lua 把编号在该行参数中给出的继电器(在程序中:文件 dose_rele.lua,参数 3)上的料斗闸门打开一秒半:
-- dose_rele.lua:从继电器 arg[1] 上的料斗投下一份
set_i2c_rele_state(tonumber(arg[1]), 1)
delay(1500)
set_i2c_rele_state(tonumber(arg[1]), 0)
sendMsg("Hops added", 2)
setNextProgram()
每次投料在程序中各占一个“L”行,文件相同,参数各自不同(继电器编号或体积);该行的超时以秒为单位设定。
哪些继电器空闲。在“啤酒”模式下,板上第一个继电器被麦汁转移泵占用(见“I2CStepper”页面);其余三个固件不使用。在“奶酪制作”模式下,固件不占用板上的继电器(搅拌器和排放阀接在 Samovar 自身的 2 号和 4 号继电器上)。可以用 check_I2C_device(2) 函数检查板是否响应。
“啤酒”模式的特点。“L”行是一个独立的程序行,在该行上不会自动维持沸腾,所以要把它设得很短(几秒钟);下一个“B”行会重新检测沸腾 — 此时麦汁仍在沸腾,所以很快。如果只需要按时间表投放啤酒花,方式 2 更简单:既不需要扩展板,也不需要脚本。
优点:成分数量不限,液体和干料均可,逻辑完全自由。缺点:需要 I2CStepper 板、支持 Lua 的固件和脚本。
方式 5. 自制结构:酿酒爱好者的其他做法
商用自动酿酒设备用不同方法解决同一个问题:Brewie 和 PicoBrew Zymatic 把啤酒花放在四个篮子里,在合适的时刻让麦汁流过下一个篮子;MiniBrew 在盖子上装一个有六个圆筒的转盘;Grainfather 和 Braumeister 不投放啤酒花,只发送通知(与方式 1 相同)。在家庭作坊中(Homebrew Talk 论坛、CraftBeerPi 和 BrewTroller 项目、Brew Your Own 杂志文章),下面这些结构最常见。它们都可以用前面已介绍的某种方式接入 Samovar:在“B”行上让主步进电机走一步,奶酪中的“D”行,或者由 Lua 控制 I2CStepper 板的继电器或电机。
扇区式投料器:轴上的杯子或小罐。在步进电机的水平轴上按扇形、每隔 360°/N 牢固地安装 N 个杯子(塑料杯、截短的瓶子、带翻盖的小罐)。杯子位于圆周上半部时开口朝上;转到下一个扇区时,下一个杯子越过水平位置,其中的物料落入锅中。带翻盖的小罐比敞口杯更方便:倾倒之前,盖子保护啤酒花免受蒸汽影响,倾倒时盖子靠自重打开。优点是简单:不需要精确的格子,也不需要底板。用于 Samovar:电机接到泵接口上,在 HopStepperStep() 中用杯子数 N 代替 20(4 个杯子时每步 90°),每个“B”行倾倒一个杯子。轴必须高于锅沿,并尽量偏离蒸汽柱;在杯子上方加一块挡板。
带管子的圆盘(“Lazy Susan”)。Homebrew Talk 上最常见的自制结构:直径 150 mm 的圆盘上装 6-8 根竖管(⌀25-30 mm,高 100-150 mm,可装约 30 g 颗粒),下方是只开一个孔的固定板;驱动用大扭矩舵机或廉价的 28BYJ-48 步进电机配 ULN2003 驱动器,为了精确停止,在凸轮上装微动开关或光电传感器。它与方式 2 中的转盘相同,只是用高的直管代替小格子。作者们的经验:颗粒会卡在锥形底的管子里,所以管壁必须笔直光滑;粉状和潮湿的啤酒花倒不出来,需要干燥的颗粒;锅上方必须有挡板或蒸汽出口,否则煮沸 20-30 分钟后颗粒会受潮结块。用于 Samovar 时按方式 2 使用,在 HopStepperStep() 中填入管子数;如有需要,可以把圆盘装到 I2CStepper 板的电机上,由 Lua 用 set_stepper_by_time 函数转动。
螺旋(绞龙)投料器。一种来自鱼和猫自动喂食器的结构(见 Instructables 和 GitHub 上的项目):水平管上方是料斗,管内是装在步进电机轴上的螺旋;投料量由转数决定。零件用 3D 打印,螺旋直径 20-30 mm。它可以从一个料斗按任意份量投放任何松散物料:盐、糖、香料、啤酒花颗粒。对 Samovar 来说,这种投料器就是同一台“泵”:在“奶酪”模式下接到泵接口上,用“泵校准”(«Калибровка насоса»)按钮校准(把物料倒入量杯,输入其体积 ml),并用方法为“本地步进电机”(«Локальный шаговый двигатель»)的“D”行投料。第二台相同的投料器可以挂在 I2CStepper 板上(地址 2),由 Lua 用 i2cpump_start(rate, volume) 函数启动。缺点:一个料斗只能装一种物料;3-4 个不同的啤酒花品种需要 3-4 个螺旋或一个转盘。
连续投放啤酒花。对于采用“连续投花”(在整个煮沸过程中以细流加入啤酒花)的酒款,Brew Your Own 介绍了一种投料器:一段 ⌀100 mm、长 60 cm 的管子,下端有一个由 1 rpm 电机带动旋转的多孔圆盘;颗粒平均以每 10 分钟约 8 g 的速度落下,圆盘上的销钉防止颗粒架桥。用于 Samovar 时,电机在整个“B”行期间由 I2CStepper 板的继电器(set_i2c_rele_state)接通,或由板上的步进电机(set_stepper_by_time)转动。
舵机或减速电机驱动的闸门。在 CraftBeerPi 项目(HopDropper 插件)中,带隔断的托盘由慢速 12 V 减速电机通过一对齿轮带动,控制器只在设定时间内供电;另一种流行的方案是把杯子装在舵机摆臂上,挂在锅壁上远离蒸汽的地方。舵机接到 Samovar 的 SERVO_PIN 输出(精馏中切换容器的同一个输出),由 Lua 用 setServoAngle(angle) 函数转动:例如 setServoAngle(90) 打开闸门,delay(1500),setServoAngle(0) 关闭。大扭矩舵机请用单独的 5-6 V 电源供电,不要从开发板取电。12 V 减速电机机构由 I2CStepper 板的继电器接通 1-3 秒(转到限位或转到带微动开关的凸轮所需的时间)。控制方法同方式 4。舵机摆臂上装杯子的示例脚本 tip_cup.lua(在程序中是使用此文件的“L”行):
-- tip_cup.lua:倾倒舵机摆臂上的杯子
setServoAngle(150)
delay(1500)
setServoAngle(0)
sendMsg("Hops added", 2)
setNextProgram()
用麦汁冲洗的篮子。Brewie/Zymatic 的原理:啤酒花放在锅外的网篮里,麦汁转移泵在合适的时刻把液流引过下一个篮子。在家里这是最复杂的方式(需要泵、接在 I2CStepper 继电器上的若干电磁阀和管路),但啤酒花一定不会受蒸汽影响,也不需要在锅上方倾倒任何东西。用于 Samovar 时,阀门由 Lua 用 set_i2c_rele_state 函数切换,泵由板上第一个继电器控制(在“啤酒”模式下它本来就控制麦汁转移泵)。
从别人的设计中总结的经验。
任何干料投料器的头号敌人都是蒸汽:在锅上方加挡板,把投料器移到一侧,最好在投料前一直用盖子盖住每一份物料(带翻盖的小罐、闸门)。
颗粒不容易通过收窄处和锥形部分:格子、管子和托盘要做成直壁、平底,出料口不小于格子的截面。
在装料时预先称好每一份,让自动装置只负责选择时刻;这样精度就不取决于机械结构。
酿造前先在测试模式下空载运行投料器,第一次带投料器酿造时人要守在旁边:“B”行无论如何都会发送通知,必要时可以手动加入。
创意来源:
Lazy Susan 啤酒花投料器(Homebrew Talk)、
自动颗粒啤酒花投料器(Homebrew Talk)、
3D 打印的啤酒花转盘(Homebrew Talk)、
自动投放啤酒花(Homebrew Talk)、
CraftBeerPi 的 HopDropper(GitHub)、
连续投花器(Brew Your Own)、
螺旋微量投料器(Instructables)、
MiniBrew Hop Carousel、
自动酿酒设备概览(Brew Your Own)。
如何选择
啤酒,投 2-4 次啤酒花 — 方式 2(内置电机驱动的转盘),或方式 5 中它的简化版:轴上的杯子或小罐。投料器做好之前用方式 1:“B”行本来就会发出信号。
奶酪,发酵剂 / 凝乳酶 / CaCl₂ — 方式 3(“D”行,内置泵)。一台泵,每次制作投一种成分;其余用“W”行手工加入。盐和干香料:方式 5 中的螺旋投料器,接在同一个接口上。
自动投放多种液体和干料成分 — 方式 4(I2CStepper 和 Lua)。
通用建议:添加物要加盖存放(蒸汽和冷凝水是干料投料器的大敌),事先用水并在测试模式下检验投料器,液体体积不少于 10-20 ml,这样泵的误差就不明显。