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?
Here is my latest run in with that albatross around my neck.
Production was trying to program a module using the device in Figure 1 in part one of thi series. The programmer software runs on a Windows XP PC and gets converted to an RS232 signal via one of those USB converters- a change made necessary when PCs lost their serial ports. Well the PC had a crash at some point and now the USB drivers/hardware do not recognise the USB converter or any new converters of the same make. Nothing pops up to say a new device has been connected. Yet the PC still runs other software which connects to a 2 channel USB to serial converter. Of course we are in a rush, so I haul out my old Win98 PC and fire it up.
Windows98 cannot connect to our network and I have to get the object file onto the PC in order to program. Although the old PC has USB ports it wants a driver for a USB stick. So we have to go with a floppy. We have a USB to 3.5" floppy and it's easy enough to copy the file to floppy on a modern PC. The Win98 PC has a 5.25 and a 3.5 floppy drives. But the 3.5" is non-fucntional no matter how I try to reconfigure it it through the BIOS setup. And it needs a driver for the USB to floppy device.
Now we have to convert it to a 5.25" floppy. We have just moved and I thew out all my 5.25 disks. So I had to get one from home. Fire up my MSDOS 6.2 machine and copy the file from 3.5 to 5.25. BUT the file name is longer than the 8 digits that MSDOS recognises so I can't copy.
Back to the USB to floppy drive on a modern PC and rename the file to the 8 characters and then back to the MSDOS machine. Copy the file from 5.25 to 3.5 and then transfer the disk to the Win98 machine. Copy the file on to the hard drive and rename it back to the original to match the programming documentation. Phew! we can now program. Now for production...
The module (it is bought as a module) is mounted on a locating pin. Somehow this diameter of the hole associated with the pin has shrunk at some point during the 15 years it has been in production (or the locating pin has put on weight) and the module will not mount on the programming jig.
So now we have to ream out the hole before programming.
@max I keep a Win98 computer with both 5-1/4 and 3-1/2 floppy drives just for that. I have an external 3.5 drive that can then plug into newer computers to get data. Problem is that newer computers may note have the saoftware to readsome of the old data.
My process has been to attach test part numbers to the units tested bill of materials so they are forever linked
We came up and still use a similar approach, including revving the jigs and flowing it through ECNs to the BOM. We are a small company and so configuration maintenance is a little irritating and according to the bean counter, expensive. So against my advice the practice is being shelved although with our new (and untested) MRP there is a side location that will still carry the information.
We have another problem, which we seem to have solved, is keeping a register of "assets" that are shipped and then returned (sometimes) from subcontractors.
@Antedeluvian: I still have 8" floppies- and with good stuff on them.
I once went to a small electronics fest in Silicon Valley -- at one table there was a guy with a pile of different removable media drives -- he would copy your old files from your old media to a newer format for you for free. I think he was a regular at this annual fest because people were lining up to take advantage of his services.
What are you talking about -- they are still with us -- I still have hundreds of them in the bottom of my drawer in my office LOL
I still have 8" floppies- and with good stuff on them. I have manuals and diagrams on 5.25" single density from my Osborne 1. They may make good Xmas tree decorations and maybe someone can figure out how to read them with a scanner (I think I mentioned this before) but otherwise they simply serve to stabilise my house during a hurricane.
Excelent list. I wanted to add that once the documentation has been created, it needs formal identification and linking to your product data management system. Otherwise, in 10years are you going to remember where it was stored? What if it is used with multiple products? My process has been to attach test part numbers to the units tested bill of materials so they are forever linked.
How about keeping copies in the cloud, like on DropBox?
I am a late adopter of many technological "advances" and so I omitted to mention the cloud. I encourgae all forms of storage and possibly more than one type of storage- You may want to read it in 15 years. Look what happened to floppy disks.
Join our online Radio Show on Friday 11th July starting at 2:00pm Eastern, when EETimes editor of all things fun and interesting, Max Maxfield, and embedded systems expert, Jack Ganssle, will debate as to just what is, and is not, and embedded system.