概览
参考资料
-
MT-101:去耦技术2013/11/5PDF954 kB
-
MT-031: Grounding Data Converters and Solving the Mystery of "AGND" and "DGND"2009/3/20PDF144 kB
-
CN0319: 采用ARM Cortex-M3的14位、4-20mA环路供电型热电偶温度测量系统2014/6/10PDF603 kB
电路功能与优势
图1所示电路是一款完整的环路供电型热电偶温度测量系统,使用精密模拟微控制器的PWM功能控制4mA至20mA 输出电流。
本电路将绝大部分电路功能都集成在精密模拟微控制器 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.2V基准电压源。内部基准电压源精度高,适合测量热电偶电压。
- 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。 EVAL-CN0319-EB1Z 评估板包括标 记为VR12点的电压测量选项,测量时使用ADuCM360上的ADC0输入通道。该ADC测量可用于PWM控制软件的反馈,调节4 mA至20 mA电流设置。
编程、调试和测试
- UART用作与PC主机的通信接口。这用于对片内闪存进行编程。它还可作为调试端口,用于校准滤波PWM输出。
- 两个外部开关用来强制该器件进入闪存引导模式。使SD处于低电平,同时切换RESET按钮, ADuCM360 将进入引导模式,而不是正常的用户模式。在引导模式下,通过UART接口可以对内部闪存重新编程。
代码说明
用来测试电路的源代码链接在CN-0319设计支持包中:http://www.analog.com/CN0319-DesignSupport用于测试本电路的源代码可从 ADuCM360和ADuCM361产品页面下载(zip压缩文件)。源代码使用示例代码随附的函数库。
图2显示了利用KeilμVision4工具查看时项目中所用的源文件列表。
温度监控器
ADC1用于热电偶和RTD上的温度测量。本节代码拷贝自电路笔记CN-0300。详情请参见该电路笔记。
通信部分
需调节PWM滤波输出,以便确保最小温度时的4mA输出以及最大温度时的20mA输出。提供校准程序,使用#defineCalibratePWM参数可轻松包含或移除该程序。
若需校准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端口就会收到该字符。
校准后,演示代码关断UART时钟,进一步节省功耗。
校准系数保存在闪存内,因此不必每次在电路板上电时运行校准程序,除非VLOOP电平发生改变。
代码流程图见图4。
常见变化
该电路包括HART通信尺寸以及外部基准电压源尺寸。
电路评估与测试
本文档不含温度检测部分,因为这部分内容已在 CN-0300。中涉及。本文档重点关注温度-电流输出的性能。
PWM差分非线性 (DNL)
首先测量滤波PWM输出的DNL。图5中的DNL曲线显示,在关键的4mA至20mA范围内具有优于0.3LSB的典型性能。在PWM输出端利用二阶滤波器执行这些测试。使用两个 47kΩ电阻和两个100nF电容,如图1所示。
温度-电流输出
图6中的设置用来测试电路的通信部分。
PC通过UART将温度值发送到ADuCM360,然后ADuCM360根据该值调节PWM输出。环路电流经测量并记录。
1°C的温度提升相当于:
(20 mA – 4 mA)/550= 0.029029mA
温度 (°C) |
预期电流 (mA) |
-200°C |
4 mA |
-199°C |
4mA+0.029029mA |
… |
|
+349°C |
20mA至0.029029mA |
+350°C |
20 mA |
CN-0300(DAC控制)和CN-0319(PWM控制)中的环路电流测量误差见图7。
这些结果显示校准后,无反馈PWM控制环路的精度优于有反馈的DAC控制环路。
若需更高精度,可增加反馈环路。这将需要使用 ADuCM360并使能第二个ADC来监控环路。它将增加功耗(ADC0导通),并降低环路的响应速度。
电流环路的更新速率取决于CPU和ADC配置。在示例代码中,CPU速度设为1MHz,ADC频率为5 Hz。ADC对结果求平均值前,先转换RTD和热电偶上的一部分样本。样本数由参数SAMPLEN0定义。在示例代码中,其默认值设为8。这将使电流环路的更新速率为740 ms。
如需更快的环路响应时间,可减少SAMPLEN0。
功耗测量测试
正常工作时,整个电路的功耗通常为2mA。保持在复位状态时,整个电路的功耗不到550μA。
为方便低功耗操作,可编程内部CLKSYSDIV寄存器以降低 ADuCM360/ADuCM361内核工作速度,使低功耗系统时钟 等于8 MHz。另外,编程CLKCON0寄存器可允许将16 MHz内核频率分频至二进制的2至128倍。本示例代码中,使用8作为时钟分频值,内核速度为1 MHz。
主ADC以增益32使能。还使能PWM和DAC,用于环路通信。
禁用所有未使用的外设,较大程度减少功耗
表2列出整个电路中的各项IDD功耗。
元件 |
25°C时的 IDD值 |
ADuCM360/ADuCM361 ADC1导通,增益=32,FADC=5Hz CPU速度=1MHz PWM导通。240 Hz 外部基准电压由DAC产生。 该数据的激励电流值。 典型值为200µA。 禁用所有其他外设 |
1.80 mA |
ADP17203.3 V 输出线性稳压器 OP193,低功耗运算放大器 其余电路 总电流(激励电流较低) |
~100 µA 15 µA 50 µA 2.0 mA |
有关 ADuCM360功耗数据的更多详情,请参考 应用笔记AN-1111。