DIY热风式咖啡豆烘焙机
前言
热风式咖啡豆烘焙机是一种利用热空气对流加热咖啡豆的设备,通过气流实现豆子的均匀受热和翻滚,兼具高效性和风味控制的优势。其主要优势如下:
烘焙效率高
单批烘焙时间短(商用机约12-20分钟/3.5kg,小型机约10分钟/120g),热利用率优于直火式。
无需预热,能耗低(热风式能耗约为滚筒式的一半)。
风味表现突出
酸度明亮、果香清晰,适合浅中度烘焙,凸显咖啡原生风味(如埃塞俄比亚水洗豆的花香、桃子酸质)。
银皮分离彻底,避免焦苦杂味。
操作友好
结构简单,维护成本低(无复杂滚筒传动装置)。
小型机便携性强,支持户外使用。
目前市场上的热风式咖啡豆烘焙机主要有两大类:
一种是各品牌商推出的成型产品,比如三豆客的Q系列;
一种是闲鱼各路大佬推出的DIY产品,比如布欧、二哥、虾烘等等;
以上咖啡豆烘焙机均支持Artisan进行曲线控制,三豆客之类还有自己的APP,或者布欧也做了小程序。
我这边是根据市场上的咖啡豆烘豆机的底层逻辑,并借鉴国外网站https://homeroasters.org/中的相关讨论,在各路大佬的机型基础上结合自己的想法做了调整、优化,在此进行分享。
先直接上个成品图吧:




后面可能会用到的名词:
Artisan相关:ET(风温)、BT(豆温)、ROR(升温指数)、曲线(设置的烘豆温度曲线)
温控器相关:PV(探测温度,一般对应当前豆温)、SV(设定温度、一般对应曲线的当前温度)
整机原理分析
DIY热风式咖啡豆烘焙机的原始前身是小型家用爆米花机,拆机分析可发现其原理极为简单:
1、 通过云母片发热盘提供加热功能,一般其功率在1200-1600W之间,部分机型设计有温控电阻进行保护防止高温;
2、 通过4个二级管组成桥式整流器并串联电阻降压对有刷电机供电,电机驱动扇叶提供风力,将热量吹向加热仓体;
这两处实际上与热风式咖啡豆烘焙机的核心需求高度吻合,因此只需要进行亿点点改装即可作为热风式咖啡豆烘焙机使用。

以上为整机原理简图,整机采用模块化设计,主要分为三个模块:
风力控制模块+风机,组成风力系统;
加热盘+火力控制+温控,组成火力+温控系统;
Artisan通讯管理模块;
风力系统
电机
风力系统主要在于电机选择,目前电机主要分为有刷跟无刷两大类,这里简单做一下比较:
有刷电机:噪音大,效率低、转速低、寿命短;成本低廉;
无刷电机:噪音小,效率高、转速高、寿命长;成本较高;
根据我自己的折腾实测,爆米花机自带的有刷电机因为不带散热风扇,极易过热,我的初代机在烘第3仓豆子的时候,电机光荣牺牲,拆下来发现是因为电机过热,固定底部轴承的塑料融化,轴承掉下来了。不得已,我升级了无刷电机。

无刷电机又分为两类,一类是DC310V高压直流,戴森吹风机用的那种,另一类是3.7-12V低压直流,暴力吹风机用的那种。
原本我是拆了一个华强北吹风机,想直接用吹风机的驱动板+电机作为风力系统,但实际使用发现吹风机的风力只有高中低三档,并且最低档的风力对咖啡豆烘焙来说仍然太大了,然后我拆的那款华强北吹风机在电机控制上用的峰绍FT8061T芯片,看原理图是支持PWM或者0-5V模拟量控制的,不过实在懒得折腾了,略微尝试没成功之后,我转投了低压直流无刷电机的方案。
低压直流无刷电机需要在原本华强北吹风机的电机上进行高压改低压,也就是重新绕线组,将原本的线组由细绕改成粗绕,我最终测试下来稳定的绕组方式为0.4mm漆包线,每匝10圈,星接。最后得到的电机最大功率在88W左右(12V电压),实际烘豆的时候大概用30%-60%功率即可。
驱动与电调
驱动直接选择航模电调即可,根据欧姆定律,88W/12V=7A,考虑到一定的冗余,建议选择10A以上的电调,我目前是用的30A的。

