By Tom Dentel
Human fingertips can be remarkably sensitive diagnostic tools. I had taken over a software project from a guy who left the company. The software was for computer-in-the-loop non-linear position and velocity control of a cinetheodolite (Picture a rotating aluminum cylinder roughly two feet in diameter with an operator’s seat and control panel sticking out at one point, and a box full of electronics sticking out opposite the seat). The angular position was sent from the electronics in the box on the cylinder through slip rings to the computer using a locally-designed synchronous serial link.
I was told there were a few bugs in the software, but the hardware was working. So when I began seeing occasional, uncommanded movements, I assumed a software problem. Most of these jumps were so small and fast that at first I thought that I was imagining them. But a large jump left no doubt that they were real and a major problem. This started looking like one of those intermittent problems that are hard to fix because they happen so rarely, but I set up a circular buffer to be dumped to the display when triggered by the position error and found that I was getting position errors I thought should be a problem but didn’t cause noticeable jumps. I rested my fingertips very lightly on the surface of the unfinished aluminum casting and found that very small jumps were occurring about once every few minutes and happening at the same time that the data dumps were triggered. My troubleshooting was going to be a lot easier.
While feeling for the jumps, I was standing midway between the seat and the electronics box to get out of the way if a big jump occurred. That’s where I was when the boss showed up. I explained about the jumps, but he insisted that the control system worked and that I should be working on the other problems in the software. As if on cue, a big jump started. I stepped out of the way, but the boss, not expecting it, was almost knocked down by the electronics box. This problem was suddenly my highest priority.
The boss insisted the hardware worked and it must be a software problem, but my data dumps showed that the errors were coming from the axis-position readout. I put the data line for the communication link on an oscilloscope, with the scope triggered by the communication-link’s clock, and found significant jitter. I finally put the clock signal itself on the scope and, instead of a 5V square wave, found what looked like a low-pass-filtered square wave that only made it up to about 3V. Changing the line driver on the clock to a faster device solved the problem of the jumpy cinetheodolite. The fingertip test technique was later used to detect a broken geartooth.
After the cold war ended, Tom Dentel quit working as a design engineer and tried to change careers, but he is now back in the military-industrial complex as a test engineer.