孙宇,束长健,曾洁
(大连交通大学 电气信息工程学院,辽宁 大连 116028)*
柴油发动机作为传统的动力机械装置,广泛应用于机车、船舶、发电机组等领域.尽管先进的高压共轨技术已经应用于大功率内燃机,但目前采用电子调速控制技术的内燃机依然存在.由于牵引电机负载存在变化,所以需要柴油发动机的输出功率也要随之改变,也就是说柴油发动机的输出转速会影响牵引电机的功率输出[1].若内燃机转速控制不稳发生波动,发电机输出电压和频率也产生波动,从而影响机车的平稳行驶.随着对用电质量以及用电成本的要求越来越高,将数字式电子调速技术应用到柴油发电机组上是必然趋势,但是在国内仅仅停留在实验室阶段和模拟样机阶段.为了能够实现对柴油发动机转速的实时控制,本文在分析了数字式电子调速技术的工作原理和PID控制原理的基础上,重新设计了控制系统,以模糊自适应控制进行系统控制,并通过分析对比,择了恩智浦公司生产的最新款车用级芯片MC9S12XEP100作为主控单元,控制发电机组的运行更为稳定.
本文根据需求和控制策略设计了电调控制系统的软件架构,通过MATLAB把控制模型转换成C代码烧入到控制单元中,在CodeWarrior开发环境下使用C语言编写软件代码,通过上位机对系统进行标定,最后通过实验室模拟平台进行软件调试.
目前市场上有大量的柴油机电子调速控制系统,大部分以国外为主,都是由传感器、控制器和执行器三个基本部分构成,通过分析和对比,本文重新对系统架构进行了设计,如图1所示.
图1 柴油发电机组电子调速控制系统的整体结构
电子调速控制系统的微控制器通过安装在柴油机上的传感器检测出柴油机的曲轴位置、供油调节执行器位置等状态参数,并对采集到的这些柴油机工况信号进行抗干扰处理,然后根据控制算法(策略)输出脉冲宽度调制信号驱动供油调节执行器,以达到控制柴油机供油量及调速的目的.同时在控制器中设计通信接口电路,以便通过上位机来实现对控制器中的参数进行监测及在线标定任务,从而方便操作人员对于柴油发动机的控制与观察.
本文主要的研究方向为调速部分,本文柴油机的转速受供油调节执行器的位移量控制,位移量的增大或减少使得柴油机供油量增加或减少,导致柴油发动机转速上升或下降.同时,柴油发动机的加载、卸载以及负载的波动均会引起柴油发动机转速的变化,因此为了保证柴油机的平稳运行需对柴油机进行实时电子调速控制.
电子控制单元(ECU)是柴油发动机电子调速控制系统的核心部件,它可以依照负载的变化来实时调节燃油量的供给,从而保持柴油发电机组的转速稳定[2].由于传统的模拟式电子调速器调试方便,所以目前仍然在一些柴油发电机组的转速控制中有应用.但是与模拟式电子调速器相比,数字式电子调速系统由于采用了计算机控制技术更容易实现复杂而有效的控制算法,且便于拓展升级使柴油机获得更好的转速控制精度、稳定性及动态响应.
1.2.1 调速控制系统的功能需求分析
电子调速控制单元作为柴油发动机电子调速控制系统的“大脑”在整个柴油发动机电控系统中起到了关键作用.电子控制单元应具备控制软件的运行环境配置及内部的逻辑计算与处理基本功能,为方便实时监控与在线标定,还应具备与上位机及其他系统的通信功能,最后还要具备对外部信号的采集与处理、控制算法的运算以及输出燃油调节执行器驱动信号等功能.
1.2.2 微控制器的选择
本文的控制系统采用恩智浦车用级芯片MC9S12XEP100为核心微控制器.MC9S12XEP100为双核微控制器,采用XGATE技术,内部资源丰富,专为低成本的应用场合设计,强大的片内资源与简单的外围电路结合可以支持信号采集与处理、控制算法的运算、控制信号输出以及与上位机通信等功能,用于本文可满足柴油发动机电子调速控制系统的要求[3].
1.2.3 模糊自适应PID控制
当前智能控制得到了重大发展,模糊控制又是一个重要的分支[4].在控制系统中,控制对象有时较为复杂,具有非线性,控制参数容易随着时间改变,还会受到外界某些客观因素的影响,没法使用标准的函数对其进行表示,数学模型难以建立,使用常规的PID控制无法做到良好控制,本文通过对多种智能控制进行分析和对比,最后选择了模糊自适应PID控制作为本设计的主控制策略[5].
模糊自适应控制是将控制对象看成是一个模糊整体,利用模糊控制器在其中对其进行控制,以误差和误差变化作为输入,利用模糊控制规则参数进行及时的修改,以满足不同时刻的 和 对PID参数自整定的要求[6].模糊控制规则就是根据往复的实验以及现场专家的经验制定的规律.模糊自适应PID控制器如图2所示.
图2 模糊自适应PID控制制系统简图
根据调速控制系统的功能需求分析,本文把整个柴油发动机电子调速控制系统的软件部分分为底层、通信层和应用层三大部分.
模块化后的软件整体结构如图3所示,底层软件包括底层系统软件和板级支持包BSP,是根据单片机的片上资源进行设计的,通信层软件是结合单片机各个功能模块,实现底层和应用层之间的数据交换与监控标定,应用层软件是根据需求自行设计开发,根据底层的接口变量进行转速计算、燃油调节执行器驱动、PID控制算法、插值算法等等功能,并且依照接口定义和功能函数完成对供油调节执行器部分的控制.
图3 控制软件整体结构
2.2.1 主程序设计
主控程序可以根据控制要求设定内容,主控程序的主要任务就是初始化、工作时序、任务调度、控制模式等.首先是完成对整个调速控制系统的初始化设置与调整,之后观察柴油机如果处于停机状态,则进行冷机状态的自检.起动之后,先设定目标转速并使得电子控制单元与上位机之间进行通信联系.对比目标转速与测量的实际转速,若大于超速的截止门限值(由具体机型而定),则进入超速工况,超速报警并停机,否则开始检测转速是否低于起动成功转速,即怠速最低值(由具体机型而定),如果低于起动成功转速则检查是否低于起喷转速(由具体机型而定),如果低于起喷转速,则进入停止工况,如果高于起喷转速但是低于起动成功转速,则检测起动成功否,起动不成功则进入起动工况,进入起动工况有两种方式,一是固定油量起动,会以恒定转速运行,二是根据转速MAP查表规定起动油量.如果高于起动成功转速,则进入调速工况,需要先对PID参数进行初始化设置,如果以固定油量运行,则同上文起动工况,如果不是固定油量运行,则根据PID参数更新调节,进入到转速闭环控制函数当中.图4为主程序流程图.
图4 主程序工作流程
2.2.2 初始化软件设计
电子调速控制系统的核心芯片MC9S12XEP100的输入输出端口不仅仅可以用做GPIO,也可以用作某些外设功能,所以对于输入输出端口必须进行初始化设置,设置相关控制参数并且指定端口类型.电子调速控制系统的初始化工作主要包括时钟和复位初始化、实时中断初始化、MCU端口初始化、增强型定时器初始化、PWM初始化 和AD初始化等.
2.2.3 转速信号采集程序
本文使用双转速信号的目的是保证信号采集的稳定性,当主信号出现故障时可以立即启用备用转速信号,转速信号1跟转速信号2通过互检的方式来判断是否出现故障.程序初始化时,默认转速信号1为有效信号.曲轴的信号通过磁电式转速传感器采集信号,经过信号处理函数,处理之后计算出两个上升沿之间的(一个周期的)时间间隔,一般是上升沿或者下降沿进行计数(中断进入)之后通过转速计算函数计算出转速.转速信号检测流程如图5所示.
图5 转速信号处理软件流程图
2.2.4 供油齿条位置模拟量信号采集程序设计
当AD模块工作时,先经过采样、AD转换,最后将所处理的结果保存在相对应的寄存器当中,当AD模块每次进行工作时,先要进行若干次的扫描,连续多次扫描有利于实现信号的滤波处理.
在A/D转换过程中,会存在线性误差,在程序中必须对转换后的数字量进行数字滤波.如图6所示,本设计采用的滤波方法是中值滤波法,多次测量去除两个最值,剩余取平均值,取其平均值作为最后的输入量.公式如下:
图6 模拟采样程序流程图
2.2.5 输出驱动信号程序设计
PWM常常用于对负载的控制电流大小,比如直流电机控制、供油调节执行器的开度控制等等.通过函数的相关调用,实现直流电机的转动,直流电机的正反转是通过输入输出口的高低电平来控制的,而直流电机的电流大小是通过PWM波的占空比来实现的,在该柴油发电机组模拟实验平台上,使用PWM驱动对供油调节执行器进行控制[7].
PWM控制所使用的算法是输出时钟周期=通道时钟源周期*Period,此处通道时钟源周期为通过调用PWM_ClockSelect()函数选择的通道时钟源.
在工况模式判别的函数中,会存在一个油量限制的子函数程序,油量限制即供油齿条的位移距离,通常供油齿条的位移距离与控制供油齿条的电流大小成比例关系,本文利用PWM的占空比大小对电流大小的控制,实现对供油齿条位移距离的控制,由于PWM寄存器中每一位的最高范围是256(8位),即使其中一位的占空比为100%也满足不了供油持续角的最大开度,为了满足供油持续角的最大开度,本文采用PWM级联的方式,将两位同时进行PWM波控制,最高范围是65536(16位),这样就能够满足供油持续角的最大开度范围,从而实现对供油持续角度的范围控制.
本文通过上位机对柴油发电机组人为标定目标值,单片机将0~5V的电压信号转换为与之相对应的数字量.
表1所示为供油调节执行器信号采集测试的误差分析,经过计算平均误差为0.416%,最大误差小于1%,由此可见,电子调速控制系统的模拟量转换模块工作较为稳定可靠.
表1 供油调节执行器信号采集测试误差分析
图7可以看出测试数据经过拟合之后是非常理想的线性关系,测试拟合直线和理想曲线之间几乎完成重合,所以模拟信号的数字量转换过程是符合设计要求的.
图7 供油调节执行器位置信号拟合曲线
测试转速信号处理模块时,使得函数信号发生器与电子控制单元频率信号输入接口相连,转速的变化可以通过改变类正弦波的频率来实现,示波器探头接在单片输入捕捉的引脚上,测试结果如图8所示.
(a)500 Hz
图中分别是当输入正弦波信号频率为500和1200Hz时的信号处理波形,如图可知,随着转速的增加输出信号的频率并没有出现大的波动,误差小于2%,基本上可以忽略不计,幅值稳定符合要求.
本文根据机车柴油发动机的工作特性给出了柴油机电子调速控制系统的设计方案,选用恩智浦芯片MC9S12XEP100为MCU的电控单元,然后以CodeWarrior为软件开发环境,根据柴油机调速控制的需要,主要对采集的供油齿条位移模拟量信号进行数字滤波处理,然后采用测周法对柴油机转速进行采集与精确计算,电控单元采用模糊自适应PID控制算法控制其输出的PWM占空比来控制供油调节器驱动电流的大小,以实现对供油齿条位置的控制,从而达到对柴油机供油量的精确控制.本文对于柴油内燃机的调速控制技术研究及产品开发具有一定的参考价值.