实时控制原型

在春季学期,我有机会教授实时控制开发课程。我们的目标领域是汽车系统,我想带学生们经历一个完整的开发周期,从原型设计到在嵌入式系统上部署。学生们的最终任务是使用实际质量气流(MAF)传感器为发动机开发一个实时气流控制器。

作者:Thomas R. Kurfess,克莱姆森大学国际汽车研究中心 2008年10月1日

在春季学期,我有机会教授实时控制开发课程。我们的目标领域是汽车系统,我想带学生们经历一个完整的开发周期,从原型设计到在嵌入式系统上部署。

学生们的最终任务是使用实际质量空气流量(MAF)传感器和在32位ARM处理器上实现的电子节流阀(etv)为发动机开发一个实时空气流量控制器。使其成为可能的开发平台是实时LabVIEW。许多学生没有任何LabVIEW编程经验,所以他们也必须学习编程LabVIEW。在前几周,我们回顾了PID控制的概念和信号处理。作为家庭作业,学生们学习了自定进度的LabVIEW教程。到了第三周,我们已经准备好开始实时编程了。

在他们的第一组实验中,学生们得到了一个博世ETV,并被告知使用LabVIEW系统ID工具包和制造商规格来确定其特性和动态。一旦了解了I/O和系统参数,就要求两组人员控制ETV的位置。ETV上的反馈机制是一个电位器,所以他们通过测量传感器上的电阻值来控制位置。对阀位进行了PID控制。调优后,学生们了解到PI控制是实际的方法,因为D增益几乎为零。

最初的编程是在一台400mhz的功率PC上完成的,该PC运行在紧凑型RIO (cRIO)上。为了给学生一个改变目标处理器的感觉,cRIO上的FPGA(300万门,40 MHz时钟)被用作第二个目标。学生们需要做的唯一真正的改变是避免在FPGA上进行任何浮点计算,这很容易。Power PC和FPGA都没有受到控制要求的影响。最后,将目标改为ARM处理器(基于ARM7TDMI-S的高性能32位RISC微控制器,带有Thumb扩展)。我们原以为必须保持FPGA的整数编程限制,但令我们惊讶的是,ARM处理器有一个很好的浮点模拟器,可以很好地满足我们的目的。

生成流

下一步是将MAF插入反馈回路。为了做到这一点,使用了一个大风扇来产生通常由运行中的汽车发动机看到的气流。MAF输出的频率与气流速率成正比。为了简化整个系统的编程,采用了频率-电压转换芯片。

几天之内,学生们控制空气流动没有任何问题。他们不得不重新调整他们的控制器因为实际系统中固有的滞后。然而,这是很容易完成与系统ID和控制设计工具包。他们的期末考试,我给他们提供的是德尔福ETV,而不是博世。他们必须在一周内重新设计他们的控制器,以产生与博世etv相同的性能。这种类型的硬件更换在现实中经常发生,所以我想我应该让他们体验一下现实世界。嗯,我应该只给他们几个小时来完成转换,因为他们中的大多数人在不到一天的时间内就完成了。

因此,学生们和我学到的教训是,有了新一代的快速原型设计工具,控制器的开发和部署变得容易和快速。你仍然需要理解控制和建模;很明显,学生们的etv开始以一种非常不稳定的模式摆动。

最后,我向学生们明确表示,这实际上是一个原型开发情境。实际的生产系统可能会采用定制的编程处理器,以最低的价格充分优化系统性能。我真的没有预见到LabVIEW实时运行在路上的每一辆车上,但它是诱人的!

作者信息
Thomas R. Kurfess博士,体育博士,在南卡罗来纳州格林维尔的克莱姆森大学国际汽车研究中心任教。他欢迎其他产品的捐赠,供他的学生审查和申请,并可通过以下方式与他联系kurfess@clemson.edu