17 março 2025

Uma engenheira de software, uma criança de 4 anos e um desastre prevenido nas naves Apollo.


A filha de Margaret Hamilton, Lauren, teve um papel inesperado na prevenção de um erro no software da Apollo. Margaret Hamilton foi a diretora da equipe de engenharia de software do Programa Espacial Apollo e teve um papel fundamental no desenvolvimento do software de voo da missão.


Ilustração de Dixie Leota



Durante o desenvolvimento do sistema de orientação e navegação da Apollo, Margaret frequentemente levava sua filha, Lauren, então com apenas 4 anos, para o trabalho no MIT Instrumentation Laboratory (atualmente Draper Laboratory). Certa vez, enquanto brincava no laboratório, Lauren acidentalmente pressionou uma sequência de teclas no simulador da Apollo, colocando o sistema no modo de pré-lançamento durante um voo simulado.


Margaret Hamilton e sua  filha Lauren


Margareth no simulador do módulo de comando das naves Apollo


Esse incidente revelou um problema sério: se um astronauta cometesse o mesmo erro durante uma missão real, o sistema poderia falhar ou comprometer a segurança da nave. Margaret imediatamente reportou o problema e argumentou que era necessário programar uma solução para evitar essa situação. Inicialmente, a NASA resistiu à ideia de gastar tempo e recursos corrigindo algo que, teoricamente, os astronautas deveriam evitar apenas seguindo as instruções corretamente.

Porém, sua preocupação se mostrou válida quando, durante a missão Apollo 8, o astronauta Jim Lovell acidentalmente digitou o mesmo comando que Lauren havia, brincando, descoberto, colocando o computador da espaçonave no modo errado. Felizmente, graças às modificações que Margaret insistiu em implementar, o software conseguiu se recuperar automaticamente e evitar um desastre.

Esse episódio reforçou a importância do trabalho de Hamilton e sua abordagem meticulosa ao desenvolvimento de software, garantindo que o sistema pudesse lidar com erros humanos e imprevistos, um conceito que se tornaria essencial para a engenharia de software moderna.


A falha durante a alunissagem da Apollo 11


Durante a aproximação do Módulo Lunar Eagle à superfície da Lua, o computador de navegação (AGC  Apollo Guidance Computer) começou a exibir alarmes de erro, especificamente os códigos 1202 e 1201. Esses erros indicavam uma sobrecarga de processamento, ou seja, o computador estava recebendo mais tarefas do que conseguia processar.

Causa do problema:

O problema foi causado por um radar de acoplagem que, por engano, permaneceu ligado durante a descida. Isso gerou dados extras e sobrecarregou o computador.

Como o software evitou um desastre:

Graças ao design inteligente do software desenvolvido pela equipe de Margaret Hamilton, o sistema foi programado para priorizar tarefas essenciais automaticamente. Dessa forma, o computador descartou processos menos importantes e continuou executando apenas as funções críticas para a alunissagem, permitindo que Neil Armstrong e Buzz Aldrin completassem, manualmente, o pouso com segurança.

Se não fosse por esse design, o computador poderia ter travado ou exigido um reinício, forçando o cancelamento do pouso. Esse episódio comprovou a robustez do software da Apollo e consolidou a importância do trabalho de Margaret Hamilton na história da computação e da exploração espacial.


 O AGC e sua interface de usuário DSKY


O reconhecimento tardio


Em 22 de novembro de 2016, Margaret Hamilton recebeu a Medalha Presidencial da Liberdade, a mais alta condecoração civil dos Estados Unidos, entregue pelo então presidente Barack Obama.

Ela foi reconhecida por seu trabalho pioneiro na engenharia de software e por sua contribuição fundamental para o sucesso das missões Apollo. Durante a cerimônia, Obama destacou sua importância ao afirmar que Hamilton foi responsável por garantir que o software do Apollo Guidance Computer (AGC) permitisse que os astronautas chegassem à Lua e voltassem em segurança.

Uma das imagens mais icônicas desse reconhecimento é Margaret Hamilton sorrindo ao lado de Barack Obama. Esse prêmio simbolizou o reconhecimento tardio, mas merecido, de seu impacto na história da computação e da exploração espacial. 


Margareth recebendo a medalha de Obama



A NASA disponibilizou o código fonte do AGC usado na Apollo 11


O código fonte foi digitalizado e publicado no GitHub por um ex-estagiário da NASA chamado Chris Garry, em 2016.

Acesse aqui: 

https://github.com/chrislgarry/Apollo-11


