Here is a story about how I solved an intermittent RAM semiconductor memory problem using music. In 1978, I met three brothers who owned a large machine shop in Ottawa, and they agreed to test a computer-controlled milling machine for me.
I designed and built a self-programmable, point-to-point, numerical control (NC) system for a two axis Excello 602 milling machine. The system used closed loop stepper motors in the X and Y axis to keep the servos honest, and the Z axis used an air operated quill, which had a rotating cutter attached to it. Memory was programmed at the machine tool using a small keyboard, which was unheard of at that time. A magnetic digital cassette unit stored the programs for future production runs. No paper tape was used.
The plan was for all four of us to get into business to manufacture these systems. I had started this project on my own in my apartment, and now moved to the machine shop to finish it. I had no staff and very limited funds. The machine had to be affordable by small machine shop owners, and it couldn't require a computer to program it.
All went well until we started testing the machine. It would work smoothly for a while, but then it would intermittently mill faulty aluminum parts, or suddenly miss a step, or cut an incorrect hole in the work piece. Sometimes it would even threaten to cut into the milling machine table! This appeared to be a memory problem, but I didn't know how to fix it. Yet, I had to solve this problem or the project would fail. I only had a 10MHz dual trace oscilloscope and a 4 digit DVM.
So, what was the problem? Was it system timing, or bad chips? The memory board used 32 static RAM ICs, so locating the faulty one was going to be challenging. A 1024 x 32-bit word static RAM memory (2102s) was the heart of the system. This was new technology at the time. The NC system used BCD (binary coded decimal) numbers programmed into the memory that advanced through it to fabricate the parts. If the memory information was faulty, the machine would make scrap pieces. My partners running the machine shop wanted results, and I did not have a lot of time to convince them that this system was a viable product.
The solution came from my childhood musical training, which gave me an idea -- play music through the system! The NC system had a programmable audio tone generator, which was used to alert the operator to change parts when fabrication was completed, so it could be programmed to play a song. Musical patterns are similar to machine instructions. All the system timing stayed the same so it was a realistic test. RAM chips were quite expensive so there were few spares.
I picked the song "Raindrops Keep Falling on My Head" because it was long enough to fill the memory and the tone generator could handle the range. It was a popular song at the time, so the operators would know if it sounded okay, or not. When humans listen to music they can detect a small error right away. When I played the song, I found the problem quite soon because the machine played wrong notes where the memory was faulty. I just had to go to that area of the music in the program RAM to find it. This saved a huge amount of time and expense trying to find the faulty memory.
Later, when the NC system was introduced to the production floor, the machinists were fascinated by the music. Music became part of the diagnostic routines every day to test the memory. Everyone was happy with the machine and my partners gained a lot of machining contracts. Machine shop customers were thrilled by the musical milling machine.
The NC machine worked flawlessly for a very long time after this, and to this day, I remember the feelings of excitement and pride the building of this machine and my creative solution gave me.
John Barnhardt/VE3ZOV is a seasoned electronics designer (14 years) -- avionics (Computing Devices), test engineering, and Lottario terminal manager (Consolidated Computer) and NC control designer (Campagna Brothers Machine Shop). He went to sales management for 18 years (Motorola Semiconductor, Ontario Centre for Microelectronics, CTS Corp.) and Component Engineering (JDS Uniphase).
The Frankenstein's Fix has just come to an end. Stay tuned to read the submissions and see what kind of difficult job of judging we have ahead of us! Submission details and full contest rules here.