Keep it simple, stupid, and kiss problems goodbye
Tales From The Cube: When solving a design dilemma, sometimes less is more.
By JB Guiot, Digilea SA -- EDN, October 8, 2009
Fresh out of college and after attending military school, I joined an international company that developed, built, and sold CNC (computerized-numerical-control) machine tools. It was a small company employing approximately 200 people in three countries. Our location was responsible for the integration of the CNC and all the electronics and electrical equipment into the machine tools. We also had a repair-and-support department for customers.
After two months of training on the CNC and the different machines, I first landed in the repair department. It was an interesting time to discover all the insides of such a control. This CNC used only good old TTL (transistor-transistor logic), the 74xx series, with a 74181 ALU (arithmetic-logic unit) at its core. No microprocessor! The program counter, ALU, interrupt controller, instruction decoder, TTY (Teletype) interface, memory control, numerically controlled oscillator, and axis controller were all discrete single boards in a 19-in. rack. I could follow each instruction clock pulse by clock pulse into the decoder, the ALU, and so on. It is rare today for an electronics engineer to get such an opportunity to understand in detail the processors’ internals.
|
The programming of this control was a marvel for me, too. Although most people nowadays have a hard time with assemblers, I would have loved to have an assembler for this machine; the language was machine code! I could follow that the Nth bit of the code opened an AND gate, which made the ALU shift left instead of right. I still sometimes look at the machine codes of modern microcontrollers to see the pattern.
One day, we received a new spindle driver to fit into a series of machines. Within a few days, everything worked well except that the voltmeters for speed and torque were operating at 15V but the driver output operated at only 10V full-scale. We could not replace the indicators within the short time we had. Electronically speaking, though, it was easy stuff! We needed no high precision or stability, and we had ±15V supplies in the electrical-equipment cabinet, so the solution was obvious. I took some pieces of a PCB (printed-circuit board)—a simple 741 op amp, four resistors, and two capacitors—and, in no time, I had a 1.5× amplifier. I quickly checked it in the lab. It worked as I had expected.
I was working at the machine table, hooking up the parts of my new design, when the boss came by. Interested, he asked me what I was doing and to explain the details. When I was finished with my explanation, he opened the back of the voltmeter, cut out the 1.5-kΩ resistor inside, replaced it with a 1-kΩ resistor, and closed the indicator. “Voilà!” he said. His simple replacement of just one resistor by another outsmarted my naive attempt to use a complex—though theoretically correct—circuit!
That day I learned what may be the most important lesson in a developer’s life: Always ask yourself whether you might be able to find a simpler approach. I don’t know who first said “keep it simple, stupid,” but ignoring this advice is the “KISS” of death!
-
I'd like to thanks for all the comments.
You guys are right about the 741's limited "rail to rail" capacity! I guess I rather used some voltage derived from the 24VDC.
Sorry for this "unprecision" but that was last century, ... in 1979 or so!
J.B. Guiot - 2009-7-11 12:58:00 PST -
Unfortunately I must comment that the 1.5x amplifier probably didn't 'work as expected' since the output of a 741 won't reach the rails and could be 2 or more volts shy depending on the total load (feedback load + external load). It could scale the range below that correctly however.
But this story is a good reminder to always learn as much as possible about a problem before trying to find a solution to save yourself a lot of unnecessary work and possibly even from finding the wrong solution. Kinda reminds me of the Health Reform debacle going on in Congress these days.
Lee Hardesty - 2009-29-10 21:15:00 PDT -
Good thing your boss wandered by.
No way can a real 741 put out 15V from a 15V supply.
Ernest Murphy - 2009-27-10 15:06:00 PDT -
That's a good story, thanks for sharing. I too have done the same - now I always try to understand the interfaces so that you have a chance at the simplest solution. Sometimes it is changing an interface instead of adding a new interface that gets the solution done the quickest! Sometimes you can't get nywhere near the interface (software code for instance) and hardware or another software translator is the only solution.
SteveH - 2009-22-10 10:31:00 PDT -
That's a good story, thanks for sharing. I too have done the same - now I always try to understand the interfaces so that you have a chance at the simplest solution. Sometimes it is changing an interface instead of adding a new interface that gets the solution done the quickest! Sometimes you can't get anywhere near the interface (software code for instance) and hardware or another software translator is the only solution.
SteveH - 2009-22-10 10:31:00 PDT


















