91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

零知開源——STM32F4驅(qū)動MAX31865實(shí)現(xiàn)PT100高精度測溫

零知實(shí)驗(yàn)室 ? 來源:PCB56242069 ? 作者:PCB56242069 ? 2025-06-06 09:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

? 簡介

本教程基于主控芯片為STM32F407VET6的零知增強(qiáng)板,演示如何通過MAX31865模塊讀取三線制PT100鉑電阻溫度,并通過I2C OLED實(shí)時顯示溫度值和電阻值。重點(diǎn)包含硬件接線配置、三線制PT100的特殊跳線修改,以及完整的代碼解析。文中還將解析PT100的溫度計算原理,并展示實(shí)際運(yùn)行效果。

一、硬件簡介

1.MAX31865模塊

MAX31865是專用于RTD(電阻溫度檢測器)的信號調(diào)理芯片,支持2/3/4線制PT100/PT1000傳感器。其內(nèi)置ADC可將鉑電阻的阻值變化轉(zhuǎn)換為數(shù)字信號,并通過SPI接口與主控通信。關(guān)鍵特性:

15位分辨率

支持自動誤差補(bǔ)償

可配置參考電阻(Rref)

2.PT100鉑電阻

PT100是一種基于鉑材料的溫度傳感器,0℃時阻值為100Ω,溫度系數(shù)為0.385Ω/℃。其阻值與溫度的關(guān)系可通過以下方式計算:

線性近似公式(適用于0~100℃):

wKgZO2hCQxKAKjlXAAAOpK_F-k4043.png

其中R0=100Ω,α=0.00385,T為溫度(℃)。

精確計算(使用Callendar-Van Dusen方程):

wKgZO2hCQyKASeHLAAAgGjuQ6C4235.png

(適用于-200℃~850℃)

MAX31865的溫度計算
芯片內(nèi)部通過測量RTD電阻與參考電阻(Rref)的比例,結(jié)合查表法或公式計算實(shí)際溫度值。本代碼中調(diào)用max.temperature()函數(shù)即自動完成此過程。

二、硬件準(zhǔn)備

1.所需材料

零知增強(qiáng)板(STM32F407VET6)

MAX31865模塊(支持三線制PT100)

三線制PT100傳感器

0.96寸I2C OLED顯示屏(SSD1306驅(qū)動)

杜邦線若干

2.PT100特性曲線

溫度(℃) | 0 | 100 | 200
電阻(Ω) | 100 | 138.5 | 175.8

3.MAX31865跳線修改

三線制PT100必須修改模塊電路板跳線!

找到MAX31865模塊上的Rref電阻附近的兩個跳線(標(biāo)記為2和4的焊盤)。

切斷Rref正上方左側(cè)的跳線(即斷開焊盤2的連接,保留焊盤3并短接),模塊使用三線制模式。采用三線PT100,其接法如下

修改后示意圖:

wKgZPGgwQR6ASmv-ABF6nB3olgM059.png

接線時,請根據(jù)線纜顏色進(jìn)行正確連接:對于兩紅一藍(lán)的線纜,將藍(lán)線接至RTD-,紅線分別接至RTD+和F+。請參照圖示,確保將觸點(diǎn)(2/3 Wire)焊接牢固。若遇到兩藍(lán)一紅的線纜,則需反向連接。

重要提示:若未斷開24號連接,通電測量時PT100的電阻值將僅為正常值的一半。未通電時測量值約為120Ω,但通電后可能降至60Ω左右。這是由于24號連接之間存在接地,且存在并聯(lián)電阻,導(dǎo)致整體電阻值降低。

4.接線配置表

MAX31865與零知標(biāo)準(zhǔn)板連接:

MAX31865引腳 零知增強(qiáng)板引腳 功能說明
VCC 3V3 電源正極
GND GND 電源地
CLK 52 SPI時鐘
SDO 50 數(shù)據(jù)輸出
SDI 51 數(shù)據(jù)輸入
CS 53 片選信號

OLED與零知標(biāo)準(zhǔn)板連接:

OLED引腳 零知標(biāo)準(zhǔn)板引腳 功能說明
VCC 3V3 電源正極
GND GND 電源地
SDA SDA/20 I2C數(shù)據(jù)線
SCL SCL/21 I2C時鐘線

硬件連接圖:

wKgZO2g0QOCAHlLGAAZhBCs62Rc413.png

硬件實(shí)物圖:

wKgZO2g0QLuACnw-ABUDGuCIEB0207.png

