EEVblog Electronics Community Forum
General => General Technical Chat => Topic started by: mrburnzie on November 01, 2021, 06:17:12 pm
-
Do you use a device that is pre built or do something custom?
Any interesting test jig project?
-
Depends on the volume and who is going to use it.
If it is going to a CM (medium to high volume), I'll use test fixture kit with bed of nails, base plate, pressure plate etc. I'll make sure the operators spend the least amount of time interacting with it.
If it is a low volume, I might just use a blank PCB as a pogo pin locator/spacer.
-
Do you use a device that is pre built or do something custom?
Depends on the volume:
I worked on an extremely low volume special purpose device (10pcs a year = complete and utter wohooo!). There was no test jig for the PCBs, only a set of testing boards and devices that I plugged in manually into all of the IO and then went by a step by step procedure, manually checking a lot of things, occasionally cooperating with really awful software (I programmed it). The things were complicated enough that automating them would be possible, but would require too much time and money to implement to justify making it, so this was chosen. The logic was that if I need two days to test and calibrate the thing then it's better to do it manually then spend three months creating a test device. It was pretty fun actually ;D
I worked on a small/medium volume device - I designed a test device where the operator just placed the device, pressed a button, waited some 20 seconds, read the terminal output and checked whether there was [PASS] or [FAIL] at the end of the readout and whether a happy beep or an annoyed beep sounded. But again, it was not a bed of nails, but rather a device that connected to the IO port of the device with a high quality DSUB 25.
For a larger volume I actually designed a custom PCB with pogo pins. It was 3mm thick, sturdy, supported by an aluminum frame and a press pressed the DUT onto it.
For a big company I designed a device that would be produced in really high volumes, but I did not design the testing device, but saw it - a monstrous behemoth that could test insane volumes, built on a standard platform with a customized test fixture.
-
What did you use for the brains of all of these? Microcontroller? Or just plain serial?
-
What did you use for the brains of all of these? Microcontroller? Or just plain serial?
One had no brains at all - they were just known reference resistors, voltage sources and so on. The system calibrated and tested itself against it.
Another one had an onboard MCU and a fair amount of electronics and was self contained.
Another one had an FT232 and a shift register to control a bunch of relays. It connected to a PC.
-
Interesting.
Are there ready systems which provide testing software with hardware (of course used for complicated systems)?
-
Not enough info on the test requirements to give a meaningful answer of course, but in general the first question I would ask myself is:
Why not use a 34970A or such like?
It's very flexible device with the card slot architecture.
Easily calibrated to traceable standards by your local cal lab (be they keysight or independant, because these are very popular devices).
Easy comms with PC for test control software (which may also communicate with other types of devices).
Keep custom stuff to a minimum IMO, especially if traceable cal is required.
-
It depends a lot on what you are testing.
Sometimes the device has all the required connectors and you can just hook it up to a testing cable harness. Sometimes its just a board and you need a bed of nails. We sometimes make these using 3D printing and a PCB to hold the pogo pins.
The test system also depends on what you need. Sometimes all you need is a bunch of fixed resistors or voltage sources to provide some input for your device to mesure. Sometimes you can loop outputs back into inputs on the device. Then it is just a matter of the devices own firmware to have a testing mode.
Sometimes you need precision test equipment to test it. In that case you might want to have a stack of dedicated equipment on a wheelie cart that can plug into various test jigs for the given product. In that case you would always use a PC to control the test equipment, run the test procedure, record/print results...
-
As others have said it depends quite a bit on the project.
Sometimes it's possible to take one specimen of the board and convert it into a test fixture, this works especially well when the board has a bunch of specialty IO that is either symmetrical (same number of outputs as inputs) or bidirectional (RS485/CAN/etc). For example I have a small board that is basically a special-purpose Ethernet switch with some additional integrated signaling, and I designed it so that a few jumper cuts/component swaps and new firmware allows it to become its own test system. A simple interposer PCB provides pogo pins for the DUT as usual, connecting all of the required signals including all of the network ports between the DUT and fixture. The main PCB has a footprint for a USB connector that's only fitted on the test fixture board, so with some USB-CDC action on the on-board MCU it's possible to interact with the fixture through a serial terminal, and have it run through automated tests of the various signals in and out of the DUT and read out the switch status to check if all of the DUT's ports can support a link. At some point I'd like to add some external network connectors to the fixture, then it would be possible for the fixture to enable one port between itself and the DUT at a time and do automated per-port throughput testing from a connected PC.
Generally if you're building something with an MCU you're going to have a debug serial port, which can be a great start towards automated testing. I have a lib that provides an SCPI-like command system that pretty much goes into every embedded project, so it's super easy to expose internal variables for monitoring or manipulation of a DUT by just adding a new definition to the command list. Something like that, especially if you make the interface consistent across your projects, makes it a lot easier to create test scripts.
-
I make some motion controllers that are all FPGA-based, and controlled through a PC parallel port. So, I made a bed of nails fixture with switches and LEDs to input sense data and display the results. I have a diagnostic program that exercises one feature of the module at a time that runs on a PC. I have tested about 500 of these modules so far. I just test them as sales occur, so I plug in the desired firmware for that order and run the tests.
Jon