O código foi originalmente escrito em Assembly para o processador do AGC, que tinha apenas 2 KB de RAM e 36 KB de memória fixa. Ele contém comentários interessantes, incluindo algumas piadas da equipe de programadores do MIT.


Detalhes da linguagem:

  • O Assembly usado era um "dialeto" personalizado chamado AGC4 Assembly, desenvolvido para o processador do AGC.
  • O AGC era uma máquina de palavra de 15 bits, com instruções altamente otimizadas devido às limitações de hardware.
  • O código era escrito em listagens de código fonte impressas em papel perfurado e depois convertido para o formato que o computador entendia.
Margareth e a listagem do programa do AGC


Curiosidades sobre o código:

  • Ele contém comentários engraçados dos programadores do MIT Instrumentation Laboratory.
  • Um dos arquivos faz referência a "BURN_BABY_BURN", uma piada interna sobre a sequência de ignição do motor.



Parte da rotina "BURN_BABY_BURN"



A restauração do AGC

 O canal do YouTube CuriousMarc documentou a restauração do Apollo Guidance Computer (AGC). A série de vídeos detalha o processo de recuperação desse equipamento histórico, destacando sua importância na exploração espacial.

A restauração do AGC é significativa não apenas por preservar um artefato histórico, mas também por proporcionar insights sobre a tecnologia da época e inspirar futuras gerações de engenheiros e entusiastas da exploração espacial.

Para uma visão mais detalhada desse projeto de restauração, você pode assistir aos vídeos aqui:


https://www.youtube.com/playlist?list=PL-_93BVApb59FWrLZfdlisi_x7-Ut_-w7



exposição Space Adventure realizada em São Paulo


A exposição "Space Adventure" foi uma mostra inédita realizada no Shopping Eldorado, em São Paulo, de 26 de agosto a 26 de outubro de 2021. Ela apresentou mais de 300 itens originais da NASA, incluindo artefatos dos projetos Mercury, Gemini e Apollo, que levaram o homem à Lua. 

Entre os destaques, estavam réplicas em tamanho real de naves como Juno e Titan, o foguete Saturno 5, o veículo lunar "Roving" e a cápsula Apollo 11. Além disso, os visitantes puderam ver trajes espaciais completos, ferramentas utilizadas pelos astronautas, computadores da década de 1960 e a mesa de controle original de Houston. 

A mostra foi realizada em uma tenda climatizada de 2.600 m² no estacionamento do Shopping Eldorado, proporcionando uma experiência imersiva aos visitantes. A inauguração contou com a presença de Charles Duke, um dos três homens ainda vivos que pisaram na Lua, que compartilhou suas experiências durante o evento. 

A "Space Adventure" ofereceu aos visitantes a oportunidade única de vivenciar a história das missões espaciais da NASA e a conquista da Lua, por meio de uma vasta coleção de artefatos e réplicas, muitas exibidas pela primeira vez fora dos Estados Unidos. 

Eu visitei a exposição por duas vezes. Abaixo algumas fotos do evento.


Interior de um módulo de comando das naves Apollo em exposição em São Paulo

Módulo de memória das naves Apollo em exposição em São Paulo

AGC das naves Apollo em exposição em São Paulo




















































16 março 2025

WIRE WRAPPING


A arte da montagem eletrônica sem solda

Na década de 1970 e 1980, quando iniciei minha carreira em projetos eletrônicos, o desenvolvimento, a prototipagem e a produção de pequenos lotes de equipamentos eram desafios consideráveis. Naquela época, não havia as facilidades que temos hoje, como softwares avançados de design e fabricação acessível de placas de circuito impresso (PCBs).

Uma das técnicas mais utilizadas para a montagem de circuitos eletrônicos era o Wire Wrapping (ou Wire-Wrapping), um método inovador que dispensava o uso de solda. Essa técnica era amplamente empregada antes da popularização das PCBs e se destacava pela sua confiabilidade e flexibilidade.


A Origem do Wire Wrapping

Originalmente, o Wire Wrapping foi desenvolvido para a montagem de painéis telefônicos, mas rapidamente se adaptou à montagem de placas eletrônicas para os mais diversos propósitos, incluindo computadores. Seu grande diferencial era permitir a criação de circuitos robustos e modificáveis sem precisar de soldagem, o que facilitava a experimentação e a manutenção.


Alguns dos grandes computadores comercializados que utilizaram esta técnica em suas montagens.

1. IBM 1401 (1959)

  • Um dos primeiros computadores comerciais amplamente adotados.
  • Utilizava wire wrap em sua construção interna.
  • Foi um dos sistemas que ajudaram a popularizar a computação empresarial.