航模电调主要由两个组件构成,这里我就按自己的理解来,电调主体是接收PWM控制信号,并根据PWM信号向无刷电机输出电压,完成电机驱动;
调速器是PWM信号发生机,基于电位器输出0-5V模拟量,然后将0-5V模拟量转换为PWM信号输出给电调主体。
其实电调主体叫它无刷电机驱动板更合适。
然后这里有一个关键的点,调速器是进行0-5V模拟量到PWM信号转换的,那么,如果我们使用一个0-5V模拟量输出代替电位器的0-5V模拟量输出,那就可以实现在Artisan上控制风力大小了。这里放到后面的Artisan管理的进阶二部分吧。
风力系统供电
低压无刷电机本来是航模跟暴力小风扇用的,一般其供电都是用的航模电池或者18650之类的串并联电池,1S-4S不等,但是如果用在烘豆机上的话,因为烘豆机本身整机是需要220V AC供电的,所以这里没必要再去用电池给风力系统供电,因此我直接选择了12V开关电源。

开关电源不同功率的型号尺寸大小有区别,如果一味追求大功率的话,开关电源很大,烘豆机的尺寸就会过于臃肿,均衡之下,我选择的是120W的开关电源,在尺寸控制在较为合理范围的同时,有10A的额定输出,这样完全可以满足我风机正常使用的需求,即使风机工作在最大功率,也只需要开关电源输出70%功率即可,在安全范围内。
火力+温控系统
加热盘
爆米花机自带的加热盘是两片云母片夹发热丝,差不多长这样:

这种加热盘的优点是可以正好适配爆米花机本身的豆仓,但是缺点也很明显,因为爆米花机不是为咖啡豆烘焙设计的,并且也没有过多考虑产品的使用寿命,所以它的加热盘只有发热丝的位置做了开孔,设计过于简单导致这款发热盘会向下回热风产生积热,进而造成下面的风机过热(温度甚至能到150度这样,这也是我初代机的有刷电机烧融的主要罪魁祸首)。
我的改进措施是使用了高速风筒发热丝,大概长这样:

高速风筒发热丝是专为热风设计的,冷风直吹发热丝然后出去变成热风,风道无其他遮挡,因此完全没有爆米花机发热盘的设计缺陷导致向下回热风的问题。
但是,需要解如何让它跟爆米花机的豆仓进行适配的问题。这里我是通过自行设计外壳进行安装,同时通过耐高温隔热材料进行隔热处理。
耐高温隔热材料我采购了多种材料进行了对比,最初是用的硅酸铝针刺毯,但它抗拉扯能力比较差,容易变形破损,后来改用了二氧化硅纳米气凝胶毡,在材料本身强度上完全可以胜任需求。
火力+温控
火力+温控有两种方案,选哪种见仁见智。
方案一:K型温控器SSR输出+SSR固态继电器+手动可控硅调压
这个方案应该是目前大部分DIY烘豆机采用的方案,其核心思路是:
K型探头检测豆温,作为温控器的输入;
温控器根据豆温结合PID算法判断是否需要给发热盘通电加热,输出SSR信号,SSR固态继电器根据温控器输出的SSR信号决定发热盘的供电通断,控制火力开关;
可控硅调压模块串联在SSR固态继电器的输出路跟发热盘之间,通过电位器旋钮进行手动调压,控制发热盘的火力大小。
方案二:K型温控器模拟量输出+模拟量输入可控硅调压
这个方案是我根据自己的理解提出的第二种方案,其核心思路是:
K型探头检测豆温,作为温控器的输入;这个跟方案一是一样的;
温控器根据豆温判断,根据温控器内部PID算法控制模拟量输出大小,可控硅调压模块根据模拟量输入大小决定给发热盘的输出电压大小。完全基于温控器的PID实现自动控制火力大小。
两种方案对比:
方案一:优点是可以手动控制火力大小,缺点是在烘豆过程中需要频繁关注ROR,如果火力给太小会出现豆温不能达到预设曲线的问题,并且由于温控器PID算法的存在,频繁调整火力大小会导致PID算法结果不准确,具体表现就是ROR会出现剧烈波动。
方案二:完全交给温控器PID算法自动控制火力,ROR更贴近曲线设计,缺点是少了烘豆过程中的手动参与互动感。。。
以上两种方案都可以通过PID设置对ROR进行微调。
Artisan管理
Artisan管理我分为三个阶段:初阶,进阶一,进阶二。
其定义是:
初阶满足烘豆基本需求,可以通过Artisan进行曲线控制;
进阶一在初阶的基础上,增加蓝牙或WIFI方式连接,也可以实现手机APP或小程序控制;
进阶二在初阶的基础上,在Artisan或APP或小程序上增加风力控制、风温检测,还可以扩展环境温湿度等内容。
下面展开讲述。
初阶(基础功能实现)
初阶我们只需要考虑利用Artisan曲线实现温控即可。
因此,我们选择支持RS485的温控器,基于MODBUS与Artisan进行通讯。
连接方式为通过USB转RS485连温控器的485端口的A、B路,然后在Artisan上使用串口利用MODBUS RTU控制温控器。截图以台泉温控器为例。
相关配置:在设备中选择MODBUS仪表。