三、軟件實(shí)現(xiàn)

1.核心庫說明

#include 
#include 
#include 
#include 
#include     //OLED顯示驅(qū)動庫
#include    //MAX31865溫度傳感器庫文件

2.硬件初始化

// SSD1306 OLED 顯示屏初始化
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

// MAX31865 初始化
#define RREF 430.0
#define RTD 100.0
Adafruit_MAX31865 max1 = Adafruit_MAX31865(53);//使用硬件SPI,如果是軟件SPI則使用: (53,51,50,52)

3. 主程序邏輯

setup()函數(shù),
初始化串口、OLED和MAX31865,設(shè)置三線制模式:

void setup() {
  Serial.begin(115200);

  // Initialize SSD1306 display
  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    Serial.println(F("SSD1306 allocation failed"));
    for(;;); // Don't proceed, loop forever
  }
  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(0,0);
  display.display();

  // Initialize MAX31865
  max1.begin(MAX31865_3WIRE);
}

loop()函數(shù),
循環(huán)讀取溫度并顯示:

void loop() {
  uint16_t rtd = max1.readRTD();
  float ratio = rtd;
  ratio /= 32768;
  float temp = max1.temperature(RTD, RREF);

  // Prepare display buffer
  display.clearDisplay();
  
  // Display temperature and resistance
  display.setCursor(0, 0);
  display.print(F("MAX31865 PT100 Sensor"));
  
  display.setCursor(0, 15);
  display.print(F("Temp: "));
  display.print(temp);
  display.print(F(" C"));
  
  display.setCursor(0, 30);
  display.print(F("Resistance: "));
  display.print(RREF * ratio);
  display.print(F(" "));
  display.print("Om"); // Omega symbol

  // Check error status
  uint8_t fault = max1.readFault();
  if(fault) {
    display.setCursor(0, 45);
    display.print(F("FAULT DETECTED:"));
    
    if(fault & MAX31865_FAULT_HIGHTHRESH) {
      display.setCursor(0, 55);
      display.print(F("RTD_high"));
    }
    if(fault & MAX31865_FAULT_LOWTHRESH) {
      display.setCursor(0, 55);
      display.print(F("RTD_low"));
    }
    
    max1.clearFault();
  } else {
    display.setCursor(0, 45);
    display.print(F("Status: OK"));
  }

  // Serial output for debugging
  Serial.print(F("RTD value: ")); Serial.println(rtd);
  Serial.print(F("Temperature: ")); Serial.print(temp);
  Serial.println(F(" C"));
  
  // Check and print any faults
  if (fault) {
    Serial.print(F("Fault 0x")); Serial.println(fault, HEX);
    if (fault & MAX31865_FAULT_HIGHTHRESH) {
      Serial.println(F("RTD high threshold"));
    }
    if (fault & MAX31865_FAULT_LOWTHRESH) {
      Serial.println(F("RTD low threshold"));
    }
    max1.clearFault();
  }

  display.display();
  delay(1000);
}

四、運(yùn)行效果

1.OLED顯示正常狀態(tài)

wKgZO2g0Q1GAazqbABO8gRH6fV458.jpegwKgZO2g0QM2AeFDAABO8gRH6fV4325.png

第1行:標(biāo)題 "MAX31865 PT100 Sensor"

第2行:實(shí)時溫度(如 "Temp: 30.3 C")

第3行:鉑電阻阻值(如 "Resistance: 112.89Ω")

第4~5行:狀態(tài)信息(正常顯示 "Status: OK",異常顯示具體錯誤)

2.串口輸出內(nèi)容

打開零知開源平臺的串口監(jiān)視器(波特率115200),將看到以下格式數(shù)據(jù)和檢測到的故障碼:

wKgZPGg0Q1GALtR8AARttKAeIKI047.pngwKgZO2g0QVuAZHfrAARttKAeIKI864.png

3.數(shù)據(jù)關(guān)聯(lián)說明

RTD Raw值:MAX31865直接讀取的16位ADC原始數(shù)據(jù)(范圍0~32768)。

Resistance:根據(jù)公式

wKgZPGhCQ1WAJQyBAAAXKKFnTUg086.png

計算得出。

Temperature:調(diào)用庫函數(shù)自動轉(zhuǎn)換的溫度值,內(nèi)部使用Callendar-Van Dusen方程計算。

4.演示視頻

https://live.csdn.net/v/478784?spm=1001.2014.3001.5501

零知增強(qiáng)板驅(qū)動MAX31865讀取三線PT100溫度傳感器

