基于TMS320F2812便携式发动机转速测量仪研究

更新时间:2024-04-06 作者:用户投稿原创标记本站原创
摘要:本设计是通过测量发电机周围导线上,带有发动机转速信息的电信号频率,来测量发动机的瞬时转速,基于TMS320F2812进行频谱分析求出发动机转速。这种方法测量方便,并且采用数字化测量,信号采集记录方便,便于车辆发动机工作状况的进一步分析。
关键词:发动机转速;TMS320F2812;频谱分析
Abstract: This is designed to measure the instantaneous engine speed by measuring the signal frequency with the engine speed information around the wire of the generator. Engine speed is calculated with frequency spectrum analysis on TMS320F2812. This method is easily measured, and the use of digital measurement. Collecting and recording signal is convenient,and easy to further analysis of engine operating conditions.
Key words: engine speed, TMS320F2812, frequency spectrum analysis
1. 引言
随着汽车工业的迅猛发展,车辆状态参数的检测日益重要,而发动机是汽车的动力源泉,是汽车的心脏,它的性能优劣直接影响到汽车整车的运行,其中发动机转速是评价其动力性的一个重要指标,转速可以直接反应车辆运行的状况。通常我们获取发动机转速是通过车辆上自带的指针式的转速仪,在车辆平稳匀速行驶时,它可以大致反应发动机转速,但是当道路状况不好或者需要记录车辆的实时转速时,这种转速仪基本失去功能。而本设计采用的是数字化实时测量与存储,可以将车辆的运行状态记录下来,除此之外,本设计最大的特点是无需另行安装转速传感器,而是利用车辆点烟器上带有发动机转速信息的电信号及其车辆本身的性质来推算出发动机转速,可谓操作简单,使用方便。
本系统的设计原理:汽车发动机与发电机通过皮带相连,将转动以固定比例传给发电机转子,这样发电机的转速就可以间接反映发动机转速,本设计利用这一原理采用高速信号处理器TMS320F2812从汽车点烟器采集电信号,对其进行提取分析,进而获得发电机交流电信号,并对信号进行频谱分析及其相应计算,最终获得发动机转速并在液晶屏上显示,整个过程在1s内完成。
2. 系统硬件设计方案
本系统以TI公司的TMS320F2812(以下简称2812)为核心,将预处理过的信号送入2812自带的AD中进行采样,分析得到转速信号显示在液晶上,并存储转速。系统整体框图如下:
图1 系统整体框图
系统硬件由六个模块组成。
电源模块:系统电源取自汽车点烟器上的12V供电电源,通过滤波及稳压处理(L7805)得到5V电压供给系统各部件, 2812芯片需要的3.3V,1.8V通过两片SPX1117稳压器获得。
前向通道模块:点烟器采集到的电信号,经过隔直,抗混频滤波,直流偏移,加法电路等调理后,最终以0-3V进入2812AD。
主控制器模块:主控制器采用TI公司生产的2812芯片。
存储模块:FLASH型号为SST39VF800,512K×16bit。
系统内存模块:RAM 型号为 IS61LV25616AL,256K×16bit。
液晶显示模块: 16×2 字符液晶,型号为 JHD162A。
3. 系统软件设计
本系统操作简单,共分为两种模式,一种为瞬时转速测量,另一种为连续转速测量。正常启动测量仪后,即会启动计时器记录时间,按键一次,采样一次,记录采样时间,并将处理分析后的转速结果存于FLASH中。所以只需测试者记录下来开启仪器的时间,即可通过相对时间记录下每次采样的时间。按键采用外部中断下降沿触发。
3.1系统初始化
为了操作需要,软件设计中主程序只对整个系统进行初始化,最后用while(1)死循环语句在此等待中断响应,除了通用初始化外,本系统用到了下面四个模块需自行编写:
InitAdc();//初始化ADC模块,采用顺序采样模式,通过EVA周期中断启动ADC,清除相应的标志寄存器等。
InitEv();//初始化EVA模块,设置连续增模式,采用内部时钟,使能T1周期中断,使能T1周期中断启动ADC等。
InitXIntrupt(); //初始化外部中断,使能XINT1,设置下降沿触发中断。
ChipErase(); //擦除FLASH里面的数据,为记录数据做准备。
3.2各个子程序
(1)外部按键中断子程序
interrupt void ANJAN_ISR(void);//外部按键中断函数
{
n++;记录采样次数
SampleCount=0;//AD采样计数初始化
T1Count=0;
EvaRegs.T1CON.bit.TENABLE=1;//开定时器1计数
}
(2)定时器中断子程序
interrupt void T1_ISR(void);//定时器1周期中断响应函数
{
DINT;
EvaRegs.EVAIFRA.bit.T1PINT=1;//清除外设级T1周期中断标志位
PieCtrl.PIEACK.bit.ACK2=1;//清除第二组中断响应寄存器
EINT;
}
(3)AD采样子程序流程
interrupt void ADC_ISR(void);//ADC中断子函数,周期中断启动ADC,采样频率为500Hz,采样点数1024。
图2 AD采样子程序流程图
(4)FFT变换子程序流程
void fft(void);//N点FFT变换函数
图3 FFT变换子程序流程图
(5)FLASH存储子程序介绍
void flash(void);// FLASH存取函数,包括FLASH写程序FlashWrite(Uint32RamStart, Uint32 RomStart,Uint16Length)和读程序FlashRead(Uint32RamStart, Uint32RomStart,Uint16Length)以及擦除程序等。
3.3 CMD文件的配置
DSP在150M时钟频率下,FLASH中只能提供120M的时钟频率,由于程序计算量很大,所以希望在RAM中运行加快速度。这时在.CMD文件中就必须划分一段用来设置RAM的载入和运行地址。程序代码如下:
SECTIONS
{………
adcpage: LOAD=FLASHD,PAGE=0
RUN=RAMH0,PAGE=0
RUN_START(_adcpage_runstart),
LOAD_START(_adcpage_loadstart),
LOAD_END(_adcpage_loadend)
}
对于.CMD文件的空间分配一般只需要在提供的文件中修改即可,对于本系统具体修改如下:


