【问题标题】:Arduino: How to eliminate thermocouple amplier noiseArduino:如何消除热电偶放大器噪声
【发布时间】:2015-02-24 05:44:33
【问题描述】:

场景:
我正在用 Arduino DUE 试验热电偶放大器 (SN-6675)。 在我包含 MAX6675 库后,Arduino 可以测量室温。 但是,从 arduino 测量的 Temp 有两个问题,

1) 偏移量与“Fluke 温度计”的比较
2)噪音大,每5个温度样本取平均值后一直波动。

例如,Fluke 温度计在室温下得到 28.9C,arduino 得到 19.75~45.75C

问题:有什么方法/过滤器可以降低测量噪声,并提供稳定的输出?

附上代码供参考。

#include <MAX6675.h>

//TCamp Int
int CS = 7;              // CS pin on MAX6675
int SO = 8;              // SO pin of MAX6675
int SCKpin = 6;             // SCK pin of MAX6675
int units = 1;            // Units to readout temp (0 = ˚F, 1 = ˚C)
float error = 0.0;        // Temperature compensation error
float tmp = 0.0;  // Temperature output variable

//checking
int no = 0;

MAX6675 temp0(CS,SO,SCKpin,units,error); // Initialize the MAX6675 Library for our chip

void setup() {
  Serial.begin(9600); // initialize serial communications at 9600 bps:
}

void loop() {

  no= no + 1;
  tmp = temp0.read_temp(5); // Read the temp 5 times and return the average value to the var

  Serial.print(tmp);
  Serial.print("\t");
  Serial.println(no);

  delay(1000);

}

【问题讨论】:

  • 平均 5 次读数的变化幅度如此之大,您肯定遇到了电气问题。您可以解决的问题不多。检查热电偶是否连接不良或焊缝破损。更有可能是电源噪声。 5V 电源可能非常嘈杂。向 Vcc 添加一些过滤可能会有所改善。在 Arduino 堆栈交换上询问硬件相关问题。

标签: filter arduino noise


【解决方案1】:

有什么方法/滤波器可以降低测量的噪声,并提供稳定的输出?

Kalman filter 几乎是 的标准方法:

卡尔曼滤波,也称为线性二次估计 (LQE),是一种算法,它使用随着时间的推移观察到的一系列测量值,包含噪声(随机变化)和其他不准确性,并生成对未知变量的估计,这些估计往往更比仅基于单一测量的那些更精确。

如果您的背景不是数学,请不要被您遇到的公式吓到。在像你这样的单变量情况下,过滤器非常容易实现,我相信谷歌搜索会找到一些实现。

过滤器将为您提供温度估计值以及温度的方差估计值(后者让您了解过滤器对其当前估计值的置信度)。

【讨论】:

  • 卡尔曼滤波对于像这样简单的问题来说完全是矫枉过正,它要求您了解噪声的特性并拥有系统的物理模型。我想它并没有给你带来什么比一个简单的移动平均线或decay averaging 和手动调整平均时间所能实现的更多。但正如另一条评论所提到的,我会先检查电气连接。
  • @BasSwinckels:你提议的 (EWMA) 等同于我提议的 (Kalman filter),正如在 Durbin and Koopman 中详细讨论的那样。见What is the difference between Kalman filter and moving average?
  • 对于一个简单的热系统,最终结果可能是相同的。我只是不会用卡尔曼滤波器吓到初学者。我了解状态估计器,并且对实验系统进行了相当多的快速和肮脏的信号分析,但到目前为止发现卡尔曼滤波器对我的需求来说太复杂了。
【解决方案2】:

您可能希望采用更简单的平均算法。这不像低通算法那样优雅,但可能适合您的情况。 这些算法在网络上很丰富

您可以随意调整采样的数量,以平衡延迟和稳定性之间的折衷。您可能希望从 10 个样本开始,然后从那里开始工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-13
    • 1970-01-01
    • 2017-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多