2. DEC PDP-8 (1965) e PDP-11 (1970)

  • Minicomputadores muito populares da Digital Equipment Corporation (DEC).
  • Amplamente utilizados em universidades, pesquisa e indústria.
  • As primeiras versões usavam wire wrap extensivamente antes da adoção de placas de circuito impresso.

3. Cray-1 (1975)

  • Um dos supercomputadores mais icônicos da história.
  • Projetado por Seymour Cray.
  • Utilizava wire wrapping internamente para conectar os módulos de lógica.

4. UNIVAC 1103 (1953)

  • Um dos primeiros computadores comerciais dos EUA.
  • Usava a técnica de wire wrapping para interconectar seus componentes.

Como funciona o Wire Wrapping?

O processo de Wire Wrapping envolve algumas etapas e materiais específicos:

  • Fios Especiais: São utilizados fios finos de cobre estanhado, geralmente com núcleo sólido e revestidos com isolamento de teflon ou outro material resistente ao calor.
  • Pinos de Conexão: Os componentes eletrônicos são montados sobre uma placa perfurada (protoboard específica para Wire Wrapping) ou sobre uma base com pinos quadrados e longos, que permitem a fixação eficiente dos fios.
  • Ferramenta de Wire Wrapping: Para a conexão, usa-se uma ferramenta especial que enrola o fio ao redor do pino em várias espiras apertadas. Essa fixação mecânica proporciona baixa resistência elétrica e alta durabilidade, garantindo conexões confiáveis e resistentes a vibrações.
  • Facilidade de Modificação: Como os fios são finos e flexíveis, é possível organizar múltiplas camadas de conexões sem grandes dificuldades. Isso torna a técnica ideal para montagens experimentais, desenvolvimento de protótipos e até ajustes de última hora em projetos.


Wire Wrapping nos dias atuais

Embora essa técnica tenha sido amplamente substituída pelo uso de PCBs e soldagem em superfície, o Wire Wrapping ainda encontra aplicações em áreas onde a flexibilidade e a confiabilidade são essenciais, como em laboratórios de pesquisa e desenvolvimento. Além disso, é uma excelente técnica para estudantes e entusiastas que desejam aprender mais sobre eletrônica e montagem de circuitos.


Ferramenta manual para Wire Wrapping

Ferramenta manual para Wire Wrapping

Ferramenta elétrica para Wire Wrapping

Este computador, baseado em um processador Z80 foi montado à mão por um hobista. Fonte: Wikipedia

Exemplo do acabamento de montagens com Wire Wrapping., Fonte Site ElectroProps





Vantagens:

  • Sem necessidade de solda, evitando problemas de superaquecimento de componentes.
  • Fácil de modificar e reparar, pois basta remover o fio e refazer a conexão.
  • Alta confiabilidade, pois as conexões são fortes e resistentes a vibrações.
  • Usado em aplicações críticas, como sistemas aeronáuticos e militares, devido à durabilidade das conexões.


Desvantagens:

  • Dificuldade em produção em massa, já que a montagem manual pode ser demorada.
  • Maior volume físico, pois os fios ocupam mais espaço do que trilhas em uma PCB.
  • Organização dos fios pode ser complexa, especialmente em circuitos grandes.
  • Na prática, se os fios e soquetes não forem de excelente qualidade, as conexões podem apresentar oxidações ocasionando mau-contato.



Wire Wrapping na minha rotina

Utilizei a técnica em diversos projetos, como hobista e como profissional.

Na engenharia da Prológica, utilizávamos a técnica para o desenvolvimento de projetos e montagem de protótipos. Após a comprovação do funcionamento e aprovação do projeto, eram desenvolvidos os layouts das placas de circuito impresso e, posteriormente, iniciava-se a produção das placas.

Quando trabalhei no controle de qualidade da Itautec, em 1993, utilizei a técnica na montagem das placas eletrônicas do protótipo do primeiro caixa bancário eletrônico da Itautec e um dos primeiros do Brasil.

Esse protótipo foi instalado no CTO do Banco Itaú, localizado na Av. do Estado, em São Paulo. Curiosamente, esse caixa continua no CTO até os dias de hoje.


O protótipo do caixa automático do ITAU, ainda instalado no CTO.

CTO (Centro Técnico Operacional)  do banco ITAU




Um rolo de fio para Wire Wrapping AWG 30 ao lado do CP200 NANICO
Este rolo é remanescente da década de 80


Vídeo demostrando a técnica.