在方框A中,选择对应的COM口,以及串口参数(这个跟温控器上的设置要一致);
在方框B中,这里是设备的输入(温控器的PV,也就是BT),一般来说,温控器一般默认是地址1寄存器0(这里的注册是寄存器英文register的翻译错误,此外,从动装置对应的是RS485设备的地址)
在方框C中,对应的是温控器的SV、P、I、D四个寄存器的设置,台泉的参数分别为2、9、10、11(这里是十进制的)。
SV因子跟PID因子是除法,比如SV因子选1/10,在Artisan中设置200度时,发送给温控器的值是200除以1/10=2000。这个主要是适配有些温控器是带小数的(将200度显示为2000)。PID因子大概也是这个意思。目前我接触的温控器精确度都是1,所以没这个问题。

USB转RS485建议选择CH340芯片的。
进阶一(扩展蓝牙、WIFI功能)
进阶一在初阶的基础上使用蓝牙或无线代替USB转RS485的有线连接,毕竟烘豆子还要拖根线挺烦的,而且市面上的USB转RS485大部分是无隔离设计,万一485线路上搭上高压了,把电脑搞坏了得不偿失。
我这里以蓝牙方案为例。(其他的比如LoRA转485、WIFI转485、RJ45转485等,我这里就只抛转引玉了)
蓝牙方案实现的核心就是蓝牙透传串口,目前市场上有成品解决方案,目前我了解的主要有两种:
1、 CH9140芯片,蓝牙转485,这个厂商直接有提供蓝牙虚拟串口程序,Windows开箱即用;
2、 自有蓝牙芯片+CH340转485,通过蓝牙透传CH340的串口数据。这个目前我正在验证;
PC篇(Windows、Linux、Mac、树莓派)
这里以CH9140芯片方案为例吧,Windows直接使用厂商的蓝牙虚拟串口程序即可,Linux跟MAC需要通过ble-serial实现蓝牙虚拟串口,这是个github开源软件,我在这里简单说一下安装使用方案:
安装:pip install ble-seiral
使用:以ubuntu为例
ble-scan扫描蓝牙

ble-serial+MAC进行绑定。我这里是生成一个串口/tmp/imc。然后就可以直接在Artisan中设置了。

详细使用方案自行-h。然后Linux下我做了个脚本,可以直接拿去用。MAC的我还没弄,回头空了搞一下。




