女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

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

PCB56242069 ? 來源:PCB56242069 ? 作者:PCB56242069 ? 2025-05-23 18:05 ? 次閱讀

簡介

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

一、硬件簡介

1.MAX31865模塊

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

15位分辨率

支持自動誤差補償

可配置參考電阻(Rref)

2.PT100鉑電阻

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

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

chaijie_default.png

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

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

chaijie_default.png

(適用于-200℃~850℃)

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

二、硬件準備

1.所需材料

零知標準板(STM32F103RBT6)

MAX31865模塊(支持三線制PT100)

三線制PT100傳感器

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

杜邦線若干

2.MAX31865跳線修改

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

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

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

修改后示意圖:

wKgZPGgwQR6ASmv-ABF6nB3olgM059.png

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

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

3.硬件接線

MAX31865與零知標準板連接:

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

OLED與零知標準板連接:

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

硬件連接圖:

wKgZO2gwQWGAeEobAAlNVh3EXIw640.png

實物連接圖:

wKgZO2gwQXyAAwkOABNME1lApZk010.png

三、代碼解析

1. 庫文件引入

?#include 
#include           // OLED顯示驅動庫
#include  // MAX31865驅動庫

2. 初始化OLED和MAX31865

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

// MAX31865參數配置
#define RREF 430.0   // 參考電阻值(根據模塊實際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()函數,
初始化串口、OLED和MAX31865,設置三線制模式:

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

loop()函數,
循環讀取溫度并顯示:

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

  // OLED顯示溫度、電阻及狀態
  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();

  // 串口打印數據(調試用)
  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);
}

?

四、運行結果

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

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

1.OLED顯示內容

wKgZO2gwQgaAeZAWABcHbIWSYe8134.png

第1行:標題 "MAX31865 PT100 Sensor"

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

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

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

2.串口輸出內容

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

wKgZO2gwQieALz1bAAQ2R8aKvik370.png

3.數據關聯說明

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

Resistance:根據公式

chaijie_default.png

計算得出。

Temperature:調用庫函數自動轉換的溫度值,內部使用Callendar-Van Dusen方程計算。

4.演示視頻

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

五、常見問題

1.OLED無顯示

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

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

2.溫度讀數異常

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

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

3.持續報錯

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

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

審核編輯 黃宇

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

    關注

    48

    文章

    3023

    瀏覽量

    158026
  • MAX31865
    +關注

    關注

    1

    文章

    8

    瀏覽量

    9559
  • stm32f1
    +關注

    關注

    1

    文章

    58

    瀏覽量

    12428
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    開源——STM32F4驅動MAX31865實現PT100高精度測溫

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

    開源——STM32F4驅動MAX31865實現PT100高精度測溫

    STM32F
    PCB56242069
    發布于 :2025年05月26日 18:25:17

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

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

    max31865測溫跳變大

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

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

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

    PT100溫度采集模塊性能特點

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

    PT100溫度采集模塊

    PT100溫度采集模塊,作為現代工業自動化和遠程監控系統中的重要組成部分,作為一種高精度、穩定性強的溫度傳感器,在工業自動化、環境監測以及遠程監控系統等領域中發揮著至關重要的作用。 一
    的頭像 發表于 01-15 16:26 ?656次閱讀

    ADS1220用于三線PT100測溫,溫度波動較大是什么原因導致的?

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

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

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

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

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

    具有低側基準的三線PT100 RTD測量電路

    電子發燒友網站提供《具有低側基準的三線PT100 RTD測量電路.pdf》資料免費下載
    發表于 09-23 12:25 ?4次下載
    具有低側基準的<b class='flag-5'>三線</b><b class='flag-5'>PT100</b> RTD測量電路

    RK3562J的SPI掛載數字式溫度傳感器

    OK3562J-C開發板上使用SPI2掛載MAX31865(數字式RTD溫度傳感器)芯片的方法。 1. 修改思路 添加一個SPI設備的思路為: 在設備樹中添加描述 → 設備樹描述中對
    發表于 08-28 16:41

    pt100溫度傳感器參數設置

    PT100溫度傳感器是一種廣泛應用于工業領域的溫度測量設備,其工作原理基于鉑電阻隨溫度變化的特性。本文將詳細介紹
    的頭像 發表于 06-19 16:27 ?3889次閱讀

    pt100溫度傳感器怎么測量好壞

    PT100溫度傳感器是一種廣泛應用于工業自動化和過程控制領域的溫度測量元件。它具有精度高、穩定性好、抗干擾能力強等優點,被廣泛應用于各種溫度
    的頭像 發表于 06-19 16:19 ?5918次閱讀

    pt100溫度傳感器測溫的特點

    PT100溫度傳感器是一種常用的溫度測量設備,具有高精度、高穩定性和高可靠性等特點。本文將詳細介紹PT100
    的頭像 發表于 06-19 16:18 ?2326次閱讀