新闻中心

EEPW首页 > 测试测量 > 设计应用 > 一种实时性较强的采样频率同步实现方法

一种实时性较强的采样频率同步实现方法

作者:时间:2006-05-07来源:网络收藏

摘 要: 分析了工频频率变化对计算电量有效值的数字化测量精度的影响及产生采样频率误差的原因,给出用单片机Intel80C196的高速输入接口及软件定时器实现采样频率跟踪的方法,并给出硬件电路结构及软件框图。

本文引用地址:http://www.eepw.com.cn/article/255646.htm

关键词: 采样频率 同步 单片机

随着计算机技术的发展,电力计量表计继电保护等电力自动装置也越来越智能化。而这些装置中,大多都用的是交流采样。交流采样的过程多数是:由系统二次回路来的电压(或电流),经过二次PT(或CT)等变送到A/D适合的电压后,由CPU控制A/D以一定的采样频率进行模数转换,获得离散的采样数据,经过离散傅立叶变换(DFT),计算出基波有效值及各次谐波值,进而实现其它功能。进行DFT计算过程如下:

若每周期采样N的离散采样系统,则其基波电压(或电流)的有效值、实部有效值、虚部有效值分别为:

其中 N——每周波的采样点数;

Xn——第n个采样数值。

上述计算能准确表达有效值的条件是:每周波的N个采样点是均匀分布在每个工频周期内。但在电力自动装置中,采样频率多是由通过设置CPU定时器分频系数来完成,该定时器的时钟源是cpu系统的晶振决定,采样频率是固定的。但是,即使已经按照准确的工频频率(50Hz)计算出符合上述计算要求的采样频率,由于电力系统的频率是有变化的,而且在故障录波装置,继电保护装置产品的检测中,也要考核在频率变化情况下装置的反应情况,如:有关国家检测标准中,要检查录波装置在低频条件下的反映情况。因此,按照固定的采样频率采集的数据,计算结果也就难免出现误差,因此就有可能引起测量精度的下降,或自动装置的误动作。

1 频率变化对计算值的影响

此处的频率既是指采样频率,又指电力系统的工频,因为二者之一发生变化,都会影响采样后有效值的计算。假定采样频率固定为1kHz(即对应于50Hz信号为每周波20点采样),信号的有效值为60V,对应于有46~54Hz频率的等幅值输入量,引用公式(1)、(2)、(3)进行全周波付氏滤波进行计算,产生结果的相对误差如表1所示。

显然,频率的变化对计算有效值的影响较大。产生这一问题的原因就在于每周波的N个采样点不是均匀分布在每个工频周期内。要解决这一问题,文献[1]中给出了“参数自寻优等间隔同步采样法”。应该说,对于慢速的仪表检测装置来说该方法是很合适的。但由于其计算过程比较复杂,且每周波的采样点数及频率都在变化,对于适时性要求高,离散采样数据在后台处理装置(如:电力系统动态记录装置),就不能满足要求。因此,在精度满足要求的情况下,可只采用其中的一种方法:固定采样点数,根据单片机测量适时的工频周期,适时调整采样间隔。目前,有相当部分电力自动装置中采用Intel80C196单片机作为CPU,本文就以Intel80C196为例介绍实现采样频率跟踪的方法。

2 硬件电路构成及实现原理

考虑到系统的频率不是变化很快,要实现采样频率随系统工频的变化而适时调整,可先测得系统的频率前一周期对应的计数值Tc(以单片机系统的定时器时钟周期为单位,以下同),然后根据每周波采样点数(N),适时计算出每一采样间隔计数值Tsj:

间隔计数值:

则以Tsj为周期进行采样,即可实现采样频率的适时跟踪。为实现这一过程,拟采用如图1所示的电路结构:来自母线电压互感器的A相电压经过小PT降压隔离、低通滤波,经过零比较器整形成方波,经光耦送到Intel80C196的高速输入接口HSI.0,利用方波的上升沿触发高速输入中断,测得每个工频周期计数值Tc。经过单片机的分析计算,经式(4)得到采样间隔时间Tsj。以Tsj为时间间隔,设置软件定时器中断。在软件定时器中断中进行数据采集控制等,完成采样频率的适时跟踪。

3 软件流程

在进行软件设计时,应当充分利用80C196单片机的特点:高速输入(HSI)接口及软件定时器。前者用于整形后的方波上升沿检测,用高速输入中断进行系统周期的测量。后者用于产生以计算出的适时采样间隔Ts为周期的软件定时器中断,以进行A/D采集控制。

软件由两部分组成:主程序、高速输入(HSI)中断程序及HS0软件定时器中断,流程图见图2~图4。

主程序主要完成初始化及其它应用功能。在初始化时,应当设置采样时间间隔的缺省计数值Td。主要用于因测频用的电量不正常,不能正确测量电力系统的频率时,使用该缺省值作为采样间隔计数Tsc,即Tsj=Td 。该缺省值的计算方法可以参考下例:

假定系统频率为50Hz(即周期为20000μs);

每周波的采样点数为20点;

80C196的系统晶振为16MHz,以定时器1作为时间基准,则计数周期为1μs,参见文献[2]。

则采样点间隔的时间为:

20000μs/20=1000μs

采样时间间隔的缺省计数值为:

Td=1000μs/1μs=1000

高速输入中断程序首先读出当前的高速输入计数值Tnew,计算与上次计数值Told之差,获得适时工频周期Tc,再对Tc的数值范围进行判断,以确认该值的有效性。在判断Tc的有效性,可参考如下方法:考虑一般系统的频率波动范围,如45~55Hz对应Tc范围及两次测量值之差来确定(因为正常系统频率不可能突变)。最后用(4)式并考虑进入中断程序所需要的20个状态周期,计算出适时采样间隔时间Tsj。

进入HS0软件定时器中断后,首先要做的是预置下次进入中断的时间Tsj。然后进行A/D转换的控制及其它需要每个采样间隔所做的处理。应当指出的是,由于软件定时器中断优先级高于高速输入中断,因此,采样控制不会受到高速输入中断的影响。另外,此处A/D控制可以是80C196内部的片内A/D,也可以控制扩展A/D。视实际的需要而定。

本文所提出的采样频率同步方法,已成功用于我们所开发的微机电力故障录波器及RTU自动装置中。录波器中使用采样频率跟踪的使用实测结果见表2。虽然比文献[1]中的方法计算结果误差大些,但全在一般装置误差允许范围内(<0.5%),能有效地抵消电力系统频率变化对装置测量精度的影响,因此,能够满足一般仪器装置的要求。其具有跟踪调整简单,适时性强的特点,是一种比较实用的方法。采用其它CPU的自动装置可采用类似原理来实现采样频率同步跟踪。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