THAT Burn-In: Free Fall Simulation
published 2025-12-18
by Christopher Howard
Learning the ropes on my THAT, I set up a simple free fall simulation, i.e., force of gravity only, neglecting other factors like air resistance. This involved two integrators. The first integrator receives and (adjustable) input of 0.981 Machine Units (MU) which translates to 9.81 volts, representing an acceleration of 9.81 meters/sec². The first integrator outputs the velocity, and the second integrator outputs the position, i.e., from the drop altitude. I set the drop altitude with a potentiometer. I also used a comparator to flat-line the display once the object has hit the ground, which I defined to be GND voltage.
A problem I ran into quickly is that, since the velocity is unbounded, then the first integrator quickly overloads, before the object has been able to fall very far. This is fine for a drop of one or two meters, but what about hundreds of meters? How to get around that? One can simply assume a different scale, of course, but then the acceleration input value becomes very small — relative to the MU — and is difficult to set precisely with the potentiometer.
At first, I wondered if I could just increase the rate of change on the second integrator by a factor of ten, by plugging the input into the 10x input slot, and thus help the second integrator finish before the first one hit the rails. The idea made sense intuitively, but didn't seem to be giving plausible results. I couldn't make the math work out on paper, either.
Eventually I had another idea: what would happen if I decrease the time constant on the second integrator, thereby speeding up just the second integrator? The idea was a bit esoteric, but seemed worth trying. But, how to decrease the time constant? There are several ways to increase the time constant, by adding capacitance, say through the "slow" jack on the integrator. But I couldn't figure a way to decrease it.
Then I had the idea: what if I increased the time constant on the first integrator, thereby making the second one faster than it, relatively speaking? That was easy to do.
I tried it and, wonder of wonders, it worked! For the results to make sense, however, I had to assume a new magnitude scaling of output: both integrators now appeared to be providing output at a scale of 1000 meters/MU or 100 meters/volt, which would be 100 times the original scale of 10 meters/MU. I'm guessing the factor of 100 comes from the relationship between the time unit of the first integrator, which in slow mode is 100 ms, versus the second integrator which is at the default 1 ms.
Setting a drop altitude of 900 meters, here are the results on the scope:
By the way: THAT's normal output ports do output only 1V peak, as I mention previously. But one way to get the full ten volt output is to plug a spare banana plug cable into any jack of interest, and then just clip the scope leads onto the other end of the cable.
For the results to make sense, one must interpret the time scaling to be 1 ms Machine Time (MT) = 1 second real time.
For verification, here is the same thing in GNOME plot, using single and double integration:
As a sanity check, I used one of the online javascript free fall calculators. I don't want to promote using those, since they are usually non-free code. But it was an easy way to check if my interpretation of the results was sane or not. Here is a screenshot:
After I finished with this, I set up a mass-spring-damper system, and started to experiment with that. THAT manual includes another seven interesting example simulations which I am looking forward to trying out.
Copyright
This work © 2025 by Christopher Howard is licensed under Attribution-ShareAlike 4.0 International.