树莓派的PiOS是基于Linux的,应该可以直接参考Ubuntu,ble-serial是基于python的,树莓派应该是OK的。
移动篇(IOS、安卓、小程序等)
由于Artisan的发行版只有Windows、Linux、Mac、树莓派这四种,所以在IOS、安卓、小程序上就只能自行开发了,Artisan是开源的,在开发过程中应该是可以借鉴他的一些功能实现方式或者思路。
或者最基础的,类似布欧的小程序那样,做个自定义温度曲线,然后通过曲线生成基于时间线的SV参数,通过MODBUS协议将参数按时间线发送给温控器,实现基本的温度曲线控制。这里甚至还可以根据不同阶段去定义PID参数。
然后,这一块局限于我的个人能力,暂时还没有涉及。毕竟我不是搞开发出身的,只能提供个思路了。
进阶二(扩展风力控制、ET监测)
我是一个实用主义者,在我看来,风力自己根据经验在不同的烘焙阶段手动使用电位器旋钮去调整风力大小即可(比如刚投豆的时候,因为生豆含水量大密度较大,所以风力要稍微大些,随着咖啡豆的脱水变轻、一爆后进一步膨胀密度迅速变低,需要将风力逐阶段调小,我一般是投豆时差不多40%-50%风力,脱水完毕后降到30-40%,一爆后差不多稳定在20-30%)
然后ET,也就是风温,我感觉不用过于在意,ET在我看来只是让Artisan的曲线看起来更全面了,在烘豆过程中,更重要的也是唯一需要关注的其实就是BT豆温了。
当然,如果有需要的话,完全可以实际上面两个功能。
Artisan风力控制实现
前面在风力系统里有提到:“一个关键的点,调速器是进行0-5V模拟量到PWM信号转换的,那么,如果我们使用一个0-5V模拟量输出代替电位器的0-5V模拟量输出,那就可以实现在Artisan上控制风力大小了。”
这里我的实现思路就是增加一个RS485的0-5V模拟量输出设备,通过接入485总线,这样Artisan上添加风力相关的设置后就可以通过自定义的按钮或者滑动条来实现软件上的风力控制,同时,在烘豆的不同阶段,比如投豆、脱水、一爆二爆等节点,使用MODBUS命令同步控制模拟量输出不同的电压,实现根据阶段进行风力控制。
这里举例,假设RS485的0-5V模拟量输出设备地址设置为2,寄存器1负责控制0-5V输出,我们可以添加一个滑动条,使用writeSingle命令对风力进行0-100%的调整,对应使用0.05因子,匹配0-5V模拟量输出。


然后,在这个基础上还可以扩展风力10%加减的按钮之类。


Aritisan风温ET监测
ET监测的思路其实跟风力类似了,不过这个只需要读就行。
还是增加一个RS485温度监测器,增加一个K型探头放在加热盘出风口。然后通过读取RS485温度监测器,实现ET监测。
举例:RS485温度监测器地址3,寄存器0为PV值。那么将这个参数写到端口配置的输入2即可,输入2对应的是ET。


外壳
外壳我采用自行建模+3D打印的方式实现。主要分为两个部分。
机体外壳实际上是可以根据风力、火力、温控等系统不同方案选择进行调整尺寸大小,而风机+加热组件外则是核心部件,目前这个版本相对完美。
这里展示的是最近完成的ver4.0版本,尺寸比较紧凑,主体差不多W130xL200xH110(mm)。

风机+加热组件外壳
模块化设计,由5个组件构成,其中风机组件3个,加热适配组件2个。
风机组件作用是固定无刷电机+调整风道适配发热丝构造;
加热适配组件的作用是固定高速风筒加热丝+隔热密封适配;


机体外壳
由顶盖跟底壳构成,主要是用来安装风力、火力、温控等系统的相关组件。

附件
Artisan官方文档
https://artisan-scope.org/docs/
Artisan指令
https://htmlpreview.github.io/?https://github.com/artisan-roaster-scope/artisan/blob/master/doc/help_dialogs/Output_html/eventbuttons_help.html

值友2212783816
校验提示文案
真欢乐
校验提示文案
真欢乐
校验提示文案
值友2212783816
校验提示文案