一种自适应M/T 频率测量方法研究与实现

2022-01-25 10:25常广晖张亚超苏攀刘树勇
电子设计工程 2022年2期
关键词:实时性读数基准

常广晖,张亚超,苏攀,刘树勇

(海军工程大学动力工程学院,湖北武汉 430033)

转速是工业控制中重要的测量参数,舰船的很多动力设备需要转速的实时监测与控制。动力设备转速测量原理是将磁电传感器产生的信号放大整形,滤波处理为标准方波信号,然后对方波信号进行频率测量。不同舰船动力设备的转速范围区别很大,低速设备(如推进轴系)的转速最低可低至几十转每分钟,高速设备(如燃气轮机)的高压压气机转速最高可达八、九千转每分钟,这些设备的转速信号是监控系统控制逻辑的重要判断条件,所以大范围全频段内转速的精确测量对于监控系统设计至关重要。在实际应用中,低频转速测量通常采用测周法,高频转速测量通常采用测频法,两者各有局限性。对于从低速到高速的全频段转速测量,M/T 法更有优势,它结合了测周法和测频法的优点,很多学者对提高M/T 法测量精度进行了研究,提出了新的设计方案。周昂扬[1]等提出一种基于误差分析的M/T 混合测速法,利用M 法和T 法在恰当时刻的切换,实现较宽速度范围内的高精度测速,并利用TMS320 F28335 芯片实现了该算法;王海勇[2]等提出一种变M/T 测速方法,弥补了传统M/T 法在低速时实时性差的不足,提高了测速的精度,并在STM32 开发板上实现了该算法;金锋[3]等在通过粗测输入信号频率值的基础上,选择合适的分频因子,动态控制闸门时间,拓宽了频率测量范围,提高了测量精度;谢波[4]等结合计数法和测周法的优势,提出了一种频率自适应的最大化周期的计数测频方法。

各学者对于在宽转速范围内如何提高M/T 转速测量的精度问题都进行了深入的研究,各自提出了针对不同应用场合的设计方案,但是对于为满足工业常用的仪表精度等级如何科学动态调整M/T 法的计数系数M和分频系数k,缺乏更为深入的研究分析,缺少对于M/T 法实时性的分析,具有一定的局限性。文中针对以上问题,在深入分析影响测速精度因素的基础上,提出一种自适应M/T 转速测量法,并采用STM32F103 高速定时器的输入捕获功能对算法进行了实现,实验结果表明,算法在很宽的测速范围内保持同样的测速精度,同时具有很好的实时性。

1 M/T法测量原理

M/T 法是一种在一定时间间隔内同时对被测信号和基准脉冲信号进行计数来测量速度的方法,时间间隔由对被测信号定时来实现[5-6],其原理如图1所示。

图1 M/T法测量原理

被测信号通过放大整形电路后变为标准的方波信号,其未知频率为。已知频率为f0的基准脉冲信号经分频后在计数及同步触发电路的控制下对被测信号进行频率测量。理想情况下,两个信号在边沿同步触发后,在一定时间间隔T内,通过计数器分别对两个信号进行计数,被测信号计数值为M,基准脉冲信号计数值为N,由此可求解被测信号的频率为:

实际上由于停止计数时,被测信号边沿不一定与基准脉冲信号的边沿对齐,可能超前或者滞后,这样会造成基准脉冲信号的计数误差。假设计数值N的误差为ΔN,则||ΔN≤1,同理计数值M的误差为ΔM。同时由晶振和振荡电路产生的基准信号本身频率也存在误差,假设误差为Δf0,考虑到以上两个因素,则被测信号的准确频率为:

由式(2)可知,被测信号频率的相对误差为:

在实际转速测量电路设计中,采用高稳定、恒温晶振可以大大降低基准信号频率误差Δf0,而为了测量高频信号,f0设计的也很高,这样基准信号频率相对误差Δf0/f0可以忽略。同时在转速测量程序设计中,可以采用对被测信号计数来进行定时,所以M没有误差,则:

相对误差δ相当于频率测量时的读数精度[7]。例如,通过STM32 单片机选用测频法进行转速测量,要求读数精度不大于0.01,STM32 通用定时器的基准信号频率选为f0=32 MHz,定时间隔系数M取100。

假设频率测量要求的读数精度为η0,即,根据式(1)可以推导出频率测量范围的上限为,所需要的最短测量时间为:

通过以上分析可以看出,在给定测量要求的读数精度和基准信号频率后,频率测量范围上限与M成正比,最短的测量时间与M无关,且与读数精度成反比。如果固定M值,那么被测信号的频率越低,所需的测量时间就越长,而此时的测量精度随着N值的增大而增大。所以在低频时,M/T 法测量的测量精度会很高,但是转速测量实时性会大大降低,这不利于舰船动力系统的转速控制[7-16]。

