微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 采用OSEK/VDX的电动助力系统设计

采用OSEK/VDX的电动助力系统设计

时间:05-29 来源:互联网 点击:

制器核心系统设计、控制单元接口电路、电动机驱动及其保护电路、电磁离合器控制电路、传感器信号处理电路以及电源系统电路的设计等,如图2所示。在这里主要介绍一下控制器和电机驱动电路。

2.1 控制器

  EPS系统的微控制器采用的是Microchip公司的PIC18F458芯片。该系列芯片具有以下性能:

  ① 16位宽指令,8位宽数据通道,2 MB的程序存储器、4 KB的数据存储器,高达10 MIPS的执行速度。
  ② 40 MHz时钟输入,4~10 MHz带PLL锁相环有源晶振/时钟输入。
  ③ 带优先级的中断和8×8单周期硬件乘法器。
  ④ 捕捉/比较/脉宽调制(CCP)模块:

  ◆ 捕捉输入——16位,最大分辨率为6.25 ns;
  ◆ 比较单元——16位,最大分辨率为100 ns;
  ◆ 脉宽调制(PWM)输出——分辨率为1~10位;
  ◆ 最高PWM频率——8位时频率为156 kHz,10位时频率为39 kHz。

  ⑤ 增强型CCP模块除具有以上CCP特性外,还具有1、2、4路的PWM输出,可选择PWM极性,可编程的PWM死区时间。
  ⑥ 10位,8通道的A/D转换。
  ⑦ CAN总线模块。


图2 EPS硬件电路结构示意图

2.2 驱动电路设计

  电动机控制电路的设计在电动助力转向系统的设计中是比较关键的部分。随着计算机进入控制领域,以及新型的电力电子功率元器件的不断出现,直流电动机的结构和控制方式都发生了很大的变化,采用全控型的开关功率元件进行脉宽调制(Pulse Width Modulation,PWM)的控制方式已成为绝对主流。在本系统中,电机的控制就是采用的PWM脉宽调制控制方式。全桥双极性驱动电路如图3所示。

  PIC18F458单片机的ECCP引脚连接2个驱动芯片IR2110(每个IR2110可控制2个MOSFET),来控制4个MOSFET的导通和截止,从而实现对助力电机的控制。EPS系统需要实现3种控制方式:常规控制、回正控制和阻尼控制。


图3 助力电机驱动电路

3 EPS软件设计

  随着嵌入式应用进一步复杂化和对实时性、可靠性要求的提高,为了合理调度多种任务并利用系统资源,基于嵌入式实时操作系统进行嵌入式软件设计逐渐成为了嵌入式系统设计开发的主流。当前嵌入式实时操作系统有数百种,它们各具特色。开放源码的嵌入式实时操作系统在成本和技术上具有独特的优势,并占有越来越重要的地位。本文选择开源的嵌入式实时操作系统PICOS18作为EPS的软件开发平台。PICOS18是按照OSEK/VDX标准实现的实时操作系统。PICOS18是一个多任务可剥夺型微实时内核,非常小巧,占程序空间(ROM)小于1 KB,占数据空间(RAM)仅为7 B,系统代码容量及运行所需的ROM和RAM也非常少;提供了任务管理、定时器管理、事件管理、中断管理等功能;基于优先级进行任务调度,具有16个优先级,系统占用1个,用户可创建15个任务,每个任务最多还可以拥有8个事件[4]。

3.1 应用软件开发

  嵌入式实时操作系统将面向功能的应用开发转化为面向任务的应用开发,因此软件开发的过程就是将应用系统按照功能细分为多个任务,然后实现每个任务,并为任务确定合适的优先级;对于实时性要求高的操作,需要编写相关的中断服务程序。

  根据EPS的工作原理,可分为8个任务。

  (1) Task1——车速信号采集
  扩展任务,用于计算车速。上电运行后Task1处于等待状态, 等待车速计算事件EventSpeed。利用定时器/计数器TMR0模块当计数器溢出时(数量的转速信号脉冲后)产生中断,进入转速中断服务程序,记录脉冲周期总时间,然后设置事件EventSpeed,激活Task1。这时Task1处于就绪状态,在操作系统调度机制(完全抢占式)的管理下,等到就绪队列中优先级高于Task1的任务都运行完成时,Task1运行,根据所记录的脉冲时间和脉冲个数,计算出车速,并进行滤波。执行完后,激活Task2,清除事件EventSpeed,Task1又处于等待状态。

  (2) Task2——扭矩信号采集
  基本任务,用于采集扭矩信号。该任务由Task1激活,执行频率与Task1相同。因为车速信号和扭矩信号是EPS系统最重要的两个参数,所以必须使这两个参数及时地更新,以保证助力模式的选择和助力大小的确定得到及时准确的控制。

  (3) Task3——电流反馈信号采集
  基本任务,用于采集电机反馈电流。该任务由Task5激活,系统只有在助力控制时才会激活此任务。该参数与目标电流的差值,通过PID调节器的控制,使电机迅速提供相应的扭矩,达到助力的目的。

  (4) Task4——故障诊断
  扩展任务,用于故障的监测和诊断。上电运行后,等待消息MsgSpeedErr,确定车速正常;等待消息MsgVoltErr,确定电压正常;等待消息MsgTorqueErr,确定扭矩正常。一旦发生故障,该任务将立即断开继电器,使转向系统处于机械转向状态,避免事故发生。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top