火箭这种形状的东西Cd和姿态关系很大,还是得6DoF仿真……
火箭初始质量100kg
火箭发动机的恒定推力是1960N
每秒喷出0.667kg燃料
最终消耗完燃料的火箭质量是10kg
燃料占火箭质量的90% 干质比为10
火箭从海拔为0的地面从静止开始发射
空气阻力为F= (1/2)CρSV^2,取Cd=0.2,S=0.0314m2
如果火箭的初始质量为m0,最终质量为m1,喷射物相对于火箭的速度为vex,那么火箭的速度变化为:
Δv = vex * ln(m0 / m1)
将数据代入,得到(液氧煤油喷气速度3000m/s):
Δv = 3000* ln(100 / 10) = 6907.76m/s
这是燃料耗尽后火箭的速度。要计算火箭的最大高度,还需要考虑重力和空气阻力的影响。重力加速度恒定为9.8 m/s2,空气阻力与空气密度和火箭速度的平方成正比。空气密度随高度的变化可以用下面的经验公式近似表示:
ρ = ρ0 * exp(-h / H)
其中ρ0是海平面处的空气密度,约为1.225 kg/m3,H是大气厚度,约为8000 m。因此,空气阻力可以写成:
F = (1/2) * Cd * S * ρ0 * exp(-h / H) * v2
其中Cd是阻力系数,S是横截面积,v是速度。
将重力和空气阻力合成一个合外力Ft,那么火箭运动满足以下微分方程:
m * dv / dt = Ft - mg
m * dh / dt = v
其中m是火箭的质量,h是高度。
这是一个非线性微分方程组,没有解析解,需要用数值方法求解。
我们可以使用Python编写一个简单的程序来模拟火箭运动
Python# 导入必要的库
import numpy as np
import matplotlib.pyplot as plt
# 定义常数
g = 9.8 # 重力加速度
rho0 = 1.225 # 海平面处的空气密度
H = 8000 # 大气厚度
Cd = 0.2 # 阻力系数
S = 0.0314 # 横截面积
vex = 3000 # 喷射物相对于火箭的速度
m0 = 100 # 初始质量
m1 = 10 # 最终质量
dm = 0.667 # 每秒喷出的燃料质量
# 定义初始条件
h0 = 0 # 初始高度
v0 = 0 # 初始速度
t0 = 0 # 初始时间
dt = 0.01 # 时间步长
# 定义变量列表,用于存储每一步的数据
h_list = [h0] # 高度列表
v_list = [v0] # 速度列表
t_list = [t0] # 时间列表
# 定义一个变量,用于记录最大高度
h_max = h0 # 最大高度
# 定义一个布尔变量,用于判断火箭是否还有燃料
fuel = True # 燃料标志
# 开始模拟循环,直到火箭落回地面或超过10000秒为止
while h_list[-1] >= 0 and t_list[-1] <= 10000:
# 计算当前的火箭质量,如果小于最终质量,就取最终质量,并将燃料标志设为False
m = m0 - dm * t_list[-1] # 当前质量
if m < m1:
m = m1
fuel = False
# 计算当前的空气密度,如果高度小于零,就取零
rho = rho0 * np.exp(-h_list[-1] / H) # 当前空气密度
if h_list[-1] < 0:
rho = 0
# 计算当前的空气阻力,如果速度小于零,就取零
Fd = (1/2) * Cd * S * rho * v_list[-1]**2 # 当前空气阻力
if v_list[-1] < 0:
Fd = 0
# 计算当前的合外力,如果火箭还有燃料,就加上推力,否则只有重力和空气阻力
if fuel:
Ft = vex * dm - m * g - Fd # 当前合外力(有燃料)
else:
Ft = - m * g - Fd # 当前合外力(无燃料)
# 计算下一步的速度和高度,使用欧拉法近似求解微分方程组
v_next = v_list[-1] + Ft / m * dt # 下一步的速度
h_next = h_list[-1] + v_list[-1] * dt # 下一步的高度
# 将下一步的速度和高度添加到列表中
v_list.append(v_next)
h_list.append(h_next)
# 计算下一步的时间,并添加到列表中
t_next = t_list[-1] + dt # 下一步的时间
t_list.append(t_next)
# 比较当前的高度和最大高度,如果更大就更新最大高度
if h_list[-1] > h_max:
h_max = h_list[-1]
# 结束模拟
运行这段代码,得到以下结果:
火箭的最大高度约为136.8km,超过了卡门线的高度(约为100 km)。
当然,只是粗略估计,感谢WernerPleischner提出的建议,Cd(阻力系数)和姿态关系很大,进一步计算还是需要仿真
以下是一些基本液机设计
氧化剂采用液氧,燃料采用煤油
雾化喷嘴喷注
取比冲300,设计推力2000N,
采用电泵膨胀循环,再生冷却
氧燃比 2.2 设计室压10mpa 燃烧室温度取3579K,特征长度取2.5,径收敛比取5
代入计算器得到结果,氧化剂流量459.2.6/s,燃料流量208.72g/s 总667g/s
喉口直径12.4mm,出口直径41.84mm,扩张比11.37
燃烧室内径62.04mm,长度93.94mm
飞控尾翼稳定
[修改于 2年3个月前 - 2023/03/15 07:26:48]
引用WernerPleischner发表于1楼的内容火箭这种形状的东西Cd和姿态关系很大,还是得6DoF仿真……
请多指教
引用WernerPleischner发表于1楼的内容火箭这种形状的东西Cd和姿态关系很大,还是得6DoF仿真……
可以假定控制系统一直正常工作,攻角约等于零度。
6DOF仿真一般是用于设计和评估控制系统性能的,算基本的参数例如射程、最大速度、最大加速度,只需要1DOF就行了。
楼主取的参数基本是现有技术条件的极限值。电泵为了节约电池质量,不会选择较高的燃烧室压力,比冲会较涡轮泵方案偏低。一般来说液氧煤油做到海平面280s比冲几乎是极限了。而且楼主忽略了燃料箱增压气体和电泵电池的质量。
为了尽量增加射高,可以通过适当压低速度减少空气阻力带来的速度损失。楼主可以试着设计个优化算法。
200字以内,仅用于支线交流,主线讨论请采用回复功能。