基于PIC18F458与OSEK/VDX的电动助力转向系统设计方案
定电压正常;等待消息MsgTorqueErr,确定扭矩正常。一旦发生故障,该任务将立即断开继电器,使转向系统处于机械转向状态,避免事故发生。
(5) Task5——助力模式选择基本任务,用于选择助力方式以及确定助力控制方式下的目标电流。此任务由Task2激活,通过车速和扭矩的大小,判断助力模式,在助力控制下通过助力特性曲线得到目标电流。此任务的执行次数与Task1和Task2相同,以保证助力方式和助力大小实时准确。
(6) Task6——助力控制基本任务,助力控制,由Task3激活。通过Task5得到的目标电流,以及Task3电机反馈电流,采用PID调节器进行闭环控制,最后通过PWM脉宽调制控制助力电机。
(7) Task7——回正控制基本任务,回正控制,由Task5激活。当汽车车速很高时,使电机两端短路,产生回正阻尼,减小回正超调;当汽车处于低速时,使电机两端迅速断路,减小电机阻力,使转向迅速回正。
(8) Task8——阻尼控制基本任务,阻尼控制,由Task5激活。阻尼控制用于高速时的各种状态(回正、转向和直线行驶)。回正时,阻尼控制可减小系统超调;转向时,可增加阻力,使驾驶员得到较好的路感;直线行驶时,可减小路面对方向盘的冲击。
3.2 任务优先级
PICOS18采用占先式调度方式,即所有任务都是可占先的,每个任务都有一个确定的唯一的优先级,任务越重要优先级越高。由于助力控制(Task6)任务必须在合适的时刻运行,所以Task6优先级最高,回正控制(Task7)、阻尼控制(Task8)次之,其次是故障诊断任务(Task4),其余任务优先级按其激活的执行顺序确定。Task4在开始运行时处于等待状态如未监测到不正常信号则不再执行。Task1、Task2和Task5在按顺序执行完一个循环后,继续响应转速中断,重新执行。这种调度方式不仅能采集到最新的车速信号和扭矩信号,使eps系统实时准确地提供助力,还能提高CPU利用率,充分利用硬件资源。
3.3 任务配置(OIL)
PICOS18通过taskdesc.c定义任务的各个参数,并且是用OSEK/VDX规范中的OIL(OSEK/VDX的实现语言,类似于一个C结构定义)编写的\[5\]。由于PICOS18没有提供GUI用于任务的配置,因此只能逐句编写。任务的参数定义结构如下:
rom_desc_tsk rom_desc_task={
TASK_PRIO,/* 任务的优先级*/
stack,/* 堆栈地址(16位)*/
TASK, /* 起始地址(16位)*/
READY, /* 初始化时的状态*/
TASK_ID,/* 任务ID*/
sizeof(stack)/* 堆栈大小(16位)*/
};
AlarmObject Alarm_list\[\] = {
/******第1个任务********/
{
OFF,/* 状态*/
0, /*报警值*/
0,/*周期*/
&Counter_kernel,/*与报警相关的计数器*/
TASK1_ID,/*要激活的任务ID*/
ALARM_EVENT,/*传递的事件 */
0/*回调*/
},
…/*其他任务 */
};
Resource Resource_list\[\] = {
{
10,/* 优先级 */
0,/* 任务优先级 */
0,/* 上锁,0表示未上锁 */
}
};
Counter Counter_list\[\] = {
/******第1个计数器******/
{
{
200,/*允许的最大计数值*/
10,/*预分频器*/
100/*最小周期*/
},
0,/*计数值*/
0
}
…/*其他计数器*/
};
4 结论
本文分析了eps系统的结构、工作原理和3种控制方式。通过pic18f458单片机的ECCP模块控制电机,实现了eps系统在各种情况下的助力方式。采用嵌入式实时操作系统,不仅提高了CPU的利用率,确保了eps系统的实时性要求,还提高了系统运行的稳定性、可靠性以及移植性。OSEK/VDX 是汽车电子开发的国际性标准,采用OSEK/VDX规范开发的实时系统能够提高软件模块的移植效率、实现软件模块的重复利用及在不同电子控制单元之间的通信。采用OSEK/VDX 进行汽车电控单元开发已成为发展趋势。
- 汽车电动助力转向系统电控单元设计方案(09-25)
- 电动助力转向系统用扭矩传感器分类_各类型电动助力转向系统用扭矩传感器介绍(07-24)
- 应急电源用的EPS和UPS电源(12-03)
- EPS应急电源作为后备电源的优势(04-12)
- EPS电源和UPS电源解析(07-06)
- EPS与UPS的区别比较(06-18)