基于嵌入式实时操作系统的EPS系统设计
摘 要:针对电动助力转向(EPS)系统的原理和工作流程,考虑到在不同车速和转向扭矩时系统应提供的助力方式不同,采用嵌入式实时操作系统μC/OS-Ⅱ为软件平台,将EPS软件中的信号采集、故障诊断、助力控制、回正控制、阻尼控制等子程序以多任务的形式进行了设计。通过设置不同的优先级别,达到各个任务的协调运行。控制器采用PIC18F458芯片,通过其增强型的PWM脉宽调制模块ECCP控制助力电机,实现EPS系统的各种助力方式。该系统具有实时性高、可移植性、易于维护等优点。
关键词:单片机 EPS 嵌入式 PWM
中图分类号:TP316.2 文献标识码:A 文章编号:1672-3791(2012)11(c)-0015-02
随着电子技术和电机控制技术的发展,电动助力转向(Electronic Power Steering,简称EPS)系统的研究取得了很大进步。目前,汽车电动助力转向已部分取代传统液压动力转向。经过20多年的发展,EPS技术取得了相当大的成果,在轻型轿车和厢式车上得到了广泛应用[1,2]。
由于传统的软件设计不容易维护,移植性差且实时性得不到保证。因此,本文提出了基于嵌入式实时操作系统的EPS软件设计方法。
1 EPS系统结构和工作原理
1.1 EPS系统的结构
根据电机安装位置的不同,EPS系统可分为转向轴助力式、小齿轮助力式和齿条助力式三种。EPS控制系统的主要组成部件[3,4]:扭矩信号传感器、车速信号传感器、助力电动机、电磁离合器、减速机构、电子控制单元ECU。
1.2 EPS系统的工作原理
虽然EPS有三种类型,但工作原理是一样的:通过扭矩传感器和车速传感器,进行信号采集,经A/D转换,将信号发送到电子控制单元(ECU)中,单片机根据采集到的车速信号与扭矩信号,并且根据相应的控制策略对直流伺服电动机进行实时控制。
根据汽车转向行驶的不同情况要求,EPS控制系统按不同的控制方式进行控制,通常来说有三种基本控制方式:常规控制、回正控制、阻尼控制。
2 EPS控制系统设计
2.1 嵌入式实时操作系统移植
本文使用源码公开的μC/OS-Ⅱ嵌入式实时操作系统,移植该系统只需改写三个与处理器相关的代码,即:OS_CPU.H,OS_CPU_A.ASM和OS_CPU_C.C[5,6]。
本文采用PIC18F458单片机,其开发环境为MPLAB IDE V7.5和MPLAB C18。通过修改上述三个与处理器相关的函数,μC/OS-Ⅱ就成功的移植到该处理器上。
2.2 软件设计
EPS的工作流程是:根据扭矩信号和车速信号,判断系统所要进行的控制方式:如果处于车速>80 km/h,EPS将不在提供助力,EPS处于阻尼控制状态;如果车速在0~80 km/h,EPS提供的助力随车速增加不断减小,直线行驶EPS处于阻尼控制,转弯行驶处于常规控制。其中,阻尼控制和回正控制本系统采用最简单的方法,即通过设置助力电机的短路与短路实现。常规控制时,单片机根据扭矩和车速,通过助力特性曲线计算出助力电流的大小,控制器根据助力电流和电动机反馈电流得到控制量,由PWM脉宽调制实现对电动机的闭环控制。
EPS系统的程序主要由以下几个模块构成:初始化、监测程序、信号采集与处理程序、控制算法及策略程序等。将EPS系统的各个模块以多任务的形式编写,主要分为以下任务:故障检测TaskFaultDiagnosis()、车速信号采集TaskSpeed()、扭矩信号采集TaskTorque()、助力控制TaskEPSControl()、回正控制TaskReturnControl()、阻尼控制TaskDampingControl()等任务。
2.2.1 主程序设计
2.2.2 故障检测子程序
通过判断蓄电池电压、车速传感器信号、转矩传感器信号和电机电流等信号来判断系统的工作状况是否正常,一旦系统异常,继电器将断开,EPS停止助力,系统将以机械传动方式工作,确保行车安全。
2.2.3 信号采集
信号采集包括车速信号、扭矩信号和电机反馈电流信号。本系统采用定时器/计数器TMR0模块捕获每个输入脉冲信号的上升沿,来计算并得到车速。
扭矩信号和电机反馈电流信号都是模拟量,需要通过A/D转换,并经过数字滤波得到。
在单片机系统中常用的数字滤波方法有算术平均值法、移动平均滤波法、防脉冲干扰平均值法和数字低通滤波法。本文采用算术平均值法。
2.2.4 助力控制子程序
助力控制包括三种方式:常规助力控制、回正控制和阻尼控制。控制器根据车速和转矩信号来判断助力控制的方式。
当扭矩偏离平衡位置,且转向系统没有回正(即扭矩的微分不为负数),EPS处于常规助力控制状态,也就是提供助力。控制系统将根据车速和扭矩的大小,通过助力曲线,得到电动机的目标电流,经过PID控制器的闭环控制PWM脉宽调制的占空比,控制助力电动机。
如果转向系统处于回正状态,将根据车速进行回正控制或者阻尼控制(高速时阻尼控制,低速时回正控制)。
当汽车处于高速直线行驶状态时,EPS系统将提供阻尼控制,避免方向盘抖动。
EPS系统的三种控制方式是通过PWM脉宽调制实现的。使用PIC18F458单片机的ECCP模块来实现助力、回正、阻尼三种控制方式。在全桥输出方式下,4个引脚用于输出,但是在同一时刻,只有两个输出是有效的。
在正极性方式中,P1A一直有效(QA导通),P1D脉宽调制(QD脉宽调制),即实现电机的正向助力;在负极性方式中,P1C一直有效(QC导通),P1B脉宽调制(QB脉宽调制),即实现电机的反向助力。
回正控制是通过同时置P1A、P1B、P1C、P1D为低电平来实现的,这时电机处于断路状态,减少阻力,是转向系统迅速回正。
阻尼控制原理是当电动机绕组发生短路时,电动机将会产生一个大小与其转速成正比的反向转矩,电控单元就是利用这一特性对电动机进行阻尼控制的。即置P1B和P1D为低电平,置P1A和P1D为一直有效。
3 软件调试
采用PIC18F458单片机作为控制器,其开发环境为MPLAB IDE,它是Microchip公司为PIC系列单片机提供的功能开发和调试综合性软件,编译器采用Microchip公司的C18V3.0编译器。
首先使用MPLAB IDE集成的仿真软件MPLAB SIM进行调试,该软件独立于硬件环境,避免了程序代码下载慢的问题。通过给每个任务设置断点(Break point),可以方便的看到各个任务的运行情况,以及各寄存器的状态。
表1和表2是右转向,速度分别为0和40 km/h时的扭矩及占空比(ECCPR1L)的值。
其中Adresult为A/D传感器测得的扭矩传感器电压值(0~2.5 V为反向,2.5~5 V为正向),torque为扭矩,ECCPR1L及ECCP1CON的bit1和bit2位(这里设其为00)为增强型PWM模块的占空比因数。
最后,将代码通过仿真器MPLAB ICD2成功的下载到PIC18F458单片机中,进行硬件调试,运行良好。
4 结语
本文分析了EPS系统的结构、工作原理和三种控制方式,基于μC/OS-Ⅱ这一实时内核进行了EPS系统的软件编程。通过PIC18F458单片机的ECCP模块控制电机,实现了EPS系统在各种情况下的助力方式。经过仿真运行,结果表明,各个任务能够协调运行,实现了EPS系统的各个功能。并且多任务的设计方法大大提高了EPS系统的维护性和扩展性。
参考文献
[1]胡建军,李彤,龚为伦,等.汽车转向技术进展分析[J].液压与气动,2006,4(8):17-20.
[2]施国标,林逸,张昕.动力转向技术及其发展[J].农业机械学报,2006,37(10):179-182.
[3]罗玉涛.现代汽车电子控制技术[M].北京:国防工业出版社,2006:174-202.
[4]Ji-Hoon Kim, Jae-Bok Song. Control logic for an electric power steering system using assist motor[J]. Mechatronics,2002,12(3):447-459.
[5]Jean J Labrosse.邵贝贝[译].嵌入式实时操作系统μC/OS-Ⅱ[M].2版.北京:北京航空航天大学出版社,2003.
[6]冉明,邢汉承.基于μC/OS-II的嵌入式系统的设计[J].微机发展,2005,15(1):91-93.