你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

写了个python小程序,用来生成PT1000的温度表(RTD)

[复制链接]
watershade 发布时间:2019-1-15 20:55
本帖最后由 watershade 于 2019-1-15 21:24 编辑
4 Z, ~4 Q7 @7 J
! _+ q+ `! z, k在用TE的一个高精度的温度传感器PT1000。RTD传感器又自己的查找表。但是pdf不方便用,如果直接在程序里面计算有点慢。另外可以用这张表做反向查表的运算。注意一个关键词: DIN EN 60751 2 T: m2 z+ s! H- E
附件中分别是我写的python的程序用来生成一个包含数组的txt文件。你将数组复制到你的程序中就可以。
) |2 y, s$ |; \7 }; a
" t3 e! \4 Y+ t, D* e尽管程序是PT1000的,但是如果需要PT100.你只用更改一下公式中的1000.0到100.0.在核对一下参数就可以了。# \3 v" W/ m, C: W4 q' w) f3 }
顺便上传两张表格。/ W6 I7 }' w- V( M/ s
PT1000.zip (1.08 KB, 下载次数: 102)
赞 收藏 4 评论20 发布时间:2019-1-15 20:55

举报

20个回答
watershade 回答时间:2019-1-19 11:52:20
radio2radio 发表于 2019-1-18 18:14
, d- M  u& \3 X; g4 Q! O你的python程序,如果好用的话,就应该做到:0 N& |. s7 p. _7 H# a; I+ e

' S4 W2 ?5 p7 e# `输入参数:
+ L3 ]9 u5 z/ o
兄弟。我当然知道怎么去写一个生成uint16_t或者uint8_t的表格。这不是很困难的事情。添加两行代码就可以。3 T6 p( u, y3 c% z% h
0 a( c* i" D7 B+ R
但是请自行了解一下RTD精密测量温度再说。 Vref实际上也是个变化的值,和你了解的多数应用不一致。所以是非线性的。尽管如此也仍然可以转化为部分线性化。是的,如果你真的需要uint16_t就是添加几行代码的问题。但这部分的代码我没有亮出来,因为这对大多数人是没用的。
$ K1 l: R' D8 i" _6 P+ I7 L; X/ D: b2 G1 d
我这个小的python程序只是帮助你生成一个符合要求的表格。你不用去ppt上把所有数据取下来,手动填充这样一张表格。所以和表格数据是一致的。* r0 {2 f% P& l& A0 G$ G0 {# |
7 `4 V% N' c/ h& j! w
Anyway,谢谢你的建议
radio2radio 回答时间:2019-1-18 18:14:43
watershade 发表于 2019-1-18 17:205 Y, r; D6 b/ t$ h2 R- N
是这样的。这里的数值和ADC是不直接对应的。如果你稍微言就一下RTD。就知道完整范围并不是V_REF.所以我没 ...
; h5 C1 m: E7 @! v% @1 J9 `0 f
你的python程序,如果好用的话,就应该做到:- i& h& N% O9 W# d& w

9 y2 G: |# M5 I% R) V. v4 ]; q输入参数:& O3 h- h, f6 j
1. PT1000,or PT100! e1 ?0 N: x& p
2. 串联电阻的数值" P. N8 F2 q1 g8 A9 \$ U
4. ADC的位数,10,12 or 16
  M- J- x  r6 P# @3. 测量的温度范围( l* [1 D, _3 w$ m1 W5 v
4. 精度要求,+/-0.05,+/-0.1,+/0.24 y$ h" {8 ]7 y8 u+ @3 J
5. 分段要求,例如0.5度1 P9 z) |. T8 s' _* Y
" M6 J/ s$ c7 r  x7 i
输出的结果: 一组ADC的分段参数(整数)
6 E* d" |* e; l1 @; z% i& t                和 一组温度参数。(整数,例如,20000表示+100.00度,0表示-100.00度,偏移量10000)9 K- G4 ^0 N5 e$ q  Y2 |( h

/ X& g2 c3 b5 T6 M没有必要使用浮点数。, k9 J/ O* U0 I% Z' T6 W2 T
watershade 回答时间:2019-1-18 17:20:26
radio2radio 发表于 2019-1-18 09:49
1 B+ e  V1 l) p/ k! B& o, S楼主,您的这个程序与附件中的pdf标准的表差不多,建议改成计算12位/16位ADC的数值对应温度数据表,这样用 ...
$ _% U/ ~1 V+ L# ^& x7 B, S
是这样的。这里的数值和ADC是不直接对应的。如果你稍微言就一下RTD。就知道完整范围并不是V_REF.所以我没有这样做。而是i做一个float的表格。(占用空间大,但比较准确。我上面提到高精度的RTD用来测量准确度到接近0.1摄氏度的误差。注意不是分辨率是精度。)
andey 回答时间:2019-1-15 22:00:09
提示: 作者被禁止或删除 内容自动屏蔽
orima 回答时间:2019-1-16 12:10:26
谢谢分享!!值得看看...
zccdyfw 回答时间:2019-1-16 13:38:30
Kevin_G 回答时间:2019-1-17 17:48:04
了解下
3111272 回答时间:2019-1-18 09:10:21
学习一下。
xiaoganggang 回答时间:2019-1-18 09:24:52
好看看
radio2radio 回答时间:2019-1-18 09:49:25
本帖最后由 radio2radio 于 2019-1-18 14:25 编辑
  F/ b5 O6 e, }; d
" C. M$ n3 H; G% E; Y楼主,您的这个程序与附件中的pdf标准的表差不多,建议改成计算12位/16位ADC的数值对应温度数据表,这样用起来更加直接。/ a+ y+ Z6 _4 f0 F  I
再结合我之前的“通用线性插值程序”就完美了:
9 K/ e# `/ ^- g! U" R+ uhttps://www.stmcu.org.cn/module/forum/thread-618342-1-1.html# i/ t2 x4 t3 F8 e  S, Y

6 @: t; y1 @4 f: f; E/ ~: _
djk0125 回答时间:2019-1-24 17:16:37
那就研究一下!看能不能NTC用上,可以折腾一下吧!!!!
jingwang 回答时间:2019-1-25 08:36:52
高,非常好
thw-1130572 回答时间:2019-1-25 08:58:17
学习下
watershade 回答时间:2019-1-25 09:49:33
djk0125 发表于 2019-1-24 17:16: m* x! Q) o6 v+ P8 |# _$ b
那就研究一下!看能不能NTC用上,可以折腾一下吧!!!!
( @. F# \: s$ S: e9 ~4 a
没问题。但是RTD和NTC曲线不一样
+ \0 o2 d- }, i% v+ D
12下一页
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版