pt100温度变送器,支持k型热电偶 4-20mA输出全套方案资料 2线、3线、隔离型。 (样板是2线电流/0-10V输出) 0-5V 0-10V输出 国产24位ADC精度0.01度,国产12位DAC千分之一线性价格便宜成熟方案。 485通信到串口示波器看温度电流曲线 2.4寸tft液晶屏,有串口屏接口。 外壳采用abs+透明上盖触摸按键组成。 2点仪表标定校准方式。

硬件选型先拍板:

  • ADC用了航顺的HSADC1224,24位分辨率实测能到0.03℃稳定度
  • DAC直接上芯海CS1237,12位够用还自带冷端补偿
  • 主控GD32F303CCT6,带硬件除法器处理温度计算

代码部分咱们拆开看,先说ADC采集:

// PT100三线制采样
void PT100_3Wire_Read(void) {
    GPIO_SetBits(PT100_PWR_PORT, PT100_PWR_PIN);  // 恒流源上电
    delay_ms(2);  // 等稳定
    adc_val = HSADC_ReadChannel(PT100_CH); 
    temp_raw = (adc_val * 3.3 / 16777215) - 0.2;  // 消除线阻影响
    Rpt100 = (temp_raw * 1000) / 0.385;  // 换算电阻值
}

这段骚操作用三线制测电阻,硬核消除引线误差。注意那个0.2的修正值,是拿万用表实测的线损电压。

输出部分整活DAC:

// 4-20mA输出函数
void Output_4_20mA(float temp) {
    static uint16_t last_dac = 0;
    uint16_t target = (temp - TEMP_MIN) * (4095 / (TEMP_MAX - TEMP_MIN)) + 819;  // 4mA对应819(12bit)
    
    // 渐变防冲击
    while(last_dac != target) {
        last_dac += (target > last_dac) ? 1 : -1;
        CS1237_WriteDAC(last_dac);
        delay_us(50);
    }
}

渐变输出这个骚操作是现场调试时学的——某次DAC突变把PLC干重启了,现在加了个软缓冲。

校准模式才是真有意思,长按按键进标定:

# 上位机校准脚本片段
def auto_cal():
    send_modbus(0x06, 0x2000, 0x5555)  # 进入校准模式
    input("连接标准表后按回车...")
    raw_low = read_adc_avg(10)
    input("施加低温标定点后按回车...")
    raw_high = read_adc_avg(10)
    write_flash(raw_low, raw_high)  # 写入两点校准参数

这种免电位器校准真香,省了开盖调试的麻烦。实测用冰水混合物和沸水标定,误差能压在0.5℃内。

pt100温度变送器,支持k型热电偶 4-20mA输出全套方案资料 2线、3线、隔离型。 (样板是2线电流/0-10V输出) 0-5V 0-10V输出 国产24位ADC精度0.01度,国产12位DAC千分之一线性价格便宜成熟方案。 485通信到串口示波器看温度电流曲线 2.4寸tft液晶屏,有串口屏接口。 外壳采用abs+透明上盖触摸按键组成。 2点仪表标定校准方式。

显示部分用的2.4寸串口屏,搞了个骚气界面:

-- 串口屏LUA脚本片段
function on_touch(x,y)
    if y>200 then  // 底部菜单区
        page_jump(1)
    end
end

add_chart("temp_curve", 10, 50, 300, 150)  // 温度曲线区域
uart_send("add,text,20,220,当前温度:℃")  // 动态文本

触摸逻辑简单粗暴,实测发现ABS外壳得把触摸灵敏度调高20%才好使。

隔离方案有个坑:电源隔离和信号隔离必须分开走线。有次偷懒共用DC-DC模块,结果485通信时ADC读数乱跳,后来老老实实上了金升阳的隔离电源模块才算稳。

这套方案BOM成本压到60以内,比进口方案香多了。最近正在打样第三版,准备上架某宝接单。有同好需要源码的可以私,记得备注来意。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