This Central Air Data Computer (CADC) was introduced in 1955. It computed airspeed, altitude, etc for fighter planes. But instead of a processor, it was an analog computer that used tiny gears for its computations. Let's look at how one of its modules works.🧵

Planes determine altitude and speed from air pressure readings. But near the speed of sound, things become very nonlinear. As fighter planes became supersonic in the 1950s, the CADC was built to compute these nonlinear functions using rotations of gears and cams.

The CADC needs to know the temperature for its calculations. A platinum probe outside the plane measures temperature, producing a changing resistance. But the CADC needs to rotate gears. How does the CADC convert the resistance to a rotation? That's what I'll discuss today.

The CADC looks like a random mass of gears, but it is constructed in a modular fashion. The temperature module is a wedge-shaped piece of gears and electronics that can be removed for service. It is independent of the rest of the CADC except for one gear that provides its output.

A servo loop converts resistance to rotation. A motor rotates the gears while a feedback loop keeps it in the right spot. The amplifier generates an error signal to rotate the motor in the correct direction. The potentiometer indicates the current output.

They didn't have op-amp chips back then, of course, so the amplifier consists of multiple boards of circuitry. The boards have a few germanium transistors (pre-silicon) but transformer-like "magnetic amplifiers" perform most of the amplification.

To correct for errors, a correction factor is added, a function of rotation. This is implemented with a metal plate, warped into the correct shape with 20 tiny screws. A cam measures its position, which is added to the rotation with a differential gear mechanism.

Follow

@kenshirriff What errors does that encompass? I would expect that this accounts for nonlinearity of the sensor, and that there's no need to account for errors in the amplifier itself (because we don't rely on ~any other properties than behaviour at input equal to 0). Are there other sources of systematic error I'm missing?

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.