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

基于 DiGiSpark 的手持式热电偶温度计

发布时间:2021-10-23
分享到:

基于 DiGiSpark 的手持式热电偶温度计

发布时间:2021-10-23
分享到:

本方案是基于 DiGiSpark 的手持式热电偶温度计。

此手持式温度计使用K 型热电偶。根据所使用的热电偶,您可以在 0°C 至 1023.75°C 之间读取(大多数热电偶的读数为 0 到 400°C)。您无法读取负温度。

使用的微控制器是Digistump Digispark上的 ATtiny85。热电偶通过MAX6675放大器连接。读数显示在 0.91" (128x32) OLED 显示器上,使用Tiny4KOLED 库使用大字体。整个装置由连接在 Digispark 的 Vin 引脚上的 9V 电池供电。Digispark 板上有一个 5V 稳压器,其 5V 输出用于为放大器和 OLED 显示屏供电。

即使 OLED 控制器在 3.3V 下工作,也可以安全地以 5V 为显示器供电。那些 OLEDS 板上有一个电压调节器,可降至 3.3V。SDA 和 SCL 线通过上拉电阻在显示器上连接到 3.3V:请记住,I2C 仅将线拉到 GND,当必须发送高逻辑电平时,设备将 gpio 置于高阻抗,因此逻辑电平由上拉电阻。
热电偶用于读取临界环境中的高温,因此如果您需要准确和精确的读数,可能热电偶不适合您,您应该考虑使用 PT100 代替耦合到 MAX31865 或类似设备。我设计了一个外壳在 OnShape 中放置所有组件,使温度计便于携带。您必须 3D 打印组成外壳的 3 个部分:

盒子的角落有 4 个孔:您将在这里放置 M3 插件。在盒子的下部有 3 个外壳(从上到下看图片):Digistump、MAX6675 分线板和带有夹子的 9V 电池。以 0.1 打印将获得良好的贴合度,而 0.2 板将保持牢固连接。在正面部分,您必须使用孔放置一个拨动开关。长槽将用于穿过热电偶电缆。盖子有 0.91" OLED 显示器的外壳:

首先,您必须对 Digispark 进行编程。在准备好使用 Digispark 的 Arduino IDE 后,您还必须安装一些库:

  • Adafruit 的 TinyWireM
  • Tiny4kOLED by Stephen Denne (datacute)
  • Adafruit 的 MAX6675

对 Digispark 进行编程后,您可以焊接电缆:由于外壳中的空间有限,因此在进行连接时必须小心谨慎:

一般规则是:将电路板放入插槽中,测量每根电缆的尺寸,然后切割并出售。连接非常简单(反正看看手绘原理图):

  • 9V 电池:(+) => Digispark Vin,(-) => GND(拨动开关会破坏那 2 根电线中的一根)
  • MAX6675 至 Digispark:SCK=>P4,CS=>P3,SO=>P1,VCC=>5V,GND=>GND
  • 0.91" OLED 到 Digispark:SCL=>P2,SDA=>P0,VCC=>5V,GND=>GND

不要使电缆太长,否则盖子将无法正确关闭。热电偶将是最后要连接的东西。

焊接完所有电缆后,您可以拧紧热电偶并使用小型 3D 打印件关闭插槽:

使用 4 个短的 M3 螺钉拧紧盖子,您就可以享用新的温度计了。打开时,显示屏将需要几秒钟才能亮起。MAX6675 的分辨率为四分之一级,因此在小数部分您将始终读取.00 /.25 /.50 /.75:这是正常的。我已经刷新了一秒钟,但也许可以降低。

此方案所用到的一些代码

如果您对此项目有任何想法、意见或问题,请在下方留言。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论