查看: 127|回复: 1

[资料] Hakko T12烙铁式控制器STM32

[复制链接]

主题

好友

1万

积分

管理员

该用户从未签到

发表于 2020-6-30 14:04:49 |显示全部楼层
使用STM32制作烙铁式控制器。这次用的是图形OLED显示器。
项目中使用的东西
硬件组件
Hakko T12手柄,FX-9501  ×1
24 v电源  ×1
WSTECH DC-DC隔离变换器,30v->5v  ×1
stm32f103c8t6开发板 ×1
at24c32a  ×1
oled SPI 1.3“显×1
蜂鸣器  ×1
旋转编码器与按钮  ×1
低噪声工作放大器(mcp601, ad822或类似产品)  ×1
p-channel MOSFET irf9540  ×1
100uH电感,6A  ×1
FR107快速可恢复二极管  ×1
齐纳18v和3.3二极管  ×1
电阻0.11欧姆 功率2W  ×1
通用晶体管NPN  ×2
通用晶体管即插即用  ×1
电容器100 nF  ×4
4.75 k欧姆电阻  ×1
电容器1µF  ×1
100欧姆电阻  ×2
电阻器10 k欧姆  ×3
电阻器1 k欧姆  ×3
100 k欧姆电阻  ×1
475欧姆电阻  ×2
多回转500k转速计  ×1
2.21 k欧姆电阻  ×1
热敏电阻  ×1
软件应用和在线服务
STM32的系统工作台: Windows、Linux和OS X上的免费IDE
STM32Cube初始化代码生成器
手工工具和机器制造
烙铁(通用)
故事
2018/10/22更新。
实施新校正程序
更新算法以存储提示配置
错误修复
这是基于STM32微控制器的Hakko T12 tips烙铁控制器的第一个版本。本项目是基于atmega328单片机的焊锡控制器的改进。这次的微控制器资源,大多是闪存量,允许实现图形OLED显示。很高兴能研究STM32微控制器,我必须说制造商创造了一个伟大的产品。
该控制器的主要特点是:
PID算法用于管理所提供的电源。这使得所需的温度非常稳定。
该控制器使用环境温度(手柄内的传感器或在控制器的情况下)来校正由热电偶测量的尖端温度。
控制器支持个人校准的四个参考点的尖端,200,260,330和400摄氏度。
控制器中有一个校准程序,简化了尖端校准过程。
控制器采用高频PWM信号控制电源。控制器在默默地工作。
在控制器中实现了加速旋转编码器算法,允许快速进行修改。
温度可以显示为摄氏或华氏两度。
控制器在不活动的情况下实现自动关机程序。
HakkoT12烙铁头
Hakko T12焊点是非常方便的工具:它们的加热速度非常快,内部有一个传感器,可以保持温度非常稳定。使用这样一个神奇的工具是一件非常愉快的事情。这些针尖只需要三根电线:正极、负极和接地线。喷嘴内的加热元件与热电偶连接,从而减少所需的电线。它使电缆非常灵活,重量轻。
要使用T12技巧,您可能需要订购一个手柄。我想推荐一款FX9501。问题是连接器。要把手柄和控制器连接起来,你可以用一些航空插头替换标准连接器,这些插头可以在eBay上订购。GX12-5是一个不错的选择。FX-9501手柄有一根三线电缆。若要在手柄内安装温度传感器(热敏电阻),可能需要将电缆更换为五线一根。但这条电缆有一个缺点:它很重,所以你可以像我一样把热敏电阻放进控制器里。
连接传感器
正如我之前提到的,这个尖端使用两根电线来加热和检查温度。控制器给熨斗送去一些能量,一段时间后关掉电源,检查温度。热电偶产生非常小的电压,大约几毫伏,以便在示意图中实现对该电压运算放大器的检查。为了限制在24伏的烙铁供电期间的操作放大器上的输入电压,在示意图中实现齐纳二极管。您可以在下面的图片中看到传感器部分的原理图。
该原理图的主要组成部分是双通道操作放大器MCP602。由第一放大器在管脚1、2、3上检查铁的温度,并通过第二放大器在管脚5、6、7上检查通过烙铁的电流。这使得它可以检查提示是否连接到控制器,并在与手柄断开时启动“更改提示”过程。
传感器结构图

