当前位置:网站首页>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
边栏推荐
- @Extension、@SPI注解原理
- Is it complicated to open an account? Is online account opening safe?
- Einstein sum einsum
- ICML2022 | 长尾识别中分布外检测的部分和非对称对比学习
- LeetCode 6111. Spiral matrix IV
- About Estimation with Cross-Validation
- 金太阳开户安全吗?万一免5开户能办理吗?
- c语言简便实现链表增删改查「建议收藏」
- Is it safe for Apple mobile phone to speculate in stocks? Is it a fraud to get new debts?
- JDBC reads a large amount of data, resulting in memory overflow
猜你喜欢
Fix vulnerability - mysql, ES
Maximum artificial island [how to make all nodes of a connected component record the total number of nodes? + number the connected component]
技术分享 | 接口测试价值与体系
分享:中兴 远航 30 pro root 解锁BL magisk ZTE 7532N 8040N 9041N 刷机 刷面具原厂刷机包 root方法下载
FCN: Fully Convolutional Networks for Semantic Segmentation
AI Open2022|基于异质信息网络的推荐系统综述:概念,方法,应用与资源
Copy the linked list with random pointer in the "Li Kou brush question plan"
Vulnhub's darkhole_ two
Solutions contents have differences only in line separators
【Autosar 十四 启动流程详解】
随机推荐
Electron安装问题
英语句式参考
让更多港澳青年了解南沙特色文创产品!“南沙麒麟”正式亮相
ConvMAE(2022-05)
爱因斯坦求和einsum
MySQL优化六个点的总结
Problems encountered in the project u-parse component rendering problems
Introduction to Resampling
文章中的逻辑词
Is it safe for golden sun to open an account? Can I open an account free of 5 in case?
深入底层C源码讲透Redis核心设计原理
Is it safe for Apple mobile phone to speculate in stocks? Is it a fraud to get new debts?
Is it safe to open an account and register stocks for stock speculation? Is there any risk? Is it reliable?
About Statistical Power(统计功效)
Case sharing | integrated construction of data operation and maintenance in the financial industry
技术分享 | 接口测试价值与体系
案例分享|金融业数据运营运维一体化建设
AI金榜题名时,MLPerf榜单的份量究竟有多重?
蚂蚁集团开源可信隐私计算框架「隐语」:开放、通用
Can communication of nano