摘要:介绍一种简单、便携、多功能的发动机转速信号模拟器,采用PWM信号逼近的方法生成幅值随发动机转速变化的磁电信号,采用输出比较的方式输出霍尔信号。该模拟器可以方便地设定发动机参数和实时在线修改发动机转速,并能够实时显示。实验结果表明,该模拟器具有信号精度高、发动机转速范围大的特点。
引言
随着发动机电控系统的结构和控制策略日趋复杂,电控系统的研发工作难度以及实验工作量大大增加,成本也大幅度提高。V型开发模式已经成为发动机ECU(Electronic Control Unit,电子控制单元)开发流程的主流,其中的硬件在环仿真中,为了配合ECU软件的开发,需要模拟发动机的转速信号来验证软件算法的正确性。
目前已经有很多研发人员已经做了这方面的研究。例如,清华大学的章健勇开发的发动机转速模拟器系统利用数字端口实现了大转速范围内发动机转速霍尔信号的模拟;北京理工大学的王宇明设计的便携式发动机工况信号模拟器,能够比较真实地模拟发动机传感器信号的类型、形态,基于模型的信号产生方法能够较好地反映发动机工况变化中传感器的内在关系,并且提出了把霍尔信号通过硬件逐步转化成为磁电信号的方法;北京城建设计研究总院的赵华伟设计的转速模拟器采用硬件方式产生频率方波信号和电流信号的方法,不仅能够提供发动机所需的方波信号,而且频率调节精度高,能够实现电流的输出。
这些模拟器尚不能模拟得到理想的磁电信号,并且对发动机参数变化的适应性很差。本文提出一种生成标准磁电正弦信号的方法,并在此基础上设计了一款便携、灵活的发动机转速信号模拟系统。磁电正弦信号可以通过硬件转化和软件逼近两种方法得到,实验证明前者得到的磁电信号精度不高,与真实磁电信号差异较大,所以本文采用软件逼近的方法。软件分段逼近分为DA分段逼近和PWM分段逼近。DA分段逼近的方法需要外扩一块D/A芯片,且转化过程需要占用大量单片机资源,不能满足高频的需求,所以本文选用PWM分段逼近的方法。本系统以MC9S08为处理器,通过面板键盘或RS232通信方式来设定发动机参数和实时在线修改发动机转速,并通过LCD实时显示信息。
1 系统总体方案设计
发动机转速模拟器系统原理框图如图1所示。整个系统包括电源模块、中央处理器、面板按键输入模块、码盘信号和霍尔信号输入模块、液晶显示模块、发动机信号输出模块、调理电路、分压电路、继电器驱动电路、通信模块。
电源模块采用12 V供电,为整个系统提供5 V电源和士15 V电源。发动机型号、传感器参数等信息可以选择面板按键输入方式或者上位机输入方式。发动机实时转速可以选用手动模式或者自动模式。若采用手动模式,由面板键盘输入特定值;若采用自动模式,由上位机输入随时间变化的速度曲线,或者采集码盘信息得到实时速度值。液晶模块来显示发动机、传感器参数和当前发动机转速。输出模块包括凸轮轴信号输出和曲轴信号输出,继电器1为凸轮轴信号选择模式,继电器2为曲轴信号选择模式。输入模块中有外部凸轮轴霍尔信号和外部曲轴霍尔信号,两信号由单片机采集后,经输出模块转换输出磁电信号。
2 硬件设计
2.1 处理器选择
该模拟器是汽车电子系统开发中的一个重要工具,所以要选择满足宽温度限、强抗电磁干扰等最基本要求的汽车级别单片机。同时,为了缩减成本,价格低廉也是非常必要的。模拟器选择Freescale公司的8位处理器MC9S08DZ60。它具有4 KB的RAM、2 KB的EEPROM、60 KB的可编程Flash;包含2路定时脉冲宽度调节器,其中TPM1具有6个PWM通道,TPM2具有2个PWM通道。
2.2 磁电信号调理电路
实际发动机转速的磁电信号是一组近似于正弦波信号的模拟信号,低速下其幅值为-1~+1,高速时幅值变化可达到-15~+15。本模拟器采用PWM信号逼近正弦的方式来生成磁电信号。
信号的调理过程分为以下3个部分:
①整形。输入信号是频率固定为1 MHz的PWM信号,其占空比按照正弦规律变化,经过LMV931整形后得到向上平移后的正弦波。
②滤波。电容C1起到滤波的作用,滤除信号中的直流分量,正弦信号整体向下平移,得到标准的正弦波形。
③放大。标准正弦波最大幅值只有2.5 V,不能满足磁电信号的要求,所以经过LM7332放大一次,放大倍数β=R1/R2。
3 软件设计
整个软件部分分为模拟器配置状态和模拟器输出状态。配置状态主要功能为通过面板键盘或者RS232通信设定发动机参数。输出状态主要功能是根据发动机参数和传感器的组合输出当前需求转速下的曲轴信号和凸轮轴信号。
3.1 逼近磁电正弦信号
模拟器是通过PWM信号软件逼近的方式产生磁电信号。随着一个周期所分段数的逐渐增加,逼近的精度也逐步提高。但为了防止高速时程序频繁进出中断会影响程序其他部分的运行,逼近所分段数不可过多。综合逼近精度、单片机的总线频率和正弦信号的对称性考虑,把凸轮轴磁电信号的一个正弦周期平分20等份,通过不同占空比的PWM信号来逼近正弦信号中的20段,如图4(a)所示;把曲轴信号的一个正弦周期平分12等份,通过不同占空比的PWM信号来逼近其中的12段,如图4(b)所示。
其中,TimeIntervalCrank为曲轴信号逼近各点时间的间隔计数值;TimeIntervalCam为凸轮轴信号逼近各点时间的间隔计数值;fbus为时钟总线频率(Hz);CrankNumber为曲轴齿数(60、48);Camwidth为凸轮轴齿宽(1,2,3…);n为发动机目标转速(rpm)。
图4中,实线为逼近的目标曲线,虚线为逼近得到的曲线,逼近后的曲线相对于目标曲线向右平移了一小段相位,在程序中应提前逼近的开始时间,以消除逼近相位误差。
PWM通道的模数寄存器的值恒定为19,正弦信号最大值对应的值寄存器的值为Rang,如图4中的“6”点和“4”点。为了保证正弦信号的幅值随着转速值而变化,Rang随发动机转速增加而增大,Rang=Rang(nspeed)。
当逼近一个曲轴信号正弦波时,正弦信号中各点对应的正弦值如表1所列。各点对应的单片机值寄存器的值为TPM2CV0=Rang(nspeed)×Sin(Number)。同理,可以得到逼近凸轮轴磁电信号20个点对应值寄存器的值TPM2CV1。
为了省去单片机做乘除法运算所占的时间,在程序中将各点对应的寄存器值做成数组,直接调用。如果要逼近与图4极性相反(先负后正)的正弦波,只需颠倒各点逼近顺序,即逼近顺序为20,19,18,…,2,1。
3.2 生成凸轮轴信号和曲轴信号
曲轴信号流程如图5所示。首先判断曲轴信号模式。
若模式为霍尔,则输出PWM霍尔信号。在溢出定时中断内累加曲轴齿数,若判断曲轴缺齿有效,则改变PWM频率,得到2个缺齿信号后,一个循环结束,曲轴齿数重新计数。在主程序中判断何时输出凸轮轴信号。
若模式为磁电,则输出PWM逼近信号,开始逼近定时。在定时中断中设置逼近各点的占空比,记录逼近点个数,一个正弦周期结束后,曲轴齿数累加1。若判断缺齿有效,则输出图4中恒定“1”点所对应占空比的PWM信号,两个缺齿后一个曲轴循环结束,曲轴齿数重新计数。在主程序中判断何时输出凸轮轴信号。
凸轮轴信号流程:若信号模式为霍尔,则在主程序中通过I/O口输出霍尔信号。若信号模式为磁电,则输出逼近PWM信号,在定时中断中设置逼近各点的占空比,记录逼近点个数,一个正弦周期结束后结束逼近定时,输出图4中恒定“1”点所对应占空比的PWM信号。
4 实验验证
设定模拟器参数如下:曲轴齿数为(60-2)个齿,凸轮轴齿数为(4+1)个齿,凸轮轴齿宽为6个曲轴齿宽,多齿超缺齿12℃A(曲轴转角是以℃A表示),凸轮多齿超凸轮1齿为60℃A。通过示波器观察得到图6所示的信号。
图6所示曲轴信号模式和凸轮轴信号模式均为磁电。模拟信号满足设定参数要求,并且幅值、相位准确,相对相位准确,频率稳定。上下两组信号的转速分别为2000rpm和1000 rpm。比较可知,磁电信号幅值随转速而变化。
真实测得的磁电信号以及经ECU处理后的信号如图7所示。该信号在ECU中经过比较器处理后转换为方波信号,进而被单片机采集。模拟得到的磁电信号经过比较器后,同样转换为一个方波信号。虽然模拟信号与真实磁电信号存
5 结论
实验证明,PWM信号逼近正弦信号的方法可以在8位机上模拟出标准的磁电正弦信号,并且该信号可以替代真实的磁电信号。本模拟器系统可以在100~6000 rpm范围内精确模拟发动机转速信号,满足设计要求。由于8位单片机的处理能力有限,该模拟器不能实现磁电信号幅值随着转速连续、线性地变化,但是并不影响模拟器的功能。若改为使用。DSP处理器,采用级数逼近或者迭代逼近的方法即可实现。