基于Arduino的胶囊咖啡平台机设计

2019-05-22 09:26成程蒋嘉程吴汶鸿刘琦郭文仙
无线互联科技 2019年6期

成程 蒋嘉程 吴汶鸿 刘琦 郭文仙

摘 要:传统胶囊咖啡机无法控制并存储咖啡萃取时的温度、压力和流量。因此,该平台机将Arduino作为核心控制器,采用传感器技术并搭配了相关的硬件电路,同时使用Processing在电脑上搭建观测控制界面,使咖啡萃取时的各参数沿设定曲线变化并记录数据,实现了萃取过程的精确控制与记录。

关键词:胶囊咖啡;平台机;Arduino

现在人们对咖啡的消费需求越来越大,与此同时对咖啡的品质也就提出更高的要求,而胶囊咖啡就是在这一背景下应运而生的产物。胶囊咖啡萃取出的咖啡的质量,与萃取时水流的温度和流量,以及萃取头内的压力密切相关[1]。但是现有的咖啡机的参数是在工厂中,凭借经验参数以及多次反复试验得出的,不能准确得出咖啡机萃取时的精准参数,且所有参数一经设定在萃取过程中就保持恒定,无法实现参数的动态变化。因此,项目基于Arduino开发板,通过外接NTC温度传感器,脉冲式流量计以及模拟量水压传感器,读取锅炉出水温度,进水流量和萃取头内水压。同时,在电脑上利用Processing搭建了控制观测界面,能够实现设定参数变化曲线、读取参数、绘制曲线以及自动存储为表格的功能。

1 硬件架构与电路设计

硬件主要组成部分有控制模块、检测模块、继电器模块、执行模块以及上位机模块。

控制单元的核心是Arduino开发板,将其中的引脚A0接压力传感器、引脚A3接NTC温度传感器、引脚2接流量传感器,并设置触发方式为上升沿信号。此外,将引脚4,5,6分别接水泵、锅炉和气泵的按钮。将引脚11,12,13分别接水泵、锅炉和气泵的继电器控制模块。单片机通过各引脚接收传感器的信号,感知按钮按动情况并且通过继电器模块控制大功率器件的开关。

检测模块由NTC温度传感器、脉冲式流量计、模拟量水压传感器以及其相关所需的外接电路组成。

继电器模块使用了常开式电磁继电器,并且使用光耦隔离有效降低了可能存在的电磁干扰。

执行模块包含锅炉、气泵和水泵。锅炉使用了微型螺旋立式锅炉,具有加热速度快,体积小、可控性强的特点。水泵采用的是微型电磁泵,提供压力大,瞬时启动能力强,具有自吸功能不会造成倒流现象;气泵采用的是微型真空泵,具有充气时间短,气密性好,持续工作输出压力稳定的优点。

上位机模块,使用USB转TTL的数据线连接Arduino和电脑。在Arduino向电脑传输数据时,使用串口通信的方式传输现在执行模块的工作状态以及温度、压力和流量的大小,并且显示执行模块工作状态和3个参数的曲线。在电脑向Arduino传输指令时,同样使用串口通信的方式,将设定的曲线按时间分段传输至Arduino作为控制目标。

2 Arduino程序设计

在Arduino中主要实现状态检测、饮品打制和数据收发这3个功能,如图1所示。

2.1 状态监测功能

状态检测模块分传感器数据读取和按钮状态读取两部分。传感器读取的数据在外部电路转换成电压值,被Arduino接收后,在程序中根据不同传感器的特性进行处理,例如NTC需要进行线性化[2]、脉冲式流量计需要对脉冲数进行计数、模拟量水压传感器需要进行滤波。

按钮状态是用于测试各设备的工作状况的,按下按钮对应的继电器触头应当闭合,使得对应大功率器件能够获得工作所需的电压、电流。平时,平台机自动运行,根据串口接收到的数据执行操作,将屏蔽按钮操作,防止异常工况出现。

2.2 饮品打制功能

系统中的饮品打制的流程如图2所示。

饮品打制中具有几个关键状态,分别是:预热状态、计时允许状态、打制饮品状态、吹气去除残留液体状态。设计预热状态是因为锅炉模型的时间常数过大,滞后较长,必须增加预热状态来使得曲线的前期吻合度达到要求。在打制饮品的过程中根据流量对打制过程进行分段控制,主要控制对象为锅炉,控制手段是,根据当前流体的温度是否高于设定值和余热升温之和,如果是就关闭锅炉的继电器,等待后续水流混合降温。在打制完成后,由于萃取头内的负压效应,萃取头附近管道存在有少量残留液体,不对其进行处理会堵塞管道,影响后续打制饮品品质,因此,加入吹气过程,通过气泵吹出残留的液体。

2.3 数据传输功能

数据收发包括数据读取和数据输出两个部分,数据读取是在Processing平台上对用户给定的设定值和打制状态进行读取,在Arduino打制饮品之前将相关的数据赋给相关的变量。数据输出是将打制过程中的传感器数据和打制过程中的各器件状态传输至上位机的Processing平台中进行处理。

3 Processing程序设计

在Processing中主要实现环境搭建、用户设定、数据收发和绘制曲线这4个模块,如图3所示。

3.1 环境搭建模块

环境搭建部分主要包含窗口创建和参变量设定两部分。窗口创建包括设置窗口大小、设定关闭界面方式和定义坐标参数。坐标参数用以确定背景图片和按钮的位置[3]。

3.2 用户设定模块

在进入设置模块后,等待用户操作,用户操作分鼠标操作和键盘操作,鼠标操作用以确定所需的曲线形状,键盘操作用以确定打制状态。在用户操作完成后,按照一定的规则将数据拆分,添加标志进行串口通信,将数据送至Arduino。

3.3 数据收发模块

数据收发模块包括数据读取和数据输出两个部分,数据读取是指读取串口数据,按照之前设置的标志符号将数据进行分割。数据输出是将交互界面设置中给定的设定值和打制状态,加以标志符号传输至Arduino。

3.4 绘制曲线模块

绘制曲线部分模块的流程图如图4所示。

绘制曲线的数据来自Arduino通过串口通信,并经由分割处理后得到。绘制曲线以时间为横轴,分别以红、黄、蓝代表压力、温度和流量。在监测窗口3条曲线显示在同一张图中,可以点击对应按钮具体观察某一具体参数曲线。在绘制曲线完成后,会自动创建表格文件,将绘图数据写入文件之中。

4 系统调试与实物展示

总体硬件完成如图5所示。

Processing软件运行示意如图6所示。

5 结语

本系统针对解决传统咖啡机萃取过程中影响咖啡口感的关键参数难以读取存储的问题,使用Arduino作为硬件控制核心,辅以基于Processing搭建的上位机平台,实现了温度、压力和流量3个参数的数据的存储和可视化,并且使得3个参数能够较好地跟随设定曲线变化。这一系统极大提高了胶囊咖啡口味参数设定的科学性和准确性,对咖啡机产业有较大价值。

[參考文献]

[1]文志华,毕晓菲,鲁维艳.中国咖啡消费趋势浅谈[J].农产品加工,2018(2):69-70.

[2]冯岩.NTC热敏电阻应用于温度检测中的误差线性化研究[J].黑龙江科技信息,2016(14):69.

[3]郭谭娜,王宁.交互式图形编程语言Processing应用浅析[J].无线互联科技,2013(5):107.