Техновости
Новости

Инженер воссоздал Apollo Guidance Computer на Raspberry Pi: проект Recreate Apollo

Майкл Ньютон из Калгари собрал действующий макет Apollo Guidance Computer в масштабе 1:1 на Raspberry Pi с эмулятором Virtual AGC. Корпус напечатан на 3D-принтере по архивным чертежам NASA, а проект открыт: доступны CAD-модели, схемы и 100-страничное руководство.

Editor 9 мин 0 просм.
Инженер воссоздал Apollo Guidance Computer на Raspberry Pi: проект Recreate Apollo

Первоисточник: www.raspberrypi.com

Что такое Apollo Guidance Computer и почему он важен

Apollo Guidance Computer (AGC) создан в 1966 году Лабораторией Чарльза Старка Дрейпера при Массачусетском технологическом институте — за три года до высадки Нила Армстронга на Луну. Компьютер устанавливался на командный и лунный модули миссий «Аполлон». По вычислительной мощности он сопоставим с Apple II, но имел менее 100 КБ памяти и тактовую частоту 1,024 МГц. Несмотря на скромные характеристики, AGC позволял астронавтам выполнять навигационные расчёты, манёвры автопилота, включения двигателей, орбитальные сближения и вход в атмосферу Земли. Кроме того, это был первый компьютер на кремниевых интегральных схемах.

Кто такой Майкл Ньютон и в чём суть проекта Recreate Apollo

Майкл Ньютон — инженер по авионике коммерческих самолётов из Калгари (Альберта, Канада). В свободное время он изучает и воссоздаёт историческое авиационное и космическое оборудование с помощью современных технологий. Его проект Recreate Apollo — открытая инициатива, в рамках которой на Raspberry Pi с эмулятором Virtual AGC запускается DSKY (Display and Keyboard — дисплей и клавиатура астронавтов) в масштабе 1:1, напечатанный на 3D-принтере. Устройство работает под управлением программного обеспечения командного модуля Apollo 13.

Как Raspberry Pi запускает Virtual AGC

Raspberry Pi в проекте выполняет роль аппаратной платформы для эмулятора Virtual AGC (программа yaAGC). По словам Майкла, этот одноплатный компьютер почти идеально подходит для задачи: он связывается с микроконтроллерами через USB, потребляет немного энергии, имеет встроенный Wi-Fi для SSH и удалённых приложений и работает без сильного нагрева. Raspberry Pi OS легко устанавливается, а на её основе можно создать кастомный дистрибутив и передать готовый образ другим пользователям. Эмулятор воспроизводит все ключевые характеристики настоящего AGC: уникальную асинхронную синхронизацию (прерывания), которая спасла Apollo 11 (коды тревоги 1201/1202), 15-битное слово с одним битом чётности и тактовую частоту 1,024 МГц. Майкл отмечает, что Virtual AGC настолько точно эмулирует реальный компьютер, что называет его не эмулятором, а настоящим Apollo Guidance Computer, который одалживает ваш процессор.

DSKY: дисплей и клавиатура астронавтов в масштабе 1:1

DSKY — это интерфейс, через который астронавты взаимодействовали с AGC. В проекте Recreate Apollo корпус DSKY напечатан на 3D-принтере в масштабе 1:1 и максимально приближен к оригиналу. Снаружи устройство выглядит как часть космического корабля. Внутри пришлось внести изменения: переработаны точки крепления микроконтроллеров и Raspberry Pi, а также добавлен держатель для экрана, поскольку печатная плата дисплея физически больше оригинального крепления. Клавиши изготовлены из серийных механических переключателей Kailh Box Navy с высоким усилием срабатывания и чётким щелчком. Майкл признаёт, что они далеки от настоящей клавиатуры, но обеспечивают приемлемые тактильные ощущения. Надписи на клавишах немного крупнее исторических, так как исходный шрифт слишком мелкий для качественной 3D-печати, хотя сам шрифт воссоздан энтузиастами.

3D-печать корпуса по архивным чертежам NASA

История проекта началась во время пандемии COVID-19, когда группа энтузиастов Apollo занялась переводом оригинальных инженерных документов MIT Instrumentation Lab в современные CAD-файлы для последующей 3D-печати. Документы были получены по запросу на публичные записи и заархивированы сообществом Virtual AGC. Майкл потерял связь с проектом, но год назад увидел блог mkme.org, где другой мейкер Эрик создал DSKY по почти готовым чертежам с GitHub. Вдохновившись, Майкл разыскал файлы в разных репозиториях, доработал недостающие детали и смоделировал некоторые элементы самостоятельно. Через несколько недель у него был полный набор .stp-файлов, готовых к печати. Он приобрёл 3D-принтер и освоил печать по ходу дела. Все напечатанные детали основаны на архивных чертежах NASA.

Аппаратная часть: микроконтроллеры, клавиши Kailh Box Navy, экран

Аппаратная сборка включает Raspberry Pi, микроконтроллеры для связи с клавиатурой и дисплеем, а также механические клавиши Kailh Box Navy. Экран закреплён в специально смоделированном клипсовом держателе, поскольку оригинальное крепление не подходило по размеру. Майкл отмечает, что корпус физически примерно на 90% аутентичен оригиналу: снаружи он стремился к идеальному визуальному соответствию и доволен результатом. Внутренние изменения коснулись креплений для микроконтроллеров и Raspberry Pi, а также способа установки экрана.

