1.模块简介:
本模块可将PT100传感器信号经电桥测量放大输出,模块载有8位单片机处理器,通过此单片机的10位ADC对放大后的传感器信号采样,并通过程序计算出PT100阻值,采用查表法(查电阻对应温度值表)计算出当前温度值。板载TTL串口接口,可输出当前温度值,测量分辨率为1℃,此功能可根据用户是否需要购买相应套餐选择。
2.技术指标:
产品型号 | KM-PT100 |
检测对象 | PT100所测温度 |
通信方式 | UART(TTL)可选是否需要 |
工作电压 | 5V (DC) |
默认测量量程 | -60℃~470℃ |
支持PT100接口输入 | 二线制/三线制 |
输出接口 | PT100电桥放大信号+3V参考电压 |
外形尺寸 | 40*30(mm) |
串口通讯参数 | 波特率9600,停止位1,无校验 |
串口输出温度分辨率 | 1℃ |
模块主控MCU | ST8G(10位AD分辨率)可选是否需要 |
3.使用说明:
用户可通过两种方式来获取温度值,第一种为串口读取法,采用本模块的串口接口直接获取输出的温度值,第二种为AD采集计算法,用户采用mcu或其他处理器的ADC来采集模块输出的模拟量信号,通过自行编程计算出PT100阻值,并根据查表法来计算温度值。注意用户采用第一种方法时需要在购买时选择带有串口输出功能的套餐。
模块可接入两线或三线制接口的PT100传感器,其中三线制接法的优点是将PT100的两侧相等的的导线长度分别加在两侧的电桥臂上,使得导线电阻得以消除,使得测量误差减小。
4.测量原理:
电路采用TL431和R14、R13产生3V的参考电源;采用R6、R7、R10、Pt100构成测量电桥(其中R7=R10),当Pt100的电阻值和R6的电阻值不相等时,电桥输出一个mV级的压差信号,这个压差信号经过运放SGM8932放大后输出期望大小的电压信号,该信号可直接连AD转换芯片。差动放大电路中R11=R12、 R8=R9、放大倍数=R8/R12,运放采用单5V供电。
采用AD采集计算方法可按照以下示例方法计算:
Uo= (V1-V2)*(R8/R12)=20*(V1-V2)
即 V1=(Uo+20*V2)/20
根据电阻分压:
V2≈108.434mV V1=(Uo+2168.68)/20
V1=Rpt/(R7+Rpt) *3000
得:Rpt=2000V1/(3000-V1)
Rpt为PT100对应电阻值,通过查表即可得出对应温度值。
量程计算:轨对轨运放,则Uo为5V时,V1=358.434mV,则Rpt=271.38,经查表得量程:-60℃~470℃。
5.串口协议:
串口通讯为问答式查询方式。
1 | 0x86 | 读传感器温度返回值 | |||||||
向模块发送 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
起始位 | 地址 | 命令 | -- | -- | -- | -- | -- | 校验值 | |
0xFF | 0x01 | 0x86 | 0 | 0 | 0 | 0 | 0 | 0x79 | |
EXP. | FF 01 86 00 00 00 00 00 79 | ||||||||
模块返回 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
起始位 | 命令 | 温度值 | -- | -- | -- | -- | 校验值 | ||
0xFF | 0x86 | 高字节 | 低字节 | 0 | 0 | 0 | 0 | -- | |
EXP. | FF 86 00 1B 00 00 00 00 95 |
温度:0x1B=27℃ 注意:温度值为有符号int类型。
//校验值算法 起始位后 86 00 1B 00 00 00 00 到校验值前相加求和取低八位,再取反加一。
uint8_t getCheck(uint8_t *data,uint8_t iLength)
{
uint8_t sum=0; uint8_t iFor=0;
for(iFor=0;iFor<iLength;iFor++)
{
sum+=data[iFor];
}
return (0xff-sum+1);
}
1 | 0x87 | 温度校准指令 | |||||||
向模块发送 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
起始位 | 地址 | 命令 | 温度值(int) | -- | -- | -- | 校验值 | ||
0xFF | 0x01 | 0x87 | 高字节 | 低字节 | 0 | 0 | 0 | 0x79 | |
EXP. | FF 01 87 00 1d 00 00 00 5b | ||||||||
模块返回 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
起始位 | 命令 | -- | -- | -- | -- | -- | -- | 校验值 | |
0xFF | 0x87 | 0 | 0 | 0 | 0 | 0 | 0 | 0x79 | |
EXP. | FF 87 00 00 00 00 00 00 95 |
校准温度串口指令
模块受运放特性及电阻阻值差异影响,计算的温度值会存在偏差,为此可通过串口向模块发送温度校准指令,即将PT100所测环境实际温度值通过串口指令发送至模块,则模块会根据实际温度反推出新的计算关系式,从而使测量到的温度更加准确。关系式被保存至单片机内部Flash中,上电无需重复校准。(注意校准时需将PT100传感器接入模块)
如向模块发:FF 01 87 00 1d 00 00 00 5b (00 1d即29℃)
当前实际温度为29摄氏度,将指令发送至模块,模块校准成功后则会返回响应指令:
FF 87 00 00 00 00 00 00 95
6.测试上位机
模块可通过外接USB转串口模块与电脑上位机通信,查看USB转串口模块在电脑上的端口号,在电脑设备管理器中查看,端口号因个人电脑而异,如下图:
一定要保证USB转串口模块与PT100模块的串口要交叉连接,即
打开上位机软件,并选择相应串口号(例如本机电脑端口号为4),如下图:
通信成功后上位机会显示当前测量到的温度,上位机默认以1秒为周期自动发送读取指令。如需校准温度,可将当前实际温度填入“实际温度”文本框中,并点击校准即可将校准温度值指令发送至PT100模块,校准成功后则会弹窗提示“校准成功”。
7.模块展示及接线图:
模块链接:
https://item.taobao.com/item.htm?spm=a1z10.3-c-s.w4002-22434898965.9.50ea3b7cAeurtR&id=655898706360
RS485版本模块链接:
https://item.taobao.com/item.htm?spm=a1z10.3-c-s.w4002-22434898965.29.1f2e3b7ckJfcds&id=740333154061