本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于Arduino的红外测温笔
发布时间:2021-08-10
分享到:
基于Arduino的红外测温笔
发布时间:2021-08-10
分享到:

ThermoPen 是我在 2021 年 1 月至 3 月期间进行的一个物理课程项目的结果。该项目的目标是创建可用于精确用例的便携式温度计。更具体地说,是为了检查 PCB 上的过热电子部件和一般故障排除而创建的。在我的学校,ThermoPen 是一种需求量很大的产品,因为接触电子产品的多名教师需要一个工具来快速解决学生或他们自己的项目问题。

那么这支奇怪的笔究竟是如何工作的呢?它只是粘在笔上的简单温度红外传感器吗?需要明确的是,该笔具有红外线传感器,可将物体发出的红外线转换为电信号,该电信号可以通过微控制器转换为温度。

通过这种方式,我制作了一个集成了 Atmega 328P(与 Arduino Uno/Nano 相同的控制器)的 PCB,以控制按钮和传感器的输入和输出。用最简单的表达方式,它是一个读取温度的 Ir 传感器。ThermoPen 与这个基本概念的不同之处在于它包含对用户非常有用的功能,外形小巧纤薄。

ThermoPen 特点:

  • - 显示物体温度、环境温度、最高和最低物体温度的 OLED 屏幕
  • -音频反馈
  • -按下激活按钮
  • -可充电锂离子电池电路
  • - 作为指针的激光二极管

需要部件:

  • - Arduino Uno ou Nano(Arduino As Isp)
  • - 用于打印外壳的 3D 打印机
  • -ThermoPen PCB
  • - PCB制作用放大镜
  • - 自动锡针分配器

第 1 步:项目概述和准备

在开始构建红外测温仪之前,了解它的工作原理很重要。
首先,ThermoPen 围绕定制的 PCB 构建,该 PCB 集成了类似 Arduino 的电路。它的灵感来自用于集成 Atmega328p 微控制器的 Arduino Nano 电路和用于为 ŀi-Ion 电池充电的 Adafruit Arduino Uno 扩展板电路。

当按下按钮时,电池为电路供电,微控制器内的程序开始初始化。发出开机声音。1 秒后,激光二极管点亮,屏幕打印从温度计传感器读取的实时数据。Arduino 代码还计算最低和最高温度,以及电池电压和容量。松开电源按钮将使 ThermoPen 在关闭之前工作 4-5 秒,这可以通过电容器实现。

需要明确的是,激光二极管的唯一目的是让用户了解测量温度的位置。真正的魔法是由 Melexis 制造的温度传感器 MLX0614 实现的,它使用物理原理,即物体会根据其温度发出一定量的红外光。从那里,传感器将接收到的红外波长量转换为与温度成正比的电信号,微控制器将其处理为摄氏温度。

PCB 有不同的可选 LED,可以焊接。当电池电量过低时,会有一个指示。在这种情况下,电池图标也将开始闪烁。幸运的是,笔包括一个带有锂离子电池充电器电路的微型 USB 连接器,因此无需手动为电池充电。

和每个人一样,我也会犯错,并从这些错误中吸取教训。最大限度地减少错误并最大限度地提高生产力的一种方法是制定项目每天需要完成的任务时间表。尽早开始您的计划,并清楚地知道何时应该完成产品。我在这个项目上工作了大约 2 个月。从逻辑上讲,您应该有我的不同计划,因为我为您提供了订购 PCB、购买组件和打印外壳的资源。

第 2 步:设计原理图和 PCB

正如我之前所说,原理图从 Arduino Nano 中汲取灵感,用于 Atmega328P 电路,包括其电源电路和时钟选择。为方便起见,我采用了产生较低频率的晶体,因为它会提高电池效率。Oled 屏幕、蜂鸣器、IR 传感器和激光二极管通过模拟引脚、数字引脚或 I2C 通信总线连接到微控制器。对于与锂离子电池充电和放电相关的电路,我从 Adafruit Arduino Uno 扩展板中汲取了一些用于可充电电池的重要灵感。

这是产品的链接:
https://learn.adafruit.com/adafruit-powerboost-500...

器材使用 KiCad 和一些由大型电子零件零售商 DigiKey 提供的库完成的。您将在 ThermoPen GitHub 中找到完整的 KiCad 项目。

