Skip to main content

Grove - 1-Wire 热电偶放大器(MAX31850K)

Grove - 1-Wire 热电偶放大器 (MAX31850K) 是一款具有14位分辨率和冷端补偿功能的热电偶数字转换器。该模块设计用于与K型热电偶配合使用。热电偶的测量范围比热敏电阻大得多。例如,我们网站上的这款K型热电偶的测量范围为-50℃至+600℃。

该模块基于MAX31850K芯片,集成了放大器、ADC和64位ROM。得益于64位ROM,每个设备都有唯一的64位序列号,这使得多个单元可以在同一条1-Wire总线上工作。因此,使用一个微控制器(主设备)来监控分布在大面积区域内的多个热电偶的温度变得非常简单。

再次强调,该模块无法单独工作,必须与K型热电偶配合使用,如果您没有热电偶,可以考虑我们商城中的热电偶温度传感器K型-1M

版本

产品版本变更发布日期
Grove - 1-Wire 热电偶放大器 (MAX31850K)初始版本2018年8月

特性

  • 集成冷端补偿
  • 宽转换范围:允许读取-270℃至+1768℃的温度
  • 14位,0.25℃分辨率
  • 仅适用于K型热电偶,不能与其他类型的热电偶配合使用
  • 检测热电偶对GND或VDD的短路
  • 检测热电偶开路
caution

虽然该模块可以转换-270℃至+1768℃的温度,但温度测量范围也受到您使用的热电偶的限制。

规格参数

项目数值
工作电压3.3V/5V
温度分辨率14位
温度精度± 2℃
工作温度范围-40℃至+125℃
允许读取范围-270℃至+1768℃
存储温度范围-65℃至+150℃
输入接口DIP母座蓝色-2针
输出接口1-Wire总线
尺寸长:40mm 宽:20mm 高:18mm
重量4.8g
包装尺寸长:140mm 宽:90mm 高:20mm
毛重11g

应用

  • 医疗
  • 家电
  • 工业
  • HVAC(供暖、通风和空调)

硬件概述

引脚图

原理图

输入接口

由于涉及的信号电平很小,我们采取了很多措施来过滤噪声。

  • 1--L1,L2 我们使用长达1米的热电偶。这样的长导线可以被视为天线,会接收空间电场干扰并产生高频噪声。因此我们使用两个电感来过滤高频噪声。

  • 2--C1 芯片制造商强烈建议添加一个10nF陶瓷表面贴装差分电容器,放置在T+和T-引脚之间,以过滤热电偶线路上的噪声。

  • 3--D1 我们使用SZNUP2105LT3G双向电压抑制器来保护此模块免受ESD(静电放电)的影响。

双向电平转换电路

这是一个典型的双向电平转换电路,用于连接两个不同的电压部分。左侧部分,MAX31850K的DQ引脚使用3.3V,如果Arduino使用5V,则需要此电路。在上面的原理图中,Q6是N沟道MOSFET 2N7002,充当双向开关。为了更好地理解这部分,您可以参考AN10441

note

在本节中,我们只向您展示了部分原理图,完整文档请参考资源

装配图

tip

请将热电偶的红色导线插入Grove - 1-Wire热电偶放大器(MAX31850K)的**T+端口,将白色导线插入T-端口。如果您没有使用我们商城的k型热电偶,颜色可能不同,请与卖家确认+ -**极性。

支持的平台

ArduinoRaspberry Pi
caution

上面提到的支持平台是/是模块软件或理论兼容性的指示。在大多数情况下,我们只为Arduino平台提供软件库或代码示例。不可能为所有可能的MCU平台提供软件库/演示代码。因此,用户必须编写自己的软件库。

开始使用

与 Arduino 一起使用

硬件

所需材料

Seeeduino V4.2Base ShieldGrove - 1-Wire 热电偶放大器 x 2
立即购买立即购买立即购买
k型热电偶 x 2Grove - I2C Hub
立即购买立即购买
note

1- 我们提供了两个软件示例,简单多个,上述材料要求是针对多个示例的。如果您想测试简单示例,那么 Grove - I2C Hub 不是必需的,只需要一个 Grove - 1-Wire 热电偶放大器就足够了。

2- 我们在这里使用 I2C Hub 不是作为 I2C 接口,而只是作为一个普通的一对二转换接口。

  • 步骤 1. 将 k 型热电偶的红线插入 T+,将 k 型热电偶的浅白线插入 T-

  • 步骤 2. 将 Grove - I2C Hub 连接到 Base Shield 的 D3 端口。

  • 步骤 3. 将 Grove - 1-Wire 热电偶放大器 A 和 B 插入 Grove - I2C Hub。

  • 步骤 4. 将 Grove - Base Shield 插入 Seeeduino。

  • 步骤 5. 通过 USB 线将 Seeeduino 连接到 PC。

note

如果我们没有 Grove Base Shield,我们也可以直接将此模块连接到 Seeeduino,如下所示。

SeeeduinoGrove 线缆Grove - I2C HubGrove - 1-Wire 热电偶放大器
GND黑色GGND
5V红色VVCC
NC白色SDANC
D3黄色SCLDQOUT

软件

caution

如果这是您第一次使用 Arduino,我们强烈建议您在开始之前先查看 Arduino 入门指南

  • 步骤 1. 从 Github 下载 Seeed_MAX31850K 库。

  • 步骤 2. 参考 如何安装库 为 Arduino 安装库。

  • 步骤 3. 解压库文件夹,按照路径找到并打开 Multiple.ino ---> xxxx\Arduino\libraries\Seeed_MAX31850K-master\examples\Multiple。xxxx 是您安装 Arduino 的路径。