给熨斗供电
电源由高频(40khz) PWM信号提供给电熨斗,使控制器处于静音状态。MOSFET在开启时电阻接近零,在关闭时电阻接近无穷大。但在中间状态(当MOSFET开关),电阻变得有价值和MOSFET开始加热。这个论坛帖子详细解释了这个问题。简而言之,MOSFET在栅极有电容,需要时间来充电或放电。为了提高MOSFET的速度,三晶体管驱动器原理图是在双极晶体管上实现的。
Zener二极管(18V)用于限制MOSFET在开路时的栅极电压(Vgs),因为电源电压高于MOSFET Vgs电压的最大值。当MOSFET关闭时,二极管FR104从铁中移除功率。您可以用另一个二极管替换这个二极管,但是必须使用一个快速恢复二极管。
电感图所示为外径约1.5 cm的电动机,铜丝长20 cm。这种电感可以防止电熨斗加热时产生的电晕。
加热器示意图

构建控制器
完整的控制器原理图如下图所示。控制器建立在BluePill板上,以简化原型设计。如果您希望创建控制器的紧凑变体,可以使用纯STM32f103c8t6微控制器。从图中可以看出,DC-DC转换器是用来获得5v的运算放大器和功率的微控制器。该控制器实现了WSTECHDC-DC隔离变换器。它为操作放大器提供非常稳定的功率。
至于功放,我用的是不贵的MCP601 IC,工作正常。之前我用的是另一个运算放大器AD822,它更准确,也更贵。但是最近中国厂家有一款比较便宜的功放,噪音比较大,所以我推荐MCP601功放。正如你所看到的,它的原理图远非理想:它使用三种不同的电压:24伏的铁功率,5伏的操作放大器和3.3伏的微控制器。使用3.3 v功能的运放会更好,但要做到这一点,我们必须解决两个问题:创建新的低噪声DC-DC转换器(24->3.3)和寻找高质量的双通道运放。当然放大器应该是sop外壳,而不是dip-8。
将at24c32 EEPROM IC从Atmel中分离出来,存储控制器的烙铁头校准和配置数据。2k电阻允许与EEPROM高速通信,400kHz。实际上,为了可靠性,控制器实现了100khz的低速通信。
初始化eepm
控制器中的EEPROM应该被初始化。在启动过程中,控制器检查铁头配置是否加载到EEPROM中,以及EEPROM中是否存在其他配置信息。如果EEPROM为空或配置错误,控制器将转向初始化菜单。在这里,您可以分别初始化iron tip区域和配置区域。至少,您需要第一次初始化EEPROM,以便将提示信息写入EEPROM。Tip配置数据在源文件iron_tips中可用。你可以编辑列表。您可以向列表中添加一些技巧,也可以从现有列表中删除未使用的技巧。在大多数情况下,不必编辑列表,因为您可以使用相应的菜单从整个列表中激活最喜欢的提示。
EEPROM初始化菜单是通过主控制器菜单提供的,因此如果您想您可以删除所有校准数据的提示。
优化控制器
外部热电偶需要调整电位器。
在控制器原理图中,您可以看到调整运算放大器的电位器,以获得控制器引脚的预期温度读数。你可以使用不同的操作放大器,你可以使用不同的技巧,所以这个电位计增加了控制器的灵活性。这个电位器至少应该在您创建控制器之后进行调整。其主要思想是控制器通过ADC从热电偶读取电压,并根据其引脚上的电压得到0-4095区间内的整数数据。电压越接近3.3v,读数越接近4095。电位器应进行调整,当铁温度达到450摄氏度时,ADC读数应在4000左右。
为了简化控制器的调优过程,在控制器中实现了调优模式。此模式可从系统菜单项“调谐”中激活。当调谐模式被激活时,控制器在电熨斗上供电,并在屏幕上显示应用电源(三角形)和当前温度读数的量规。这块表的标签是“450”。当压力表到达这个标签时,铁的温度应该是450摄氏度。
旋转编码器,将提供的电源转换为电熨斗。手动调节电源,使铁温度尽可能接近450摄氏度。然后旋转电位器,将较低的量规调整到标签上。完成调优过程后,长按编码器手柄约2秒。
建议使用产生最高电压的粗端执行调优过程。例如,T12-K T12-D52。
工作模式
控制器支持多种模式:
待机模式:熨斗关闭。
主要工作方式:保持温度
升压模式:当控制器在一段时间内增加所需温度时
提示改变模式
建议校准模式
优化模式:初始设置过程
设置模式
当控制器刚刚通电时,备用模式被激活。在此模式下,烙铁完全断电,主显示器显示如下信息:
显示器左上角的预设温度(单位选择-摄氏或华氏)
显示屏右上角的“关闭”信息,表示熨斗已关机
铁的当前温度
当前提示名称
手柄温度(环境温度)
关闭烙铁时旋转编码器手柄可调节预设温度。若要接通烙铁电源,请轻按编码器手柄。控制器将切换到主模式。现在控制器将尽量使铁的温度保持在预定温度附近。当烙铁大量使用时,温度会轻微偏离要求的值。
在主模式下,消息“ON”将显示在屏幕的右上角,电源以三角形的形式显示在屏幕的右侧。
通过旋转编码器,可以改变预设的温度。“ON”信息将再次显示,直到熨斗达到新的预设温度。若要返回待机模式,请轻按编码器手柄。
如果在待机模式下尖端将从手柄中移除,控制器将切换到尖端选择模式。在此模式下,活动提示列表将显示在屏幕上。旋转编码器以选择要插入到句柄中的新提示的适当提示名称。无需推送编码器,只需选择新的提示并将提示插入手柄即可。
要进入设置模式,请在待机模式下长按编码器。在设置模式下,可以调整配置参数。
主屏幕
设置菜单
菜单上有几个菜单项。很明显,并不是所有的都在这里详细描述。您可以选择温度单位:摄氏或华氏度,设置自动关机超时或完全禁用此功能,在主提示列表中激活提示,校准当前提示并自定义PID算法参数。稍后将描述最复杂的菜单项。
提示激活
您可以更改活动提示列表来简化提示更改过程。你可能已经知道,默认列表中有91条建议。在完整的列表中向下滚动是很不方便的选择一个将会被插入到手柄中。如果你不再使用它,你可以在主列表中禁用一些提示。主提示列表在提示名称的左边有一个复选框,显示提示是否活动,并有一个标记“[!]” 如果尖端没有校准,则在尖端名称的右侧。要激活提示,请轻按编码器手柄。旋转编码器以选择另一个提示。长按编码器时,您将完成提示激活过程。
电流尖端校准
外部热电偶需要调整电位器。
当前提示可以使用“校准”菜单项进行校准。如果尖端还没有校准,“[!]”的标志将显示在主屏幕底部行的尖端名称附近。新版本的控制器软件有两种校准模式:自动校准和手动校准。
在自动校准模式下,控制器尝试猜测当前针尖内部读数的正确间隔,并要求您在几个(5-8)参考点输入实际温度。首先,轻按编码器打开电源。熨斗开始加热。当需要的温度达到时,控制器发出蜂鸣声,准备读取实际温度。通过外部热电偶检查铁温,将此温度输入控制器:旋转编码器手柄,从列表中选择真实温度,轻轻按下编码器。然后控制器继续下一个参考温度。当您输入所有8个参考点的温度或实际温度超过430摄氏度时,此过程结束。在此过程中,控制器更新针尖校准数据,并在屏幕左下角写入当前针尖温度。
自动校准:加热至参考温度