我使用 KiCad 进行原理图设计以及 PCB 设计。对于开源项目来说,这是一款非常强大的软件,而且是免费的。

第 3 步:购物和订购电子零件

在 PCB 设计期间,我还花时间选择适合我的用例的正确电子部件。例如,我必须选择一个小包装尺寸,以便它适合在一个小外壳内。大多数电阻器和电容器的封装尺寸为 08x05。

我很幸运在学校拥有其中一些部件,例如 SMD 按钮和红外传感器。对于所有其他零件,我是从北美最大的电子零件零售商之一 Digikey 订购的。为方便起见,我制作了所需的每个组件的 Excel 列表,以及它们的价格和商店链接。

第 4 步:产品设计和 3D 渲染

现在是具有挑战性的部分:将所有内容集成到一个小而实用的容器中!

3D 设计是使用 Solidworks 完成的。

为了让我的项目进行过程更加轻松,我对我知道尺寸的所有部件进行了建模,例如电池、USB 连接器、PCB、二极管激光器和红外传感器。

我决定选择方形,这样我就可以轻松地将电线绕过电池或其他组件。因此,电池很好地夹在外壳和 PCB 中。对于按钮,我做了一个巧妙的设计,它集成了一个铝制按钮,该按钮被挤压在塑料外壳上的 PCB 按钮之间。

激光二极管正好位于红外传感器之间,以实现最大精度。当产品在手中时,激光隐藏在笔尖后面。这是一种更优雅的激光集成方式,因为在用户看来激光来自红外传感器,但事实并非如此。

在笔的主要一侧,我将 Oled 屏幕放在按钮旁边,将 ThermoPen 品牌放在另一端。一侧有两个充电指示灯孔,用于指示电池何时充电和充满。

如您所见,笔的背面可以通过一个滑盖进入内部。它通过塑料支架固定在原位。组装在这一侧完成,也用于更换电池。

第 5 步:3D 打印零件并加工铝制按钮

对于我设计的案例的每次迭代,我都将其进行 3D 打印以查看哪些有效以及哪些需要重新设计。在最终原型之前打印了大约 6 个不同的案例。

我喜欢这一步,因为我可以与我的 3D 设计进行物理交互。也是在这一点上,我开始操纵进入 ThermoPen 组成的每个组件。然后我会改进我的 CAD 设计,这样零件就可以很好地装入外壳中。例如,我为激光二极管设计的孔因为太小而被重新设计;手持激光二极管帮助我修改了外壳设计。

我使用的 3D 打印机是 Prusa i3 MK3,它在 ABS 塑料方面做得很好。我从未真正遇到过打印失败的情况,因为打印机每次都能成功打印每个部分。我在原型上看到的唯一问题是,打印机很难准确打印笔的锋利边缘,因为其中一个侧面需要颠倒打印。我在打印机上添加了塑料支架选项,但我会得到相同的结果。如图所示,塑料一侧很光滑,但另一侧很粗糙。对于未来的生产,我将花时间抛光塑料,并可能为它们涂漆以获得更时尚的外观。

我没有从产品上拆下按钮的任何图片,但加工过程非常简单。我制作了一个模式来表示 2D 中圆形按钮的形状。

第 6 步:焊接 PCB

该项目最大的挑战之一是焊接每个部件都不会出现任何故障,因为 PCB 包含 50 多个需要不同焊接技术和设备的部件。

首先,我设计了 PCB,因此需要回流焊炉的所有组件都位于同一侧。Atmaga 32P 以及将电池的 3.7V 电压转换为微控制器的 5V 电压的升降压电路就是这种情况。为了更好地应用锡,我使用了一个电子放大镜和一个装满锡的定时空气分配器。

升降压芯片给我带来了一些严重的麻烦,因为它的所有焊盘都在封装类型下方。结果,我的第一个焊接的PCB因为这个芯片短路而被烧毁。它给了我一些时间来发现问题,这使我重新考虑了电线的质量。幸运的是,我通过焊接一个新的 PCB 解决了这个问题,从现在开始,电路在通电时似乎反应正常。

您会注意到 PCB 上有许多连接器孔。这是位于 PCB 外部的不同组件的电线将在组装步骤中焊接的地方。

