电路功能与优势
图1所示电路是一款完整的环路供电型热电偶温度测量系统,使用精密模拟微控制器的PWM功能控制4 mA至20 mA 输出电流。
图1. ADuCM360控制4 mA至20 mA基于环路的温度监控电路 (原理示意图:未显示所有连接和去耦)
本电路将绝大部分电路功能都集成在精密模拟微控制器 ADuCM360上,包括双通道24位Σ-Δ型ADC、ARM Cortex ™-M3处理器内核以及用于控制环路电压高达28 V的4 mA至 20 mA环路的PWM/DAC特性,提供一种低成本温度监控解决方案。
其中, ADuCM360连接到一个T型热电偶和一个100Ω铂电阻温度检测器(RTD)。RTD用于冷结补偿。低功耗Cortex-M3 内核将ADC读数转换为温度值。支持的T型热电偶温度范围是−200°C至+350°C,而此温度范围所对应的输出电流范围是4mA至20mA。
本电路与电路笔记CN-0300中描述的电路相似,但本电路具有以更高分辨率的PWM驱动4mA至20mA环路的优势。基于PWM的输出提供14位分辨率。有关温度传感器与 ADC的接口,以及RTD测量的线性化技巧详细信息,请参电路笔记CN-0300和应用笔记AN-0970。
电路描述
电路采用线性稳压器 ADP1720 供电,可将环路加电源调节至3.3 V,为 ADuCM360、运算放大器 OP193和可选基准电压源 ADR3412提供电源。
温度监控器
本部分电路与 CN-0300中描述的温度监控器电路相似,使用 ADuCM360的下列特性:
24位Σ-Δ型ADC内置PGA,在软件中为热电偶和RTD设置32的增益。ADC1在热电偶与RTD电压采样之间连续切换。
可编程激励电流源驱动受控电流流过RTD。双通道电流源可在0μA至2mA范围内以一定的阶跃进行配置。本例使用200μA设置,以便将RTD自热效应引起的误差降至最小。
ADuCM360中的ADC内置了1.2 V基准电压源。内部基准电压源精度高,适合测量热电偶电压。
ADuCM360中ADC的外部基准电压源。测量RTD电阻时,我们采用比率式设置,将一个外部基准电阻(RREF) 连接在外部VREF+和VREF−引脚上。由于该电路中的基准电压源为高阻抗,因此需要使能片内基准电压输入缓冲器。片内基准电压缓冲器意味着无需外部缓冲器即可将输入泄漏影响降至最低。
偏置电压发生器(VBIAS)。VBIAS功能用于将热电偶共模电压设置为AVDD_REG/2 (900 mV)。同样,这样便无需外部电阻,便可以设置热电偶共模电压。
ARM Cortex-M3内核。功能强大的32位ARM内核集成了 126 KB闪存和8 KB SRAM存储器,用来运行用户代码,可配置和控制ADC,并利用ADC将热电偶和RTD输入转换为最终的温度值。它还可控制PWM输出,驱动4 mA至 20 mA环路。出于额外调试目的,它还可以控制UART/USB 接口上的通信。
通信
使用 OP193对16位PWM输出进行外部缓冲,并控制外部 NPN晶体管BC548。通过控制此晶体管的VBE电压,可将经过47.5Ω负载电阻的电流设置为所需的值。这样就针对 4 mA至20 mA输出提供优于±0.5°C的精度(–200°C至+350°C,参考测试结果)。
使用内部DAC为 OP193提供1.2 V基准电压。或者,也可以使用1.2 V精密基准电压源 ADR3412,获得温度范围内更高的精度。该外部基准电压源功耗与内部DAC相近 (~50 μA)。参见“功耗测量测试”部分。
通过 ADuCM360片上16位PWM(脉冲宽度调制)控制4 mA至 20 mA环路。通过软件可配置PWM的占空比,以便控制47.5 Ω RLOOP电阻上的电压,进而设置环路电流。请注意,RLOOP的顶端连接ADuCM360的地。RLOOP的底端连接环路的地。由于这个原因,ADuCM360、ADP1720、ADR3412和OP193的输出电流,加上滤波PWM输出设置的电流,一同流过RLOOP。
R1和R2的结点电压可表示为:
VR12 = (VRLOOP + VREF) × R2/(R1 + R2) − VRLOOP
环路建立后:
VIN = VR12
由于R1 = R2:
VIN = (VRLOOP + VREF)/2 − VRLOOP = VREF/2 − VRLOOP /2
VRLOOP = VREF − 2VIN
当VIN = 0时流过满量程电流,此时VRLOOP = VREF。因此,满量程电流为VREF/RLOOP,或者≈24 mA。当VIN = VREF/2时,无电流流过。
VIN处的 OP193 放大器阻抗非常高,并且不会加载PWM滤波输出。放大器输出仅发生少许变化,约为0.7 V。
范围边界处(0 mA至4 mA以及20 mA至24 mA)的性能不重要,因此供电轨处的运算放大器性能要求不高。
R1和R2的绝对值不重要。但是,R1和R2的匹配很重要。
ADC1用于温度测量,因此本电路笔记直接适用于只有一个ADC的ADuCM361。 eva l-CN0319-EB1Z 评估板包括标记为VR12点的电压测量选项,测量时使用ADuCM360上的 ADC0输入通道。该ADC测量可用于PWM控制软件的反馈,调节4 mA至20 mA电流设置。
编程、调试和测试
UART用作与PC主机的通信接口。这用于对片内闪存进行编程。它还可作为调试端口,用于校准滤波PWM输出。
两个外部开关用来强制该器件进入闪存引导模式。使 SD处于低电平,同时切换RESET按钮, ADuCM360 将进入引导模式,而不是正常的用户模式。在引导模式下,通过UART接口可以对内部闪存重新编程。
代码说明
用于测试本电路的源代码可从 ADuCM360和ADuCM361产品页面下载(zip压缩文件)。源代码使用示例代码随附的函数库。
图2显示了利用KeilμVision4工具查看时项目中所用的源文件列表。
图2. Keil μVision4中查看的源文件
温度监控器
ADC1用于热电偶和RTD上的温度测量。本节代码拷贝自电路笔记CN-0300。详情请参见该电路笔记。
通信部分
需调节PWM滤波输出,以便确保最小温度时的4mA输出以及最大温度时的20mA输出。提供校准程序,使用#define CalibratePWM参数可轻松包含或移除该程序。
若需校准PWM,接口板(USB-SWD/UART)必须连接至J1和 PC上的USB端口。可使用“超级终端”等COM端口查看程序来查看校准菜单并逐步执行校准程序。
校准PWM时,应将VLOOP+和VLOOP–输出端连接至精确的电流表。PWM校准程序的第一部分调整DAC以设置20mA 输出,第二部分则调整PWM以设置20mA输出。用于设置 4mA和20mA输出的PWM代码会存储到闪存中。
UART配置为波特率19200、8数据位、无极性、无流量控制。如果本电路直接与PC相连,则可以使用HyperTerminal或CoolTerm等通信端口查看程序来查看该程序发送给UART的结果,如图3所示。
要输入校准程序所需的字符,请在查看终端中键入所需字符,然后 ADuCM360UART端口就会收到该字符。
图3. 校准PWM时的“超级终端”输出
校准后,演示代码关断UART时钟,进一步节省功耗。
校准系数保存在闪存内,因此不必每次在电路板上电时运行校准程序,除非VLOOP电平发生改变。
代码流程图见图4。
图4. 代码流程图
常见变化
该电路包括HART通信尺寸以及外部基准电压源尺寸。