首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何消除热电偶放大噪声

如何消除热电偶放大噪声
EN

Stack Overflow用户
提问于 2014-12-27 07:01:39
回答 2查看 2.8K关注 0票数 1

场景:

我正在用Arduino试验热电偶放大器(SN-6675)。在我加入MAX6675库后,Arduino可以测量室温。然而,arduino测量的温度有两个问题,

( 1)偏移量与“福氏温度计”的比较

2)有吨的噪声,并保持波动后,采取平均每5个温度样本。

在室温下测到了28.9C,arduino得到了19.75~45.75C。

问题:有什么方法/滤波器来降低被测噪声,并给出稳定的输出?

代码附后,以供参考。

代码语言:javascript
复制
#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);

}
EN

回答 2

Stack Overflow用户

发布于 2014-12-27 07:16:43

有哪种方法/滤波器可以降低被测噪声,并给出稳定的输出?

卡尔曼滤波几乎是这方面的标准方法:

卡尔曼滤波,又称线性二次估计(LQE),是一种利用随时间变化观测到的一系列测量值,包括噪声(随机变化)和其他不精确性的算法,它对未知变量的估计往往比单次测量更精确。

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

过滤器会给出温度的估计值和温度变化的估计值(后者给出了滤波器对当前估计值的信心程度)。

票数 1
EN

Stack Overflow用户

发布于 2015-01-16 01:05:18

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

您可以随意使用所取样本的数量来平衡延迟和稳定性之间的折衷。你可能想从10个样本开始,然后从那里开始工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27665150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档