You are here
Аполлон 11. Старт с Земли.
Очередная годовщина - повод снова засесть за пульт МК 61. Посадку лунного модуля и старт с Луны - задачи решённые, пора двигаться дальше.
А не замахнуться ли нам на Вильяма, нашего, Шекспира, подумалось мне. После некоторых размышлений, я решил попробовать смоделировать миссию с самого начала: со старта от мыса Канаверал и выхода на околоземную орбиту. Среди "ортодоксальных" космических программ КЭИ (Атмосфера 1, 2 и 3), стартовать с Земли можно только на первой.
На подобные подвиги редакция КЭИ не замахивалась, хотя в эпизоде 8 "Разбуди в апогее", где она использовалась, утверждалось, что Атмосфера 1
предназначена для численного моделирования различных маневров космических аппаратов (ВЗЛЁТ, выход на круговые и эллиптические орбиты, баллистический полет в атмосфере, снижение на парашютах, посадка) в непосредственных окрестностях планет, окруженных газовыми оболочками.
АТМОСФЕРА-1 (КЭИ)
00.Сх 01.ИПА 02.+ 03.ПА 04.ИП7 05.- 06.Fx<0 07.13 08.ИПВ 09./-/ 10.÷ 11.БП 12.56 13.С/П 14.П8 15.П2 16.÷ 17.ИП6 18.× 19.ИПВ 20.Fx2 21.ИП0 22.Fx2 23.+ 24.П9 25.÷ 26.ИП7 27.ИПА 28.- 29.ИП3 30.÷ 31.9 32.+ 33.Fx<0 34.36 35.Сх 36.9 37.- 38.F10x 39.ИП1 40.× 41.- 42.ИПД 43.ИП8 44.- 45.Fx≥0 46.00 47.ПД 48.ИП5 49.+ 50.÷ 51.ИП9 52.F√ 53.× 54.П9 55.ИП2 56.ИП9 57.ИПВ 58.ИПА 59.÷ 60.- 61.ИП0 62.× 63.× 64.ИП0 65.+ 66.П0 67.ПП 68.92 69.ИПА 70.÷ 71.Farcsin 72.ИПС 73.+ 74.ПС 75.Fo 76.ИП0 77.Fx2 78.ИП4 79.ИПА 80.÷ 81.- 82.ИПА 83.÷ 84.ИП9 85.ИПВ 86.× 87.+ 88.× 89.ИПВ 90.+ 91.ПВ 92.FВх 93.+ 94.× 95.2 96.÷ 97.В/О
Регистры:
Р0 - V
P1 - Po*Sx/2
P2 - dt
P3 - H (характерный масштаб атмосферы)
Р4 - К (гравитационная постоянная планеты)
Р5 - сухая масса корабля
Р6 - скорость истечения топлива
Р7 - радиус планеты
Р8 - расход топлива
Р9 - служебный
РА - расстояние до центра планеты
РВ - U вертикальная
РС - угловая координата
РД - масса топлива
В принципе, взлететь на ней действительно можно. Можно даже попробовать выйти на орбиту. Для этого нужно в точке старта задать необходимое соотношение минимальных вертикальной и горизонтальной скоростей, соответствующих углу отклонения от вертикали примерно в 10 градусов. Далее траектория будет постепенно наклоняться к горизонту. В теории, можно подобрать такой начальный угол запуска, чтобы вертикальная скорость занулилась при достижении круговой скорости, что и будет соответствовать ситуации выхода на орбиту, но такая траектория будет значительно отличаться от траекторий, используемых на практике. Существенным недостатком Атмосферы-1 является невозможность управления вектором тяги. Кроме того, при полёте в атмосфере КЭИ рекомендует установить шаг по времени не более 5 секунд. Если учесть, что время работы только первых двух ступеней (160 + 360 секунд), количество операций составит порядка 100, что достаточно утомительно. Тут настоятельно необходим автопилот.
Однако, свободных регистров у нас только один - РЕ! Похоже, что придётся выбирать - или автопилот, или коррекция вектора тяги. Использовать Рег.Т стека не получиться, его придётся задействовать для промежуточного хранения либо реактивного, либо аэродинамического ускорения.
В итоге, мне пришла в голову счастливая идея - совместить значение масштаба атмосферы и аэодинамический параметр корабля в одном регистре, используя целую и дробную части по отдельности. К целочисленному значению масштаба прибавляем величину, обратную аэродинамическому параметру. А для извлечения необходимой константы использовать штатные функции МК61 выделения целой или дробной части. Теперь всё сходится - можно пробовать писать код. В результате получился мой вариант программы:
АТМОСФЕРА-1
00.Сx 01.ПxA 02.+ 03.xПA 04.Пx7 05.- 06.Fx<0 07.09 08.K- 09.FL1 10.18 11.Пx0 12.ПxB 13.÷ 14.Ftgᐨ¹ 15.С/П 16.xП3 17.xП1 18.Пx6 19.ПxD 20.Пx9 21.Пx2 22.× 23.- 24.Fx≥0 25.08 26.xПD 27.Пx5 28.+ 29.÷ 30.Пx9 31.× 32.Пx7 33.ПxA 34.- 35.ПxE 36.÷ 37.F10ˣ 38.ПxE 39.K{x} 40.÷ 41.Пx0 42.Fx² 43.ПxB 44.Fx² 45.+ 46.F√ 47.× 48.Пx5 49.ПxD 50.+ 51.÷ 52.xП8 53.Fѻ 54.Пx3 55.Fsin 56.× 57.ПxB 58.ПxA 59.÷ 60.Пx8 61.+ 62.Пx0 63.× 64.- 65.Пx2 66.× 67.Пx0 68.+ 69.xП0 70.ПП 71.98 72.ПxC 73.+ 74.xПC 75.Fѻ 76.Пx3 77.Fcos 78.× 79.Пx8 80.ПxB 81.× 82.- 83.Пx0 84.Fx² 85.ПxA 86.÷ 87.+ 88.Пx4 89.ПxA 90.Fx² 91.÷ 92.- 93.Пx2 94.× 95.ПxB 96.+ 97.xПB 98.FВх 99.+ A0.2 A0.÷ A0.Пx2 A0.× A0.В/О
Разбирая код Атмосферы-1, обратил внимание, что КЭИ постепенно ушли от программирования в стиле "спагетти", чем они увлекались поначалу. Мой итоговый код также достаточно прост.
00 - 08: Вычисление высоты, при отрицательной высоте - аварийный останов. Посадочный блок отсутствует - да он тут и не нужен, на данном этапе "посадка" в любом случае -аварийная.
09 - 10: автопилот
11 - 14: вычисление угла наклона траектории - важный параметр, за которым приходится постоянно следить. Поскольку происходит деление на вертикальную скорость, её необходимо задавать отличную от нуля (тысячные доли м/с).
15 - 17: штатный останов, при котором в рег.Х - угол отклонения траектории от вертикали, в рег.Y - высота. Манёвр задаётся несколько необычно: вектор тяги ПП кол-во циклов автопилота С/П.
Шаг времени заносится предварительно в П2. Сделал так по подсказке Ajaja, действительно, пользоваться автопилотом в таком режиме гораздо удобнее. Расход топлива в секунду также заносится предварительно в П9. Этот параметр постоянный и определяется делением начальной массы топлива на время работы ступени, что примерно соответствует реальности. Впрочем, ничто не мешает менять его вручную перед каждым новым манёвром, не превышая максимально допустимого.
18 - 31: расчёт реактивного ускорения. По адресу 24 - проверка уровня топлива. Если его не хватает - аварийный останов, сигнализирующий о необходимости отстрела очередной ступени. Переход на следующую ступень приходится делать "вручную" - меняя содержимое регистров 5, 6 и Д. Реактивное ускорение в дальнейшем цепляется за вершину стека, его величину можно смотреть в рег.Z при очередном останове.
32 - 52: расчёт аэродинамического ускорения, делённого на курсовую скорость (хранится в дальнейшем в рег.8). Вертикальная и горизонтальная компонента торможения атмосферой считаются в дальнейшем простым умножением на U и V соответственно.
53 - 74: Расчет горизонтальной скорости и смещения.
75 - А4: Расчет вертикальной скорости и вертикального смещения.
По сравнению с Атмосферой 1 КЭИ, в рег.1 теперь счётчик автопилота, масштаб атмосферы и аэродинамический параметр корабля хранятся в рег.Е, а освободившийся рег.3 использован для хранения угла вектора тяги.
При работе с программой необходимо учитывать следующие ограничения:
1. Максимальная высота орбиты - 1732 км. При большей высоте происходит аварийный останов по адресу 37.
2. Вертикальная скорость не должна обращаться в ноль. В полёте, как правило, этого не происходит, главное - не забыть задать минимальную величину на старте.
А вот комплект исходных данных для старта:
6371 ВП 3 П7 (радиус Земли)
Fx2 9.81 X П4 (гравитационная постоянная Земли)
ИП7 70 + ПА (начальная высота старта над уровнем моря)
0 П0 ПС
0.001 ПВ
1 П1 (инициализация автопилота)
1 П2 (шаг по времени. До высот 80 км не рекомендуется задавать больше 5 сек.)
Для первой ступени Сатурна-5, выводившего Аполлон на орбиту Земли, на основе данных приведённых в Вики, а также вот этого источника: (https://web.archive.org/web/20120618054155/http://epizodsspace.airbase.r...)
787400 П5 (сухая стартовая масса Аполлона 11)
2580 П6 (удельный импульс) Для кислорода с керосином удельный импульс в вакууме составит примерно 3660 м/с (родные цифры из лунной эпопеи Кон-Тики!). Но в плотной атмосфере земли импульс уменьшается до указанных 2580.
2155600 ПД
17500 В1 173 F1/x + ПЕ (173 взят исходя из диаметра 13 м., коэфф.сопротивления принят за 2)
ИПД 162 / П9 (секундный расход топлива первой ступени) Эта величина соответствует максимальной тяге в 34343 кН у поверхности. В реальности, с набором высоты и падением давления тяга будет увеличиваться за счёт роста удельного импульса. Реализовать это средствами МК61 малореально. Выход я вижу только один - несколько увеличить величину импульса, по отношению к "нулевому". Насколько увеличивать - покажут пробные полёты...
Данные введены, нажимаем В/О С/П. На экране ноль - мизерная вертикальная скорость при нулевой горизонтальной, естественно, даёт нулевой угол отклонения от вертикали. В рег.Y - высота над уровнем моря (70 м).
Для старта вводим угол вектора тяги, ПП, количество циклов автопилота, С/П.
Пристегнулись и поехали!
- darth.righter's blog
- Log in or register to post comments
- Просмотров 683
Комментарии
Широта ты моя, широта…
Опираясь на слухи, сам я ракеты на орбиту не запускал, при старте с Земли роль играет широта стартовой площадки.
Дело в том, что ракета стартует с начальной горизонтальной скоростью, модуль которой зависит от угловой скорости вращения Земли и расстояния до оси вращения. Вот на это расстояние и влияет географическая широта космодрома.
Чем больше начальная скорость, тем меньше ∆V и меньше топлива нужны для выхода на орбиту. Поэтому космодромы и стараются строить не в Мурманске, а ближе к экватору — Байконур, Восточный…
Хотелось бы отразить это в математической модели, раз уж мы начали разбирать реальные старты. И да, если не хватает чего-то в ПМК, вроде трёхмерных векторов и векторной арифметики, не стесняйтесь формулировать. Добавлю в МК-261.
есть такое дело
Про широту думал, конечно. "вставить" её в МК61 не получится, но задача при использовании прг.АТМОСФЕРА решаема.
Вычислить ∆V несложно, зная географическую широту мыса Канаверэл = 28 градусов 28 минут 30 секунд.
Для начала считаем скорость вращения Земли по экватору (на нулевой широте). Делим длину экватора на число секунд в сутках:
ИП7 Fpi X 12 / 36000 / (463.31 м/с)
и умножаем на косинус широты точки старта:
28.2830 К3, (функция перевода из секунд с минутами в доли градуса) Fcos, X (408.45 м/с)
Фактически, старт происходит именно с такой начальной горизонтальной скоростью. Однако, если её сразу учитывать, программа будет использовать её для расчёта аэродинамического торможения, что не соответствует реальности - приземной слой вращается вместе с поверхностью. Поэтому, я корректирую горизонтальную скорость после отработки первой ступени, на высотах 60+ км
ИПО 408.45 + ПО
При таком подходе мы более реалистично учитываем аэродинамические потери, но завышаем гравитационные. Можно оценить, насколько:
408.45 Fx2 ИП7 / (2.6Е-2) - неучтённое центробежное ускорение, уменьшающее силу тяжести. Время работы первой ступени порядка 160 с:
160 х (4.19 м) - примерно 4 м/с дополнительных гравитационных потерь за время работы 1 ступени.
По формуле равноускоренного движения можно оценить и потерю высоты, связанную с этим неучтённым ускорением:
160 Fx2 2.6 ВП-2 х 2 / (332.8 м)
Центробежка
С центробежной силой надо бы поосторожней. Она, как и кориолисова сила, существует только в неинерциальных системах отсчёта (с.о.), как математически точная фикция для компенсации их отличий от инерциальных с.о..
То есть надо определиться с с.о.. Либо это условно неподвижная Земля, где точка старта вращается вместе с поверхностью, и тогда сил инерции нет. Либо с.о. вращается вместе с космодромом, и тогда возникают все эти прелести вращающихся с.о. Но результат, например вышел ли корабль на орбиту, должен быть одинаков, как ни считай.
Видимо, у Пухова с.о. вращается и горизонтальная скорость при старте (относительно космодрома и атмосферы) нулевая. Но и тогда широта должна как-то влиять, например через силы инерции. В его программах при их вычислении точно учитывается расстояние до оси вращения Земли, а не до её центра?
В идеале неплохо бы учитывать годовое движение Земли и считать звёзды, включая Солнце, неподвижными. Тогда сил инерции нет, но придётся учитывать наклон земной оси, дату запуска и использовать немного другую угловую скорость Земли из-за другой длительности звёздных суток — 86164,09054 секунд. Так можно точнее просчитывать полёт на компьютере, сравнивая результат с моделями на ПМК, в которых ради упрощения вычислений часть тонкостей спрятана в силах инерции.
Центробежка
Насколько я понимаю, "неинерциальность" связана именно с использованием сферической (для нашей плоской модели - полярной) системы координат, даже с неподвижным (невращающимся) центром. Неинерциальной системой будет прямоугольная система, работать в которой для эллиптических орбит несподручно. Хотя, может быть, и можно...
В случае модели Пухова, вращением луны в "лунной" части эпопеи пренебрегали из-за её крайне малой величины, порядка 4.5 метров на Лунном экваторе.
Для программ серии "Атмосфера", рассматривались случаи спуска с орбиты в атмосферу, где разница скоростей в любом случае "съедается" трением об атмосферу. Поэтому, на конечном отрезке спуска, перед приземлением, горизонтальная скорость в Атмосфере-1 всегда нулевая. А вот при старте вопрос начальной горизонтальной скорости встаёт в полный рост, от него уже не отмахнёшься.
Приземление
При приземлении нулевая скорость относительно атмосферы означает нехилую горизонтальную скорость относительно неподвижного (невращающегося) центра. Которая неплохо так влияет на силы инерции-гравитации.
Учёт вращения атмосферы при приземлении
Если посчитать по стандартным формулам величины ускорений, создаваемых инерциальными силами на горизонтальной скорости 400 м/с (для широт, используемых американцами), получаются величины порядка см/с2. Наши спуски севернее, а значит, ускорения ещё меньше.
Для сравнения, прикинул аэродинамическое ускорение, действующее на спускаемый аппарат Востока на конечном этапе посадки (скорость относительно атмосферы 100 м/с) - порядка 10 м/с2. (примерно уравновешивают притяжение Земли, поэтому вертикальная скорость при свободном падении стабилизируется в пределах 100 м/с) То есть, аэродинамические силы на четыре порядка больше инерциальных, а значит, их нет особого смысла учитывать при посадке.
Четыре порядка
Погрешность в четвёртом знаке норм при одиночном вычислении. При моделировании она накапливается, так как идёт цепочка вычислений и приходится опираться на всё более неточные данные.
Например, если раз в секунду модель допускает расхождение на миллиметр, за 3 часа получится разница на 10 метров. Если эта разница накапливается в скорости, не говоря уже об ускорении, тем более когда разница не хаотична — влияние ошибок растёт не линейно, а быстрее.
Ниже в табличке «Аполлона» приводятся 7 знаков после запятой, и это правильно. Игрушка, конечно, может пренебрегать точностью — основные тенденции отражены, да и ладно.
Погрешности
Понял вашу мысль, и тем не менее, не соглашусь. Нужно учитывать не только сами величины, но и их погрешности. В данном случае, погрешности аэродинамических сил будут с гарантией перекрывать сантиметровые поправки на центробежные и кориолисовы ускорения, создаваемые вращением атмосферы.
В любом случае, я захожу как раз с "игрового конца" - интересно было, получится ли впихнуть модель, учитывающую, хотя бы грубо, аэродинамику, в аскетичные ресурсы МК-61.
С этой точки зрения, точная телеметрия Аполлона интересна в основном, для оценки правдоподобия характеристик полёта, моделируемых ПМК.
Как сказал кто-то из великих: "Цель расчётов - не числа, а понимание".
Гашение орбитальной скорости
Про ускорения — возможно, хотя они имеют системный характер и такие влияния могут быть ощутимы. Но то, что при разном выборе направлений спуска придётся гасить скорость на 400 м/с меньше (или больше) всё-таки существенно. Особенно если посадка происходит не в океан, а на космодром, и координаты приземления придётся выровнять.
Погрешность
Эти м/с легко учитываются при ручном переходе из инерциальной СК во вращающуюся СК на границе атмосферы (добавлением/вычитанием этих м/с). Не в них проблема. Погрешность тут возникает из-за того, что данная модель считает в инерциальной системе координат, без учета центробежной силы и силы Кориолиса. Но неточность из-за использования весьма упрощенной аэродинамической модели тут по всей видимости куда больше. Бессмыслено допиливать что-то влияющее на точностью в четвертом после запятой знаке, зная, что в данной моделе ошибка возникает уже во втором знаке.
Переход
Такой переход тоже можно оформить буферной программой, с учётом широты приземления, как и отстрел ступеней при старте.
Интересно, был ли он в «Пути к Земле»…
Вектор тяги
"Далее траектория будет постепенно наклоняться к горизонту" - это так наываемый "гравитационный разворот", что как-раз очень близко к реальным траекториям запуска.
Вопрос, угол вектора тяги тут задается относительно вертикали? Или это угол атаки (как в Атмосфере-2)? Т.к. для максимально реалистичности угол атаки должен быть минимален.
Более-менее реалистичный запуск получится если стартовать вертикально вверх, потом на какой-то небольшой высоте немного отклониться от вертикали и дальше уже идти с нулевым углом атаки, постепенно наклоняясь к горизонту под действием притяжения.
Вектор тяги
Вектор тяги задаётся традиционно - от вертикали. Но выравнивать его с направлением курсовой легко - при останове в регистре Х находится как раз угол отклонения траектории от вертикали. Если коррекция курса не нужна, нажимаем ПП (ПМК воспринимает его как вектор тяги для очередного маневра) количество циклов автопилота и С/П
Если есть потребность коррекции траектории, набираем нужную величину, учитывая, что для Сатурна 5 указана возможность отклонения вектора тяги 5 градусов в секунду. На эту величину и можно отклонятся от расчетного угла, увеличив или уменьшив содержимое рег.Х
Угол атаки
Реальные углы атаки при запусках еще меньше. Вот что нагуглилось:
https://www.ibiblio.org/apollo/Documents/lvfea-AS506-Apollo11.pdf
См. таблицу 11-2, данные для первой ступени, параметры Average Gimbal Angle и Angle-of-Atack для Pitch Plane.
И там же график 11-5 Pitch Plane Angle-of-Atack, где видно, что углы атаки плюс/минус 2 градуса, и явно с попыткой удержания около 0.
Gimbal углы (отклонения вектора тяги двигателя, те что максимум до 5 градусов у ракетных двигателей первой ступени Сатурна-5) тоже маленькие, графика нет, но средний всего 0.23 градуса.
Углы атаки
Подумалось, что полётную траекторию (по крайней мере, для первой ступени) считают именно для варианта совпадения вектора тяги с вектором скорости ракеты - для уменьшения аэродинамических потерь, в том числе. А корректировки курса необходимы для компенсирования неоднородностей реальной атмосферы - ветер, восходящие/нисходящие потоки и т.п. То есть, модель Атмосфера-1 КЭИ вполне имеет место быть, ведь в ней атмосфера стационарна, и в этих корректировках необходимости нет. Сложность в расчёте оптимального начального наклона траектории, для выхода на расчётную высоту с необходимой скоростью.
Первые опыты.
Посидел пару вечеров за ПМК, с программой АТМОСФЕРА.
Первые выводы - летать можно, модель работает, управлять комфортно.
Проблема в недостатке параметров модели Аполлона.
Информацию брал отсюда:
Материалы с сайта Эпизоды космонавтики
и тут:
Сатурн-5
По работе первой ступени: очевидно, что указанного в источниках удельного импульса в 2580 не хватает, чтобы достичь заявленых 2760 м/с скорости (с учетом начальных 408) на высоте 67 км. Точнее, лично у меня этого сделать не получилось.
Попробовал ориентироваться на параметры полёта при реконструкции в Орбитере:
Для ориентира, выписал примерный тайминг тангажа по времени на приборах Орбитера: (время - отклонение от вертикали)
52 - 10
63 - 20
77 - 30
97 - 40
118 - 50
144 - 60
160 - 60
шаг по времени задавал в 1 с.
Время манёвра порядка 5-10 с
В итоге, недолёт по высоте порядка 5 км, и скорости не хватает. Подозреваю, что нужно увеличивать удельный импульс, который с высотой должен расти, а в модели - остаётся постоянным. Увеличив его с 2580 до 2680, выходим на скорости, похожие на реконструированные в Орбитере, но высота всё-равно на 2-3 км меньше получается.
Углы тангажа
Исторические углы тангажа тут:
https://space.stackexchange.com/questions/23131/saturn-v-ascent-guidance...
С удельным импульсом не хватает места для буквально нескольких комманд и, наверное, ячейки памяти, чтоб реализовать, например, линейную зависимость от плотности атмосферы. Для первой ступени Сатурна-5 там получается от 265 секунд (~2600 м/с) при 1 атмосфере и до 304 c (~2982 м/с) в вакууме ( http://www.braeunig.us/space/specs/saturn.htm )
Неточность при моделировании еще будет и из-за того, что используемая аэродинамическая модель все-таки упрощена и неплохо подходит только для скоростей от 2 махов, т.к. коэффициент аэродинамического сопротивления сильно зависит от скорости ( http://www.braeunig.us/space/aerodyn_wip.htm график 3.2 ).
Ну и атмосферная модель тоже приближенная.
Поэтому, добиться 100% точности в любом случае не получится. Но, все-равно, уже достигнутая точнось как для 105 шагов программы впечатляет. :)
Корректировка удельного импульса
Подумал, как быть с импульсом, и придумал ))
Для учёта зависимости импульса от высоты можно использовать имеющийся в аэродинамическом блоке кусок кода:
Он выдаёт значение от 1 у поверхности до практического 0, согласно заданного масштаба атмосферы. Осталось превратить этот масштабный коэффициент в некую величину, корректирующую импульс. Я поступил просто: посчитал долю, на которую уменьшается импульс от максимального до минимального значения: (2982 - 2600)/2982 = 0.1281... Если умножить её на масштабный коэффициент и вычесть из максимального значения, получим величину импульса на соответствующей высоте. Причём зависимость от высоты, как и положено, нелинейная.
Осталось придумать, куда и как втиснуть это решение.
За неимением свободных регистров, не мудрствуя лукаво, я применил тот же фокус, что и для коэффициента сопротивления. Только теперь "приделал хвоста", естественно, регистру 6, где хранится импульс. Для этого набираем на ПМК:
Код пришлось немного ужать и сдвинуть, чтобы было куда внедрить соответствующий блок расчётов:
В итоге получилась очередная
прг.АТМОСФЕРА 1.7
Величины уд.импульса по сконструированному алгоритму получаются такие:
на старте - 2603.6 , на высоте 55 км - 2981.85 м/с.
Во время операции над пациентом без жертв, конечно же, не обошлось. Пострадал сервис.
1. Теперь при останове в рег.Y не высота, а расстояние до центра Земли. С контролем высоты пришлось расстаться окончательно.
2. Высота считается с погрешностью в 1 метр (рег.7 пришлось задействовать для КПП7 по адресу 99, поэтому от обычного 6371 ВП3 придётся отнять единицу). На величины сил и ускорений подобная погрешность никак не влияет, так что жертва оправдана.
3. Вместо привычного В/О С/П нужно не забывать Сх В/О С/П.
В остальном всё работает привычно.
Первый же опыт показал, что скорости к концу отработки первой ступени получаются существенно выше. Короче, жить становится лучше, жить становится веселее! ))
ПС:
При превышении расхода топлива над остатком происходит аварийный останов по адресу 48. Последовательность действий в этом случае такая: 1 П1 Сх В/О С/П и переход на следующую ступень.
Кстати, в эмуляторе Хохлова "отстрел ступеней" очень удобно выполнять с помощью отдельной служебной программы обязательно с расширением .txt Удобная штука оказалась. Принцип тот же, что и "буферной программы" КЭИ, для перехода с прг.ОС-1 к ОС-2. Только теперь делается это в два клика по экрану.
первая ступень
По итогам обсуждений, пришёл к выводу о том, что для первой ступени более правдоподобно будет задавать отклонение вектора тяги от вектора скорости, а не от вертикали. Иначе возникают слишком большие погрешности в аэродинамике, если не контролировать вектор тяги ежесекундно. Думал, как это можно устроить - места свободного совсем мало. Пришёл к такому решению: дельта времени принимаем в одну секунду, тогда освобождается один регистр и 8 шагов программы (умножать на единицу не нужно). Перестроил управление тягой как дельта от угла вектора скорости. Пробные полёты в таком режиме, стараясь удерживать корабль во взлётном коридоре Аполлона, ориентируясь на углы тангажа, с корректировкой тяги не более 5 град. от вектора скорости, показали неплохую достоверность. С первой попытки, скорость на исходе первой ступени получилась 2.329 м/с (2393 у Аполло), высота 57.211 м (57.983 у Аполло). Учитывая, что траекторию я пролетал по 10 секунд - достаточно точно получилось.
Программу для первой ступени сегодня выложу после работы.
Отклонение вектора тяги
Да, так реалистичней. Практически уверен, что Launch Vehicle Digital Computer на Saturn-V примерно так и управлял, увеличиввя/уменьшая углы атаки за счет работы вектором тяги.
Только, в программе это именно угол атаки, а не отклонение вектора тяги. Т.к. подозреваю, изменяемое направление вектора тяги двигателя действовало по-другому.
Когда нужно было увеличить угол атаки, двигатель подправлял направление реактивной струи в том же направлении, т.е. создавая тягу в направлении обратном изменению угла атаки.
Т.е. если нужно задрать нос чуть вверх, вектор направления выхлопа тоже смещался чуть вверх, тем самым давя хвост ракеты вниз и подворачивая нос вверх, преодолевая аэродинамику, пытающуюся выровнять ракету по вектору движения.
Поэтому 5 градусов особого смысла не имеют, они только показывают какую часть тяги двигателя можно было выделять на удержание определенного угла атаки.
Можно, в теории, вычислить, какие максимальные угла атаки ракета могла поддерживать на какой высоте/скорости, но это достаточно нетривиальная задача. Хотя, возможно где-то такие данные и есть.
По графику с исторического запуска, например, видно, что начиная с одного маха и до прохождения отметки максимального динамического давления, угол атаки в Pitch Plane отклонялся не более чем на полградуса.
Иллюстрация
Нашел отличную иллюстрацию того, что я возможно не очень понятно изложил выше:

