亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

带有趋势、最高和最低温度的室外温度计

组件和用品

Arduino UNO
× 1
精密温度传感器 TS-NTC-103,10 kΩ
× 1
Adafruit 标准 LCD - 16x2 蓝底白字
× 1
RobotGeek 电源 12VDC 2.0A - 美国
× 1
电容 100 nF
× 2
电容 470 µF
× 1
金属膜电阻 10k 容差 0,1%
× 1
按钮(通常关闭)
× 1
旋转电位器(通用)
× 1
电阻 10k ohm
× 1

关于这个项目

简介

我制作这个温度计是为了好玩,也是为了获得一些编写 Arduino 软件和使用 LCD 显示器的经验。在研究它时,我决定添加一些功能。测量的最高温度、最低温度和显示温度趋势的向上或向下箭头。按钮用于将显示的最低和最高温度重置为当前温度。

如何构建它

构建它相当简单。按照时间表连接组件。 Arduino Uno 的 5V 输出必须连接到所有 +5V 连接(箭头)。同时互连所有接地引脚。温度计由连接到 Arduino 的 12 V DC 外部电源供电。下载草图并将其上传到您的 Arduino,您就完成了。

你需要什么:

  • Arduino Uno
  • 液晶显示器 1602A
  • 12 伏直流电源
  • B+B Thermo Technik TS-NTC-103 (10kΩ)
  • 金属膜电阻器 10kΩ,0.1% 容差
  • 电位计 10kΩ 线性
  • 电阻 820 Ω(公差不重要,10%、5% 或更好就可以了)
  • 电阻 10 kΩ(公差不重要)
  • 电容器 0,1 uF (=100nF) 16V(2 个)
  • Elco 470 uF 16V
  • 按钮(通常关闭)
  • 外壳,如果你想在里面构建它

传感器,高精度NTC

我使用的 NTC 是 10 kΩ 的 B+B Thermo Technik 精密温度传感器。该传感器在 25 °C 时的电阻容差为 ±0.5% TS-NTC 系列的 NTC 温度传感器具有 -60 ... +150 °C 的宽测量范围,因此适用于以下应用:现在正在使用昂贵的铂电阻。基本电阻和B值均在±0.5%的容差范围内,因此该组件无需温度校准即可用于许多应用,也无需重新调整即可更换。因此,通过简单的电阻测量,可以在 25°C 下达到 ±0.12 K 的精度。在 -60 ...+85 °C 的温度范围内,最大误差约为 ±0.5K。您可以使用任何其他高精度 NTC,但随后您必须更改草图中的 Steinhart-Hart 系数以适合该 NTC(请参阅 Steinhart-Hart 近似值。)

显然,对于高精度温度测量,与 NTC 串联的分压器的另一个电阻器也需要是低容差类型。我使用了 10kΩ 的金属膜电阻器,容差 0.1%,0.6W,温度系数 25 ppm。容差为 0.5% 或更低的任何其他电阻器都可以。

NTC 电缆拾取噪声

NTC 被放置在房子外面。在我的情况下,有几米的电缆。为了避免房屋中其他电气“嘈杂”设备的干扰,我在 Arduino Uno(引脚 14)的模拟温度输入端与地之间放置了一个 0.1 uF 的去耦电容器。在那之后,示波器在 14 号引脚上仍然显示出一些噪音。噪音是由1602液晶显示器的时钟引起的。在 VDD 和 LCD 显示器的 Vss 引脚之间放置一个 0.1 uF 的去耦电容器后,它就消失了。此电容应直接焊接在 LCD PC 板上,导线尽量短(最多 1 厘米)。

之后示波器显示 14 针上的信号是干净的。为了避免开关电源的噪声和纹波,我在 Arduino 的 5V 和接地之间放置了 470 uF 的 elco

NTC的放置

为了避免错误的温度测量,NTC 及其外壳可能永远不会暴露在阳光下。所以它应该放在阴凉处,最好放在房子的北侧(如果你在南半球,在南侧)甚至远离房子。不紧贴墙壁,但至少在墙外几毫米,因为墙壁可能比外面的空气热几度。最好是后面没有暖气的墙,比如车库墙。

关于软件。

LiquidCrystal 库包含在 1602 LCD 命令中。声明了几个常量和变量。请阅读 de Sketch 中的评论以获取更多信息。 A、B 和 C 是我使用的 NTC 的 Steinhart - Hart 系数。对于其他 NTC,您必须更改这些系数。第 17 行的整数间隔定义了两次连续测量之间的时间,即 3 秒。为了使温度测量顺利进行,从 30 次连续测量中计算出运行平均值(第 22 行的 numReadings)。因此,显示的温度始终是最近 90 秒温度的平均值。为了计算运行平均值,使用了一个数组:readings[numReadings] 或在本例中为 readings[30] 在第 21 行。每个读数都是 0 到 1023 之间的整数。

Steinhart-Hart 近似

NTC(负温度系数)是具有温度相关电阻的电阻器。如果温度升高,电阻会降低。不幸的是,电阻和温度之间的关系不是线性关系。但是 R-T 曲线可以通过一个公式来近似。在实践中使用了两个近似公式。所谓的 Beta 公式和 Steinhart-Hart 公式。由于后一个给出了最好的近似值,这就是我使用的那个。制造商通常会为我们提供两种近似值。然而,TS-NTC-103 可以在 -60...+150 摄氏度的宽温度范围内使用。由于我们在大约小得多的范围内使用它。 -10...+30 摄氏度,如果我们专门为这个范围计算系数,我们会得到更好的近似值。我在我们的工作范围(-10、0 和 +20 摄氏度)中使用了制造商规格中的三个电阻-温度对。使用斯坦福研究系统的在线计算器计算系数很简单。在下图中,您可以看到 Beta 模型近似值和 Steinhart-Hart 近似值的数据(红点)。在右下角,您会看到电阻值为 10k 时,使用 Steinhart-Hart 近似值的近似温度为 25,0035 摄氏度,非常好,而使用 Beta 近似值的近似温度为 25,7716 摄氏度,实际上不太好(NTC 在 25 摄氏度时为 10k)

NTC计算器链接

代码

阿杜诺
1.4 版解决了函数声明 PrintPG() 中的约定问题,该问题导致离线编辑器中的编译器错误,但 Web 编辑器中没有问题 1.3 版包括趋势箭头的滞后

示意图


制造工艺

  1. 带二维码、RFID 和温度验证的访问控制
  2. 使用 1 线 DS18B20 传感器和 Raspberry Pi 测量温度
  3. 使用 DS18B20 读取温度 |树莓派 2
  4. 使用 RASPBERRY PI 测量温度
  5. Python 和 Raspberry Pi 温度传感器
  6. Raspberry Pi 上的简易温度和湿度
  7. 使用 Raspberry Pi 监测温度
  8. DIY:HomeBrew 的温度监控和调节
  9. 具有 Gnuplot 图像输出和电子邮件警报功能的 Raspberry Pi 控制室温监控
  10. Raspberry Pi 温度和光传感器
  11. 使用 Raspberry Pi 和 Python 构建机器人
  12. 超酷迷你温度计