站内搜索
发作品签到
专业版

红龙加热台 - 支持恒温、回流焊

工程标签

4.1w
0
0
87

简介

这是一个成本低,高颜值,带回流焊温度曲线的加热台来焊接pcb。 主控采用STC8H1K08,支持中文多级菜单、恒温模式(可设定温度)、回流焊模式(各个阶段温度和时间可设置)、PID参数可调。

简介:这是一个成本低,高颜值,带回流焊温度曲线的加热台来焊接pcb。 主控采用STC8H1K08,支持中文多级菜单、恒温模式(可设定温度)、回流焊模式(各个阶段温度和时间可设置)、PID参数可调。
星火计划2025
复刻成本:100

开源协议

CC BY-NC-SA 4.0

(未经作者授权,禁止转载)
创建时间:2025-07-28 12:11:43更新时间:2025-11-05 10:49:27

描述

简介视频

0.jpg

更新日志

  • 2025-11-5:

    • 固件v1.3.3:
      • 修复回流结束以后的花屏问题
  • 2025-10-20:

    • 固件v1.3.2:
      • 优化显示效率,操作不再卡顿
      • 回流焊模式中,回流阶段的可以设置时间,冷却阶段可以设置目标温度,温度到达后,风扇停止。
    • 电路:将电源板电容 C39 位置上移一点,避免和控制板排针可能的冲突。老版本中,排针和这个电容几乎贴着了,焊接的时候可以将电容往左边偏一些来处理。
  • 2025-10-8:

    • 固件:v1.2.2 调整风扇开启阈值,当前温度高于目标温度6度才开启风扇。
    • 电路:修复电源板的一个BUG,优化电源板PCB布线。
  • 2025-9-8: v1.2.1 修复偶尔温度读取出现错误的问题。

  • 2025-9-1: v1.2.0 添加温度校准功能,如果制作出来以后,温度偏差较大,那么可以在50度和200度分别设置温度校准偏移。

  • 2025-8-26: 一些朋友购买的旋转编码器的方向是反的,屏幕反色,坐标偏移有差异。新版本固件1.1.0添加设置,可以设置编码器方向,屏幕反色控制,调整显示坐标位置。

  • 2025-8-18: 为了适配某些旋转编码器,所以将控制板离外壳距离增大,但是这样会导致控制板和电源板风扇接口冲突。现将控制板下方两个xh2.54接口全部上移一些距离来解决这个问题。

项目由来

今年 3 月我入坑了电子设计,前面做了串口下载模块,STC8H 的核心板,手持吸尘器的充电模块,ATX 电源转接板,这是我第 5 个 PCB。

电烙铁和热风枪都是购买的成品,拆机学习以后,觉得加热台可以试试自己做,于是有了这个项目。看它是红色,发出高温,所以我给它取名:红龙加热台,来自于《博德之门》里那条著名的红龙 firkraag。

新手上路,请多指教。

以下是一些制作前的考量:

  • 我希望制作一个成本低,颜值高,带回流焊温度曲线的加热台来焊接 pcb
  • 使用堆叠式的结构,我希望高度尽量低,这样使用的时候更加方便。
  • 发热板下方的线和风扇尽量放到外壳内,减少外露,这样更加安全。
  • 软件功能丰富,各种参数都可以配置,这样可以尽量的适应各种场景。
  • 这个项目本着务实的原则,保证使用需求满足的前提下尽量控制成本,不使用任何无意义的噱头功能。
  • 手上还有最后一片 STC8H1K08,想清仓以后转战 ARM 平台
  • 8K 的 flash 空间着实很紧张,不过想来只是一个温控而已,凭借我30年的代码经验,只需要将程序尽可能的优化,那么“国之重器”STC8H1K08 足以完成这样的项目。

开源协议

硬件部分:依据“CC-BY-NC-SA 4.0”知识共享许可协议,请勿用于商用,转载时请标明出处。

