亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

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

PCB56242069 ? 來源:PCB56242069 ? 作者:PCB56242069 ? 2025-05-23 18:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

簡介

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

一、硬件簡介

1.MAX31865模塊

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

15位分辨率

支持自動誤差補償

可配置參考電阻(Rref)

2.PT100鉑電阻

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

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

chaijie_default.png

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

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

chaijie_default.png

(適用于-200℃~850℃)

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

二、硬件準備

1.所需材料

零知標準板(STM32F103RBT6)

MAX31865模塊(支持三線制PT100)

三線制PT100傳感器

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

杜邦線若干

2.MAX31865跳線修改

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

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

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

修改后示意圖:

wKgZPGgwQR6ASmv-ABF6nB3olgM059.png

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

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

3.硬件接線

MAX31865與零知標準板連接:

MAX31865引腳 零知標準板引腳 功能說明
VCC 5V 電源正極
GND GND 電源地
CLK D13 SPI時鐘
SDO D12 SPI數(shù)據(jù)輸出
SDI D11 SPI數(shù)據(jù)輸入
CS D10 片選信號

OLED與零知標準板連接:

OLED引腳 零知標準板引腳 功能說明
VCC 3V3 電源正極
GND GND 電源地
SDA A4 I2C數(shù)據(jù)線
SCL A5 I2C時鐘線

硬件連接圖:

wKgZO2gwQWGAeEobAAlNVh3EXIw640.png

實物連接圖:

wKgZO2gwQXyAAwkOABNME1lApZk010.png

三、代碼解析

1. 庫文件引入

?#include 
#include           // OLED顯示驅(qū)動庫
#include  // MAX31865驅(qū)動庫

2. 初始化OLED和MAX31865

?// OLED初始化(I2C模式)
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE);

// MAX31865參數(shù)配置
#define RREF 430.0   // 參考電阻值(根據(jù)模塊實際Rref電阻填寫)
#define RTD 100.0    // PT100標稱阻值
Adafruit_MAX31865 max = Adafruit_MAX31865(10, 11, 12, 13); // CS=10, SDI=11, SDO=12, CLK=13

3. 主程序邏輯

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

?void setup() {
  Serial.begin(115200);
  u8g2.begin();                // 啟動OLED
  max.begin(MAX31865_3WIRE);   // 三線制模式
}

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

?
void loop() {
  uint16_t rtd = max.readRTD();      // 讀取原始RTD值
  float ratio = rtd / 32768.0;       // 計算電阻比例(RTD阻值 = RREF × ratio)
  float temp = max.temperature(RTD, RREF); // 轉(zhuǎn)換為溫度值

  // OLED顯示溫度、電阻及狀態(tài)
  u8g2.clearBuffer();
  u8g2.setCursor(0, 0);
  u8g2.print("MAX31865 PT100 Sensor");
  u8g2.setCursor(0, 15);
  u8g2.print("Temp: "); u8g2.print(temp); u8g2.print(" C");
  u8g2.setCursor(0, 30);
  u8g2.print("Resistance: "); u8g2.print(RREF * ratio); u8g2.print(" Ω");

  // 錯誤檢測處理
  uint8_t fault = max.readFault();
  if (fault) {
    u8g2.setCursor(0, 45);
    u8g2.print("FAULT DETECTED:");
    if (fault & MAX31865_FAULT_HIGHTHRESH) u8g2.print("RTD High");
    if (fault & MAX31865_FAULT_LOWTHRESH) u8g2.print("RTD Low");
    max.clearFault();
  } else {
    u8g2.setCursor(0, 45);
    u8g2.print("Status: OK");
  }
  u8g2.sendBuffer();

  // 串口打印數(shù)據(jù)(調(diào)試用)
  Serial.print("RTD Raw: "); Serial.print(rtd);
  Serial.print(", Temp: "); Serial.print(temp);
  Serial.print(" C, Resistance: "); Serial.print(RREF * ratio);
  Serial.println(" Ω");
  if (fault) Serial.println("Fault Code: 0x" + String(fault, HEX));

  delay(1000);
}

?

四、運行結(jié)果

將完整代碼上傳到零知開源平臺 ,完整工程如下:

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

1.OLED顯示內(nèi)容

wKgZO2gwQgaAeZAWABcHbIWSYe8134.png

第1行:標題 "MAX31865 PT100 Sensor"

第2行:實時溫度(如 "Temp: 25.3 C")

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

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

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

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

wKgZO2gwQieALz1bAAQ2R8aKvik370.png

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

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

Resistance:根據(jù)公式

chaijie_default.png

計算得出。

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

4.演示視頻

【STM32F1驅(qū)動MAX31865讀取三線PT100溫度傳感器】 https://www.bilibili.com/video/BV1Q9J4zfEHn/?share_source=copy_web&vd_source=75d3b293c1933aa8dc6757ac429e12da

五、常見問題

