Over the years I've learned many useful lessons, the implementation of which will save you time, resources, and money.
In Part 1 of this mini-series we considered the testing of boards, subassemblies, and products. In Part 2 we discussed how to control the test. Now, let's consider some of the lessons I've learned from all of this. FYI I first expressed these thoughts in a response to an article titled A DIY microcontroller-based functional tester in Test and Measurement World under the alias "antedeluvian."
No matter how intuitive the test jig may appear to be, it must be documented. Even with the best will in the world, there is no verification process where someone gets to check your documentation to find the errors in the way that happens when you build many units. Good documentation will allow you to build multiple units, repair existing ones, and preserve information when employees leave the company. When a test jig fails, you cannot simply discard it as you might with a defective product. You will always be under pressure to repair the test jig because it will be holding up production.
Create as much duplication of the setup as you can. PCs change over the years; for example, there are no more serial ports or parallel ports. Operating systems interact differently with system calls. Does Visual Basic 4 run under Windows 7? Keep all the CDs and disks together and also the original manuals from the devices that you use. Keep any downloads in a write-protected folder on your network to make sure that the correct versions of software are preserved. When a PC fails and a new one must be initialized, will you be able to recreate the environment?
Any purchased equipment, including plug-in boards, can become obsolete and the manufacturers may disappear. The chance of finding a direct replacement is close to zero. Save spares as well as detailed descriptions as to how to set them up.
The development is performed in a particular climatic environment. The test equipment is developed over a small sample of products. As more products are tested, both parametric variation and the temperature coefficients will influence the values measured. Make sure to introduce some method of easily adjusting the value of the parameter being checked.
Consider the effect of having the test equipment shipped offshore. Transport, climate, culture, and language all have a part. How will a Chinese operator, with no English, interpret instructions on a screen? When there is a problem with a test jig overseas, how will you repair it? In our case, we maintain at least one spare here in Canada.
Develop software in the lowest form (or most universal form) possible so that anyone can understand it, like a BASIC interpreter or LabView (if you can afford to invest). Trying to find a bug five years "down the road" may prove very difficult if you don't maintain the tools for older versions of software like Visual Basic 4.
ISO9000 requires calibration of all instruments. If you built something in-house, only your organization can calibrate it. We have had some devices that required days to calibrate, and that required expert personnel to boot. Use externally-calibrated equipment to make any measurement. Where we use A/D converters and D/A converters, we force a calibration every time the test software is started. This normally involves adjusting the D/A output to a known voltage on a calibrated DVM and then feeding that voltage back to the A/D converter.
Add test facilities to make sure that the test jig itself is working. It can be extremely helpful to know if it's the DUT or the test jig that is causing the failure. It is even better if you can narrow it down from "test jig" to "relay K5 in the test jig." ISO9000 has forced us to do this on every test jig we create.
(a) If your test is made up of a series of sub-tests, write the test software to allow the user to run one or more of the tests in standalone mode. This is helpful during developing and debugging the equipment, and also where there is a problem on a board. You can save a lot of time when debugging if you don't have to go through the whole test every time you check to see if the problem has been solved. (b) When you detect an error on a board, hold the I/O condition on the test jig with the power on -- this will allow you to debug with a meter and/or oscilloscope.
How do you enclose the DUT? There can be dangerous voltages and the user must be protected.
With all the hassles of designing a test jig and then shipping it to Asia, there is a temptation to let your subcontractor design the test jig. Take great care with this. For our experience, take a look at my blog PCB Test Jigs & My China Connection blog.
So, what about you? Do you have any comments or questions with regard to my musings above?