软件部分:https://github.com/elisaday/firkraag-reflow-hot-plate
这部分用的是 MIT 协议,这应该是最宽松的协议了,代码大家随意处置。

项目介绍

12V 版本

由于是新手,一开始我并不敢轻易尝试 220V 市电的版本。

我选择了用废旧 ATX 电源供电的方案,MCH 陶瓷加热片我买了一个 1 欧姆的版本,理论功率 144 瓦,心想 PD 供电的加热台 65w 的版本(我当时也没留意到尺寸是 50 x 50mm 的)都没问题,我这个 144 瓦,算上 MCH 温度上升后电阻变大的影响,再怎么也应该可以的。于是 CNC 下单了一个 80 x 80 x 3.5mm 的铝板。

可是我忽略了一个很重要的问题,就是铝板的热容量

由于杂牌 ATX 电源本身也不咋滴,加热到 150 摄氏度以上,随着 MCH 的电阻增大,实测功率只有不到 80W,而 80 x 80 x 3.5mm 的铝板,这几十瓦的功率是远远不够的。

失败以后,我写了一个简单的脚本来计算热容量。为了方便使用,我又用 AI 帮我套了一个 webUI。

计算脚本用到了两个样本数据,来自于:https://oshwhub.com/cqlcp/adjustable-timing-constant-temperature-heating-table
非常感谢大佬分享。

1753772301566.png

在 12V 版本中,温度 180 摄氏度的时候,1 欧姆的 MCH 的电阻上升到了 1.6 欧姆。按照这个比例,那么 220V 版本中,一个 230 欧姆的 MCH 加热片,功率为 130w,两片就是 260w。

从 30 摄氏度温升至 200 摄氏度,121 秒,基本满足需求。

结构部分

这部分需要考虑隔热,阻止热量往下传导的问题

  • 顶部是 CNC 加工的铝板,目前 100 x 100mm 的尺寸,在嘉立创的话,大约 10 元即可包邮到家,非常划算。
  • 铝板内嵌两条 15 x 70mm 阻值 230 欧姆的 MCH 陶瓷加热片,额定功率 420W
  • 铝板和加长螺母之间是靠鸡米螺丝固定,让加长螺母中心保持空心,减少热量传递。
  • 铝板通过 M3 加长螺母(304 不锈钢材质)和一字码(301 或者 304 不锈钢材质),倒挂固定在铝合金外壳上面。螺母和铝合金外壳没有直接接触。倒挂结构参考了:https://oshwhub.com/coolouba/hui-liu-han-jia-re-tai 非常感谢作者开源。

电路部分

电源板

  • 可控硅控制电路部分,我是从找羊加热台项目里抄过来的。不过由于这个项目分成了两个 PCB(电源板和控制板),我单独调试电源板的时候,发现可控硅有误导通的问题,所以我在可控硅光耦那里的 MOS 管添加了下拉电阻。
  • 同时我在光耦 LED 的电流路径上串联了一个红色 LED 来表示加热状态。

  • 风扇我采用了 12V 0.38A 6 寸的散热风扇,实测 12V 下,可以跑 0.3A。启动电流超过 0.6A,所以 220V 转 12V 模块,我使用了一个 10W 的型号。
  • 12V 出来经过 DC-DC 降为 5V,再经过 LDO 降为 3.3V

控制板

这部分主要包含:

  • EC11 旋转编码器
  • 返回按钮
  • LCD 屏幕接口
  • 单片机下载电路
  • PT1000 采样电路。

这个测量电路我是从 B 站唐老师的视频里学的,他有一期讲 NTC 测温电路的时候讲了这个比例法。这个方法的巧妙之处在于,最后测量出的电压值跟给定的这个+3.3V 无关了,这样的话,+3.3V 即使有波动也不影响测量。注意 R41 需要使用高精度低温飘的电阻,R29 作为分压电阻取值 1.2K,为了让测量出的值在 2.5V 范围内,留有一定余量的前提下,让取值范围尽量大。