此文件夹 \Arduino\libraries\Seeed_MAX31850K-master\examples 包含两个示例:Multiple.inoSimple.ino

Simple.ino--单一模式(一个主机和一个从机)

Multiple.ino--多个模式(一个主机和多个从机,基于 ROM 寻址-单总线搜索算法)

或者,您可以直接点击代码块右上角的图标 将以下代码复制到 Arduino IDE 中的新草图中。

#include <OneWire.h>
#include <DallasTemperature.h>

// Data wire is plugged into port 2 on the Arduino
#define ONE_WIRE_BUS 3
#define TEMP_RESOLUTION 9

#define MAX_NUM_OF_DEVICE 10

// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);

// arrays to hold device addresses
DeviceAddress Device_add[MAX_NUM_OF_DEVICE];
DeviceAddress insideThermometer, outsideThermometer;

void setup(void)
{
// start serial port
Serial.begin(115200);
Serial.println("Dallas Temperature IC Control Library Demo");

// Start up the library
sensors.begin();

// locate devices on the bus
Serial.print("Locating devices...");
Serial.print("Found ");
Serial.print(sensors.getDeviceCount(), DEC);
Serial.println(" devices.");

Serial.print("Parasite power is: ");
if (sensors.isParasitePowerMode()) Serial.println("ON");
else Serial.println("OFF");

for(int i=0;i<sensors.getDeviceCount();i++)
{
if(!sensors.getAddress(Device_add[i],i))
{
Serial.println("Find device error!!");
}
else
{
Serial.print("Device [");
Serial.print(i);
Serial.print("] addr =");
printAddress(Device_add[i]);
}
Serial.println(" ");
}

}

// function to print a device address
void printAddress(DeviceAddress deviceAddress)
{
for (uint8_t i = 0; i < 8; i++)
{
// zero pad the address if necessary
if (deviceAddress[i] < 16) Serial.print("0");
Serial.print(deviceAddress[i], HEX);
}
}

// function to print the temperature for a device
void printTemperature(DeviceAddress deviceAddress)
{
float tempC = sensors.getTempC(deviceAddress);
Serial.print("Temp C: ");
Serial.print(tempC);
Serial.print(" Temp F: ");
Serial.print(DallasTemperature::toFahrenheit(tempC));
}

// function to print a device's resolution
void printResolution(DeviceAddress deviceAddress)
{
Serial.print("Resolution: ");
Serial.print(sensors.getResolution(deviceAddress));
Serial.println();
}

// main function to print information about a device
void printData(DeviceAddress deviceAddress)
{
Serial.print("Device Address: ");
printAddress(deviceAddress);
Serial.print(" ");
printTemperature(deviceAddress);
Serial.println();
}

void loop(void)
{
// call sensors.requestTemperatures() to issue a global temperature
// request to all devices on the bus
Serial.print("Requesting temperatures...");
sensors.requestTemperatures();
Serial.println("DONE");

for(int i=0;i<sensors.getDeviceCount();i++)
{
printData(Device_add[i]);
}

}
  • 步骤 4. 上传演示代码。如果您不知道如何上传代码,请查看如何上传代码

  • 步骤 5. 点击工具-> 串口监视器打开Arduino IDE的串口监视器。或者同时按下++ctrl+shift+m++键。然后设置波特率为115200

tip

如果一切正常,您将得到结果。

DONE
Device Address: 3B23211800ing temperatures... 77.00
Requesting temperatures...DONE
Device Address: 3B2321180000005C Temp C: 25.00 Temp F: 77.00
Requesting temperatures...Dallas Temperature IC Control Library Demo
Locating devices...Found 2 devices.
Parasite power is: OFF
Device [0] addr =3B4C965D06D80C98
Device [1] addr =3B2321180000005C
Requesting temperatures...DONE
Device Address: 3B4C965D06D80C98 Temp C: 26.25 Temp F: 79.25
Device Address: 3B2321180000005C Temp C: 25.25 Temp F: 77.45
Requesting temperatures...DONE
Device Address: 3B4C965D06D80C98 Temp C: 26.25 Temp F: 79.25
Device Address: 3B2321180000005C Temp C: 25.00 Temp F: 77.00
Requesting temperatures...DONE
Device Address: 3B4C965D06D80C98 Temp C: 26.25 Temp F: 79.25
Device Address: 3B2321180000005C Temp C: 25.25 Temp F: 77.45
Requesting temperatures...DONE
Device Address: 3B4C965D06D80C98 Temp C: 26.00 Temp F: 78.80
Device Address: 3B2321180000005C Temp C: 25.25 Temp F: 77.45
Requesting temperatures...DONE
Device Address: 3B4C965D06D80C98 Temp C: 26.00 Temp F: 78.80
Device Address: 3B2321180000005C Temp C: 25.25 Temp F: 77.45

原理图在线查看器

资源

技术支持与产品讨论

可升级为工业传感器

通过SenseCAP S2110控制器S2100数据记录器,您可以轻松将Grove转换为LoRaWAN®传感器。Seeed不仅帮助您进行原型设计,还为您提供了使用SenseCAP系列坚固工业传感器扩展项目的可能性。

IP66外壳、蓝牙配置、与全球LoRaWAN®网络的兼容性、内置19 Ah电池以及APP的强大支持使SenseCAP S210x成为工业应用的最佳选择。该系列包括土壤湿度、空气温湿度、光照强度、CO2、EC传感器以及8合1气象站。为您下一个成功的工业项目尝试最新的SenseCAP S210x。

Loading Comments...