APP下载

基于Arduino的智能拉花咖啡机设计

2020-10-19高昀欣高永民成文娟江永鑫

福建轻纺 2020年10期
关键词:拉花咖啡粉咖啡机

高昀欣,高永民,成文娟,江永鑫

(厦门理工学院 电气工程与自动化学院,福建 厦门 361024)

在一些发达的城市,如北京、上海等,企业和政府部门都会配置公司咖啡机以提供免费咖啡。在工作之余的休息时间,饮用咖啡可拉近员工间的距离,使员工放松心情、扫除疲惫,从而是精力更集中地投入到工作中。在家庭配置咖啡机可以提升家庭生活的品味,对生活品质的追求,让中国消费者对咖啡的态度逐步发生变化。从最初的消费需求逐渐过渡到社交需求,“咖啡”似乎已经成为一种新时代特有的文化象征,并逐渐渗透进现代人的生活[1]。

因此,本文基于可供公司、家庭使用的设计理念,设计以Arduino为核心的智能拉花咖啡机,该智能咖啡机可实现多种口味咖啡的自动冲泡,及拉花的自动制作。

1 系统整体设计

本设计可实现水箱的加热和多种口味咖啡粉的制作,并以Arduino作为拉花装置的控制板,通过在雕刻软件中导入图片,使用小型步进电机和光轴导轨,通过控制实现拉花装置在平面上的精确移动。将蠕动泵固定在拉花装置上,利用蠕动泵的引流功能,将打好的奶泡引入杯中,实现咖啡机的智能拉花。系统整体设计图如图1所示。

图1 系统整体设计图

2 硬件设计

2.1 整体硬件结构

该智能拉花咖啡机的硬件结构图如图2所示。

图2 硬件结构图

2.2 硬件说明

2.2.1 咖啡萃取装置

咖啡萃取装置采用“传送带式咖啡萃取系统”,咖啡粉由咖啡粉道送至筛网隔板之上,单片机控制步进电机驱动隔板向右运动,使咖啡粉到达内径较隔板径稍大的上、下酿造盒之间,隔板停止运动。上、下酿造盒闭合,夹住隔板,使咖啡压实,达到一定密度后再冲泡,具有一定密度的咖啡粉可增加热水在酿造时的阻力,从而延长酿造时间,使咖啡经过充分萃取。此时,水路系统电磁阀打开,热水由上酿造盒的两个进水口冲入,对咖啡粉进行萃取、酿造,所得的咖啡溶液由下酿造盒的出水口流出。酿造完成,上、下酿造盒分开,筛网隔板由电机驱动向右运动至除渣盒内;电机驱动隔板旋转一周,除去隔板上咖啡渣,然后驱动电机驱动隔板返回到原出发点。

2.2.2 打奶泡装置

装置由蒸汽导管、电机、超声波液位传感器构成。从热水加热装置中引出一根蒸汽导管,当需要奶泡时则将水加热至沸腾产生蒸汽,控制电机让蒸汽头沉入牛奶下面约1 cm,当检测到蒸汽头沉入液面以下,此时蒸汽导管的开关由继电器收到信号后打开,让牛奶在蒸汽的作用下开始缓慢旋转,通过定时器设定好各种温度下所需的时间,待奶泡制作完成停止蒸汽供给,蒸汽导管撤回。

2.2.3 咖啡拉花装置

⑴ Arduino控制器

本设计采用Arduino系列中的Ardunio UNO作为切割机的控制器。其核心处理器为Atmega328,工作电压为5 v,时钟速度为16 MHz,具有16个数字I/O、6个模拟输入并可以输出6路PWM。Ardunio通过USB数据线与计算机连接进行通信和供电。通过其定时器输出PWM方波,以脉冲模式驱动控制步进电机运行,Arduino可以通过输出多路PWM控制多个步进电机运行。

⑵ A4988步进电机驱动

步进电机的运行要具有足够的功率,单独使用单片机发出的控制脉冲无法驱动步进电机正常运行。这里我们使用步进电机驱动将信号进行功率放大后再施加到绕组,脉冲分配器接收控制脉冲信号和方向电平,并按步进电机的控制方式要求的状态顺序产生各相相应的绕组控制信号。

A4988 是一个完全的小型步进电机驱动器,内置有电平转换器,操作简单,该模块可以在全步进、半步进、1/4步进、1/8步进及1/16步进模式时驱动双极步进电机运行,输出的驱动电压最高可达35 V,电流可达±2 A。A4988是一个DMOS驱动器,带有过流保护和微步驱动器,其易于控制的关键便是转换器,只需在“步进”中输入一个脉冲,便可控制电机产生微步。

