Functional testing of printed circuit boards and modules using automated PCB functional testing.
Today, functional testing of PCB makes up a significant part of our production. The use of automated control PCB functional testing is a prerequisite for improving the quality and reliability of products, increasing their competitiveness, and reducing labor intensity and production time.
This article summarizes our view on PCB functional testing.
The principle of operation and scope of automated test benches for functional testing of printed circuit boards and modules.
Automated control PCB functional testing, as a rule, apply influences to the control points of a printed circuit board (block or module), simulating its operation in various modes, and removing its output reactions. Test points can be edge or external connectors, or internal points (component pins or signal lines).
By comparing the output signals with the given settings or timing diagrams, a conclusion is made about the operability and serviceability of the control object.
What is the key factor in PCB functional testing?
The key factor is the submission of influences, measurements of reactions, comparison, and formation of the final test protocol – all this is done automatically.
During the production process, the electronic unit can go through the stages of adjustment, and be subjected to various tests, technological runs, and checks. In this case, the same stand can be used, but with different control programs or with different settings.
The same applies to the operation phase: for functional testing of a printed circuit board or module, one program can be used, for its repair or adjustment, another; but these programs can be executed on the same stand.
Such versatility allows more efficient use of these PCB functional testing in the enterprise.
Benefits of using automated PCB functional testing
Here are the main advantages of using automated PCB functional testing:
- a significant reduction in the time for checking electronic components;
- exclusion of errors due to the “human factor”;
- improving the quality and completeness of control;
- increasing the reliability of the results;
- accumulation and analysis of fault statistics to improve production technology or operation;
The composition of the PCB functional testing
Automated PCB functional testing is always a software and hardware complex. It is the use of the software part that gives the hardware flexibility and versatility.
Hardware Testing
The hardware part is fully configurable, and its composition is determined by the methods of checking the object of control, that is, those effects that need to be applied, and those quantities that need to be measured/controlled.
The hardware part takes over the processes of switching, setting actions, measuring reactions, power supply, etc.
To do this, the hardware may contain switching, supplying, and measuring modules of its own design (ADC, DAC, generators, frequency counters, etc.), individual devices (meters, calibrators, power supplies, etc.), as well as adapters for connecting controlled objects to the stand.
To connect to the internal points of the electronic unit, a probe (installed by the operator), a matrix of probes, or a coordinate table with “flying” probes is used.
In addition, the stand includes a computer (desktop or laptop); or the role of a computer is performed by a microcontroller with an LCD display. The computer (or microcontroller) software controls the rest of the hardware and interfaces with the operator.
Software Testing For PCB Board
The software consists, as a rule, of the main program (development and execution environment), and a set of control programs.
The main program is for:
- development of control programs;
- implementation of control programs;
- the viewing, printing inspection protocols, and other archival operations;
Most PCB functional testing uses the main program PAKiDEB (program for automated control and diagnostics of electronic components). This program uses various stand drivers to control their hardware. This unification led to several positive factors. Firstly, a single user interface at the PCB functional testing facilitates operator training.
Secondly, the PAKiDEB software can be continuously improved and supplemented with new functions, and new versions will be able to work on the PCB functional testing available at the enterprise. Thirdly, it reduces the time and cost of developing new PCB functional testing.
What is the function of the control program?
The control program is an algorithm consisting of commands that control the hardware of the stand and process the measurement results.
As a rule, the control program consists of tests (different modes of operation of the electronic unit), and each test consists of separate checks (of a signal or parameter).
Verification typically consists of switching commands, programming driver and measurement modules or instruments, performing a measurement, comparing with setpoint(s), and logging the data. Such a division allows, for example, to carry out only some tests for an object, or to loop some tests.
The set of control programs contains various control programs for different objects of control (since one stand can check different blocks), and for different modes (technical run, final control, check, repair, adjustment, etc.).
It is important to note that the set of control programs includes not only programs for checking electronic components, but also programs for self-control of the bench hardware. Thus, the user can always make sure that the stand is in good working order.
Working with the PCB Functional Testing
First of all, it is necessary to mention that the PCB functional testing has an access control system, where a password and an access level are set for each operator:
- User – can only select control programs and run them; as well as work with their archive of protocols (print, search, etc.).
- Administrator – has all the capabilities of the User, but can also change the settings;
- Programmer – has maximum capabilities, he can not only run but also create and change control programs, as well as settings;
When the user turns on the stand and enters his password, his data will be automatically entered into all the protocols of the blocks he checked.
The usual order of the “User” is quite simple:
- connect another control object to the stand,
- select the necessary control program and run it;
- if during the test it is necessary to make any manual switching on the electronic unit (for example, install a jumper, press a button, etc.), the program issues a message for the operator and waits for the action to be performed;
- At the end of the execution of the control program, view the generated test protocol, and, if necessary, print it.
As you can see, there is nothing complicated in the User’s normal work with the stand, it does not require highly qualified personnel, special knowledge, or training.
As mentioned above, they are allowed to change the settings. Thus, the Administrator cannot exclude any checks or measurements from the control program but can adjust the tolerance limits. This is necessary, for example, when a new product is put into production, or when components are replaced in a product when its operating parameters have changed.
But let’s talk about the work of the Programmer in more detail.
Development of control programs
The best news is that the Programmer does not need to learn a new programming language.
The good news is that among the many ways to create programs, we have chosen the easiest and most understandable for users.
The programmer is offered a list of commands available for this stand. First of all, these are commands for controlling the hardware of the stand: switching channels in the measuring inputs, commands for preparing measurements, starting measurements, controlling power lines, etc.
In addition, there are commands for implementing algorithms: commands for comparing, conditional/unconditional jumps, displaying messages on the screen, entering data into the protocol, etc.
From this list, the programmer selects commands that are inserted into the program text. By the way, all commands are in Russian.
This method has several advantages.
First, the programmer cannot make a syntax error in the command name or mix up the parameters.
Secondly, the program is easy to read and understand, as it is written in Russian.
Thirdly, there are no such concepts as compilation (assembly) of a program; the program can be edited and run immediately.
Of course, there are also tools for debugging control programs: launching by steps or before a command, viewing variables, etc.
Verification protocols in PCB Functional Testing
The results of measurements and comparisons are stored in the bench database.
From them, verification protocols are formed, and the format of the protocols is set by templates.
This approach, firstly, makes it easy to customize the form of the protocol to the requirements of the enterprise or various departments.
Secondly, according to the results of one check, it is possible to create different types of protocols, of different completeness or format.
For example, when checking a batch of products, only a short test protocol may be sufficient for the Quality Control Department, with the main parameters of each product, or a simple “Good” / “Rejected” result.
At the same time, a technologist can print out a complete protocol for sample or rejected products, with all measured parameters.