基于低成本MCU的电流环路校准器的设计与实现
4~20mA电流环路被广泛用于工业自动化系统中的通信。本文讨论了基于低成本微控制器的电流环路校准器的设计与实现,这些校准器主要用于测试和校准通过4~20mA电流环路标准通信的系统。
这次任务的目的是降低这些设备的成本,进而降低其销售价格。所设计设备的电流源分辨率为0.001mA。它能以阶梯或斜坡函数格式自动化地或通过数字键盘以人工方式输入电流值来测量并提供所需要的4~20mA范围内的电流。
4~20mA电流环路是在工业应用中发送传感器信息的一种基本方法。传感器是一种用来测量温度、压力、速度和流体流动等物理参数的器件。大多数过程自动化传感器使用4~20mA的电流环路接口实现标准化。这种接口一般用于通过电流环路向远端站点发送传感器值(见图1)。
图1:电流环路系统纵览。
如果将电压值用于发送过程,那么随着载体阻抗和距离的递增,电压会下降。为了防止出现这种负面效应,业界对4~20mA电流环路进行了标准化。
业界有许多系统遵循4~20mA电流环路标准。4~20mA电流环路校准器就是用于测试和校准这些系统。4~20mA电流环路是这样设计的:当传感器接收到最小值时,环路电流是4mA;当传感器达到最大值时,环路电流变成20mA。因此4mA被认为是起点(0%读数),20mA是满刻度读数(100%)。在这种条件下,0mA值被解释为通信中断。也就是说,0至4mA范围被称为零或偏移量,4至20mA范围被称为发送器的正常覆盖范围。
4~20mA电流环路电路由4部分组成,分别是传感器/转换器、发送器、接收器和电流源,见图2。传感器或换能器测量物理参数幅度,并转换为电压。发送器将来自传感器的电压信息转换为4~20mA电流值。接收器在收到4~20mA电流值后将它转换回电压,并发送给过程控制器或指示器。电流源也提供电流环路。每个环路中至少有一个接收器,它可以是一个指示器(一台仪表或一个数字显示器)、一个图表记录器、一个RTU或PLC输入电路、阀门致动器等。
图2:4-20mA电流环路的接口。
4~20mA电流环路有许多优点,比如:受噪声影响较小,能够将信号发送给距离较远的设备,信号仅受限于电流源,因此不存在信号丢失,也能够控制断线。由于电流环路的最低值是4mA,因此信号传输线断开被认为是0mA。
在设计和测试带传感器的工业设备时,我们可以使用电流环路校准器并依据传感器可能有的值来观察系统行为。
校准器产生而且也读取4~20mA范围内的电流值。对于图2所示的系统,电流环路校准器可以通过取代发送器和接收器来判断过程控制器在远程系统的不同过程条件(如10%、50%和77%范围内的温度值)下的行为。
在商用化市场中,存在许多类型且具有不同规格的4~20mA电流环路校准器,它们的价格高达2,000美元。本次研究的目的是要降低这些设备的成本,从而降低其销售价格。
大多数商用化校准器都有基于模拟或阶梯/斜坡函数进行调整的属性。本次研究旨在开发出一种能够在足够短的时间内通过键盘输入方法调整到目标电流值的校准器。另外,所开发的设备应能够产生具有足够精度的电流值,并能根据阶梯/斜坡函数进行自动或手工调整。
在科学文献中有许多与本研究工作相关的出版物,比如具有0~20kA值的电流调整系统,用于大电流/电源转换器的10mA直流电流源,通用CMOS电流源等,但没有一个可直接用于4~20mA电路环路。本次实现的设备具有上述电流环路标准中规定的很高精度,还能够完成许多功能,如发送器、接收器、电流源以及与这个标准相关的测量。另外,根据这个标准中的模拟值,我们开发了一种基于数字接口微控制器的系统。这样做的主要理由是数字系统工作稳定,较少受环境条件(噪声、热量等)的影响,并且更容易使用。
校准器的规范
首先我们来了解一下商用校准器的属性,见图3。
图3:商用电流环路校准器例子。
这些设备的一般属性有:
在4~20mA范围内的电流产生和读取;
0~20V工作电压;
电流源分辨率为0.001mA;
电流读取精度为0.012%;
9V碱性电池;
允许使用240V交流;
在LCD指示器上以百分比(%)指示电流值(也存在使用条形图案的产品);
使用两线发送器。
电流环路校准器的设计
这次设计的系统由数字键盘、编码器、微控制器、数字/模拟转换器(DAC)、电流源、模拟/数字转换器(ADC)和LCD指示器组成(见图4)。我们使用PIC16F877微控制器控制系统。PIC16F877是一种40引脚、带8位CMOS闪存的微控制器。选择这种微控制器的理由是,它具有足够多的输入端口用于LCD、键盘和数字/模拟转换器,还有一个串行外设接口(SPI)、一个用于键盘的中断源、一个内部模拟/数字转换器(ADC),最后是低成本。
图4:系统框图。
对于电流源来说,需要输出电流在4mA至20mA范围内的微控制器控制的DAC。基于这个目的,我们使用了一个数字化可编程的AD420芯片,该芯片采用ΣΔ架构,具有16位精度,并提供电流输出功能和SPI接口。
我们还使用模拟/数字转换器测量电流。PIC16F877内部的模拟/数字转换器具有10位分辨率,可以测量0至5V的电压值。电流流经0.47Ω电阻,并利用同相放大器放大到0~5V电平。另外,我们还使用了4x3的数字键盘和16x2大小而且带HD44780接口的GDM1602B指示器。
本次设计的设备有两种模式:第一种模式产生大小由用户输入的电流,第二种模式读取从外部电流环路检测到的电流。在电流源模式,从键盘输入的电流信息被送往微控制器并通过解码器分析。由微控制器决定了的电流信息再通过SPI协议发送到DAC,然后产生4-20mA范围内的目标电流值。在测量模式,连接输入端的外部电流环值将显示在LCD指示器上。
嵌入式软件设计
我们在Code Composer Studio(CCS)环境中用PIC C语言开发微控制器上运行的嵌入式软件。在微控制器上运行的软件接收校准器是否在用户选择的电流源或电流测量模式下工作的信息。图5显示了我们开发的主程序流程图。
图5:主程序流程图。
从主流程图可以看出,#键实现的是“取消”或“删除”任务,并重复这个任务。另外,*键具有在任何时刻返回主干程序的功能。
电流源模式
在电流源模式,嵌入式程序根据图6所示的流程图运行。从这个流程图可以看出,首先,用户要输入一个电流值,其中小数点左边两位,小数点右边三位(精度为0.1%)。如果在输入阶段输入了错误的值,用户可以按#键取消这个值。如果想要一步步地处理,那么整个过程可以用5个值完成:4mA、8mA、12mA、16mA和20mA。
图6:电流源程序的流程图。
在输入完电流值后,数据将通过SPI协议传送给AD420集成电路并启动电流产生过程。不管是在输入电流值期间还是在产生该电流值后,加载进*键和#键的功能都不会改变,只会执行。这些功能是:
不管何时只要按下*键,系统就会返回到模式选择菜单(主菜单)
不管何时只要按下#键,都会进行清屏,然后提供电流值输入界面
一旦电流值的小数点右边三位输入完后,电流就会自动产生,等整个过程成功完成后,还会在LCD上的电流值旁边显示“OK”标记。如果用户输入的电流值超出范围,即小于4mA或大于20mA,LCD上将显示“超出输出范围”的警告消息。
电流测量模式
在电流测量模式时,由电压放大层产生的电平被模拟/数字转换器读取,然后在屏幕上显示测量出的电流值,见图7所示的流程图。
图7:电流测量模式下的程序流程图。
键盘中断
在键盘接口中,我们使用了PIC16F877的“根据状态改变(change on-state)”中断源来检测是否有键按下。利用这个中断源,当微控制器的B输入端口的状态发生改变时,中断将自动启动。这样,当设备不在使用时,微控制器将进入睡眠模式以节省功耗。
电流源与测量
如图8所示,微控制器的数字输出通过SPI协议接口连接到带16位CMOS电流输出的数字/模拟转换器电路(AD420)。
图8:DAC框图。
通过这个电路就能获得4~20mA范围(取决于范围选择)内的电流输出值。SPI是微控制器的一种串行接口协议,能够同步收发8位数据。
为了进行电流测量,我们使用了微控制器内部的模拟/数字转换器模块。转换过程达到10位分辨率以上。我们是通过将电流流经0.47Ω电阻然后再送到微控制器上的ADC实现电流测量的。
所设计设备的灵敏度
本研究报告中使用的数模转换器(DAC)是16位分辨率,在4-20mA范围用的就是这个分辨率。我们可以用公式1确定获得的电流源灵敏度(Ss):
我们可以认为,发送给DAC的数据发生的±1LSB变化是由输出端的±244.14nA差异造成的。但是,鉴于电流值只能输入小数点后三位这个事实,电流源分辨率是0.001mA。我们可以在嵌入式软件上调整这个精度值。
为了实现电流测量,电流需要流经一个阻值非常小的电阻,然后必须对这个电阻上的电压进行测量。在电流测量期间,需将电流测量设备串接到电路。因此可以预见的是,设备内部阻抗不会影响到电路,或者至少这个阻抗的影响是很小的。本例中的电流电压转换使用的阻值是Rx = 0.47Ω。作为使用低值电阻的结果,在最大电流值时获得的电压值(Vacq)也是非常小的(参见公式2)。
为了将这个低电压提升到0~5V范围,我们用LF351设计了一个同相放大器电路。用公式3可以计算这个放大器的增益(G),其中Vo代表输出电压,Vi代表输入电压。
最终结果是,在电流测量实现过程中达到的分辨率为10位,同时我们可以计算出测量精度(Sm),见公式4。
对于4~20mA范围来说,这个值对应了足够高的灵敏度。由于所用运放的特性和噪声效应,这个灵敏度比会有所下降。
在数字/模拟转换过程结束时,就可以获得带模拟直流电平的电流。但要想用这里获得的电流驱动所连负载并保持线性工作,还存在一些最大值限制问题。其中一个限制是电流环电压一致性。这个术语描述了与电流输出端相连的负载上施加的最大电压。
在第一次试验时,我们使用的是DAC908。这个集成电路的特点是速度快,输出电流分辨率为8位。该集成电路的输出一致性限制是在-1.0V和+1.25V之间。这意味着电流输出端可以连接的最大负载电阻为1.25V/20mA=62.5Ω。在本例中,这个值对于使用24V电压实现电流环路的过程控制系统来说太低了。另外,这个集成电路是一种快速DAC。这样,由于高工作频率而很难获得这个频率值。基于上述这些理由,我们决定放弃DAC908,取而代之的是另一种数字/模拟转换器AD420。
所设计设备的基本属性
图9显示了所设计的校准器的内部电路。所设计设备的输入输出范围都是4~20mA。室温下所做试验的输出电流误差是±1nA。对于12V环路电压来说最大负载驱动能力是600Ω。对于4~20mA电流产生范围,要求24V的工作电压。外部可用环路电压最大值为32V。此次实现的校准器的总成本约50~100美元。因此,在设备成本方面获得的好处是非常大的。
图9:所设计的校准器纵览。
本次设计的设备目前只提供英文支持。下一阶段我们将做出以下改进:用百分比模式显示,多语言支持,触摸板输入。表1总结了所开发设备的参数。
本文总结
在这份研究报告中,我们设计并实现了具有0.001mA分辨率的低成本电流环路校准设备。该设备可用于测试和校准采用4~20mA电流标准通信的系统。电流环路是工业控制应用的一个重要方面,因为通过这个方式,信号远距离传送时受噪声的影响会较少。本次开发的设备还可以用来仿真使用4~20mA电流环路的装置中的传感器。
|