找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3757|回復(fù): 0
收起左側(cè)

MAX31855熱電偶至數(shù)字輸出轉(zhuǎn)換器開發(fā)筆記

[復(fù)制鏈接]
ID:695384 發(fā)表于 2020-3-15 17:43 | 顯示全部樓層 |閱讀模式
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 5.png
3、【實(shí)際應(yīng)用電路】
1電氣連接.png 2 1.png
4. SPI串口協(xié)議及時(shí)序
3.png 4.png
器件處理來自熱電偶的讀數(shù),并通過串口發(fā)送數(shù)據(jù)。驅(qū)動CS為低電平,并在SCK端施加時(shí)鐘信號,從SO讀取結(jié)果。器件始終在后臺執(zhí)行轉(zhuǎn)換,只有CS為高電平時(shí)才能更新故障狀態(tài)和溫度數(shù)據(jù)。
驅(qū)動CS為低電平時(shí),SO引腳將輸出第一位數(shù)據(jù)。通過串口讀取完整的冷端補(bǔ)償熱電偶溫度,需要14個時(shí)鐘周期。讀取熱電偶和參考端溫度需要32個時(shí)鐘周期。在時(shí)鐘下降沿讀取輸出位。第一位D31為熱電偶溫度符號位。
D[30:18]位包含溫度轉(zhuǎn)換數(shù)據(jù),順序?yàn)镸SB至LSB。D16位正常狀態(tài)下為低電平,熱電偶輸入開路或?qū)ND或VCC短路時(shí)變?yōu)楦唠娖健⒖级藴囟葦?shù)據(jù)從D15開始。
輸出轉(zhuǎn)換數(shù)據(jù)時(shí),CS任何時(shí)候均可變?yōu)楦唠娖健?/font>
5. 存儲器映射—位加權(quán)和功能說明
6.png


6. 程序源碼MAX31855測溫程序,分別使用STM32硬件SPI和軟件模擬時(shí)序兩種方式讀取溫度數(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ù)……

回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表