⑶ 拉花机蠕动泵控制

拉花机的传动结构选用步进电机、光轴导轨、同步带的组合实现对行走距离的精确把控。支架选用铝型钢材和亚克力板进行固定,使用十字滑台将X轴和Y轴进行联动。十字滑台包含8个直线轴承,分为上下2层,直线轴承垂直分布,分别固定X轴和Y轴的光轴。蠕动泵驱动电压为12 V,Arduino通过一路PWM输出2个固定的占空比控制蠕动泵。

表1 拉花装置零部件明细

拉花装置主要零部件如表1。

3 软件设计

3.1 上位机软件

拉花装置使用计算机作为上位机,使用方式简单且方便。上位机软件的主要功能是将设计图转化为坐标信息,即G代码,并向拉花机传输数据,我们选用奎享雕刻作为上位机。上位机软件主界面如图3所示。

图3 奎享雕刻软件主界面

将Arduino连接到电脑,端口选择COM22,波特率选择115200,固件为GRBL。GRBL是雕刻软件为Arduino平台专门适配的一种开源通用固件,其中一些操作指令和代码已经被包含到固件库中,在Arduino编程中只需要调用现成的固件库便可完成一系列复杂的操作。

3.2 Arduino 编程

上位机准备好后,开始对Arduino进行编程,使用Arduino IDE将程序语言转化为机器语言烧录进Arduino的微控制器里。GRBL是德国的嵌入式G代码编译和运动控制器的开源代码,它能解析主流数控软件产生的数控代码G代码[2]。Grbl控制流程如图4所示。

图4 Grbl控制流程图

上位机通过串口发送G代码到Arduino,Grbl接收后对G代码进行解析,分解为运动控制和主轴控制。运动控制是控制步进电机运行,使蠕动泵在平面上运行。主轴控制用于控制蠕动泵在何时启动拉花。

3.2.1 步进电机驱动程序

配置定时器1作为步进电机的驱动中断和脉冲发生定时器,定时器选择010的脉冲模式,选择通道一作为输出通道。选择定时器0作为步进电机输入的中断,使用通道0输出中断。声明一个串口初始化函数,将波特率设置为115200,无奇偶校验位,有一个停止位。随后配置主轴驱动,即蠕动泵的舵机控制。选用引脚时使用if语句判断此引脚是否被步进电机驱动引脚占用,此方法可以减少错误出现的可能。初始化完成后便需要对主轴的运动进行控制,声明一个函数控制主轴的方向和角度。最后对控制进行限位,使能换针中断对运动进行限位防止意外发生。

3.2.2 主函数

主函数运行时包括上述所有程序。主函数流程图如图5所示。

系统启动后,首先初始化串口,即波特率和上位机进行适配。随后从eeprom中载入Grbl,Grbl载入完成开始初始化电机配置,和定时器中断。将全局变量进行初始化,即对上次使用结束后的全局变量进行复位。进入程序的主循环,开始读取串口数据,对蠕动泵的位置和姿态进行归位,回到初始位置后清理上次使用的缓冲区防止错乱,最后解析G代码,运行Gbrl主循环,即执行运动。

图5 主程序流程图

4 成果测试

首先往水箱中加入适量的水,按下按钮对水箱进行加热。利用蒸汽打牛奶,将空气打入液态的牛奶中,形成细小绵密的泡沫。往咖啡萃取装置中加入咖啡粉,高压蒸汽和水的混合物快速穿过咖啡层,瞬间萃取出咖啡,咖啡温度高,杂质含量低,且口感浓郁。将萃取好的咖啡通过传送带送到拉花头下方。随后,在上位机上选取心形图案开始拉花,奶泡从喷头中缓缓流出,按照机器的指令勾勒图案。最后,咖啡表面出现一个心形图案,拉花完成。试验结果如图6所示。

图6 心型拉花咖啡

5 结语

本文设计的基于Arduino的智能拉花咖啡机,温度控制精度高,可实现多种口味咖啡的自动冲泡。采用以Arduino 为控制核心、A4988为驱动核心控制步进电机运行方式,结合上位机,成功实现用户自定义拉花功能。该智能咖啡机不仅省时方便,其新颖的拉花功能更让消费者在品味咖啡时提升了饮用的美感。

猜你喜欢

拉花咖啡粉咖啡机
Passage 4 Interesting coffee making
咖啡大爆炸
胶囊咖啡机
咖啡机上长蘑菇
井陉拉花文化旅游资源的保护与传承
解密速溶咖啡
张晓丹:古老拉花变健身操舞
全球都疯的冷泡咖啡
3D打印咖啡拉花只需10秒 图案任选
欧盟要咖啡机只保温5分钟