OpenRocket仿真

OpenRocket是一个很实用的模型火箭仿真工具,授权免费,可以让你在真正点火之前,就可以大体掌握火箭的飞行性能。
理论上,你甚至可以在动手制作之前,在软件里面进行火箭所有的设计,直到符合性能要求。但是由于像我这样的业余爱好者,很多时候会使用现成的材料来制作,比如我会买一根差不多粗细的PVC管或是到厨房找一个硬纸筒,极少的人才有条件根据预先设计的尺寸来使用车床制作一个铝合金箭体和其他零件。从个人条件出发,OpenRocket属于一种设计辅助工具,既要照顾到现成的零部件的尺寸规格,也要满足火箭基本的气动稳定性,整个制作是一个不断迭代优化的过程。
这里就从我的这枚纸筒火箭出发,记录一下我的仿真。
各个组件的尺寸根据实际情况设定如下:
在设定各个组件时,首先外形尺寸要准确,这一点很容易保证。
然后就是确定每一个组件的重量和重心位置。这里有两种方法。
第一种方法是在软件中严格的设定每一个组件的重量:包括壁厚、材质、涂层等等,通常一个尺寸、材质给定准确的零件,它的重量和重心将和现实中的零件高度一致。然后在仿真中,把各个零件组合起来,能得出相当准确的物理模型,包括重量、重心以及转动惯量。这个方法的优点是较为准确,缺点就是比较麻烦,特别是对于自己设计的异形零件,需要overwrite重量和重心。
我是用另一种简易的方法,就是先设定每一个组件的尺寸,然后最后根据组装完成后的火箭的总体重量和重心来调节虚拟火箭的参数。火箭的重量使用电子秤可以容易的获得,重心我则是使用吊线的方式来测量,最后得出的重心位置是重心距离火箭顶部的距离。随后修改虚拟火箭的参数:重量很容易搞定,直接overwrite任一个组件直到总重量一致即可;至于重心,同样是通过overwrite(中文语言版本翻译为覆写)某一个组件的重心位置来实现。通过调整,虚拟火箭和现实中的火箭的重量和重心将一致。这个方法的好处是操作简单,重量和重心将和实际情况高度一致,缺点是没有给定各个组件真实的重量,导致仿真中火箭的转动惯量和实际有出入,但根据我当前对仿真的要求,这个缺点可以忽略。
然后我们设定一个发动机,这里用的是我代号为1432的测试用发动机(是前面提到的发动机的减药版本),根据经验公式,稳定性需要起码达到1.5cal,我通过修正载荷舱里配重的重量,发现当配重10g时,稳定性可以达到1.56cal。
稳定性达标以后,可以测试一下火箭的飞行性能。
环境参数基本使用默认,发射架根据我的实际情况设定为1.2m的长度。
仿真结果如下:
你可以通过仿真获知最大飞行高度,开伞延时,飞行时间等数据,相当好用,另外可以从数据图中获得更多的飞行性能的记录。
(Optimum delay指的是发动机燃尽以后距离点燃开伞药的时间延时,这里没有翻译)
对于细心的用户,你会发现每一次运行仿真,得到的结果是不一样的,那是因为前面的发射条件中,设定了一个平均风速和标准差,用来模拟场地随机的侧风。当然你可以把风速设为零。
其实,我的这枚纸筒火箭的设计并不是像上面说的这样顺利的。
最初的设计中采用了不带后掠的尾翼,配重接近20g,而且使用了较短的发射架,导致出架速度过低,起飞后就偏航。
后来通过使用后掠式尾翼的设计,后移了压心,并且改用更长的发射架,让火箭在离开约束段后具备更大的初速度,才保证了飞行姿态的稳定。这里面包含一个常见的问题,就是爱好者自制的发动机一般使用简易的圆内孔燃烧,推力是从点火开始逐渐变大的,不像大部分商品发动机那样,在工作的初期有一个推力尖峰,因此必须有一个足够长的发射架,让火箭加速到一定的速度以后再脱离。
使用长发射架的好处十分明显,在一次发射中,发动机堵头被喷出,推力大约上升刚过半火箭就失去动力,最后火箭仅仅上升不到20m高,但整个上升过程火箭的姿态几乎都是笔直的,十分好看。