便捷的车辆发动机转速测量系统设计
2022-02-06尹晋平王选择翟中生
尹晋平,王选择,翟中生
(湖北工业大学机械工程学院,湖北武汉 430068)
0 引言
转速是发动机的重要参数之一,是发动机工作状况的综合体现,对发动机的转速进行测量具有重要的工程意义[1-3]。实现发动机转速测量主要有以下3类途径:
(1)常规的角度测量方法,包括光电码盘测速法、霍尔效应测速法、离心式转速表测速法等,此类方法均能有效地测量发动机转速,但是需要将测速装置与发动机转轴或其传动轴相连接,对发动机原结构造成一定的破坏,并且拆解发动机也使测量缺少便捷性[4-5]。
(2)基于振动频率分析测量转速的方法能够在不拆解发动机的情况下实现发动机转速测量,但是发动机振动信号含有较大的噪声且频率混叠严重,因此这类方法对频率提取的算法要求较高[6-8]。
(3)以激光传感器测速、表面位移测量等为代表的非接触式测量方法,此方法优点为测量传感器与发动机互不接触,可以有效避免机械磨损和电磁干扰,但是此方法要求测量环境光照稳定、空间无尘,故不适于恶劣条件下工作[9]。
针对上述问题,设计了一种便捷的发动机转速检测仪器。通过车载点烟器接口获取汽车电压,电压直流部分用于系统供电,相关电路提取电压中交流成分;经过频率分析得到交流信号的主频,以此计算发电机转速;根据汽车发电机转速与发动机转速的关系,计算得到发动机的转速。在正弦最小二乘拟合的基础上,通过相位差法计算提高测量精度。该转速检测仪具有操作简便、检测实时等优点。
1 汽车转速测量原理
汽车发动机与发电机之间通过皮带传动,发动机工作时带动发电机仪器旋转产生交流电,交流电经过整流电路给车载设备供电[10]。无论采用哪种整流电路,其整流后的信号会带有前级交流电的信号特征,通过提取整流后信号的交流频率,则可以实现发动机转速的间接测量[11]。
系统通过车载点烟器接口获取车载电源,提取电源中耦合的交流信号,通过信号调理电路调节为适合单片机A/D采样的信号,通过STM32F4单片机进行A/D采集并进行频率分析,通过截取短时间内的一段数据,进行FFT变换粗估主频,在此基础上通过正弦信号的最小二乘拟合得到每个采样点的相位信息,然后根据相位差法计算得到精确主频,最后根据发动机转速与电压频率的关系,从而计算出发动机的转速。不同于单纯FFT分析频率,为了满足测量精度要求而导致采样时间较长,本方法只分析1 s内的信号,在FFT精度不足的基础上,通过相位差计算频率,能够更好的兼容实时性与精确度[12]。
2 系统总体设计
2.1 信号采集电路设计
设备通过车载点烟器接口直接供电,点烟器接口为含有耦合交流信号的13 V直流电压。由于系统通过分析点烟器接口中耦合交流信号频率来测量转速,因此,需要设计相应的信号采集电路,以提取出有效的信号,满足于单片机内部A/D采集的要求。
设计如图1所示信号采集电路,图中,R1用于限流,防止输入电流过大损坏系统,C1用于隔离点烟器接口的直流信号,R2、R3的作用是使输入信号的直流分量为1.65 V(STM32单片机的A/D量程为0~3.3 V,输入直流分量为1.65 V能更好地采集交流信号),钳位二极管D1、D2保证输入电压范围为0~3.3 V,电压跟随运放U1用于隔离作用,防止后面电路对测量的信号造成影响,R4、C2组成低通滤波器滤除信号中的高频噪声,提高信号质量。不同车辆的交流信号的幅值可能不同,为了防止信号太弱或者饱和,设计两级放大电路,分别进行2路A/D采集,程序自行筛选最优的1路A/D采集的数据进行后续计算,其中C3、C4的作用是使放大电路只放大信号中交流分量而不放大直流分量。
图1 采集电路图
2.2 信号采集电路设计
由于系统共有2路A/D采集,并且单次程序执行周期较短,若顺序执行A/D采集、频谱分析、计算转速、液晶显示、上位机传输等过程,时间不足。因此设计基于双A/D交替采集的程序:初始化2路ADC分别采集两级放大的电压,通过DMA方式将A/D采样的数据送往内存;在内存设计2块数据缓冲空间,当缓存空间1进行DMA传输时,对缓存空间2中的数据进行处理,反之,当缓存空间2进行DMA传输时,处理缓存空间1中的数据。由于DMA不占用CPU资源,因此CPU一直进行数据处理,不参与A/D采集,可以有效提高程序运行效率,程序流程如图2所示。
图2 程序流程图
3 转速计算方法
快速傅里叶变换(FFT)常用于频谱分析,但是其精度受采样频率与采样点数影响,对于短时间内的信号,通过相位差计算频率具有更高的精度[12]。
3.1 FFT精度分析
FFT的频率计算公式为
(1)
式中:i为频谱图中最大幅值点所对应的横坐标序列;fs为原始信号采样频率;N为FFT分析的总采样点数。
对于汽车发动机测速的工程场景,单次分析的采样时间不宜过长,若采用fs=5 000 Hz,选取其中4 096个点作为总采样点数进行FFT分析,则其分辨率为1 Hz。发动机转速计算公式为
r=60×f×j
(2)
式中:r为发动机转速;f为信号的主频;j为发动机与发电机传动比(通常为0.5)。
若直接使用FFT计算发动机转速,其转速分辨率为30 r/min,测量精度较低。
3.2 相位差法分析主频
通过相位差法分析主频具有更高的精度,但其前提为需要准确知道每个采样点的相位信息,通过正弦最小二乘拟合可以获取各采样点的相位信息,再根据相位差法计算主频。
3.2.1 正弦最小二乘拟合
在单周期内,原始采样信号可以视为单周期正弦信号,表示为
x(k)=Asinφk+c+εk
(3)
式中:A为信号的幅值;k为采样序列,k[0,n-1];φk为相位,φk=φ0+kδ;φ0为初相位;δ为间隔相位;c为直流偏置;εk为采样误差。
为了得到参数A、φk、c的大小,令a=A·sinφ0,b=A·cosφ0,可以将上式展开:在单周期内,原始采样信号可以视为单周期正弦信号,表示为
x(k)=a·cos(kδ)+b·sin(kδ)+c+εk
(4)
以∑εk2=min为目标进行最小二乘拟合,若拟合的总数据量刚好为n=2π/δ且n为整数时,可得到简化的拟合参数计算公式为
(5)
式中n为拟合的总数据量。
得到a、b后,再通过如下公式,则可以计算正弦信号的幅值A与初相位φ0,其中atan2(a,b)为四象限反正切。
(6)
通过上述拟合可以得到单周期的初相位与幅值信息,那么可以通过分段逐段拟合,得到采样信号上每点的相位信息。由于拟合后的相位被约束在(-π,+π)之间,称为包裹相位,因此计算相位差需要对相位进行解包裹。
3.2.2 相位差计算主频
相位差法计算频率的具体步骤如下:
步骤1:通过包裹相位计算连续的相位,求解公式为
(7)
式中Wk为解包裹运算符,定义为
(8)
步骤2:得到连续相位后,利用两点之间的相位差与时间差,计算主频:
(9)
式中:fs为采样频率;T2、T1分别为同类零点(上升、下降)或同类极点(波峰、波谷)所对应的2个采样点的序列。
经过相位差计算得到主频后,汽车发动机转速可以通过发电机与发动机的对应关系获得,见式(2)。
4 测试验证
进行实际车上实验,以验证系统的稳定性和准确性。实验车辆发动机与发电机传送比为0.5,系统采样频率为5 000 Hz,仪器接入车载点烟器接口,实验时发动机挂至空挡,通过人为控制油门来控制发动机转速。观察驾驶室仪表盘示值与仪器计算转速进行对比。
系统通过STM32F407单片机进行双路采集,选取幅值较优的一路进行拟合,拟合结果的幅值如图3所示。从图3可以看出,经过拟合后的数据有效地抑制了噪声与混频影响,取拟合后的相位计算主频具有更高的精度。得到拟合信号的同时由式(6)得到了拟合后的相位,由于拟合后的相位为包裹状态,经式(7)解包裹后得到连续相位,如图4所示。在得到连续相位后,通过式(9),带入任意2个同类点则可以精确地计算出主频,最后将计算的主频带入式(2)则可得到转速。
图3 正弦拟合图
图4 相位解包裹示意图
通过多次试验的结果分析,得到本算法在非稳态条件下的数据记录如表1所示,在汽车正常工作的转速下,测量的转速误差小于0.4%,具有较高的精度。
表1 实验数据表
5 结束语
系统设计了一种基于车载电源频率分析的便捷式汽车发动机转速测量仪,在无需任何额外传感器与电源的情况下,直接利用车载点烟器接口的电源进行供电和频率分析,提取车载电源中的交流成分,通过信号拟合与相位差计算,实时地计算出电源主频,再根据汽车发动机转速与发电机之间的关系,计算得到发动机的转速。实验表明该系统具有较高的精度,测量误差小于0.4%,并且还有测量实时、操作便携等特点。