软件部分

由于我基本也没写过 51 单片机的程序,对这个单片机也不熟悉,所以用一个 HAL 库对我来说是比较友好的。于是一开始我使用了 libfw_stc8 这个库,感谢作者开源。

完成核心的代码模块的功能测试以后,我开始着手优化代码尺寸,于是 libfw_stc8 就可以退下了(过河拆桥)。最终只保留了很小一部分 libfw_stc8 的宏定义,类型定义。

功能

目前完成的功能地图如下:

  • 回流焊模式

    • 设置回流焊各阶段参数
    • 启动回流焊
  • 恒温模式

    • 设定温度
    • 启动恒温
  • 设置

    • PID 各个参数(比例,积分,微分,延迟)的设置
  • 主菜单按返回按钮强制开启风扇

尺寸优化

最终,8192 字节的空间,大约使用了 8077 个字节,还剩几十个字节;分页伪栈用了 245 字节。

不过代码还有一些可以优化的地方,完全可以将 Flash 空间占用进一步降低到 7800 - 7900 字节左右。这样的话,其实还可以再改善一下用户体验,有兴趣的朋友可以自行尝试。

优化大致说一下:

  • HAL 库导致的额外开销。这部分直接讲 HAL 库中的函数去掉,宏全部展开改成最简洁的形式。
  • 字体数据放到 EEPROM 中去

这两部分做了以后,可以节省非常多的空间。不过对于这个项目,需要完成的控制内容,这些优化还远远不够。
栈空间和程序存储空间占用都还需要优化。

对于那个 256 字节的伪栈来说,主要需要关注静态变量和函数定义
程序空间主要关注实现的逻辑是否简洁:

  • 检查所有的静态变量,能用 8 位的就不用 16 位。这个很容易。
  • 函数能不要返回值就不要返回值。
  • 函数参数尽可能少,类型尽可能小。
  • 对于逻辑的编写,尽可能的朴素,不要绕圈子阻碍编译器优化。
  • 代码尽量贴近于编译器生成的代码,例如:合理必要的使用 goto 来提示编译器优化。
  • 为了代码的简洁,交互设计可能需要做出一定的让步。

温控 PID 算法

第一次实现温控 PID 算法,我特意去看了原理讲解,原理还是比较简单的,类似的算法在游戏开发的运动控制中很常见。不过实现以后发现温度读取总是有延迟,我估计是我的 PT1000 安装得不好的原因。

于是,我在算法中添加了一个延迟参数。目的是通过历史温升率去预估未来的温升情况,进而根据预估值来进行误差估计。

固件下载参数

复刻注意事项

  • 这是 220V 市电项目,复刻时请注意安全,做好绝缘和防护措施。
  • 通电前检查所有焊接点,确保没有虚焊和短路。确保外壳、发热铝板等所有能触碰的地方都正确的接地。
  • 整个项目成本大致分三部分,外壳没券65(有券0),PCB元件估算30(尽量用券凑单),其他部分淘宝PDD购买,大致60-70左右(尽量用红包、券)
  • 如果有不一样的想法,欢迎加入 QQ 讨论群进行讨论。有可能你的想法更好,这样这个项目就可以改进了;也有可能你的想法有坑,别人有可能可以帮你避坑。

由于硬件项目经验几乎为零,难免有不专业的地方,请多包涵。不管是硬件还是软件,如果有不妥的地方,请在评论区留言指正,我会在后续版本中改进。

最后,非常感谢嘉立创对本项目的大力支持,为大家提供了一个非常棒的平台;同时也感谢所有的开源作者,正是因为你们的无私开源,才让我这样一个门外汉可以快速的学习和实践硬件项目。

QQ 讨论群:1058528742(已满)二群:939162278

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
eeprom-1.3.2.bin
265
2
firmware-1.3.3.hex
200
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航