张新丰,陈 慧
(同济大学汽车学院,上海 201804)
嵌入式控制系统在各种工业产品中,已经越来越普及。比如在汽车中,就包括了发动机控制系统、制动防抱死系统、稳定性控制系统、自动变速箱控制系统、电子助力转向系统和车身控制系统等。在飞机和火车等各种复杂的机电系统中,控制器扮演者越来越重要的角色。现代车辆的控制器数量一般在20~30个,而高端车上已突破150个,已经占汽车总成本的30%[1,2],在航空航天器上则更多。
V型开发流程是一种基于数字仿真工具进行离线仿真、基于控制器原型和硬件在环设备对控制算法和硬件进行快速验证的开发流程,在汽车、航空航天和工业自动化等领域得到了很大的应用。因此控制器V型开发模式教学,对于推广控制器设计工程领域的先进方式和方法,特别是培养机电系统开发的工程师,具有重要的意义。控制器开发方法的实践性很强,但因为V型开发模式需要控制系统数字仿真软件、快速原型设备、自动代码生成工具和硬件在环仿真测试系统等工具支持,若使用商业开发设备进行教学代价较高,资金上无法满足要求[3]。
本文结合“控制系统仿真与设计”课程教学改革实践,总结了如何对嵌入式控制系统,特别是控制器设计中出现的新方法流程——V型开发流程,进行教学的经验,重点论述如何进行实验教学内容设计及实验教学系统开发与搭建。
传统的嵌入式系统控制器开发方法存在开发周期长、可靠性差及开发费高的问题[4]:①基于文本格式的设计要求,阻碍信息快速传递不明确的技术要求将导致错误和误解,使技术资料在后续的项目中较难再利用;②错误定位的代价高:有些错误在设计阶段已存在,一般会到后期才被发现;③需要专门的硬件来测试软件:样机试制费大,违背同步开发理念;④手工软件开发的投入产出率低、可靠性差、劳动强度大以及易导致人为错误。
嵌入式控制系统的开发往往包括硬件(传感器、执行器和电路等)和软件两部分,V型开发模式能使得控制器软件能独立完成。控制器V型开发模式实际上是一个标准化的开发流程过程,其组成如图1所示。
图1 V型开发流程
图1所示的V型开发模式有五个基本环节。包括:①需求分析与离线仿真—主要通过对系统的性能进行定义,包括传感器和执行器信号接口、控制目标和控制精度等,并采用离线仿真的方法,设计控制算法。②快速控制器原型—是在离线仿真中已完成设计的控制算法,可以利用通用控制设备(比如xPC,autobox和dspace等)作为控制器使用,验证控制算法的有效性;③自动代码生成—直接将已经验证过的离线仿真算法生成嵌入式系统代码,编译后烧写进控制器;④硬件在环HIL(Hardware In Loop)仿真测试—在产品级控制器上实现控制算法之后,需要对其进行彻底测试;⑤系统集成与标定—对最终的控制系统实现参数标定和匹配。
与传统控制器开发相比,V型开发模式具有很多优势:①通过快速控制器原型,可以在早期开发阶段完成对控制算法的验证,不借助控制器硬件,大大加快了硬件的开发;②自动代码生成使得离线仿真环境下的算法和实际嵌入式系统中的算法实现无缝衔接,算法的修改和更新能马上在嵌入式系统上实现;③硬件在环仿真测试,能使得控制器在所有零部件成型之前完成对控制器软硬件系统的验证。
总之,V型开发模式由于大大缩短了开发周期,降低了开发成本,被许多嵌入式控制系统生产行业及工程研究领域采用。
本文介绍的V型开发模式的实验教学以有刷直流电机为控制对象,采用速度闭环反馈,控制系统原理框图如图2所示。图中PID控制器计算出控制电压,使得电机在扰动力矩干扰下维持期望转速。
图2 直流电机速度反馈控制系统原理
Matlab数值分析软件工具,相比于其他控制器仿真与设计软件(比如 Etas、Mathematica和 Maple等)具有易学、编程简单等优点,最关键的是它支持多种快速控制器原型及嵌入式系统,也是本实验系统所采用的离线仿真工具。
比如,美国国家仪器公司(NI)开发的LabVIEW图形化数据采集和仪器控制软件及接口控制模块,德国dSPACE公司开发的基于Matlab/Simulink和dspace/autobox的控制器快速原型开发工具,还有基于xPC的快速控制器原型工具。
本实验教学系统对控制器原型的功能要求不高,并希望能借助实验室原有PC系统搭建完成,因此采用了在PC上安装数据板卡,采用基于Realtime Windows Target工具实现快速控制器原型的方法。这个实验要求学生将设计好的PID控制器编译成Windows可执行代码,在Windows平台下借助I/O板卡,实时控制电机。
在自动代码生成环节,由于Matlab对TI系列微处理器的各种资源支持较为丰富,因此选择以TI的TMS2808DSP芯片为嵌入式系统。对硬件在环测试采用PC机模拟被控对象,采集控制器的输出信号,经过对被控对象的模拟输出传感器信号。本实验系统可以在可控的条件下,对控制器进行反复测试。
在控制器开发中常常采用基于CAN总线的在线标定工具(比如CANape)和CCP(CAN Calibration Protocal)标定协议,但该工具成本昂贵,目前暂时很难在实践教学中推广普及,因此本实验采用基于Simulink的RTDX工具,直接基于JTAG调试器,构建数据交换通道,实现对嵌入式控制软件进行实时标定。实验要求学生能基于Matlab开发标定的软件,标定控制器参数。
实验系统的关键是搭建PC机和接口卡,并设计能用于上述开发流程中第③和第⑤个实验环节的嵌入式系统。PC机与接口卡直接通过选型购买获得。为了能在同一实验箱中实现快速控制器原型及嵌入式控制实验,需要重用其中部分的电路,因此对所需设计的电路进行了模块化设计。实验系统硬件台如图3所示。
图3 实验系统硬件平台
实验系统如图所示,由带I/O板卡的PC机和实验箱构成。PC机安装Matlab/Simulink软件,是进行离线仿真的工具。
I/O板卡是用于电机控制信号输出和速度脉冲信号采集的信号接口板卡,PC机与之构成了基于Realtime Windows Target的快速控制器原型工具。
实验箱中包括:①用于给电机驱动模块供电24V及给嵌入式系统核心板供电5V的电源模块;②直流电机驱动模块,用于直流电机驱动及转速信号调理;③嵌入式目标系统模块,包括嵌入式最小系统;④目标选择模型,通过模块上的跳线来选择采用快速控制器原型作为控制器还是嵌入式系统作为控制器;⑤输入输出控制模块,用数码管显示期望转速和实际转速,并使用可变电阻作为期望转速。
实验箱中的虚线←…→为信号线连接。目标选择模块可选择连通Con1或Con2实现使用快速控制器原型,还是嵌入式系统作为控制器控制电机的运行,实验箱实物如图3(b)所示。
在控制器V型开发模式实验教学开展的过程中,需要软件工具支持。在离线仿真环节、快速控制器原型环节和自动代码生成环节,采用Simulink商业软件,因此只需开发控制器设计的教学示范程序和标定用软件。基于Simulink的电机控制数学仿真示范程序如图4所示。
图4 Simulink数学仿真模型
电机模型可表示成带常数的一阶惯性环节,并直接取用Simulink中的PID控制器,给定期望转速,进行仿真。基于Simulink的可自动代码生成的电机转速控制器范程序如图5所示。
图5 Simulink自动代码生成的控制器模型
采用Simulink的Real Time WorkShop的DSP目标支持软件包,将电机模型用真实电机替换掉:①期望转速由控制器内存设定;②电机转速由eCAP(脉冲捕捉模块)获得;③电压输出由PID控制器给出,输入到ePWM(脉宽调制)模块中,该示范代码可直接生成目标系统可执行代码。
工业上通用的控制器标定工具,一般都基于总线的标定协议,比如CCP(CAN Cdibration Protocol)协议和KWP(Key Word Protocol)协议等。实现的工具有CANape等,这些工具功能强大、价格昂贵,在教学使用中很难普及。因此,这里采用基于NI开发的Simulink/RTDX模块,通过JTAG接口实现嵌入式芯片与上位机之间的数据互访,达到在线标定的目的。RTDX是NI开发的一个用于测试和分析算法的组件[5],可以通过它获取或设置DSP内存数值,改变程序的运行特征,并可在不停止程序的情况下改变其中的参数。
利用该实验系统首先在“控制系统仿真与设计”课程中进行了演示示范教学,效果与以往的基于文字图片讲授V型开发模式方式的教学方法相比具有形象、直观和互动性强等优点。结果表明,学生对该知识与方法掌握变快、动手能力提高。
[1] 汤姆o登顿(英)著,于京诺,宋进桂,杨占鹏等译.汽车电气与电子控制系统(原书第3版)[M].北京:机械工业出版社,2008
[2] 张新丰.汽车智能电器系统[D].北京:清华大学,2009
[3] 王莉,陈虹.自动控制原理"虚拟实验系统开发[J].南京:电气电子教学学报,2011,33(4):71-73
[4] 约克o肖福勒,托马斯o左劳卡(德)著,张聚 等译.汽车软件工程--原理o过程o方法o工具[M].北京:电子工业出版社,2008
[5] The MathWorks,Inc.Target Support Package-TC2[EB/DK].Natick,Massachusetts,2008