编辑: ACcyL | 2019-12-01 |
198 Champion Court ? San Jose, CA 95134-1709 ? 408-943-2600 Document Number: 001-84912 Rev.
** Revised November 30,
2012 特性 ? 适用于大多数的负温度系数 (NTC) 热敏电阻 ? 具有查找表 (LUT) 或公式实现方法 ? 可选参考电阻,基于热敏电阻值 ? 可选温度范围 ? LUT 方法具有可选计算分辨率 概述 热敏电阻计算器组件是基于测量从热敏电阻提供的电压,来计算温度.此组件适用于大多数 NTC 热敏电阻.它基于温度范围和相应的用户提供的参考电阻来计算 Steinhart-Hart 公式的系数.此组 件提供使用生成的系数以基于测量的电压值返回温度值的 API 函数. 此组件不使用内部的模数转换器或 AMUX,因此需要在工程中单独安置这个组件. 何时使用热敏电阻计算器 此组件只有一个用例.组件提供的 API 用于基于从热敏电阻测量的电压值来计算温度. 输入/输出连接 这是一个软件组件,没有任何输入/输出连接. 热敏电阻计算器 1.0 热敏电阻计算器 PSoC ? Creator? 组件基本介绍 Page
2 of
9 Document Number: 001-84912 Rev. ** 参数和设置 将热敏电阻计算器组件拖入设计中,双击它以打开 Configure(配置)对话框.该对话框有一个选 项卡,可引导您完成热敏电阻计算器器件的设置. 一般选项卡 General(一般)选项卡提供以下参数. Reference resistor(参考电阻) Reference resistor(参考电阻)连接至热敏电阻,如符号所示,用于进行恒压类型的温度测量. Rref 和RT 可以相互交换以随着温度的升高而增大或减小电压值.理想情况下,参考电阻的值应 等于要求的温度范围处于中间温度时的热敏电阻值. 范围 = 1Ω 到1GΩ(默认值 10000). 实现 可以通过 Equation(公式)或LUT 方法 获得温度.这两种方法的权衡因素是存储器、速度、范围 和分辨率.Equation(公式)方法更加准确,有固定的范围和分辨率.Equation(公式)方法使用 较多的内存,因为它需要浮点数学库.LUT 使用较少的内存,而且响应时间更快.默认为 Equation(公式). PSoC ? Creator? 组件基本介绍 热敏电阻计算器 Document Number: 001-84912 Rev. ** Page
3 of
9 Calculation resolution (°C)(计算精度 (°C)) 如果选择 LUT 方法,此参数将生效以提供 LUT 温度精度. 此参数指定的精度是温度测量的精度.这意味着此精度对应于电压到温度的转换.它不考虑系统 中的其他误差,例如参考电阻的容差、参考电压的变化或模数转换器的精度. 假设一个准确的电压测量,此参数提供此器件的温度输出的精度. 选项 = 0.
01、0.
05、0.1(默认值)、0.
5、
1、2 °C Temperature (°C)(温度 (°C) ) / Resistance (Ω)(电阻 (Ω)) 第一列用于指定需要的温度范围的最大温度、中间温度和最小温度.第二列用于输入与相应的温 度关联的电阻.Steinhart-Hart 系数是基于此表格中的条目计算得出的. 这些参数还确定了 LUT 实现的温度范围.这些参数中输入的最高和最低温度值构成了 LUT 的开始 值和结束值. 范围: ? 温度(最大、中间、最小)-80 到325 °C.(默认值:最大 = 50,中间 = 25,最小 = 0) ? 电阻(最大、中间、最小)0 到1MΩ(默认值:最大 = 4161,中间 = 10000,最小 = 27219) 尽管此组件支持宽泛的温度范围(-80 到325 °C),建议使用标准化范围(-40 到125 °C)以获 得更高精度的结果. 有关标准化温度范围,通常可以在使用的特定热敏电阻的基本介绍中找到定义温度的精密电阻值. 有关非标准化温度范围(超出 -40 到125 °C 范围),您需要执行预测量以获得特定温度的准确电 阻值.Steinhart-Hart 系数在标准化范围内提供最高的精度.标准化范围以外的任何其他范围将提 供较低的精度. 如果您使用热敏电阻计算器器件在宽泛的范围(甚至于标准化范围)内测量温度,强烈建议将宽 泛的范围拆分为较小的子范围以获得最高精度.例如,范围 -40 到125 °C 应拆分为三个子范围: -40° 到0°、0° 到50°、50° 到125°.拆分此范围使每个子范围中的电阻/温度曲线更具线性,从而 消除 LUT 条目中的误差,同时提供了最高的温度精度.如果您有多个子范围,则您需要确定使用 哪个实例来计算电压.电阻计算与温度范围无关,因此可以根据任一实例使用函数计算电阻.那么,基于计算的电阻,适用子范围的实例必须用于计算温度. 信息 其他详细信息将基于其他提供参数,例如 LUT 的大小,以及要选择的合适的参考电阻.LUT 的大 小显示在第一行中,并仅限于
2001 个步幅.LUT 的大小由以下公式确定: LUT _ SIZE = (MAX _TEMP ? MIN _TEMP) / 计算精度 +
1 热敏电阻计算器 PSoC ? Creator? 组件基本介绍 Page
4 of
9 Document Number: 001-84912 Rev. ** 如公式所示,LUT 的大小取决于范围和精度.因此,当LUT 的大小超出了限制,精度旁边将显示 错误,说明需要降低精度或范围. 应用程序编程接口 应用程序编程接口 (API)函数允许您使用软件配置组件.下表列出了每个函数的接口,并进行了说 明.以下各节将更详细地介绍每个函数. 默认情况下,PSoC Creator 将实例名称 Thermistor_1 分配给提供的设计中的第一个器件实例. 您可以将其重命名为遵循标识符语法规则的任何唯一值.实例名称会成为每个全局函数名称、变 量和常量符号的前缀.出于可读性考虑,下表中使用的实例名称为 Thermistor (热敏电阻). 函数 说明 uint32 Thermistor_GetResistance (int16 Vreference, int16 VThermistor) 参考电阻和热敏电阻上的电压的数字值被 作为参数传递给此函数.它们可视为此器 件的输入.此函数将基于电压值返回(输出)电阻. int16 Thermistor_GetTemperature (uint32 ResT) 热敏电阻的值被作为参数传送至此函数. 此函数将基于电阻值返回(输出)温度. 用于计算温度的方法取决于是选择了 Equation(公式)还是 LUT. uint32 Thermistor_GetResistance(int16 Vreference, int16 VThermistor) 说明: 参考电阻和热敏电阻上的电压的数字值被作为参数传递给此函数.它们可视为此器件的 输入.此函数将基于电压值返回(输出)电阻. 参数: Vreference 是参考电阻上的电压. Vthermistor 是热敏电阻上的电压.此函数使用这两个电压的比例.因此,这两个参数的单位 必须相同. 返回值: 返回值是热敏电阻中的电阻.返回类型是
32 位无符号整数,如上述提供的函数原型所示. 返回的值是电阻,单位为欧姆. 副作用: None PSoC ? Creator? 组件基本介绍 热敏电阻计算器 Document Number: 001-84912 Rev. ** Page
5 of
9 int16 Thermistor_GetTemperature (uint32 ResT) 说明: 热敏电阻的值被作为参数传送至此函数.此函数将基于电阻值返回(输出)温度.用于计算 温度的方法取决于是选择了 Equation(公式)还是 LUT. 参数: ResT 是热敏电阻中的电阻,单位为欧姆. 返回值: 返回值是温度,单位为 1/100ths 摄氏度.例如,当实际温度为 23.45 摄氏度时,返回值为 2345. 副作用: None 固件源代码示例 PSoC Creator 提供了大量包括原理图和示例代码的示例项目. 有关更多信息,请参考 AN66477 - PSoC
3 和PSoC
5 使用热敏电阻测量温度. 功能描述 整个工程需要外部电阻和热敏电阻连接至 PSoC.外部连接的电阻和热敏电阻的电压将使用模数转 换器测得,这些值将通过 API 调用被传送至热敏电阻器件.此API 调用的返回值为温度.将模数 转换器从此器件中排除的方法使模数转换器可供项目中的其他函数使用.整个系统的框图,请参 阅下图. 图1. 基于温度监控系统的热敏电阻的框图 恒压 Vhi 施加于电阻和热敏电阻的组合之上,如图
1 所示. 热敏电阻的电阻随着温度的变化而变化,因此热敏电阻上的电压降随着温度而变化.测得热敏电 阻和电阻上的电压降,使用以下公式找到热敏电阻的电阻 ? ? ? ? ? ? ? ? ? ? = T hi low T ref T V V V V R R 热敏电阻计算器 PSoC ? Creator? 组件基本介绍 Page
6 of
9 Document Number: 001-84912 Rev. ** 然后,基于此电阻通过 Equation(公式)或LUT 方法确定温度.在Equation(公式)方法中,温 度通过直接使用如下所示的 Steinhart-Hart Equation(公式)获得:
3 Thermistor Thermistor K )) (ln(R C ) ln(R B A T
1 ? + ? + = 其中,A、B、C 是由此器件计算的 Steinhart-Hart 系数.这些系数是通过求解替代此器件中的 热 敏电阻参数 而构成的三个联立方程而获得的. 如果使用的是 LUT 方法,此器件将生成与温度和电阻相关的表格,且此表格将存储在程序存储器 中.要生成 LUT,使用以下公式计算范围内的各种温度的电阻. ( ) ( ) ( ) ( ) ? ? ? ? ? ? ? ? + ? ? =
3 1
3 1
2 /
2 / α β α β e RThermistor 用户指明,从 Min Temp (最低温度)、和 Accuracy (精度)的增量一直至 Max Temp (最高 温度),计算相应的电阻.LUT 由此器件使用这些电阻构成,且LUT 将存储在程序存储器中.然后,在运行期间,从此表格中获得测........