刘振宇
(华南理工大学 机械与汽车工程学院,广东 广州 510641)
作为未来电动车的重要发展形式,轮毂驱动控制技术一直是近年来电动车领域的一大研究热点[1-3]。目前大多数电动车架构仍是在传统燃油车的基础上改造而成,仅仅是将车的动力来源由燃油驱动换作电力驱动,其他性能及架构方面并无太大改善[4]。而轮毂电动车直接将电机安装在车轮轮毂中,简化并降低了整车底盘,使整车的能量和动力分布更加均匀。由于四个电机之间并无直接的机械联系,所以如何对整车动力进行高效控制以发挥良好的性能成为轮毂驱动技术的一项难题。
目前关于轮毂汽车的控制研究最多的是速度和位置控制,并且在市场上已经有了比较成熟的应用。但是这些控制策略只能适应一些简单路况,对于复杂的实际工况,则需要更加优秀精准的算法来完成。
随着相关技术研究逐渐走向成熟,具有巨大结构优势的轮毂驱动控制技术也会普及开来,而优秀的算法往往需要良好的底层硬件系统的支持。一个无刷电机的控制常常需要3对互补的PWM接口和3个位置检测接口,另需电压电流等几个模拟量检测接口。而轮毂驱动技术需要4个无刷电机联合控制,故需要4倍数量的上述接口,因此,一般MCU所搭载的外围接口是无法满足该需求的。目前大多数电动车都是采用“1个主芯片作控制+4个从芯片作接口”的过渡方案,这样的方案不仅协调性欠佳、复杂度提高、稳定性降低,而且会造成大量芯片资源的浪费;也有方案采用FPGA来实现,虽然FPGA的接口能力非常强大,但是作为控制,其可移植性与可更改性均不尽如人意[5]。
本文提出一种基于双TMS320F2812芯片、通过CAN通信进行联合控制的底层驱动方案,克服了大多数“1个主芯片+4个从芯片”方案的缺陷;同时,与FPGA方案相比,TMS320F2812芯片更加通用,可移植性更好。CAN总线可以进行良好的信息交互,为未来成熟的控制算法提供优秀的底层接口。
轮毂电动车总体控制架构如图1所示,采取主芯片控制两个后轮驱动、从芯片控制两个前轮驱动,前后芯片通过CAN通信交换传输4个电机的电流、电压、速度、位置等信息,且每个电机能够独立实现PID参数调节和过流、过压等报警功能。
图1 轮毂电动车整体控制架构
基于TMS320F2812芯片的双MCU前后轮主从控制策略,利用2812的两个事件管理器来分别驱动两个前轮或者后轮的无刷直流电机,然后将前后轮所采集到的每个电机的速度、电流、电压和位置等信息通过CAN芯片进行交互,从而将整车的各轮信息集中到一起,设计合适的控制策略,实现四轮的协调控制。
硬件方案采用4个独立的驱动板对接4个独立电机的方式,如图2所示。电机驱动板接口搭载到转接板上面以实现主从芯片与驱动板之间的接口对接。电源、驱动、控制、通信等各个模块均采用独立板载,以利于各板块的组装及升级维护。
图2 轮毂电动车硬件架构
本方案针对四轮驱动控制,搭建了一个良好的底层驱动接口,可以为MATLAB等其他工具搭建的仿真平台提供可嵌入底层接口。
汽车直线正常行驶时,无论是采用速度控制还是转矩控制,或者其他控制,都只有一个自由度[6]。如采用速度控制时,一般在得到4个轮子速度中的一个或整车速度之后,其他的速度也会被唯一地确定。即4个轮速和整车速度5个量只有一个自由度,只要其中有一个量是受控的,则其他速度自然受到控制。
图3为轮毂电动车软件底层控制程序框图。具体实现如下:开始时,主机采集后轮速度、动力及电力信息,从机采集前轮速度、动力及电力信息,然后通过CAN总线传输给主机;主机分别从后轮和前轮采集相关信息,并对采集到的4个轮毂的动力及电力信息进行预分析估计和故障判断,如果判断有故障,返回电机独立驱动模块,重新采集信息并进行故障判断,当判断4个轮毂无障碍后,根据采集的速度估算出整车的速度,并采用PID算法将整车速度反馈输入4个轮子进行速度控制。
图3 轮毂电动车软件底层控制程序框图
系统通过CAN总线实现主、从机的通信,TMS320F2812芯片上面搭载了硬件CAN模块,可以支持CAN2.0B通信格式。本设计将邮箱作为与上层程序之间的接口,以方便上层使用底层框架进行操作。
轮毂电动车底层接口功能如下:
(1)具有每个电机过流、过压故障检测功能,并根据所选用电机及电流、电压采集电路更改过流、过压参数。
(2)硬件支持CAN2.0B通信协议,通过CAN通信来交换前后轮电机的速度、位置、电流、电压等数据信息。
(3)根据前后轮数据信息编写高级算法,具有优秀的底层接口,适应高精度的算法。
(4)具备4个无刷直流电机独立测速功能。
(5)利用CAN总线将4个无刷电机扩展成多个电机的方案,以应用于复杂的工业场合。
(6)可以调节每个电机的PID参数。
本方案接口已经把DSP2812芯片的底层参数配置好,故将程序包打开以后,可以直接运行CCS开发环境,对上层程序C文件进行修改或者算法填充。
根据电压、电流采集电路以及电机型号对过压、过流的AD采样极限值进行修改。本软件程序接口采用T1的周期中断事件启动ADC1和ADC2通道来分别测左侧轮毂电机的电压值和电流值,采用T3的周期中断事件启动ADC3和ADC4通道来分别测右侧轮毂电机的电压值和电流值。ADC结果寄存器是16位的,其高12位用于存储12位的ADC结果,低4位被忽略。当模拟输入电压最大为3V时,ADC结果寄存器的值为0xFFF0,即65520;当模拟输入电压最小为0V时,ADC结果寄存器的值为0。可以得到:
其中:AD Result为结果寄存器的值;VoltInput为模拟量输入;ADCL0为ADC模块参考电平。另外一种计算方法是将结果寄存器中的值AD Result先右移4位,这时当模拟输入电压最大为3V时,ADC结果寄存器的值为0x0FFF,即4095。通过对应的数模转换关系,依据过压值Averagedcv、过流值Averagedcc的模拟量极限值所对应的数字量对参数修改即可。
可以调用相关子函数来调取查看前轮、后轮的电机参数,以此为依据对整车进行相应的控制。CAN总线的主机邮箱信息交换表见表1。
表1 主机邮箱信息交换表
表1中,BOX0~BOX15为主机到从机的信息,BOX16~BOX31为从机到主机的信息;SPEEDSET为估算后的整车速度,即采集的4个电机速度滤掉过大过小值后求平均;Speedl与Speedr为左轮和右轮的实时速度;Current为电流;Volt为电压;Fault为故障类型;Order为控制指令;MotorDir为电机运转方向。
也可以根据所选电机的型号确定其极对数,对转速计算程序进行校正。如图4所示,所选电机的极对数为pole,在该函数的初始化时,对pole这个变量进行修改即可。
图4 PID底层程序
同时每个电机配备了独立的位置式PID控制函数,如图5所示,并且可以从底层修改PID参数,对PID进行实时的在线调试。
轮毂电机驱动控制系统是一种全新的驱动形式,具有明显的技术优势,已经成为电动交通工具发展的一个重要方向。本文设计了四电机联合控制的轮毂电机控制方案。与单电机控制相比,控制策略更加适应复杂路况,控制精度更好。同时,本设计提出了开放的上层接口,可以满足扩展算法的需求,有助于研制更加良好的底层框架,具有更加深远的意义。
图5 PID参数调节