首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于单片机的高精度智能交直流电压数据采集系统设计

基于单片机的高精度智能交直流电压数据采集系统设计

电压是电子与电力系统中最基本的测量元素之一,快速准确地获取电压值一直是数据采集与电子测量仪器研究的重要内容之一。传统的指针式电压表具有精度低、可视距离近、功能单一等缺陷,已不适应高速信息化的发展需要。目前市场上广泛使用的数字电压表智能化程度低,测量电压时需手动切换量程,当量程选择不当时会出现测量精度下降、乃至烧坏电压表的极端情况; 而高精度的全量程无档数字电压表一般都采用了DSP、FPGA或CPLD等复杂电路系统, 硬件和软件实现成本较高。为此,笔者设计研制出了一种以单片机为控制主体的智能交流直流电压数据采集系统,具有体积小、精度高、结构简单、使用与读数方便、性价比高、适应范围宽等优点,有效地弥补了上述各种电压表系统的缺点和弊端。
1 系统总体方案

该电压数据采集系统主要由电压衰减器、量程转换及放大电路、AC/DC转换电路、A/D转换电路、主控单片机STC89C52以及LCD显示电路等5个部分组成,其原理框图如图1所示。电压衰减器和放大器将待测模拟信号电压值转换到AC/DC变换器的输入电压范围内,直流电压经衰减放大后不需作AC/DC转换;量程转换电路根据输入到A/D转换器的模拟直流电压大小,由单片机判断后控制继电器对衰减放大电路作相应的调整,确保选择出最佳量程;A/D转换由单片机启动,在软件中对采集到的数据作数字滤波、标度变换和系统误差校准等处理后,根据电压类型标志位在LCD上显示测量值和电压类型。



图1 电压数据采集系统原理框图
3 系统软件设计


3.1系统软件总体流程

系统软件总体流程图如图7所示,为便于程序的移植、调用和调试,采用了模块化程序设计思想对不同特定功能的模块分别进行编程。单片机上电先进行程序初始化,完成对K1~K5继电器、MAX187和NOKIA5110的硬件设置,以及单片机内部系统中断和系统变量的初始化。接着选择最高量程(将PI.4~P1.0 口线状态置为011l1),启动A/D转换对待测信号进行采样和作数据处理计算,并判断量程是否合适。超量程阈值和欠量程阈值分别取为4000和400,对应ADC输入电压分别为4V和0.4V。若当前量程合适,则对处理后的数字量作标度变换和误差校准后得到被测电压值,并在LCD上显示电压类型、有效值和单位等信息。反之,则进行量程切换,找到一个新的最佳量程,下次测量就在新选择的量程下进行。在判决时,若量程为最低档时仍为欠量程,则维持原量程不变化;若量程为最高档时仍为超量程,则必须采取相应的过载处置措施。



图 7 系玩软件总体流程图



3.2 采样数据的数字滤波

对A/D采样后数据进行处理时,先后运用了程序判断滤波法和滑动平均滤波法,前者用来剔除掉因随机干扰、误检测或系统不稳定等偶然因素引起的尖脉冲干扰信号,后者用以抑制数据中可能出现的周期性干扰成分如无线电波引起的高频干扰。程序判断滤波算法是根据实践经验判断,确定出相邻采样允许的最大偏差值DT(这里取值为8),当每次检测到新值时判断:如果本次值与前次值之差的绝对值小于或等于DT,则本次采样值有效;相反则放弃本次值,取前次值代替本次值。如下式所示:




在排除脉冲干扰后,利用滑动平均滤波算法对数据作进一步处理。其把连续N个采样值(这里,N=10)看成一个长度为N的队列,每采样到一个新值放入队尾,并扔掉原来队首的一个数据,然后对队列中的N个数据作算术平均运算,获得新的滤波结果,此数据用来阈值甄别和作标度变换。

3.3 系统误差的校准算法

由于系统电路的基准误差、放大器的零点漂移与偏移、增益误差和非线性等非理想特性会引起系统误差,为了提高测量精度,采取了以下算法进行误差校准和补偿。设等精度测量得到 组电压样本数据(Xi,Yi),其中:i = l,… ,M ,Xi和Yi 分别为标度变换后电压值(测量值)和实际值(由高精度电压基准源产生)。利用最小二乘法把测j导数据作Y=aX+b 线性拟合,根据样本数据偏差的加权平方和最小原则,得系数a、b的数学表达式如下:





将各校正点数据(Xi,Yi)(这里M 取值为6)代入上两式得到系数a、b的值,并存人单片机的内存单元中。在正式测量时,根据测量值 和误差校正方程Y=aX+b求出校正值Y,从而消除系统误差。由于量程不同时系统误差也不一样, 因此需要在各量程分别进行上面的处理,以获得不同量程的最佳校准效果。

4 主要技术指标

系统主要技术指标如下:(1)量程:200 mV、2 V、20 V、200 V、1 000 V(AC750V);(2)分辨率:50 txV、0.5 mV、5 mV、50mV、0.5V(对应各量程);(3)准确度:200 mV档:0.005%×读数+0.0025%×满度(DC)、0.05%×读数+0.05%×满度(AC);其他档:0.005%×读数+0.001%×满度(DC)、0.05%X读数+0.025%X满度(AC);(4)工作电源:DC±5V。

本文设计实现了一种基于单片机的具有量程自动转换功能的交直流电压数据采集系统,测量电压动态范围宽,为高精度电压数据采集和智能电压表的研究提供了一种性价比较高的解决方案。实际运行结果表明:该系统精度高、误差小、灵敏度高、工作稳定、性能可靠,可以广泛应用于电力系统、计量检测、国防工业、家用电器、科技与工业生产、铁路设备等需要电压测量与获取的各个领域。此外,设计时采用的一些硬件和软件设计方法和思路,也为同类数据采集系统和智能仪器仪表的设计与研制提供了参考。
返回列表