MAX31855KASA+T -200°C to +1350°C 8SO MAX31855JASA+T -40°C to +750°C 8SO MAX31855NASA+T -200°C to + 1300°C 8SO MAX31855SASA+T -50°C to +1600°C 8SO MAX31855TASA+T -250°C to +400°C 8SO MAX31855EASA+T -40°C to +900°C 8SO MAX31855RASA+T -50°C to +1770°C 8SO 2、【典型應(yīng)用電路】
2.png (47.3 KB, 下載次數(shù): 69)
下載附件
2020-3-15 17:39 上傳
5.png (79.9 KB, 下載次數(shù): 42)
下載附件
2020-3-15 17:39 上傳
3、【實際應(yīng)用電路】
1電氣連接.png (848.76 KB, 下載次數(shù): 36)
下載附件
2020-3-15 17:40 上傳
2 1.png (149.03 KB, 下載次數(shù): 39)
下載附件
2020-3-15 17:40 上傳
4. SPI串口協(xié)議及時序
3.png (63.34 KB, 下載次數(shù): 65)
下載附件
2020-3-15 17:40 上傳
4.png (124.36 KB, 下載次數(shù): 45)
下載附件
2020-3-15 17:40 上傳
器件處理來自熱電偶的讀數(shù),并通過串口發(fā)送數(shù)據(jù)。驅(qū)動CS為低電平,并在SCK端施加時鐘信號,從SO讀取結(jié)果。器件始終在后臺執(zhí)行轉(zhuǎn)換,只有CS為高電平時才能更新故障狀態(tài)和溫度數(shù)據(jù)。 驅(qū)動CS為低電平時,SO引腳將輸出第一位數(shù)據(jù)。通過串口讀取完整的冷端補(bǔ)償熱電偶溫度,需要14個時鐘周期。讀取熱電偶和參考端溫度需要32個時鐘周期。在時鐘下降沿讀取輸出位。第一位D31為熱電偶溫度符號位。 D[30:18]位包含溫度轉(zhuǎn)換數(shù)據(jù),順序為MSB至LSB。D16位正常狀態(tài)下為低電平,熱電偶輸入開路或?qū)ND或VCC短路時變?yōu)楦唠娖健⒖级藴囟葦?shù)據(jù)從D15開始。 輸出轉(zhuǎn)換數(shù)據(jù)時,CS任何時候均可變?yōu)楦唠娖健?/font> 5. 存儲器映射—位加權(quán)和功能說明
6.png (272.25 KB, 下載次數(shù): 43)
下載附件
2020-3-15 17:42 上傳
6. 程序源碼MAX31855測溫程序,分別使用STM32硬件SPI和軟件模擬時序兩種方式讀取溫度數(shù)據(jù)。 /** ****************************************************************************** * @file : max31855.c * @brief : MAX31855 cold-junction compensated thermocouple-to-digital * converter program body. ****************************************************************************** * All rights reserved. * ****************************************************************************** */ /* Includes ------------------------------------------------------------------*/ #include "max31855.h" #include "stm32f1xx_hal.h" /* External variables --------------------------------------------------------*/ SPI_HandleTypeDef hspi1; /* Private variables ---------------------------------------------------------*/ float tcTemp = 0, cjTemp = 0; bool tcError = false; /* Private function prototypes -----------------------------------------------*/ /** * @brief Delay about 11ns per NOP (72MHz*1.25MIPS/MHz=90MIPS) * @param None * @retval None */ static void SPI_Delay(uint32_t counter) { for(int i=0; i<counter; i++) { __NOP(); } } 未完待續(xù)……
|