岳永哲,赵战民
(1.河北科技大学信息科学与工程学院,河北石家庄 050000;2.河北地质大学信息工程学院,河北石家庄 050000)
随着汽车工业的发展以及家用汽车的普及,人们逐渐开始关注汽车的性能[1]。发动机作为汽车的核心部件,它的工作状态直接影响着整个汽车的性能。而发动机的转速作为监测汽车整体性能的一个重要参数,可以直接反映出发动机的工作状态、油耗等情况,因此对发动机转速的测量具有重要的意义[2]。传统的发动机转速测量方法有非接触式光电测量法、高频统计法等,采用这些方法测量发动机转速时,需要安装大量传感器,且步骤繁琐、耗时费力,为了解决这些弊端,设计了一种便携式汽车发动机转速检测仪。其通过分析汽车发电机转速与发动机转速的关系,直接通过车载USB接口获取电源,通过相关电路提取电源中交流成分的频率,从而计算得到发动机的转速。该检测仪具有便携式、操作方便等优点[3]。
便携式汽车转速仪测量原理:汽车发动机与交流发电机通过皮带传动,当发动机转动时,其带动交流发电机一起旋转并且产生交流电,交流电经过二极管整流后给车载设备供电[4]。但是无论采取哪种整流方式,整流后的信号都带有前级的信号特征。系统就是通过车载USB接口获取车载电源,通过提取车载电源中耦合的交流信号,利用单片机内部的A/D转换器对此信号进行模数转换,再对得到的数字量信号进行FFT变换,得到信号离散的频谱图,最终获取发动机转速与交流电频率的关系,从而计算出发动机的转速。
系统供电分为两个部分:设备工作时通过车载的USB直接供电;设备想要在离线状态下查询历史数据,是通过两节5号电池并联给系统供电。数据采集就是提取车载USB中耦合的交流信号,并利用单片机内部的A/D转换器对采集的信号进行模数转换,最后在单片机内部进行FFT变换,计算得到发动机的转速[5]。系统硬件框图如图1所示。
图1 硬件框图
系统的信号是直接从汽车车载的USB接口获取,车载USB接口一方面为整个系统提供电源,另一方面作为系统的输入信号[6]。车载USB接口输出的是5 V的直流电,但此直流电中会耦合有一些交流信号,系统目的是提取耦合的交流信号,因此需要利用信号处理电路滤除USB接口输出的5 V直流电信号,并对提取出的信号进行去噪和放大,此过程必须保证提取的交流信号的频率信息不受损伤,以便保证转速测量的准确性。信号处理电路如图2所示。
图2 信号处理电路图
如图2所示,车载USB接口的输出分为两路,一路V_Usb为整个系统供电,另一路作为系统的输入信号。电容C15的作用是隔离车载USB接口输出的直流信号,电阻R25、R26起到分压作用,是将车载USB接口输出的电压降低到3.3 V,以便直接利用单片机的A/D对其进行模数转换。电压跟随器U10主要其隔离作用,防止后续电路对测量信号造成影响[7]。二阶有源低通滤波电路滤除信号中的高频干扰,钳位二极管D1是确保输出的电压不超过3.3 V,不超过单片机内部A/D转换器的量程。
系统利用SD卡存储电路实现汽车发动机转速的存储,以便系统在离线状态下仍然可以查看历史数据[8]。系统选用的SD卡容量高达32 GB,支持SPI/SDIO驱动,DSP自带的SDIO接口可直接与SD卡存储电路相连,最高通信速度达48 MHz,最高可传输数据24 M字节/s,完全满足本系统的存储要求。SD卡接口电路图如图3所示。
图3 SD卡存储电路
本文设计的汽车发动机转速检测仪的优点是体积小,方便携带,操作方便。系统把测得的发动机转速通过外接的TFT LCD屏实时显示,该LCD屏为集成模块,2.8″,可显示16位色的真彩图片[9]。系统利用单片机的自带的LCD接口与该模块连接,来点亮LCD,实现ASCII字符和彩色的显示功能。电路图如图4所示。
图4 液晶显示电路
系统采用16位并行方式与TFT LCD模块连接,之所以不采用8位的方式,是因为彩屏的数据量比较大,尤其是在显示图片的时候,采用16位并行的方式比8位方式速度快1倍以上。液晶屏的复位信号RST与系统的复位信号连在一起,当系统复位时,TFT LCD模块也随着一起复位。
系统供电电路采用双冗余的方式[10-11],当系统接入车载USB时,是由车载USB直接供电,此时5号电池是不供电的。当系统在离线状态下查看测量的历史数据时,是由5号电池进行供电。具体电路图如图5所示。
图5 系统供电电路
当系统接入车载USB时,此时V_Usb向系统提供5 V电源,通过调节电阻R41、R42、R43、R44使得Q4、Q5处于导通状态,此时Q6处于隔离状态,隔离5号电池,系统由车载USB提供电力。当系统处于离线状态时,即V_Usb=0 V,此时AOL1413的D端电压大于S端电压,5号电池通过AOL1413内部的单向二极管传输,V_Out输出的电压等于5号电池的电压。
系统利用C Compile开发软件进行编程,采用C语言编写。系统软件主要包含A/D采集程序、定时中断程序、FFT变换程序,LCD显示程序等。系统启动时,通过软件编程设定ADC的采样频率为500 kHz,将采样到的模拟信号转换为数字量,再利用FFT变换算法得到信号的离散频域信息,然后计算出发动机的转速,最终将结果显示在LCD屏上。软件流程图如图6所示。
图6 系统软件流程图
一般情况下,汽车发动机的转速不超过6 000 r/min,当发动机处于怠速状态下,其转速一般为700~800 r/min。根据香农采样定理可知:为了不失真的复原原始模拟信号,采样频率不应该小于该模拟信号频率的2倍。系统设定采样频率为原始信号频率的5倍,即f=500 Hz。根据信号频率计算公式可得:
(1)
式中:k为采样点数的序号;fs为采样频率;N为总采样点数。
发动机转速计算公式:
n=60fi
(2)
式中:n为发动机转速;i为发动机与发电机的传动比。
在得知转速的测量算法之后,在实际车上进行测试,以验证系统的稳定性及准确性。发动机与发电机的传送比为0.5,系统采样频率为f=500 Hz,采样点数N=4 096。首先启动汽车,让其处于怠速状态,观察驾驶室仪表盘上显示的转速,怠速时转速显示为700 r/min。此时系统将采集到的信号进行FFT变换,得到的频谱图如图7所示。
图7 转速为700 r/min时,采集到的频谱图
由于N=400点之后的数据的幅值基本在30~40 dB之间波动,较为平稳,因此只对N=400点之前的数据进行分析。图中采样点数在191点时,有较大尖峰,记为k=191,根据式(1)、式(2)可以计算出此时发动机的转速。
系统测得的转速(699 r/min)与实际转速(700 r/min)基本一致,测量误差仅为0.14%。
在车处于空挡状态时,轻踩油门,观察到转速表上显示1 800 r/min,此时系统采集到的频谱图如图8所示。
图8 转速为1 800 r/min时,采集到的频谱图
其中采样点数依然为N=4 096,与图7分析方法类似,系统只对前500个点的数据进行分析。由图7可知,在第491个点时,波形有较大尖峰,记为k=491,根据式(1)、式(2)可得:
n=60×59.94×0.5≈1 798 r/min
系统测得的转速(1 798 r/min)与实际转速(1 800 r/min)基本保持一致,测量误差仅为0.11%。
由上述两次测试数据可知,系统具有较高的稳定性以及较高的精度,两次测量误差均小于0.2%。
系统设计了一种便携式汽车发动机转速测量仪,其创新点是不需要外接传感器,直接利用车载USB提供的电源进行分析,提取车载电源中耦合的交流成分,根据发动机转速与发电机转速的关系,计算得到发动机的转速。实际测试结果表明,系统测量精度高,测量误差小于0.2%。除此之外,系统还具有体积小,便于携带,操作方便等特点。