和同事聊天提到“凸轮轴”这个词时,你可能不会将它和现场可编程门阵列(FPGA)联系起来。但最近,使用FPGA芯片及相关软件却成功的绘制出了一个虚拟的凸轮轴,这种虚拟凸轮轴在开发一款小型高速水泵的过程中表现优异(见下图)。水泵的实体由一家小型材料研发咨询公司Active Signal Technologies制造,而生成虚拟泵的软件则由一家从事系统集成的公司 Mink Hollow Systems 开发。 (图片)
原型泵包括一个推动泵活塞的磁致伸缩驱动器,一个汽缸以及
一个旋转阀门装置。控制泵的外部电子装置在图中没有给出。 (图片) 由于阀门的机械响应速度太慢,Active Signal公司在他们的新泵中使用了一种主动阀门技术。这种技术由Moog公司开发,之前它被用于航空器的液压制动装置上。这种阀门由内外两个圆筒组成,每个圆筒的圆周上都分布有六个孔洞或沟槽(见下图上旋转的内圆柱)。内筒每旋转一周阀门就会打开六次(当内外筒的孔洞对齐时)。内筒由一个小型高速电机带动,它运动时的位置信息则由一个九字节的轴编码器传送给数据采集系统(DAQ)。DAQ系统实际上就是一个虚拟的凸轮轴,它将控制泵体的电动活塞(见图)。(通常一个泵会有一个输入阀门和一个输出阀门,为了简单起见,这里我们只讨论输出阀门。)(图片) 筒体上的沟槽每对齐一次,泵的活塞就完成一个循环。因此活塞的工作速度是阀门旋转速度的六倍。DAQ系统必须保持活塞与阀门位置的同步。阀门旋转的速度一定时就可以通过虚拟凸轮轴确定活塞的速度。
当阀门旋转时,DAQ系统通过步进方式高速地移动活塞以确保当输出阀门打开时具有最大的压力。每一步的波形可以是矩形、三角形或者正弦波形(见下面的计时图),对泵的性能的要求不同,其波形也不一样。仅仅是协调阀门位置和活塞点火是不够的,因为原型泵的活塞每秒要点火2000~5000次(见“泵是如何工作的”)。(图片) 虚拟凸轮轴是小型高速水泵中的一种装置。
在原型机上,主机以同步的方式启动泵以确保活塞在阀门旋转到适当位置时能够点火。但是,受到计算机和软件的限制,DAQ系统不能获取位置编码器发送的所有九字节位置信息。泵体的研发人员只能退而求其次获得编码器的最低有效位(least significant bit ,LSB)了。阀门每旋转一周,编码器只能发出256个LSB脉冲或其他关于阀门位置的信息。其中有些脉冲是由于系统产生的噪声,而在工作时软件也有可能漏掉一些信号,看起来活塞-阀门同步只能是一纸空谈了。
泵是如何工作的
这款由Active Signal Technologies公司开发的小型水泵使用的是电动活塞。活塞具有Terfenol-D材料的特性,可将电磁能转换成机械能。美国海军装备实验室(Naval Ordnance Laboratory,NOL)开发出基于铁、铋和镝的一系列Terfenol-D材料以用于制造高能声纳中的变频器。Etrema Products公司(www.etrema-usa.com)具有很多Terfenol-D材料的专利和营销许可证,该公司提供执行和驱动电子装置成品以及各种Terfenol-D原材料(见下页图)。(图片) 通常,一个放大器会将能量顺着薄片的长轴方向充到一块Terfenol-D杆中。电磁场的作用会使杆件成比例伸长或缩短,这将驱动小型泵中的活塞运动。这种杆件的运动全长取决于杆的尺寸,在50祄到250祄之间。最大推动力可达250lbs(1110N),最大阻力可达500lbs(2220N)。
一个典型的执行器能在很小的体积内产生3000psi的压力。比如,为了获得能够控制表面风有效的液压,研发人员通常会将Terfenol-D材料的频率设定在2~5kHz的范围内。由于阀门的被动检测频率的上限只有150Hz, Active Signal只有相信由Moog公司生产的阀门了(美国专利号 No. 6,751,954 )。
Moog公司的活塞同步阀门运行的速度相对较慢,该阀门依靠他们自己的电子同步技术进行同步。而将阀门与Terfenol-D执行器进行同步的需求则导致了虚凸轮轴的产生,这种装置可以测量阀门的位置,命令活塞做出相应的动作与之响应。两者之间的电子联接不仅是为了实现同步而且是为了协调机械装置间的相位以获得理想的工作效果。
尽管在开发过程中Drs. Arthur Cooke和Keith Bridger试用了多种波形来驱动活塞,但最后他们还是选择了正弦波,它使活塞工作起来更像一个机械泵。
Active Signal Technologies的Drs. Arthur Cooke、Keith Bridger与Mink Hollow Systems公司的Eric Lyness组成了一个小组确保虚拟凸轮轴能够正常运转。LabVIEW 工程师Lyness决定在FPGA芯片中采用数字控制线路,这将提高控制线路的响应速度。同时FPGA芯片的运转速度足以获取所有轴编码器传送的九字节信息。因此新开发的控制软件在绝对位置信息的基础上运行了。
工程师利用FPGA芯片的内部计时功能获得了额外的两位精度。
Active Signal Technologies选用的是一款基于PXI的DAQ系统,因此Lyness只须购买一块带有PXI插槽,支持FPGA芯片的主板以及一块LabVIEW FPGA芯片。对原型机和软件进行了一个多星期的调试之后,他终于让泵体能够正常运转了。现在每转一周软件就能获得512个特殊编码而不是256个脉冲了,因此Lyness可以将绝对位置的精度缩小到1/512或0.70度以内了。只须获得阀门一次开启的位置信息,他就能计算出其他五次开启的位置了。FPGA芯片使用的是一种独特的编码,它能产生增量信号以驱动泵的活塞。
尽管原型机已经能正常运行了,但是Drs. Cooke和Bridger还想获得更加理想的效果。他们想将波形控制纳入到活塞执行器的线路中。阀门每旋转一周,活塞就完成六次循环。因此每个活塞循环只能获得512/6即85个数字了。当软件使用正弦波来控制活塞运动时,每一步的角度为360度/85步即4.2度/步了。Cooke和Bridger想将活塞波形的精度控制在1度/步以内。
Lyness充分利用了FPGA芯片的内部计时功能达到了这一要求。当阀门以500转每秒的速度旋转时,LabVIEW FPGA编码可以全程跟踪其中200转的信号。因此Lyness增加了一个新的编码,它将计算被跟踪的循环数,并且循环数除以4,这样就可以用一个2位数的字节进行记录了(22=4)。
Lyness说“假设FPGA芯片跟踪了编码增量中的180步的话,180/45,45转后编码的值就会改变,因此每45转我们让字节值增加一次,如此循环下去。当阀门速度和活塞之间达到了同步之后我们便开始重新记数。”
将9字节的解码值和2字节的软件编码结合起来就可以得到11字节的容量即每转获得2048个不同的编码。也就是说活塞的每个周期可以获得2048/6即341个编码,每步的精度为1度多一点点。“运算的速度很快,运算过程中阀门引擎来不及做任何减速或加速运动,”Lyness说。
Lyness 说“我们正在考虑在FPGA芯片中添加一个正弦曲线的数值核对表,这样的话我们就可以发现同步过程中的一些小错误了,我们可以调整正弦值或向表中输入新的数字。但将数字导入FPGA芯片是一件很费时的事情。”
Lyness承认,想要开发基于FPGA的编码需要额外学习一段时间。“我自己就是一个例子,我定义了一个包含512个正弦值的数列。几个小时后我却发现FPGA芯片还没有完成编译,原来FPGA中一个数列的元素不能超过32个。”最后,Lyness在FPGA主板上加了一条高速内存同时在他的软件中添加了一段简单的读写程序才解决了这个问题。
也许下次你听到“凸轮轴”这个词时会脑海中会浮想起FPGA芯片形象。记住,只有将高速数据处理和软件结合起来才能解决那些单纯依靠机械装置不能解决的难题。
网络资源:
更多信息,请访问以下网址:
■ NI Lebview FPGA http://designnews.com.cn/0604-403.aspx
■ Mink Hollow s Systems http://designnews.com.cn/0604-404 .aspx
原载《DESIGN NEWS China》
4/22/2006
|