基于低成本MCU的电流环路校准器的设计与实现
时间:07-13
来源:互联网
点击:
嵌入式软件设计
我们在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。
我们在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。
电流 自动化 传感器 电压 电路 显示器 PLC CMOS LCD 编码器 DAC ADC PIC 电阻 放大器 解码器 嵌入式 C语言 集成电路 仿真 相关文章:
- 航天器DC/DC变换器的可靠性设计(02-12)
- 基于nRF2401智能小区无线抄表系统集中器设计(04-30)
- 卫星电源分系统可靠性设计与研究(02-12)
- 采用信号调理IC驱动应变片电桥传感器(05-26)
- 解密波音747飞机中的Sperry垂直陀螺仪(05-06)
- 安森美90W太阳能LED街灯高能效解决方案(05-18)
