General Purpose Production Tester

 

Objective: The client needed a new, functional tester that could be used to test PCB assemblies and top level assemblies. The tester needed to be flexible enough to be easily adaptable for use at the PCB assembly subcontractor location, in house for final assembly, and in the field for field service and support with little or no training. Cost and ease of use were major factors.

 

The tester needed to support digital and analog I/O as well as RS-232 communication to/from the unit under test (UUT) as well as provide communication to an external printer. The digital I/O needed to support pulse data rates of up to 250kHz and the analog I/O needed to support voltages as high as 12 VDC. The tester was also required to power the UUT with 12 VDC.

 

Result: Initially several proposed architectures were explored. The previous tester was a hard wired tester that incorporated dedicated switches, dials, LED's, power supplies and meters typically found in most custom built testers. For this design, it was decided that what was required was a more flexible solution that provided an easy path for future product upgrades. To provide the required flexibility and cost objectives, it was decided to base the design around an off the shelf CPU board with a custom I/O interface board, all housed in an available enclosure with a touch screen LCD. This architecture provided a small form factor tester that could then be customized using software to achieve the desired results.

 

Several off the shelf CPU boards were studied, eventually the BeagleBone Black (BBB) was chosen since it provide a large number of I/O pins and was relatively inexpensive. The BBB was then mounted on a custom interface PCB that provided the necessary signal voltage translation between the BBB and the UUT. A 4D Systems 7 inch LCD with touch screen was included to provide the user with an easy to use graphical interface. The BBB, custom PCB and LCD are all mounted in a Pactec PT-10 plastic enclosure, providing the user with a compact enclosure measuring less than 11" x 8" x 3". A side benefit of using the BBB was that now the tester had both USB and Ethernet connections. The USB connection allowed for easy expansion to a wide range of accessories while the Ethernet connection allowed for remote control and downloading of software updates.

 

The Linux Debian image on the BBB makes a great platform for the tester. The application code was developed using Python with Tkinter providing the Graphical User Interface (GUI) and the Adafruit_BBIO package providing some of the digital I/O and all of the analog input. The high speed digital I/O signals (250kHz) were too fast to be supported by the Adafruit I/O package so code was developed for the AM335x's PRU (Programmable Real-Time Unit Subsystem). Using the 32 bit PRU for digital I/O allowed the code to provide real-time responses while still operating the high level application code in the Linux environment. The end result was a complete S/W package that was quick to develop and easy to support future upgrades.

 

Our Mission is to provide innovative solutions and quality products to our clients, while  providing them with the tools necessary for their success.

Original Technology

5100 Eldorado Pkwy

Suite 102-363

McKinney, TX 75070

Copyright 2019 Original Technology, All Rights Reserved

 

General Purpose Production Tester

 

Objective: The client needed a new, functional tester that could be used to test PCB assemblies and top level assemblies. The tester needed to be flexible enough to be easily adaptable for use at the PCB assembly subcontractor location, in house for final assembly, and in the field for field service and support with little or no training. Cost and ease of use were major factors.

 

The tester needed to support digital and analog I/O as well as RS-232 communication to/from the unit under test (UUT) as well as provide communication to an external printer. The digital I/O needed to support pulse data rates of up to 250kHz and the analog I/O needed to support voltages as high as 12 VDC. The tester was also required to power the UUT with 12 VDC.

 

Result: Initially several proposed architectures were explored. The previous tester was a hard wired tester that incorporated dedicated switches, dials, LED's, power supplies and meters typically found in most custom built testers. For this design, it was decided that what was required was a more flexible solution that provided an easy path for future product upgrades. To provide the required flexibility and cost objectives, it was decided to base the design around an off the shelf CPU board with a custom I/O interface board, all housed in an available enclosure with a touch screen LCD. This architecture provided a small form factor tester that could then be customized using software to achieve the desired results.

 

Several off the shelf CPU boards were studied, eventually the BeagleBone Black (BBB) was chosen since it provide a large number of I/O pins and was relatively inexpensive. The BBB was then mounted on a custom interface PCB that provided the necessary signal voltage translation between the BBB and the UUT. A 4D Systems 7 inch LCD with touch screen was included to provide the user with an easy to use graphical interface. The BBB, custom PCB and LCD are all mounted in a Pactec PT-10 plastic enclosure, providing the user with a compact enclosure measuring less than 11" x 8" x 3". A side benefit of using the BBB was that now the tester had both USB and Ethernet connections. The USB connection allowed for easy expansion to a wide range of accessories while the Ethernet connection allowed for remote control and downloading of software updates.

 

The Linux Debian image on the BBB makes a great platform for the tester. The application code was developed using Python with Tkinter providing the Graphical User Interface (GUI) and the Adafruit_BBIO package providing some of the digital I/O and all of the analog input. The high speed digital I/O signals (250kHz) were too fast to be supported by the Adafruit I/O package so code was developed for the AM335x's PRU (Programmable Real-Time Unit Subsystem). Using the 32 bit PRU for digital I/O allowed the code to provide real-time responses while still operating the high level application code in the Linux environment. The end result was a complete S/W package that was quick to develop and easy to support future upgrades.