https://www.grc.nasa.gov/www/k-12/rocket/gimbaled.html
Согласен
Похоже, именно так всё и работает. В любом случае, важно, что при отклонения вектора тяги, в ПМК-модели также происходят "потери тяги на управление", которые уменьшают результирующую расчётную скорость. Примерно также, как это происходит с реальной ракетой.
Тангаж
Эти потери, наверное, лучше вообще не учитывать. Там в PDF с графиками еще указано:
Т.е. даже на самом тяжелом для маневрирования этапе работы первой ступени отклонения вектора тяги всего на 0.2 градуса позволяло достигать углов атаки до 1.6 градуса по тангажу. В ПМК-модели эти незначительные отклонения вектора тяги можно вообще не учитывать. Т.е. считать просто по тангажу как в первоначальной версии программы, но для удобства задавать тангаж как текущий вектор движения + угол атаки, а не напрямую. Ну и при полете при достижении скорости в полмаха и больше стараться не задавать слишком большие углы атаки, чтоб не развалить ракету ;)
Потери
Я к тому, что моя модель не учитывает рост лобового сопротивления при отклонении угла атаки от ноля.
Т.е. в реальности потери аэродинамические больше, чем у моей "сферической лошади в вакууме",
но зато меньше потери тяги (т.к. углы отклонения меньше).
У меня наоборот - потерь на аэродинамическое руление нет, зато завышены потери реактивной тяги
(углы отклонения у меня больше реальных). Судя по тому, что по итогу получаются близкие к реальным скорости и высота,
эти погрешности в достаточной степни друг-друга компенсируют.