自此原型以来,某些零件和 PCB 封装发生了变化,例如电感封装,因为我只有一次机会在项目截止日期内开发和制造 PCB。从那以后,我做了各种小调整,还添加了一个二极管,防止电池反向。

第 7 步:微控制器的编程

ThermoPen GitHub 项目中提供了 Arduino 代码文件。

我不会详细解释我的代码中的内容,因为它是一个相当简单的代码。

它的一般内容是:

  • - 用于 Oled 屏幕、显示图形和红外传感器的多个库。
  • - 执行启动声音并初始化激光二极管和红外传感器的设置序列。
  • - 阅读和打印电池寿命。
  • - 打印物体温度、环境温度、最低和最高温度。

为了对 Atmega 328p 进行编程,我将 ThermoPen 视为另一个 Arduino Uno/Nano。使用我们的 PCB 和另一个称为主机的 Arduino 之间的 SPI 连接,我可以使用一种称为“Arduino as ISP”的方法对我的焊接芯片进行编程。Arduino ISP 是一个在系统编程器,用于对 AVR 微控制器进行编程。有关 Arduino ISP 编程的更多信息,请访问https://www.arduino.cc/en/Guide/ArduinoISP

对于电池图标,我使用了臭名昭著的 Microsoft Paint 来设计适合低分辨率屏幕的非常基本的图标。对于一定的电池电压范围,会打印与电池电压对应的图标。但是,我仍然认为电池图标是“工作和进步”,因为我没有验证哪个电池百分比对应哪个电池电压。需要说明的是,锂离子电池有特定的电池电压放电曲线,并不是一条直线!

此外,我尝试包括睡眠模式,以便 TermoPen 在激活时间过长时进入睡眠状态以防止电池放电,但我没有成功使其工作。目前,它在没有此功能的情况下运行良好,我很满意。

第 8 步:组装 ThermoPen

正如标题所暗示的那样,现在是将所有内容组装在一起的时候了。

我首先将 Oled 显示器连接到 PCB。我还为电池接触垫和微型 USB 连接器板添加了电线。我稍后会将它们焊接到他们的电线上,因为我之前需要在机箱中安装电线和 PCB。

当所有电线都正确定位后,我将 PCB 放置到位。外壳集成了塑料夹,可将 PCB 很好地固定到位。

激光二极管需要在红外传感器就位后从外部放置,因为内部的孔太小。从那里,我们可以将激光二极管焊接到板上。就我而言,我在将二极管安装到外壳之前错误地焊接了二极管,因此在不切断电线的情况下不可能放置它。我最终切割它们,重新焊接它们,并添加了热缩管。

对于这个原型,我放置了一个负极图标,因为我在接线中犯了一个错误。在最终设计中,我在外壳上加入了一个 (-) 符号,它会指示您需要放置电池 (+) 侧的位置。

第 9 步:验证并体验其功能

恭喜,我们刚刚完成了我们自己的 ThermoPen 的构建!

现在是验证产品性能的步骤,从充电到温度感应。

首先,我通过 USB 将 ThermoPen 连接到 PC,以便我可以验证它是否为电池充电。侧面应出现橙色 LED,表示电池正在充电。验证功能的另一种方法是使用万用表读取进入电池的电流。请注意,随着电池充电,当电池电压达到 4.2 V 左右时,电流会降低到 0 A。

然后,我们可以在上面的视频中看到我通过将 ThermoPen 温度与热电偶进行比较来测试温度测量。请注意,传感器是从一个旧的学生项目中恢复过来的,我不知道它的状况如何。结果对于低温非常好,对于高温可以接受。

这些结果仅取决于传感器,因为制造商说它们在工厂进行了校准。

我还测试了超温警报,当超过温度阈值(设置为 120°C)时,蜂鸣器会发出声音。

我仍然对这些结果非常满意,因为我知道 ThermoPen 中的所有系统和组件都按预期工作!

我还必须说,在轻度使用 4 个月后,thermoPen 仍然可以正常工作,从那时起我就没有用完电量!检测到的唯一缺陷是电池在外壳内轻微移动,因此我在外壳上添加了塑料支撑以防止这种烦恼。

总而言之,考虑到我从一开始的所有期望都已实现并成功融入产品中,我为 ThermoPen 的最终结果感到自豪。在这个项目中,我从产品设计中学到了很多东西,它给了我丰富的经验,这肯定会影响我的学习和职业道路。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论