三、万语始于HelloWorld,万物基于点灯之瑞萨RX23E-A 3线RTD PT100测温

发布时间:2023年12月21日

一、概述/目的
二、RX23E-A+PT100三线制
? ? 2.1 资料来源
? ? 2.2 接线图
? ? 2.3 工程配置AFE+24ΔΣADC+PGA
? ? 2.4 代码
? ? 2.5 IIR数字滤波器
三、方案对比

三、万语始于HelloWorld,万物基于点灯之瑞萨RX23E-A 3线RTD PT100测温

一、概述/目的

介绍工业过程控制中的测温最常用的PT100三线制,使用瑞萨RX23E-A实现3线RTD PT100测温,展示其便捷性,简单对比MCU+MAX31865。

二、RX23E-A+PT100三线制

2.1 资料来源

  • 官方资料-开发板+例程

  • RX MCU RX23E-A 高精度测量基础知识与应用实战培训 2023-09_v1.0.pdf

  • RX MCU RX23E-A 高精度测量基础知识与应用实战_实验指南.pdf

  • RX23E_A_Local_Board_SCH.pdf

2.2 接线图

图片

图片

图片

图片

2.3 工程配置AFE+24ΔΣADC+PGA

  • rx23ea_local_board_lab

  • rx23ea_rtd
    ?

    图片

    图片

2.4 代码

图片

float R_RTD_DsadToTemp (float dsad)
{
    float rrtd = (D_RTD_GAIN * dsad) + D_RTD_OFFSET;        /** Convert DSAD Value to RTD resistance value [ohm]   */
    uint16_t idx = R_CALC_BinarySearch(s_rtd_table, D_RTD_TABLE_SIZE, rrtd);

    /** Set a temperature range that includes the value of the argument */
    float x0 = s_rtd_table[idx];                            /** x0:Temperature range lower limit resistance [ohm]  */
    float x1 = s_rtd_table[idx + 1];                        /** x1:Temperature range upper limit resistance [ohm]  */

    /** convert idx to temperature */
    float y0 = (float) idx + D_RTD_TABLE_TOP_TEMPARATURE;

    /** convert idx + 1 to temperature */
    float y1 = (float) (idx + 1) + D_RTD_TABLE_TOP_TEMPARATURE;

    float f_temp = R_CALC_Lerp(x0, y0, x1, y1, rrtd);       /** Calculated temperature [degree]                     */

    return f_temp;
}
/** A/D conversion complete for DSAD0? */
if (true == r_dsad0_IsConversionEnd())
{
    int32_t dsad0_value;        /** Signed 24-bit DSAD0 value                                   */

    r_dsad0_ClearIrFlag();      /** clear DSAD0 IR flag                                         */

    /** Get A/D value */
    {
        R_Config_DSAD0_Get_ValueResult( &dsad0_reg);

        /** Flag mask, Sign extension */
        dsad0_value = (int32_t) ((dsad0_reg & 0x00FFFFFFU) << 8) >> 8;
    }

    /** Calculate the temperature [degree] of the reference junction */
    rtd_temp = R_RTD_DsadToTemp((float) dsad0_value);

2.5 IIR数字滤波器

三、方案对比

图片

芯片方案ADC接口软件其他
RX23E-A单mcu24ΔΣADC无需简单
MAX31865MCU+MAX3186515ΔΣADCspi简单


文章来源:https://blog.csdn.net/cl234583745/article/details/135115990
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。