Программная часть: эмуляция AGC и запуск ПО Apollo 13

На Raspberry Pi установлен эмулятор Virtual AGC, который запускает программное обеспечение командного модуля Apollo 13. Эмуляция сохраняет все ограничения оригинала: 15-битные слова с битом чётности, асинхронную синхронизацию и тактовую частоту 1,024 МГц. Память, которую читает компьютер, виртуализирует реальный код, вшитый в ферритовую память (core rope ROM) и намагниченный в оперативной памяти. По словам Майкла, эмуляция оказалась чрезвычайно сложной, но программистам удалось воспроизвести логику и тайминги AGC с точностью. Это позволяет запускать навигационные программы и взаимодействовать с ними через клавиатуру DSKY.

Точность воссоздания: что удалось повторить, а что пришлось менять

Соответствие оригинала и реплики
ЭлементОригиналВ проекте Recreate Apollo
КорпусАлюминиевый сплав, точная геометрия3D-печать по чертежам NASA, ~90% внешней аутентичности
КлавиатураСпециализированные клавиши с историческими надписямиМеханические Kailh Box Navy, надписи чуть крупнее
ДисплейЭлектролюминесцентный индикаторСовременный экран в клипсовом держателе
ВычислительAGC на кремниевых ИС, 1,024 МГцRaspberry Pi с эмулятором Virtual AGC
ПамятьФерритовая RAM и core rope ROMВиртуализация в эмуляторе

Открытые материалы: CAD-модели, схемы и 100-страничное руководство на GitHub

Одной из главных целей Майкла было документирование. Он хотел, чтобы любой желающий, даже без предварительных знаний, мог собрать такой же DSKY. Все CAD-модели, схемы и 100-страничное руководство по сборке доступны на GitHub бесплатно. Проект получил название Recreate Apollo и распространяется как открытый исходный код. Это позволяет сообществу повторять сборку, вносить улучшения и изучать историю AGC.

Режим периферии и связка с симулятором Orbiter NASSP

Помимо автономной работы, DSKY можно перевести в режим периферии долгим нажатием одной из клавиш. В этом режиме устройство подключается по локальной сети к симулятору космических полётов Orbiter с аддоном Project Apollo — NASSP, который моделирует все миссии «Аполлон». Это позволяет использовать физический DSKY для управления виртуальным космическим кораблём, расширяя возможности обучения и симуляции.

Почему Raspberry Pi подходит для такого проекта

Майкл Ньютон считает Raspberry Pi почти идеальным для этой задачи. Компьютер интегрируется с микроконтроллерами через USB, не требует много энергии, имеет встроенный Wi-Fi для SSH и удалённых приложений, а также работает без перегрева. Raspberry Pi OS легко устанавливается, и можно создать кастомный дистрибутив для передачи другим пользователям. Более того, Raspberry Pi без труда запускает yaAGC — программу VirtualAGC, которая воспроизводит все характеристики реального AGC, включая асинхронную синхронизацию, 15-битные слова с чётностью и низкую тактовую частоту. Это делает платформу доступной и удобной для эмуляции исторических компьютеров.

Что дальше: алюминиевый корпус и электролюминесцентный дисплей

Сейчас Майкл работает над улучшенной версией DSKY. В планах — полноалюминиевый корпус, более качественные индикаторы (аннунциаторы) и, возможно, настоящий электролюминесцентный дисплей. Это потребует и лучшей клавиатуры. Текущий 3D-печатный прототип он рассматривает как ступень к более премиальной реплике, которая будет ещё ближе к оригиналу.

Как повторить проект самостоятельно

  1. Изучите документацию на GitHub: CAD-модели, схемы и 100-страничное руководство.
  2. Распечатайте корпус DSKY на 3D-принтере по предоставленным .stp-файлам.
  3. Приобретите Raspberry Pi, микроконтроллеры, механические клавиши Kailh Box Navy и экран.
  4. Соберите аппаратную часть согласно схеме: подключите клавиатуру и дисплей к микроконтроллерам, а их — к Raspberry Pi.
  5. Установите Raspberry Pi OS и настройте эмулятор Virtual AGC (yaAGC).
  6. Загрузите программное обеспечение Apollo 13 и запустите эмуляцию.
  7. При желании настройте режим периферии для связи с Orbiter NASSP.

Частые ошибки

Можно ли собрать такой DSKY без опыта в электронике?

Да, Майкл Ньютон специально составил 100-страничное руководство, рассчитанное на новичков. Однако потребуется базовое понимание пайки и настройки Raspberry Pi.

Какое программное обеспечение используется для эмуляции AGC?

Применяется эмулятор Virtual AGC (программа yaAGC), который воспроизводит все характеристики оригинального Apollo Guidance Computer, включая тайминги и архитектуру.

Сколько стоит собрать проект Recreate Apollo?

Стоимость зависит от наличия 3D-принтера и компонентов. Основные расходы: Raspberry Pi, микроконтроллеры, механические клавиши, экран и материалы для печати. Точную сумму Майкл не называет.

Где найти файлы для сборки?

Все CAD-модели, схемы и руководство доступны на GitHub в открытом доступе. Ссылка указана в статье.

Читайте также