在奶酪制作模式下,pH 传感器让 Samovar 能在“等待 pH”(«Ожидание pH»)阶段等到设定的酸度。测量套件由一支浸入式电极和一块 PH-4502C 板组成。电极接到该板的 BNC 接口;板的模拟输出 PO 把电压送给 Samovar。不要把电极本身直接接到 ESP32 或 ADS1115:它需要一块信号处理板。
电极必须适合被测产品及其温度。为水设计的传感器在牛奶中可能被蛋白质和脂肪污染;能否长时间浸泡,以电极的技术说明书为准。校准不能消除污染和老化。
通过 ADS1115 连接
ADS1115 是外置 ADC,即把电压转换为数字的转换器。连接需要一个 ADS1115 模块、两个精度 1% 的 10 kΩ 电阻和一个 100 nF 电容。这些数值针对的是 PH-4502C 板的输出,而不是电极电缆。
PH-4502C 用 5 V 供电,ADS1115 用 3.3 V 供电。把两块板和 Samovar 的 GND 连在一起。连接前请核对您手中板子的引脚标记:不同模块的引脚顺序不同。
PH-4502C 的 PO 经第一个 10 kΩ 电阻接到 ADS1115 的 AIN0。第二个 10 kΩ 电阻接在 AIN0 与 GND 之间。100 nF 电容与第二个电阻并联。分压器把电压减半:PO 上的 5 V 在 AIN0 上变为 2.5 V。DO 输出不用于 pH 测量。
ADS1115 的 SDA 和 SCL 接到 Samovar I2C 的同名线上——I2C 是与各模块通信的公共两线制线路。使用您的 ESP32 开发板原理图中给出的引脚;GPIO 编号取决于具体构建。SDA/SCL 的上拉必须接到 3.3 V。
ADDR 接 GND:ADS1115 的地址将为 0x48。如果该地址已被其他设备占用,请选一个空闲的 ADS1115 地址,并在构建设置中指定。同一条线上不能有两个地址相同的设备。
启用带地址值的构建设置 USE_ADS1115,例如 #define USE_ADS1115 0x48,然后上传固件。pH 会自动从 AIN0 读取,LUA_PIN 保持空闲。如果 ADS1115 不可用,将无法启动奶酪制作,也无法保存 pH 校准。
接到 ESP32 之前,用万用表检查 AIN0 与 GND 之间的电压。固件中 ADS1115 的测量范围为 ±4.096 V,但不允许在输入端加高于芯片电源的电压。修改电路或改用 ADS1115 之后,请重新校准。
不用 ADS1115 的连接
如果禁用了 USE_ADS1115,同一个分压器的输出接到 LUA_PIN 而不是 AIN0。PH-4502C 用 5 V 供电,其 GND 与 Samovar 的 GND 相连。不能把 5 V 直接加到 ESP32 的输入端。LUA_PIN 也被 MPX5010DP 压力传感器使用:只能在上面接一个设备。奶酪制作期间,该输入被 pH 测量占用,无法从 Lua 读取。
开启设备时读数跳变怎么办
先比较在单独塑料杯缓冲液中和在奶槽中的读数,同时逐一开启泵、搅拌器和加热。如果跳变与设备开启有关,很可能是电气干扰。若设备关闭时缓冲液中的读数缓慢漂移,则需要检查电极和 PH-4502C;隔离无法修复它们的故障。
为消除经公共电源和地线传入的干扰,可以把测量部分隔离出来:电极 → PH-4502C → 1:2 分压器 → ADS1115 → ADuM1250 → ESP32。ADuM1250 是 I2C 电气隔离模块:它传递数据,但两侧之间没有电气连接。
PH-4502C、ADS1115 以及 ADuM1250 的测量侧由单独的 USB 移动电源供电,移动电源须有 5 V 输出并支持小负载。在这个电路中 ADS1115 也用 5 V 供电;其输入端的分压器保留。测量期间,移动电源不得在充电,也不得为 Samovar 的其他部分供电。
ADuM1250 朝向 ESP32 的一侧由 Samovar 的 3.3 V 供电。ADS1115 的 SDA/SCL 接到 5 V 一侧,Samovar 的 SDA/SCL 接到 3.3 V 一侧。每一侧的上拉电阻都必须接到该侧自己的电源。
不要把两侧的地线连在一起。如果用导线、USB 电缆或经由其他设备把它们连起来,隔离就被破坏了。Samovar 的其他 I2C 设备留在 ESP32 一侧。
把 PH-4502C 和 ADS1115 放在一起,远离加热调压器。PO 导线尽量短,电极电缆远离电源线。ADS1115 地址和 USE_ADS1115 设置保持不变。
这是一种抗电气干扰的连接方式,并不保证电极的精度。校准后,在开启设备的情况下再检查一遍;开启设备时电路不应产生可重复出现的 pH 偏移。
软件滤波与限制
在带中值滤波的固件中,pH 读数由间隔一秒的五次连续测量计算得出。中值是排序后位于中间的数:序列 5.42;5.41;3.10;5.43;5.42 得出 5.42。滤波可以去掉短暂的尖峰,但不能修正恒定误差或读数的缓慢漂移。读数平稳变化时,延迟约为两秒。
五个样本都填满后才能得到 pH。出现读取错误、无效读数、两次测量间隔超过五秒、校准系数变更或过程重置后,窗口会重新填充。旧结果不会被当作新的有效测量。在“等待 pH”(«Ожидание pH»)阶段,到达阈值的确认保持 30 秒。
滤波对两种连接方式都适用——经 ADS1115 和经 LUA_PIN。校准页面上的 ADC 字段显示的是不经此滤波的最新原始样本;记录校准点前请等它稳定。Samovar 在 pH 换算中不考虑温度:请在相同温度下比较结果和对照样品。网站上的文档更新不会更新您设备上的固件。
校准与保养
用两种新鲜的缓冲液(约 pH 7 和 pH 4)校准整套组装好的套件。按溶液标签填入测量温度下的数值。用按钮操作的步骤见
pH 校准一节。
用于牛奶之后,按制造商说明,用适合清除蛋白质和脂肪沉积的清洁剂清洗电极。传感端应存放在推荐的电极保存液中,不要干放,也不要泡在蒸馏水里。不要超过电极允许的温度。清洗后,在一份新鲜缓冲液中检查读数。