罗 旋,鲍 鹏
多通道高精度高压测量装置设计与实现
罗 旋,鲍 鹏
(武汉船用电力推进装置研究所,武汉 430064)
工业现场对电压测量精度要求高,为此设计了一种多通道、高精度的直流电压测量装置,用于测量±1000 V电压。该装置使用高精密运算放大器OPA4277和24位AD转换器ADS1251实现信号输入与转换,核心微控制器使用基于ARM Cortex-M3的芯片LPC1788,采用低通滤波和采样滤波相结合的算法来降低噪声干扰,给出了基于最小二乘法的线性拟合方式来进一步提高测量精度,设计的CAN通信方式可以对多通道数据同时传输。长时间持续测试结果显示:该装置可以同时对八路电压信号正确测量,各通道输出稳定、波动程度小、满量程相对误差达到0.3‰,说明设计的电压测量装置测量精度高、稳定性好,测量容量大,具有较高的应用价值。
高精度 多通道 高压测量 稳定性好
随着电力电子技术的飞速发展,工业现场对测量技术的要求也在不断提高,电压是电子电路中最常用的指标之一,其精确的测量结果能更具体的反映电路或设备的性能好坏。高精度、高量程的电压测量对应的技术难度往往更高,设计成本也更大,目前使用比较多的高精度电压测量表主要是安捷伦、福禄克等国外公司的产品,费用相对较高[1-4]。本文设计了一种高精度的直流高压测量设备,由硬件电路和软件程序两部分组成。硬件电路完成模拟信号的输入、转换以及存储,软件程序实现数字信号的读取、滤波、校正拟合并输出。本文设计的电压测量装置在精度测量方面基本能达到工业现场的要求,但相比目前市面上常用的高精度万用表,在价格方面具有更大的优势。
本文设计的8通道高精度直流高压测量装置系统结构如图1所示,以1个通道为例说明,8个通道结构基本一致。
输入的±1000 V模拟电压先由降压电路进行第一次电压转换,使之下降到集成运放OPA4277正常工作电压±15 V范围内。运放单元输出电压与基准电压源提供的2.5 V电压差值作为ADS1251的差分输入。由CPLD统一提供时钟信号控制8个通道的AD转换,并将转换后的24位数字信号串行输入到CPLD指定的地址内存中,由LPC1788并行读取8路信号并进行滤波处理、线性拟合并通过CAN网输出。每一个通道中各元件的基准电压由精度为0.2%的基准电压源REF3025统一提供,通道之间以及前后级电路之间的隔离采用光耦隔离元件HCPL-0600实现,电路由24 V直流电源供电,运放单元±15 V电源电压由电源模ZY2415WRACS-1W转换获得,AD转换器中+5 V电源电压由+15 V电压经过电压调节器MC78M05ABDT转换获得。
图1 系统结构图
前级输入电路由降压电路和转换电路组成,如图2所示。高精度电阻组成的分压电路将±1000 V的模拟电压信号降低到集成运放OPA4277正常输入范围内,再由OPA4277进一步变换。运放单元电路中在输入回路和反馈支路中加上了适当大小的电容,用于减少高频信号干扰。另外在±15 V电源端也使用了电容元件,以降低开关电源模块产生的干扰因素。
图2 转换电路
即由降压电路和两级运放单元共同作用,将±1000 V的电压转换到0~5 V范围内。
电压测量中的关键部分就是AD转换单元,AD转换的精度直接影响了最终的测量精度。本文选用的模数转换单元ADS1251是一款Δ-Σ结构的ADC芯片,具有24位高分辨率和20 kHz的高速转化速率[5]。由+5 V的电源供电,外部参考电压设置为2.5 V,由基准电压源REF3025提供。采用SOT-23-3封装的REF3025具有低功耗、低温漂、高精度等优异性能,能持续提供一个稳定的直流参考电压。
前级输入电路将电压变换到0~5 V范围内,与基准电压源REF3025提供的2.5 V电压的差值作为ADS1251的差分输入。ADS1251差分输入范围为-2.5 V ~2.5 V,对应转化为24位十六进制数范围为0x800000-0x7FFFFF,控制转化过程的时钟信号SCLK由CPLD中30 MHz的时钟信号4分频得到,CPLD选用Altera的EPM1270T144I5N系列,转换后的24位数据串行输入到CPLD指定地址内存中。同时使用了光耦隔离元件HCPL-0600,其转换速率高达10 Mbit/s,工作温度范围广(-40°C~85°C),实现了TTL兼容,能很好地用于AD转换中的数字隔离,保证系统的无扰运行。
LPC1788是NXP 半导体针对各种高级通讯,高质量图像显示等应用场合设计的一款具有高集成度、以Cortex-M3 为内核的微控制器,具有512 kB的片上闪存程序存储器,四个通用定时器,1个独立的电源域的实时时钟,双通道CAN控制器,三个同步串行端口控制器SSP,208针封装的165个通用GPIO引脚,具有标准的JTAG 测试/调试接口以及串行线调试和串行线跟踪端口选项,可使用ARM/Keil软件开发工具进行调试[6]。
LPC1788芯片使用引脚P3_0到P3_15来获取CPLD中数据,通过中断服务子程序来并行读取对应地址内存中的数据。
软件程序要实现对LPC1788芯片的初始化与配置,数据读取、滤波处理与线性拟合,以及CAN通讯等功能,采用ARM/Keil软件编写程序代码,编程语言为C语言。
芯片的初始化包括了任务线程的创建,引脚设置,参数的初始化,定时器与中断设置等,如图3所示。函数OSTaskCreateExt用于建立一个新的任务,并设置任务ID和优先级,定义任务堆栈及大小,定义指向任务堆栈的指针等;设置IOCON寄存器中相应位数值来控制器件管脚功能;使能芯片计数器功能并匹配中断(IR),根据数据读取的速率确定中断产生频率,并在中断服务函数TIMER_IRQHandler中进行数据读取和处理。
3.2.1数据读取
CPLD 从8路ADS1251中按照最大转换速率不断读取每一路的24位转换结果,并按小端模式存储在两个16位寄存器中,低8位固定用0补齐,一共使用了16个16位寄存器来存储8个通道的转换结果。LPC1788芯片通过访问这16个寄存器来获取结果并合并为8个32位有符号位数据。程序中通过在定时器中断服务子程序中读取数据,读取频率为8 kHz。
图3 芯片初始化配置
3.2.2 滤波算法
1)低通滤波算法
模拟信号中一般包括有来自被测信号本身、传感器或者外界扰动的各种噪声和干扰,为了保证测量的精确和可控必须要消除它们。周期性的噪声干扰如50 Hz的工频信号,在AD转换电路中可被消除,不规则的随机扰动信号就需要采用数字滤波的方法来削弱或者消除。
本文中使用的低通滤波算法是将普通硬件RC低通滤波器的微分方程用差分方程来表示,便可以用软件算法来模拟硬件滤波的功能。低通滤波算法一般应用于惯性较大的系统,在目标参数为变化缓慢的物理量时具有理想的效果[7,8]。低通滤波算法公式如式(2):
()=()+(1-)() (2)
其中() 为本次滤波输出值,()为上一次滤波输出值,()为本次采样值,为滤波参数,取值一般远小于1。
2)采样滤波算法
为了实现比较高的测量精度,进一步提高系统的抗干扰能力和稳定性,除了采用低通滤波算法外,程序中还使用了采样滤波的方法,即多次采样取最优值。实现过程为:连续采集若干个测量值,去掉其中的最大值和最小值,剩下的值取平均作为一个优化过的采样点。
采用滤波的方法能有效减少信号的干扰,降低输出信号的波动情况,提高稳定性,但与此同时会降低采样频率,因此在使用的时候要从数据稳定性和实时有效性两方面来综合考虑,确定滤波参数。
3.2.3线性拟合
本文设计的电压测量装置输入端是±1000 V的高压,需要经过降压电路和运放电路转换到AD转换电路的正常工作大小范围内,因此输出值与输入值之间存在一个比例关系。加上在转化的过程中存在误差,输入值与输出值之间可以用一阶线性回归模型=来表示,本文采用最小二乘法来确定回归模型的系数和。
有若干组输入值y和输出值x,令残差e=y-(kx+),最小二乘法就是使所有残差平方和最小来确定回归系数[9]。令:
使最小来确定、的值,则有式(3)。
求解方程组即可得到回归系数k与b。8个通道依次测量,计算出每个通道的拟合系数,并代入程序中。
CAN通讯属于现场总线的范畴,是一种有效支持分布式控制或实时控制的串行通信网络。CAN网络上的节点不分主从,任一节点均可在任意时刻主动地向网络上其他节点发送信息,通信方式灵活,只需通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据,无需专门的“调度”[10~11]。
本文中使用的CAN通讯方式符合CAN2.0B规范,帧格式为含有29位标识符的扩展帧,数据域包含了8个字节,波特率设置为500 kbps。将相邻两个通道的测量数据合并到一条报文的数据域,一次需要4条报文将8个通道的数据发送出去。
图4 输入等效电路
高压直流电源的输出脉动一般较大,尤其是在低压段,为了能够充分验证设计的电压测量装置的性能,在考虑了能耗和精度误差之后,对输入端的分压电路做了图4所示等效转换,使用输出稳定的锂离子电池提供模拟输入信号。
将4节额定电压为3.3 V的锂离子电池串联,先在8个通道分别正接和反接1-4节电池,使用这8组测量数据进行一阶线性方程拟合,并将8组拟合系数分别代入程序中。输入端锂离子电池电压使用高精度万用表Keysight测量,使用自制的上位机软件,可以长时间测量万用表读数值和实际输出值,同时可以保存并绘制数据曲线。取样频率为4取2。本文测试了低通滤波参数分别为1、1/4、1/16、1/256时各通道相对误差千分比,滤波参数越小,则滤波作用越明显,整体上测量的精度也越高,但滤波参数越小,相应的采样频率也会下降,综合考虑这两方面的因素,结合测试结果,将低通滤波参数取为1/16。由于篇幅有限,表1和表2给出了滤波参数分别为1和1/16时测量结果相对误差(千分比)的统计值。
表1 滤波参数为1时相对误差(千分比)统计
延长测量时间,在每个测量点上测量半个小时左右,连续测量一到两个周,记录各通道输出值的波动情况以及测量误差值。统计每个通道的最大输出波动值(见表5)、最大绝对误差值Δmax和最大满量程相对误差max,由于篇幅有限,只给出通道1~通道4的测量误差统计情况,见表4和表5。
表2 滤波参数为1/16时相对误差(千分比)统计
表3 通道输出波动值统计(单位:mV)
表4 通道1和通道2测量精度统计
表5 通道3和通道4测量精度统计
测量点(mV)(‰)(mV)(‰) -13.260.22780.303 -9.960.22770.265 -6.670.26540.152 -3.360.22740.152 3.330.11430.114 6.630.11440.152 9.940.15260.227 13.260.22770.265
从上述表中可以看出,8个通道输出值的波动基本维持在2 mV范围内,满量程相对误差千分比基本保持在0.3‰的范围内,说明设计的电压测量设备在长时间运行之后依然能保持较好的稳定性和较高的测量精度。
本文采用软硬件相结合的方式设计了一款多通道高精度高压测量装置,采用LPC1788为核心控制器,以高精度的集成运放OPA4277、AD转换器ADS1251、基准电压源REF3025等构成了信号输入、转化和输出电路。在软件方面,使用了低通滤波和取样滤波的方法来削弱噪声和干扰的影响,同时采用最小二乘法对输入和输出值进行一阶线性拟合,进一步减小误差提高精度,设计了CAN通讯的方式可以同时将8路测量数据传输出来。经过长时间的实验测试,各个通道输出值的波动稳定在2 mV的范围内,满量程相对误差基本在0.3‰左右,说明设计的测量装置具有较好的稳定性和较高的测量精度,在工业现场具有一定的应用价值。
[1] 龙诺春, 李进东, 彭英旺. 基于嵌入式ARM的高精度电压电流测试仪设计[J]. 电子技术与软件工程, 2017(17): 200-201.
[2] 王敏, 程铁栋, 黄峰鹏. 一种高精度电压测量表设计[J]. 数字技术与应用, 2014, (05): 158-159.
[3] 谢小峰, 郭宏林, 杨永锋. ADS1251在高精度稳流电源中的应用[J]. 电气传动自动化, 2011, 33(05): 37-41.
[4] 王志伟, 陆锦军. 基于C51的多通道高精度电压转换模块设计[J]. 电子器件, 2016, 39(01): 36-40.
[5] 尹泉, 康慨, 王庆义, 王傲能. 基于AD7612的高精度电压检测技术及实现[J]. 电子测量技术, 2010, 33(12): 43-46, 83.
[6] 龚智, 赵翠, 徐林杰, 范月霞. 基于LPC1788微处理器USB驱动和应用程序设计[J]. 电脑编程技巧与维护, 2017(01): 13-15, 36.
[7] 白杨, 杨家强, 曾争. 谐波检测算法中高性能数字低通滤波器的设计[J]. 浙江大学学报(工学版), 2013, 47(01): 169-173.
[8] 郭松林, 王琳, 王学伟. 基于数字低通滤波器的采样测量方法的研究[J]. 计量学报, 2006, (02): 164-168.
[9] 陈良波, 郑亚青. 基于最小二乘法的曲线拟合研究[J]. 无锡职业技术学院学报, 2012, 11(05): 52-55.
[10] 蔡花, 朱宏翔. 基于MC9S12X的CAN通讯的底层代码设计[J]. 汽车实用技术, 2015, (01): 4-6.
[11] 王庆双, 蔡冬生. 基于ARM的CAN通信系统的设计与实现[J]. 航空电子技术, 2011, 42(01): 9-13.
Design and Implementation of Multi-channel High Precision Voltage-measuring Device
Luo Xuan, Bao Peng
(Wuhan Institute of Marine Electric Propulsion, Wuhan 430064, China)
TP216
A
1003-4862(2018)10-0024-05
2018-04-12
罗旋(1992-),女,硕士,助理工程师,研究方向为嵌入式控制。E-mail: luoxuan_taurus@163.com