1.OLED無顯示

檢查A4/A5接線是否接觸不良。

確認OLED的I2C地址是否匹配(默認0x3C)。

2.溫度讀數(shù)異常

檢查MAX31865的RREF電阻值是否與代碼中#define RREF一致。

確認PT100接線正確(三線制需連接RTD+、RTD-、F+)。

3.持續(xù)報錯

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

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

審核編輯 黃宇

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

    關注

    48

    文章

    3082

    瀏覽量

    162163
  • MAX31865
    +關注

    關注

    1

    文章

    9

    瀏覽量

    9779
  • stm32f1
    +關注

    關注

    1

    文章

    60

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

    MAX31865 是 RTD 數(shù)字轉(zhuǎn)換,內(nèi)置 15 位模/數(shù)轉(zhuǎn)換(ADC)、輸入保護、數(shù)字控制、SPI 兼容接口以及相關的控制邏輯電路。
    的頭像 發(fā)表于 10-14 17:17 ?1.1w次閱讀
    <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><b class='flag-5'>溫度</b>數(shù)據(jù)

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

    摘要:本項目基于STM32F407VET6增強板驅(qū)動SHT41高精度溫濕度傳感器,實現(xiàn)±0.2℃溫度
    的頭像 發(fā)表于 07-09 18:53 ?789次閱讀
    <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溫濕度<b class='flag-5'>傳感器</b>完整教程

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

    本教程詳細介紹了增強板(STM32F407VET6)通過MAX31865模塊讀取三線
    的頭像 發(fā)表于 06-06 09:27 ?1631次閱讀
    <b class='flag-5'>零</b><b class='flag-5'>知</b><b class='flag-5'>開源</b>——<b class='flag-5'>STM32F</b>4<b class='flag-5'>驅(qū)動</b><b class='flag-5'>MAX31865</b>實現(xiàn)<b class='flag-5'>PT100</b>高精度測溫

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

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

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

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

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

    使用Callendar-Van Dusen方程計算。 4.演示視頻STM32F1驅(qū)動MAX31865讀取三線
    發(fā)表于 05-23 18:27

    max31865測溫跳變大

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

    RK3562開發(fā)板使用SPI掛載RTD溫度傳感器

    MAX31865數(shù)字式RTD溫度傳感器。開發(fā)者可以根據(jù)讀取到的ADC原始值,開發(fā)自己的應用來對應當前測量的溫度。????????
    發(fā)表于 04-15 15:45

    ADS1247使用三線PT100,如何判定PT100是否接入?

    ADS1247使用三線PT100的時候,我發(fā)現(xiàn)一個問題,就是不接PT100的話,仍然有溫度顯示,這個溫度可能是固定不變的,也可能是隨機跳
    發(fā)表于 01-24 07:34

    PT100溫度采集模塊性能特點

    ,基于PT100鉑電阻的阻值隨溫度變化的特性。PT100是一種由鉑制成的電阻溫度傳感器,其名稱中的“10
    的頭像 發(fā)表于 01-17 16:04 ?1103次閱讀

    PT100溫度采集模塊

    PT100溫度采集模塊,作為現(xiàn)代工業(yè)自動化和遠程監(jiān)控系統(tǒng)中的重要組成部分,作為一種高精度、穩(wěn)定性強的溫度傳感器,在工業(yè)自動化、環(huán)境監(jiān)測以及遠程監(jiān)控系統(tǒng)等領域中發(fā)揮著至關重要的作用。 一
    的頭像 發(fā)表于 01-15 16:26 ?1205次閱讀

    ADS1120能否測量三線制NTC溫度

    請教各位:ADS1120能否測量三線制NTC溫度?我知道可以測PT100,手冊中說可應用于電阻式溫度檢測RTD,請問是否包括NTC?
    發(fā)表于 12-25 08:28

    ADS1220用于三線PT100測溫,溫度波動較大是什么原因?qū)е碌模?/a>

    最近開發(fā)產(chǎn)品,用了TI的ADS1220作為三線PT100溫度采樣,電路圖和PCB布局如下,程序里的參考電壓設置在1.65V,但是五塊電路板布局一模一樣,元器件參數(shù)和程序也一模一樣,用同一個
    發(fā)表于 12-23 07:17

    ADS1220用于三線PT100溫度采樣,溫度變化緩慢的原因?怎么解決?

    最近開發(fā)產(chǎn)品,用了TI的ADS1220作為三線PT100溫度采樣,電路圖和PCB布局如下,程序里的參考電壓設置在1.65V,但是如果當前環(huán)溫是20℃的話,用手捏一下PT100,
    發(fā)表于 12-20 06:07

    ADS1120接的PT100三線,校準應該如何做?

    使用ADS1120,接的PT100三線,想問下這個的校準應該如何做。查詢有資料說兩的可以在PT100短接,三線的是不是
    發(fā)表于 11-28 07:07