2 M/T法测量的改进

通过M/T 法测量原理分析可以看出,为了提高在低频段转速测量的实时性,在满足测量读数精度的前提下,可以适当降低M的设定值,使M根据被测信号的频率自适应变化。为了通用化考虑,以下分析中相对误差可以参考我国工业常用的仪表精度等级例如:0.005、0.02、0.05、0.1、0.2等,即δ的取值为0.005、0.02、0.05、0.1、0.2。根据式(1)和(4)可推导出在选定基准信号频率下,满足相对误差的最大可测信号频率值和系数M之间的关系:

根据M/T 法测量原理可知,M为大于0 的整数,最小为1,假设基准信号频率为1 MHz,δ按以上5 种精度等级取值,根据式(6)可以绘制等精度前提下的最大可测信号频率值和系数M关系曲线,如图2 所示。

图2 信号频率与系数M的等精度曲线

以精度δ=0.1 的曲线为例,随着最大可测信号频率值的增长,增加系数M可以保持测量精度不变,当M取最小值1 时,测量频率下限为1 kHz。但测量频率小于1 kHz 时,测量方法演变为周期法。随着被测信号频率的降低,测量值N会迅速增大,测量精度也会随之增高。

为了考察在不同精度等级下频率测量的实时性,需要将被测信号频率范围分为两段进行分析:当被测信号频率大于满足精度的频率下限时,所需最短测量时间由式(6)可得:

可见测量时间是常量,当基准信号频率保持不变时与测量精度成反比。

当被测信号频率小于满足精度的频率下限值时,所需最短测量时间为:

根据式(7)和(8)绘制不同精度对应的被测信号频率值和最短测量时间关系曲线,如图3 所示。

图3 信号频率与测量时间的等精度曲线

从图3 中可以看出,频率测量时间与要求的测量精度有直接关系,精度越高,测量所需时间越长,而且在高频段(大于等精度频率下限)测量时间保持不变,在低频段测量时间是被测频率的倒数。

低频段频率测量时,系数测量值N会随着被测信号频率的降低迅速增大,在实际测量时计数器是有上限的,超过计数器上限会引发额外的溢出中断,通过中断累计计数会降低程序的可靠性和实时性。为了改进低频段测量值N过大的问题,可以考虑在测量的同时根据被测信号频率自适应调整分频系数k,从而改变基准信号频率以降低测量值N。对式(6)中M取1 可得:

根据式(9)绘制在低频段不同精度对应的等精度被测信号频率值和分频系数k的关系曲线,如图4所示。

图4 信号频率与分频系数k 的等精度曲线

综上,为了综合考虑频率测量的精确性和实时性,在等精度前提下可以根据被测信号频率动态自适应调整计数系数M和分频系数k,以取得最佳结果。

3 自适应M/T测量法的实现

3.1 嵌入式转速测量电路板

嵌入式转速测量电路板采用核心板+底板结构的模块化设计方案。核心板采用ST 公司的32 bit Cortex-M3 内核ARM STM32F103ZET6 作为MCU,在此基础上集成DM9000BI 以太网通信电路和FLASH存储电路等。以太网通信功能由DM9000BI 实现,DM9000BI 通 过FSMC 总 线 与MCU 连 接,选 用HR911105A 作为RJ45 网络接口,实现100BASE-T网络通信。FLASH存储芯片选用W25Q128,通过SPI2总线和MCU 连接,存储容量为16 MB。W25Q128 将16 MB的容量分为256个块,每个块大小为64 kB,在使用时第一个块存放模块功能参数(比如模块节点地址、转速上下限报警值、测量齿数、测量间隔、程序版本号等),其他块用于转速采集数据的本地存放空间。

底板电路如图5 所示,主要包括由滤波、放大整形、光耦隔离电路组成的4 路转速输入通道。在工业现场复杂环境下,转速信号输入通道容易耦合电磁干扰信号,为了减少或消除干扰信号带来的测量误差,在输入通道前端增加RC 低通滤波器,滤波器带宽为100 kHz。放大整形电路以LM224 为核心,将磁电转速传感器发出的类正弦信号经比较、施密特方向和共发射极放大后整形为标准的方波信号。光耦隔离通过TLP2362 实现,实现了输入通道和核心电路板之间的电气隔离。隔离后的转速信号通过定时器输入端口传送给STM32F103 微控制器进行自适应M/T 测量。

图5 底板电路

3.2 定时器配置