对所有参考点进行标定后,控制器将新的尖端标定数据保存到EEPROM中。如果校准保存成功,控制器会发出短的哔哔声。
自动校准:输入真实温度

自动校准程序可以建立不精确的尖端校准数据参数。为了改善针尖校准数据,可以使用手动校准程序。
在手动针尖校准中,必须猜测与参考温度相匹配的内部针尖读数。这个过程是迭代的:你从内部单元的某个预设的温度值开始(例如,由自动程序校准),控制器将尖端加热到这个预设的温度并准备就绪。然后用外部热电偶测量实际温度。如果实际温度不等于预设温度,则应增加或减少预设温度。
手动校准

显示器下方的进度条显示了预设温度与当前温度(内部单位)之间的差异。控制器始终保持尖端温度接近预设值(进度条上的垂线)。若要增加预设温度,请向右转编码器,若要降低,请向左转编码器。一个编码器“tick”对应一摄氏度。

当您猜测到参考温度点的预设温度时,请轻按编码器。返回到选择模式。在这里,您可以选择下一个或上一个参考点。校准完成后,长按编码器。
图表
完整的图表
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image016.jpg

代码
github储存库
sfrwmaker / hakko_t12_stm32
本烙铁式控制器建立在stm32单片机上——
游客,如果您要查看本帖隐藏内容请回复


回复

使用道具 举报

主题

好友

912

积分

举人

  • TA的每日心情
    开心
    前天 08:12
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2020-7-1 18:18:32 |显示全部楼层
    谢谢分享
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /5 下一条



    手机版|电路城

    GMT+8, 2020-7-12 05:25 , Processed in 0.074326 second(s), 15 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz!

    返回顶部