使用热敏电阻(NTC/PTC)和热电偶(K型热电偶)测量温度电路方案

1.使用热敏电阻NTC/PTC测量温度电路方案

1.1方案说明

在这里插入图片描述
此温度检测电路使用与正温度系数 (PTC) 热敏电阻串联的电阻器构成分压器,从而产生在温度范围内呈线性的输出电压。此电路将同相配置中的运算放大器与反相参考配合使用来对信号进行偏置和放大,从而帮助利用整个 ADC 分辨率并提高测量精度。

在这里插入图片描述

1.2注意事项

  1. 在线性运行区域内使用运算放大器。通常在 AOL 测试条件下指定线性输出摆幅。TLV9002 线性输出摆幅为 0.05V 至 3.25V。

  2. Vin 是正温度系数(PTC)热敏电阻的输出电压。若要校正负温系数 (NTC) 输出电压,请切换 R1 和 PTC 热敏电阻的位置。

  3. 根据温度范围和 PTC 的值选择 R1。

  4. 使用高电阻值电阻器可能会减小放大器的相位裕度并在电路中产生额外的噪声。建议使用电阻值为 10kΩ 左右或更低的电阻器。

  5. 与反馈电阻器并联放置的电容器将限制带宽、提高稳定性并有助于降低噪声。

1.3设计步骤

在这里插入图片描述

  1. 计算 R1 的值以生成线性输出电压。使用 PTC 热敏电阻的最小值和最大值来计算 R1 。

在这里插入图片描述
2. 计算输入电压范围。

在这里插入图片描述
3. 计算所需增益以生成最大输出摆幅。

在这里插入图片描述
4. 使用理想增益求解 R2 和 R4 的并联电阻。选择 R3 = 3kΩ(标准值)。

在这里插入图片描述
5. 根据传递函数和增益来计算 R2 和 R4。

在这里插入图片描述
6. 根据 R2 (510Ω) 和 R4 (510Ω) 的标准值来计算实际增益。

在这里插入图片描述

1.4仿真结果

在这里插入图片描述

2.精密K型热电偶测温电路

在这里插入图片描述

2.1方案说明

方案介绍了如何使用 ADS1120 实现单个热电偶的温度测量。随后,使用 ADS1120 器件单独测量用于冷端补偿 (CJC) 的热电偶冷端的温度。此设计的计算针对温度测量范围为 –270°C 至 1370°C 的单个 K 型热电偶进行。此电路可用于 PLC 的模拟输入模块、实验室仪表 和工厂自动化 等应用。

在这里插入图片描述

2.2注意事项

  1. 模拟和数字电源均使用电源去耦电容。必须使用连接到 GND 且至少为 0.1μF 的电容器对 AVDD 和 DVDD 进行去耦。有关电源建议的详细信息,请参阅 ADS1120 具有集成 PGA 和基准的 4 通道、2kSPS、低功耗 16 位 ADC 数据表。

  2. 如果可能,使用 C0G (NPO) 陶瓷电容器进行输入滤波。这些电容器中使用的电介质在电压、频率和温度变化时提供最稳定的电气性能。由于尺寸原因,X7R 电容器是次优选择。

  3. 需要冷端补偿才能准确测量热电偶温度。

  4. K 型热电偶具有大输入范围和热电偶电压。

  5. 用于根据热电电压确定热电偶温度的转换表和多项式方程可在 NIST 温标数据库中找到。

2.3设计步骤

  1. 确定热电偶的工作范围。

如果温度测量范围为 −270°C 至 1370°C,则 K 型热电偶的范围大约为 −6.5mV 至 +55mV。该范围用于在考虑 ADC 满标量程的情况下更大限度地提高测量的分辨率。

  1. 确定 ADC 的增益和输入范围。

根据最大热电偶输出电压和基准电压,计算可编程增益放大器 (PGA) 在不超出范围的情况下允许的最大增益。然后,确保热电偶偏置接近 1/2 Vs,以便输入信号处于 PGA 的共模输入范围内。

对于 ADS1120 器件,PGA 可以将输入信号按 2 的倍数放大,增益范围从 1 到 128。在输入范围为 -6.5mV 至 +55mV 的情况下,使用最大增益 32,可以在不超出 PGA 范围的情况下,利用内部基准电压 2.048V。
在这里插入图片描述

在 −270°C 至 1370°C 的热电偶温度范围内,31488 代码用于表示 1640°C 范围。这相当于每个 ADC 代码的约 0.052°C。

  1. 设置电阻器偏置以确立输入直流电平和烧毁检测。

同等偏置电阻器从热电偶的任一端连接到 AVSS 和 AVDD。在正常运行中,电阻器将热电偶的直流偏置点设置为接近 1/2 Vs。如果热电偶烧毁并变成开路,则电阻器会将热电偶引线拉开到任一电源。这些电阻器设置为高位(通常为 500kΩ 至 10MΩ),以便减少流经热电偶的偏置电流。与热电偶引线电阻发生反应的电阻器偏置电流会导致测量误差。但是,电阻器也必须足够低,以便提供足够的偏置电流,从而克服来自电阻器的任何输入电流。

在该设计中,偏置电阻器选择为 1MΩ。该值将电阻偏置电流设置为低至 1.65μA(假设这些电阻在 3.3V 电源的中心对热电偶进行偏置)。但是,在热电偶烧毁的情况下,1MΩ 提供的电流远足以将 ADC 输入与 ADC 的任何输入电流分开。