5.完整工程獲?。?/strong>

通過網(wǎng)盤分享的文件:F4_MAX31865_PT100.zip
鏈接: https://pan.baidu.com/s/1eH20AzfXBWHDDwlJ15GRAw?pwd=x6na 提取碼: x6na

注意事項:

長距離傳輸時建議使用屏蔽雙絞線

定期使用無水酒精清潔PT100探頭

避免在強(qiáng)電磁干擾環(huán)境下安裝傳感器

五、問題排查指南

常見異常處理

顯示白屏

檢查I2C地址是否為0x3C

確認(rèn)Wire.begin()是否執(zhí)行

溫度值-245℃

驗(yàn)證begin()參數(shù)是否為MAX31865_3WIRE

測量RTD對地阻抗(正常應(yīng)>10MΩ)

持續(xù)報錯

檢查MAX31865的24焊盤跳線是否已切斷左側(cè)焊盤、2/3 Wire焊盤和43焊盤焊錫短接。

萬用表測量PT100阻值是否正常(0℃時約100Ω,室溫30℃時約120Ω)。

校準(zhǔn)建議

冰點(diǎn)校準(zhǔn):將PT100置于0℃環(huán)境,調(diào)整RREF使顯示0±0.3℃

滿量程校準(zhǔn):100℃沸水環(huán)境,微調(diào)RTD參數(shù)

