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

Первоисточник: 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-печатный прототип он рассматривает как ступень к более премиальной реплике, которая будет ещё ближе к оригиналу.
Как повторить проект самостоятельно
- Изучите документацию на GitHub: CAD-модели, схемы и 100-страничное руководство.
- Распечатайте корпус DSKY на 3D-принтере по предоставленным .stp-файлам.
- Приобретите Raspberry Pi, микроконтроллеры, механические клавиши Kailh Box Navy и экран.
- Соберите аппаратную часть согласно схеме: подключите клавиатуру и дисплей к микроконтроллерам, а их — к Raspberry Pi.
- Установите Raspberry Pi OS и настройте эмулятор Virtual AGC (yaAGC).
- Загрузите программное обеспечение Apollo 13 и запустите эмуляцию.
- При желании настройте режим периферии для связи с Orbiter NASSP.
Частые ошибки
Можно ли собрать такой DSKY без опыта в электронике?
Да, Майкл Ньютон специально составил 100-страничное руководство, рассчитанное на новичков. Однако потребуется базовое понимание пайки и настройки Raspberry Pi.
Какое программное обеспечение используется для эмуляции AGC?
Применяется эмулятор Virtual AGC (программа yaAGC), который воспроизводит все характеристики оригинального Apollo Guidance Computer, включая тайминги и архитектуру.
Сколько стоит собрать проект Recreate Apollo?
Стоимость зависит от наличия 3D-принтера и компонентов. Основные расходы: Raspberry Pi, микроконтроллеры, механические клавиши, экран и материалы для печати. Точную сумму Майкл не называет.
Где найти файлы для сборки?
Все CAD-модели, схемы и руководство доступны на GitHub в открытом доступе. Ссылка указана в статье.