在这里插入图片描述
对于良好的热电偶,热电偶电压的范围为 –6.5mV 至 55mV。VDD 电源的其余 3.3V 在偏置电阻器之间均匀下降。使用 1MΩ 偏置电阻器时,热电偶电压的直流工作点接近 1/2 Vs(即 1.65V)。

在热电偶烧毁的情况下,1MΩ 的偏置电阻会克服输入电流,使输入电压分开,从而使 ADC 读取到满标量程输入读数。根据典型特性曲线,绝对输入电流为 250nA,具体取决于温度、输入电压和输入通道。假设每个输入均具有此输入电流,那么该输入电流会在两个偏置电阻上产生相同的电压降:

在这里插入图片描述
如果热电偶烧毁,ADC 输入电压为 2.8V,远远大于 ADC 的正满量程读数。ADC 报告的读数为 7FFFh,表示存在烧毁情况。请注意,这假设了最大输入电流。在工作温度较低或使用不同的输入时,ADC 输入可以更大。

4.选择 ADC 输入和基准输入的差分和共模输入滤波值。

如果存在输入滤波,则输入电流会对任何串联滤波器电阻做出反应,从而产生误差。因此,输入串联电阻保持较低值,以便减少任何可能的误差。

此设计包含差分和共模输入 RC 滤波。差分输入滤波的带宽设置为至少比 ADC 的数据速率高 10 倍。共模电容器选择为差分电容器值的 1/10。由于电容器的选择,共模输入滤波的带宽比差分输入滤波带宽大约高 20 倍。

在进行输入滤波的情况下,差分信号以低于共模信号的频率衰减,共模信号会被器件的 PGA 显著抑制。共模电容器的失配会导致非对称噪声衰减,表现为差分输入噪声。差分信号的带宽较低,从而可以降低输入共模电容器失配的影响。ADC 输入和基准输入的输入滤波是针对相同的带宽进行设计的。

在该设计中,数据速率选择为 20SPS。对于 ADC 输入滤波,可以通过以下公式近似计算差分滤波和共模滤波的带宽频率:

在这里插入图片描述
对于 ADC 输入滤波,RIN = 800Ω,CIN_DIFF = 0.47µF,CIN_CM = 0.047µF。这将差分滤波器带宽设置为 330Hz,将共模滤波器带宽设置为 4.2kHz。

  1. 使用冷端补偿根据冷端温度计算实际热电偶电压。

要从热电偶获得精确测量结果,必须执行冷端补偿以获得准确的温度测量值。必须精确测量热电偶引线所在的冷端。不能简单地将冷端的温度与从热电偶电压计算的温度相加。要准确确定热电偶温度,正确的方法是:

a. 将冷端温度 (TCJ) 转换为电压 (VCJ)
b. 将冷端电压与测量到的热电偶电压相加 (VCJ + VTC)
c. 将冷端电压与热电偶电压之和转换为热电偶温度 (TTC)
以下流程图显示了根据 ADC 测量值确定热电偶实际温度的转换方法。

在这里插入图片描述

React Hooks 是 React 16.8 中新增的特性,它可以让你在函数组件中使用 state、生命周期钩子等 React 特性。使用 Hooks 可以让你写出更简洁、可复用且易于测试的代码。 React Hooks 提供了一系列的 Hook 函数,包括 useState、useEffect、useContext、useReducer、useCallback、useMemo、useRef、useImperativeHandle、useLayoutEffect useDebugValue。每个 Hook 都有特定的用途,可以帮助你处理不同的问题。 下面是 React Hooks 的一些常用 Hook 函数: 1. useState useState 是最常用的 Hook 之一,它可以让你在函数组件中使用 state。useState 接受一个初始状态值,并返回一个数组,数组的第一个值是当前 state 值,第二个值是更新 state 值的函数。 ``` const [count, setCount] = useState(0); ``` 2. useEffect useEffect 可以让你在组件渲染后执行一些副作用操作,比如订阅事件、异步请求数据等。useEffect 接受两个参数,第一个参数是一个回调函数,第二个参数是一个数组,用于控制 useEffect 的执行时机。 ``` useEffect(() => { // 这里可以执行副作用操作 }, [dependencies]); ``` 3. useContext useContext 可以让你在组件树中获取 context 的值。它接受一个 context 对象,并返回该 context 的当前值。 ``` const value = useContext(MyContext); ``` 4. useRef useRef 可以让你在组件之间共享一个可变的引用。它返回一个对象,该对象的 current 属性可以存储任何值,并在组件的生命周期中保持不变。 ``` const ref = useRef(initialValue); ref.current = value; ``` 5. useCallback useCallback 可以让你缓存一个函数,以避免在每次渲染时都创建一个新的函数实例。它接受一个回调函数一个依赖数组,并返回一个 memoized 的回调函数。 ``` const memoizedCallback = useCallback(() => { // 这里是回调函数的逻辑 }, [dependencies]); ``` 6. useMemo useMemo 可以让你缓存一个计算结果,以避免在每次渲染时都重新计算。它接受一个计算函数一个依赖数组,并返回一个 memoized 的计算结果。 ``` const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]); ``` 以上就是 React Hooks 的一些常用 Hook 函数,它们可以帮助你更好地处理组件状态、副作用、上下文性能优化等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小幽余生不加糖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值