5. 系统在汽车上实际测试结果
图4 实测信号AD采样结果图
图5 频谱分析结果图
图4为实测信号AD采样结果,图5为该信号频谱分析结果。采样频率为250Hz,从图中可以读出k=658,N=2048,根据分析频率计算公式,带入数据可得谱分析频率为80.32Hz,换算成转速为4819源于:大学毕业论文www.808so.com
转/分,再根据发电机和发动机转速比为2,可得与实际发动机转速为2409转/分,与实际车辆表盘指示一致。
6. 结论
基于TMS320F2812的便携式发动机转速测量仪的研究测试结果表明,这种方法可以方便快捷地获得汽车发动机的瞬时转速,为车辆测试系统提供一种方便的转速测量方法。
参考文献
王盛良.汽车电气设备结构与检修技术[M].北京:机械工业出版社,2010.
Mark A. Pinsky.Introduction to Fourier analysis and welets [M]. Thomson Learning, 2003.
[3] 赫金(Simon Haykin),维恩(Barry Van Veen)著,林秩盛, 黄元福, 林宁等译.信号与系统[M]. 北京:电子工业出版社, 2004
[4]苏奎峰,吕强,耿庆峰,陈圣俭.TMS320F2812原理与开发[M]. 北京:电子工业出版社,2005.4
[5]孙建三,刘勤. 隐轴三相异步电动机转差率转速的微机测试[J]. 防爆电机, 2000,3.
[6] Texas Instruments Incorporated著, 张卫宁编译. TMS320C28x系列DSP的CPU与外设[M]. 北京:清华大学出版社, 2005.
注:文章内所有公式及图表请以PDF形式查看。

点赞:34223 浏览:157091