線性校準(zhǔn):使用標(biāo)準(zhǔn)溫度源進(jìn)行三點(diǎn)校正

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • RTD
    RTD
    +關(guān)注

    關(guān)注

    1

    文章

    162

    瀏覽量

    29264
  • 測溫
    +關(guān)注

    關(guān)注

    1

    文章

    271

    瀏覽量

    32935
  • STM32F4
    +關(guān)注

    關(guān)注

    3

    文章

    204

    瀏覽量

    30124
  • MAX31865
    +關(guān)注

    關(guān)注

    1

    文章

    9

    瀏覽量

    9825
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    Lesminer LES30-PT100-RS485 PT100 溫度采集模塊:工業(yè)寬溫高精度測溫的硬核之選

    的 Lesminer LES30-PT100-RS485 PT100 溫度采集模塊 ,以 - 200℃~850℃超寬測溫量程、±0.3℃高精度、1~16 路靈活通道配置為核心優(yōu)勢,搭配
    的頭像 發(fā)表于 02-27 11:43 ?171次閱讀

    工業(yè)測溫PT100還是PT1000?

    電機(jī)過熱是工業(yè)現(xiàn)場設(shè)備失效的主因之一。面對PT100PT1000兩種主流熱電阻探頭,究竟該如何選擇?本文為您解析其中的關(guān)鍵考量。工業(yè)電機(jī)過熱保護(hù):PT100/PT1000
    的頭像 發(fā)表于 01-21 11:39 ?789次閱讀
    工業(yè)<b class='flag-5'>測溫</b>選<b class='flag-5'>PT100</b>還是<b class='flag-5'>PT</b>1000?

    STM32F407ZGT6驅(qū)動MAX31865獲取PT100溫度數(shù)據(jù)

    MAX31865 是 RTD 數(shù)字轉(zhuǎn)換器,內(nèi)置 15 位模/數(shù)轉(zhuǎn)換器(ADC)、輸入保護(hù)、數(shù)字控制器、SPI 兼容接口以及相關(guān)的控制邏輯電路。
    的頭像 發(fā)表于 10-14 17:17 ?10.9w次閱讀
    <b class='flag-5'>STM32F</b>407ZGT6<b class='flag-5'>驅(qū)動</b><b class='flag-5'>MAX31865</b>獲取<b class='flag-5'>PT100</b>溫度數(shù)據(jù)

    開源——STM32F407VET6驅(qū)動SHT41溫濕度傳感器完整教程

    目基于STM32F407VET6增強(qiáng)板,實(shí)現(xiàn)SHT41高精度溫濕度傳感器的驅(qū)動和數(shù)據(jù)采集。S
    發(fā)表于 07-10 12:01

    開源——STM32F407VET6驅(qū)動SHT41溫濕度傳感器完整教程

    摘要:本項目基于STM32F407VET6增強(qiáng)板驅(qū)動SHT41高精度溫濕度傳感器,實(shí)現(xiàn)±0.
    的頭像 發(fā)表于 07-09 18:53 ?1538次閱讀
    <b class='flag-5'>零</b><b class='flag-5'>知</b><b class='flag-5'>開源</b>——<b class='flag-5'>STM32F</b>407VET6<b class='flag-5'>驅(qū)動</b>SHT41溫濕度傳感器完整教程

    開源——STM32F4實(shí)現(xiàn)ILI9486顯示屏UI界面系列教程(三):記事本功能實(shí)現(xiàn)

    功能。 ? 一、硬件連接(同電子書教程)硬件連接方式與電子書閱讀器完全一致,請參考系列教程(一)的硬件連接部分。顯示屏直接插入增強(qiáng)板專用接口,無需額外連線。系列教程直達(dá):
    發(fā)表于 06-27 09:51

    開源——STM32F4實(shí)現(xiàn)ILI9486顯示屏UI界面系列教程(二):日歷功能實(shí)現(xiàn)

    本教程詳細(xì)介紹了基于STM32F4和ILI9486觸摸屏的日歷應(yīng)用開發(fā),涵蓋硬件連接、軟件實(shí)現(xiàn)IDE配置。核心功能包括月份視圖展示、滑動切換和日期標(biāo)記,通過LVGL庫
    的頭像 發(fā)表于 06-25 17:34 ?744次閱讀
    <b class='flag-5'>零</b><b class='flag-5'>知</b><b class='flag-5'>開源</b>——<b class='flag-5'>STM32F4</b><b class='flag-5'>實(shí)現(xiàn)</b>ILI9486顯示屏UI界面系列教程(二):日歷功能<b class='flag-5'>實(shí)現(xiàn)</b>

    STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊

    電子發(fā)燒友網(wǎng)站提供《STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊.pdf》資料
    發(fā)表于 06-06 17:06 ?17次下載

    開源——STM32F4驅(qū)動MAX31865實(shí)現(xiàn)PT100高精度測溫

    材料增強(qiáng)板(STM32F407VET6) MAX31865模塊(支持三線制PT100) 三線制PT1
    發(fā)表于 05-26 18:52

    開源——STM32F4驅(qū)動MAX31865實(shí)現(xiàn)PT100高精度測溫

    STM32F
    PCB56242069
    發(fā)布于 :2025年05月26日 18:25:17

    開源——STM32F1驅(qū)動MAX31865讀取三線PT100溫度傳感器

    簡介本教程基于標(biāo)準(zhǔn)板(主控芯片STM32F103RBT6),演示如何通過MAX31865模塊讀取三線制PT100鉑電阻溫度,并通過I2C
    發(fā)表于 05-23 18:27

    開源——STM32F1驅(qū)動MAX31865讀取三線PT100溫度傳感器

    本教程詳細(xì)介紹了如何使用標(biāo)準(zhǔn)板(STM32F103RBT6)通過MAX31865模塊讀取三線制PT100鉑電阻溫度,并通過I2C OLE
    的頭像 發(fā)表于 05-23 18:05 ?2616次閱讀
    <b class='flag-5'>零</b><b class='flag-5'>知</b><b class='flag-5'>開源</b>——<b class='flag-5'>STM32F</b>1<b class='flag-5'>驅(qū)動</b><b class='flag-5'>MAX31865</b>讀取三線<b class='flag-5'>PT100</b>溫度傳感器

    PT100溫度采集模塊:數(shù)字濾波、線阻修正

    PT100溫度采集模塊是一種基于鉑電阻(Pt100)的高精度溫度檢測裝置,憑借其穩(wěn)定性、抗干擾能力和寬溫度范圍(-200℃~+850℃),廣泛應(yīng)用于需要精確溫度監(jiān)測與控制的場景。 一、產(chǎn)品參數(shù) 1.
    的頭像 發(fā)表于 05-16 15:06 ?1088次閱讀

    pt100熱電阻采集模塊:0.01℃精度,10HZ高速率

    ,0℃時電阻為100Ω,測溫范圍廣(-200℃~+850℃)。采集模塊通過精密電路測量其微小電阻變化,轉(zhuǎn)換為標(biāo)準(zhǔn)電信號輸出。 二、技術(shù)特性 - 測量精度高精度24位AD轉(zhuǎn)換,默認(rèn)采樣
    的頭像 發(fā)表于 05-06 16:41 ?1296次閱讀

    max31865測溫跳變大

    pt100max31865測室溫跳變比較大,會從23.04跳到23.47,23.75反復(fù)跳變超過了0.5的誤差范圍,在VDD和GND之間加上0.1和10的濾波電容也不行,該怎么解決
    發(fā)表于 04-30 23:34