利用精密模拟微控制器ADuCM360和外部热电偶构建基于USB的温度监控器
扫描二维码
随时随地手机看文章
电路功能与优势
本电路显示如何在精密热电偶温度监控应用中使用精密模拟微控制器ADuCM360/ADuCM361。ADuCM360/ADuCM361集成双通道24位-型模数转换器(ADC)、双通道可编程电流源、12位数模转换器(DAC)、1.2 V内部基准电压源、ARM Cortex-M3内核、126 kB闪存、8 kB SRAM以及各种数字外设,例如UART、定时器、SPI和I2C接口等。
在本电路中,ADuCM360/ADuCM361连接到一个热电偶和一个100 铂电阻温度检测器(RTD)。RTD用于执行冷结补偿。
在源代码中,ADC采样速率选择4 Hz。当ADC输入可编程增益放大器(PGA)的增益配置为32时,ADuCM360/ADuCM361的无噪声代码分辨率大于18位。
图1. ADuCM360/ADuCM361用作温度监控控制器与热电偶接口(原理示意图,未显示所有连接)
电路描述
本应用中用到ADuCM360/ADuCM361的下列特性:
- 在软件中,为热电偶和RTD配置了32倍PGA增益的24位∑-△型ADC。ADC1在热电偶信号采样与RTD电压信号采样之间连续切换。
- 可编程激励电流源,用来驱动受控电流流经RTD。双通道电流源可在0A至2mA范围内配置。本例使用200A设置,以便将RTD自热效应引起的误差降至最小。
- ADuCM360/ADuCM361中的ADC内置1.2V基准电压源。它的内部基准电压源精度高,适合测量热电偶电压。
- ADuCM360/ADuCM361中的ADC内置外部电压基准电压源。它可测量RTD电阻;采用比率式设置,将一个外部基准电阻(RREF)连接在外部VREF+和VREF引脚上。
- 偏置电压发生器(VBIAS)。VBIAS用于将热电偶共模电压设置为AVDD/2。
- ARMCortex-M3内核。功能强大的32位ARM内核集成了126kB闪存和8kBSRAM存储器,用来运行用户代码,可配置并控制ADC,通过RTD处理ADC转换,以及控制UART/USB接口的通信。
- UART用作与PC主机的通信接口。
- 两个外部开关用来强制该器件进入闪存引导模式。使SD处于低电平,同时切换RESET按钮,ADuCM360/ADuCM361便进入引导模式,而不是正常的用户模式。在引导模式下,通过UART接口可以对内部闪存重新编程。
热电偶和RTD产生的信号均非常小,因此需要使用PGA来放大这些信号。
本应用使用的热电偶为T(铜-康铜)型,其温度范围为−200°C至+350°C。灵敏度约为40V/°C,这意味着ADC在双极性模式和32倍PGA增益设置下可以覆盖热电偶的整个温度范围。
RTD用于执行冷结补偿。本电路使用铂100ΩRTD,型号为Enercorp PCS 1.1503.1。它采用0805表贴封装。温度变化率为0.385Ω/°C。
注意,基准电阻RREF应为精密5.6kΩ (±0.1%)电阻。
ADuCM360/ADuCM361的USB接口通过FT232R UART转USB收发器实现,它将USB信号直接转换为UART。
除图1所示的去耦外,USB电缆本身还须采用铁氧体磁珠来增强EMI/RFI保护功能。本电路所用铁氧体磁珠为Taiyo Yuden #BK2125HS102-T,它在100 MHz时的阻抗为1000Ω。
本电路必须构建在具有较大面积接地层的多层印刷电路板(PCB)上。为实现最佳性能,应采用适当的布局、接地和去耦技术。
评估该电路所用的PCB如图2所示。
图2. 本电路所用的EVAL-ADuCM360TCZ板
代码说明
用于测试本电路的源代码可从ADuCM360产品页面下载(zip压缩文件)。
UART配置为波特率9600、8数据位、无极性、无流量控制。如果本电路直接与PC相连,则可以使用“超级终端” (HyperTerminal)等通信端口查看程序来查看该程序发送给UART的结果,如图3所示。
图3.“超级终端”通信端口查看程序的输出
测量热电偶和RTD的温度,以获得温度读数。通过查找表,将RTD温度转换为它的等效热电偶电压(可查看ISE公司的ITS-90 T型热电偶表)。这两个电压相加以得出热电偶的绝对温度值。
首先,V1是热电偶两条线之间测得的电压。通过查找表,测量RTD电压并转换为温度值;然后,该温度值再转换为它的等效热电偶电压(V2)。随后,V1和V2相加得出总热电偶电压值,此数值经转换后作为最终的温度测量值。
图4. 使用简单线性逼近法时的误差
最初,这一转换是基于一个简单的线性假设:热电偶的温度为40V/°C。从图4可以看出,只有针对0°C左右的小范围温度,如此转换所产生的误差才是可以接受的。计算热电偶温度的更好方法是对正温度使用6阶多项式,对负温度使用7阶多项式。这需要进行数学运算,导致计算时间和码字大小增加。适当的折衷是针对固定数量的电压计算相应的温度,然后将这些温度存储在一个数组中,其间的值利用相邻点的线性插值法计算。从图5可以看出,使用这种方法时误差显著降低。图5表示使用理想热电偶电压的算法误差。
图5. 使用分段线性逼近法时的误差
图6表示在ADuCM360上采用ADC1测量全热电偶工作范围内的52个热电偶电压,所产生的误差。整体最大的误差为<1°C。
图6. 使用分段线性逼近法时的误差(采用ADuCM360/ADuCM361测量的52个校准点)
像热电偶一样,RTD温度可使用查找表的方法计算与实现。注意,描述RTD温度与电阻关系的多项式与描述热电偶的多项式不同。
常见变化
ADP1720 可以代替ADP120调节器,前者具有同样的工作温度范围(−40°C至+125°C),功耗更低(典型值为35A,后者为70A)且具有更低的最大输入电压。请注意,ADuCM360/ADuCM361可以通过标准串行线接口编程或调试。
对于标准UART至RS-232接口,可以用ADM3202等器件代替FT232R收发器,前者需采用3 V电源供电。对于更宽的温度范围,可以使用其它热电偶,例如J型热电偶。为使冷结补偿误差最小,可以让一个热敏电阻与实际的冷结接触,而不是把它放在PCB上。
针对冷结温度测量,可以用一个外部数字温度传感器来代替RTD和外部基准电阻。例如,ADT7410可以通过I2C接口连接到ADuCM360/ADuCM361。
有关冷结补偿的更多信息,请参阅ADI公司的《信号调理》第7章“温度传感器”。
如果USB连接器与本电路之间需要隔离,则应增加隔离器件ADuM3160/ADuM4160。
常见变化
ADP1720 可以代替ADP120调节器,前者具有同样的工作温度范围(−40°C至+125°C),功耗更低(典型值为35A,后者为70A)且具有更低的最大输入电压。请注意,ADuCM360/ADuCM361可以通过标准串行线接口编程或调试。
对于标准UART至RS-232接口,可以用ADM3202等器件代替FT232R收发器,前者需采用3 V电源供电。对于更宽的温度范围,可以使用其它热电偶,例如J型热电偶。为使冷结补偿误差最小,可以让一个热敏电阻与实际的冷结接触,而不是把它放在PCB上。
针对冷结温度测量,可以用一个外部数字温度传感器来代替RTD和外部基准电阻。例如,ADT7410可以通过I2C接口连接到ADuCM360/ADuCM361。
有关冷结补偿的更多信息,请参阅ADI公司的《信号调理》第7章“温度传感器”。
如果USB连接器与本电路之间需要隔离,则应增加隔离器件ADuM3160/ADuM4160。
图7. 用于在热电偶完整输出电压范围内校准和测试电路的设置
RTD测量测试
为评估RTD电路和线性化源代码,以精确可调节的源电阻替代板上的RTD。采用仪器为1433-Z Decade Resistor。RTD值在90Ω至140Ω之间,表示的RTD温度范围为−25°C至+114°C。
图8表示测试设置电路,图9表示RTD测试的误差结果。
图8. 用于测量RTD误差的测试设置
图9. RTD测量误差,以°C表示(采用分段线性代码和ADC0测量)