为了验证上节提出的自适应M/T 测量法[17-18],实验选用STM32F103 微控制器芯片实现频率测量,该芯片具有两个高级控制定时器和4 个通用定时器以及两个基本定时器,定时器核心都是16位计数器[11],其中通用定时器具有可编程预分频器,分频系数可在1~65 535 之间任意设定。每个通用定时器具有4 个独立输入通道,具有输入捕获功能。根据功能划分,捕获通道可以分为3 部分:输入电路(数字滤波、多路复用和预分频器)、主控电路、捕获寄存器(包括影子寄存器)[9,14]。通过定时器的输入捕获功能实现转速的M/T 测量需要做以下配置工作。以TIM2 为例,首先选择内部时钟分频后作为基准信号,分频系数P1写入预分频寄存器TIMx_PSC,将TIM2 设置为16 位向上计数器,用于对基准信号进行计数。其次设置TIM2 的输入捕获工作模式,目的是使外部被测信号从TI1 端输入经过滤波、分频后作为捕获控制的边沿触发信号,分频系数为P2,当触发捕获后计数器的当前值被锁存到捕获寄存器TIM2_CCR1 中,捕获通道配置如图6 所示。最后设置中断,在每次捕获事件发生时引发捕获中断,在中断响应函数里对捕获中断计数,这相当于对被测信号进行计数,同时通过读取捕获寄存器计算对基准信号的计数值N,当完成被测信号的M次计数后,利用式(1)计算被测信号频率。

图6 STM32F103定时器的捕获通道配置

3.3 软件算法流程

通过自适应M/T 测量法的实现,可以将被测信号频率大致分为两段,M>1 时的高频段及M=1 时的低频段。在高频段主要是计数值M根据测量频率值自动调整,在低频段根据测量精度要求自动调整分频系数k,从而达到在全部测量频段精度保持不变,同时在低频段增加测量的实时性。为了减小计算开销,M和k的自适应调整可通过查表的方法实现。例如,信号测量范围要求为1~100 kHz,全量程读数精度为0.1,定时器基准频率选为1 MHz。根据第二节的分析,计数系数M和分频系数k可以按照表1 所示的插值表格进行取值,由此可以实现全频段的等精度测量。

表1 选定条件下计数系数和分频系数的插值表格

采用TIM2 加计数对基准信号进行计数,同时开通输入捕获功能和捕获中断在被测信号的上升沿捕获计数器的计数值,在捕获中断响应里同时对中断次数的累加和捕获计数值的累积进行累加,实现对捕获次数的计数和基准频率的计数。当捕获次数达到M的设定值后通过公式计算被测信号的频率值,同时根据频率值通过查表自适应调整计数系数M和分频系数k,软件流程图如图7 所示。

图7 频率测量算法流程图

3.4 实验测试

为了验证自适应M/T 频率的测量方法,实验通过固纬AFG-2225 多功能信号发生器模拟舰船动力设备转速传感器产生的频率信号,设定测量范围为1~100 kHz,这样可以满足绝大部分动力设备的测速需求,全量程读数精度为0.1。选用STM32F103 微控制器定时器T2 进行频率测量,基准频率设为1 MHz。计数系数和分频系数初始设定为M=10,k=1,测量结果利用DM9000C 芯片通过TCP/IP 网络上传至上位机监控程序。实验结果如表2 所示。

表2 频率测量实验数据

从实验结果可以看出,自适应M/T 算法达到了预先设定的读数精度要求,而且实时性较好。在全量程范围内读数精度基本保持不变,在低频段通过增加基准频率分频系数的方法解决了N多次溢出的问题。当被测信号频率大于20 kHz 时,实际测量精度比设定精度要低,主要是在TI1 上升沿和计数器脉冲在输入捕获时存在延时,延时时间取决于TI1 输入端的重同步电路,同时要响应多次捕获中断。为了增加测量精度可以在每个频段适当增大M的数值。

4 结束语

文中在分析传统M/T 测频法的基础上提出了一种自适应M/T 测频法,以全频段读数精度保持不变为原则,绘制了5 种读数精度下的计数系数M、分频系数k分别与被测信号频率之间的关系曲线,以表格的方式给出了系数M、分频系数k根据频率变化而自适应调整的原则。通过自适应调整M参数保证了高频段读数精度不变,低频度大大增强计算的实时性。在低频段通过自适应调整k参数,在保证读数精度保持不变的前提下,改进了因N过大而导致记录的溢出中断次数值减少的缺点。最后通过32 位STM32F103VCT6单片机通用定时器的输入捕获功能实现了该自适应算法,并给出了硬件配置方案和软件设计流程图,通过实验证明了该方法的有效性,为高精度速度测量和速度控制场合的应用提供了借鉴价值。

猜你喜欢
实时性读数基准
“0”的读法和要领
关于游标卡尺读数问题易错点的剖析
下期要目
应如何确定行政处罚裁量基准
航空电子AFDX与AVB传输实时性抗干扰对比
计算机控制系统实时性的提高策略
可编程控制器的实时处理器的研究
滑落还是攀爬
仪器工作原理决定了仪器的读数规则
燃气轮机燃烧基准温度估算方法