当前位置:网站首页>Precautions for RTD temperature measurement of max31865 module
Precautions for RTD temperature measurement of max31865 module
2022-07-05 18:39:00 【Full stack programmer webmaster】
Hello everyone , I meet you again , I'm your friend, Quan Jun .
max31865 modular RTD Precautions for temperature measurement
- matters needing attention 1 Reference resistance
- matters needing attention 2 connection
- matters needing attention 3 Electrical connections
- matters needing attention 4 max31865 Important details of the module
- matters needing attention 5 SPI Timing interval
- matters needing attention 6 max31865 The reason why the register data cannot be read
- Reference code
matters needing attention 1 Reference resistance
The PT100 version of the breakout uses 430Ω The PT1000 version uses 4300Ω commonly PT100 choose 400 Ohm reference resistance , But what is given on the board is 4300, That is to say 430Ω. The program needs to set the reference resistance to 430,PT1000 choice 4300Ω. #define REF_RES 430
matters needing attention 2 connection
There are three positions on the board for setting the line .
matters needing attention 3 Electrical connections
Power Pins: Vin – this is the power pin. Since the chip uses 3 VDC, we have included a voltage regulator on board that will take 3-5VDC and safely convert it down. To power the board, give it the same power as the logic level of your microcontroller – e.g. for a 5V micro like Arduino, use 5V 3Vo – this is the 3.3V output from the voltage regulator, you can grab up to 100mA from this if you like GND – common ground for power and logic
SPI Logic pins: All pins going into the breakout have level shifting circuitry to make them 3-5V logic level safe. Use whatever logic level is on Vin!
SCK – This is the SPI Clock pin, its an input to the chip SDO – this is the Serial Data Out / Microcontroller In Sensor Out pin, for data sent from the MAX31865 to your processor SDI – this is the Serial Data In / Microcontroller Out Sensor In pin, for data sent from your processor to the MAX31865 CS – this is the Chip Select pin, drop it low to start an SPI transaction. Its an input to the chip If you want to connect multiple MAX31865’s to one microcontroller, have them share the SDI, SDO and SCK pins. Then assign each one a unique CS pin.
RDY (Ready) – is a data-ready indicator pin, you can use this pin to speed up your reads if you are writing your own driver. Our Arduino driver doesn’t use it to save a pin.
matters needing attention 4 max31865 Important details of the module
SPI Read and write its register , The register is shown in the figure below . Configuration register , Want to read 0x00, Want to write to write 0x80. Transformed RTD Values are stored in 0x01 and 0x02 this 2 individual 8 Bit register . You can set the upper and lower limit of the error alarm threshold , Generally speaking , For example, a PT100 The range of temperature measurement is -200℃ To 420℃, The user wants to set the lower limit alarm value to -180℃, The upper limit alarm value is 400℃, So when max31865 transformation RTD after , Will 0x01 and 0x02 The register result is compared with the upper and lower limit values , If it is not within the set range , An error flag will be generated . Error flag exists 0x07 In the register . Read the temperature process : (1) Read 0x07 register , See if it's equal to 0x00, That is to say, there is no error mark . When there is an error sign ,0x07 A value in the register is 1.
The error flag can be cleared manually , But if the problem is not actually solved , The next time you check this flag, it will still be pulled up by the module .
(2) If you can pass error detection , Start the following process . towards 0x80 Write configuration , What is written here is to perform a conversion (One_Shot_Conversion ), And then wait DRDY The pin becomes low ( It means that the conversion is over ). Then read 0x01 and 0x02 this 2 individual 8 Bit register ,0x02 The lowest position of the is equipped with the wrong sign , If you are right, you can use 0x01 and 0x02 this 2 individual 8 Bit register synthetic resistance value .
4)PT100 Resistance becomes temperature This will show their magic power , There are various conversion formulas .
matters needing attention 5 SPI Timing interval
matters needing attention 6 max31865 The reason why the register data cannot be read
Sending data from the machine also requires the host to provide clock signals
Reference code
// Use RT1052 LPSPI3
//LPSPI3: Read and write a byte
//TxData: Bytes to write
// Return value : Bytes read
uint8_t LPSPI3_ReadWriteByte(uint8_t TxData)
{
uint8_t spirxdata=0;
uint8_t spitxdata=TxData;
lpspi_transfer_t spi_tranxfer;
lpspi_master_handle_t master_handle;
spi_tranxfer.configFlags=kLPSPI_MasterPcs1|kLPSPI_MasterPcsContinuous; //PCS1
spi_tranxfer.txData=&spitxdata; // Data to send
spi_tranxfer.rxData=&spirxdata; // Data to be received
spi_tranxfer.dataSize=1; // Data length
LPSPI_MasterTransferBlocking(LPSPI3,&spi_tranxfer); //SPI Blocking transmission
// LPSPI_MasterTransferNonBlocking(LPSPI3, &master_handle, &spi_tranxfer);
return spirxdata;
}
uint8_t max31685_ReadRegister8(uint8_t addr)
{
uint8_t ret;
GPIO_PinWrite(BOARD_USER_SPI_CS0, BOARD_USER_SPI_CS0_PIN, 1U);
SysTick_DelayTicks(1U);
GPIO_PinWrite(BOARD_USER_SPI_CS0, BOARD_USER_SPI_CS0_PIN, 0U);
SysTick_DelayTicks(1U);
ret = LPSPI3_ReadWriteByte(addr);
SysTick_DelayTicks(1U);
ret = LPSPI3_ReadWriteByte(0xff);
SysTick_DelayTicks(1U);
GPIO_PinWrite(BOARD_USER_SPI_CS0, BOARD_USER_SPI_CS0_PIN, 1U);
return ret;
}
uint8_t max31685_WriteRegister8(uint8_t addr, uint8_t data)
{
uint8_t ret;
GPIO_PinWrite(BOARD_USER_SPI_CS0, BOARD_USER_SPI_CS0_PIN, 1U);
SysTick_DelayTicks(1U);
GPIO_PinWrite(BOARD_USER_SPI_CS0, BOARD_USER_SPI_CS0_PIN, 0U);
SysTick_DelayTicks(1U);
ret = LPSPI3_ReadWriteByte(addr | 0x80);
SysTick_DelayTicks(1U);
ret = LPSPI3_ReadWriteByte(data);
SysTick_DelayTicks(1U);
GPIO_PinWrite(BOARD_USER_SPI_CS0, BOARD_USER_SPI_CS0_PIN, 1U);
return ret;
}
void max31865_Init(void)
{
uint8_t ret; //for test
GPIO_PinWrite(BOARD_USER_SPI_CS0, BOARD_USER_SPI_CS0_PIN, 1U);
SysTick_DelayTicks(10U);
//BIAS ON, Automatically , Three line ,50Hz
max31685_WriteRegister8(MAX31856_CONFIG_REG, MAX31856_CONFIG_BIAS | MAX31856_CONFIG_MODEAUTO | MAX31856_CONFIG_3WIRE | MAX31856_CONFIG_FILT50HZ);
ret = max31685_ReadRegister8(MAX31856_CONFIG_REG);
}
uint8_t max31865_ReadFault(void)
{
}
void max31865_ClearFault(void)
{
}
void max31865_Config(uint8_t reg, uint8_t cfgValue)
{
}
uint16_t max31865_ReadRTD(void)
{
uint16_t rtd = 0;
rtd = max31685_ReadRegister8(MAX31856_RTDMSB_REG) << 8;
rtd |= max31685_ReadRegister8(MAX31856_RTDLSB_REG);
rtd = rtd >> 1;
return rtd;
}
Reference link 1: https://learn.adafruit.com/adafruit-max31865-rtd-pt100-amplifier?view=all Reference link 2: https://blog.csdn.net/x1131230123/article/details/105446353?spm=1001.2014.3001.5506
Publisher : Full stack programmer stack length , Reprint please indicate the source :https://javaforall.cn/149824.html Link to the original text :https://javaforall.cn
边栏推荐
- 《2022中国信创生态市场研究及选型评估报告》发布 华云数据入选信创IT基础设施主流厂商!
- 写作写作写作写作
- LeetCode 6109. 知道秘密的人数
- 常见时间复杂度
- Idea configuring NPM startup
- Clickhouse (03) how to install and deploy Clickhouse
- The origin of PTS, DTS and duration of audio and video packages
- sample_rate(采樣率),sample(采樣),duration(時長)是什麼關系
- [utiliser Electron pour développer le Bureau sur youkirin devrait]
- Vulnhub's darkhole_ two
猜你喜欢
About Estimation with Cross-Validation
第十一届中国云计算标准和应用大会 | 华云数据成为全国信标委云计算标准工作组云迁移专题组副组长单位副组长单位
第十届全球云计算大会 | 华云数据荣获“2013-2022十周年特别贡献奖”
Vulnhub's darkhole_ two
Maximum artificial island [how to make all nodes of a connected component record the total number of nodes? + number the connected component]
Fix vulnerability - mysql, ES
达梦数据库udf实现
LeetCode 6111. 螺旋矩阵 IV
Nacos distributed transactions Seata * * install JDK on Linux, mysql5.7 start Nacos configure ideal call interface coordination (nanny level detail tutorial)
2022年阿里Android高级面试题分享,2022阿里手淘Android面试题目
随机推荐
Electron installation problems
LeetCode 6111. Spiral matrix IV
RPC协议详解
[paddlepaddle] paddedetection face recognition custom data set
Simulate the hundred prisoner problem
Maximum artificial island [how to make all nodes of a connected component record the total number of nodes? + number the connected component]
技术分享 | 接口测试价值与体系
AI Open2022|基于异质信息网络的推荐系统综述:概念,方法,应用与资源
JDBC reads a large amount of data, resulting in memory overflow
About Estimation with Cross-Validation
爱因斯坦求和einsum
【pm2详解】
Is it safe to make fund fixed investment on access letter?
Linear table - abstract data type
New words new words new words new words [2]
Introduction to Resampling
【在优麒麟上使用Electron开发桌面应】
U-Net: Convolutional Networks for Biomedical Images Segmentation
About Estimation with Cross-Validation
集合处理的利器