Project Number: P11210

Copyright © 2008 Rochester Institute of Technology

WOCCS: RF Test Bench

Michael DeFrancis – Computer EngineerDemetrios Koukouves – Mechanical Engineer

Shaheer Khan – Electrical EngineerAndrew Nosal – Electrical Engineer

Copyright © 2008 Rochester Institute of Technology

ABSTRACT

The primary objective of the RF Test Bench project is to design and develop a testing device capable of testing a wireless RF communication system for its performance characteristics. The project is a part of Wireless Open Architecture/Open Source Command & Control System (WOCCS) family of projects, which aim to develop a wireless RF communication system. The team aims to provide Harris Corporation, the customer, an easy to use mobile device capable of testing a RF module for its transmission performance and power capabilities.

The final device tests a RF module using both software and hardware components and displays to the required data by the user through a laptop. In this paper, the overview of test bench and WOCCS, the design process for hardware and software components, and the results of testing WOCCS system will be described in detail.

NOMENCLATURE

WOCCS – Wireless Open Source/Open Architecture Command and Control System.

RF – Radio Frequency

PCB – Printed Circuit Board

GUI – Graphical User Interface

MOSFET – Metal Oxide Semiconductor Field Effect Transistor

Op-amp – Operational Amplifier

LED – Light Emitting Diode

DUT - Device Under Test

ADC - Analog-to-Digital Converter

'Serial Port'- Serial Emulation over USB

USB - Universal Serial Bus

INTRODUCTION

Harris Corporation is world renowned for its products for various defense, government and professional organizations in the field of communication and control. With the development of wireless technologies, the demand for its application in communicating and controlling equipment has also increased. In the present world, the need to communicate and the ability to remotely control applications and equipment is a major strategic weapon for any military and also finds uses in educational, medical and commercial purposes. The ability to control a device in the field while sitting in secured location not only reduces human casualties but also provides strategic control.

The primary purpose of the WOCCS system is to enable wireless command and control of a remote device through a base station. The WOCCS project family is a continuation of the P10205 LV-1 Wireless Command and Control System project, which implemented a preliminary RF transceiver modem on a LV-1 Land Vehicle robot aiming to send user commands and receive sensory data. The primary purpose of the present WOCCS system is to further enhance the model and enable wireless transmission of data over different ranges between a remote device through a base station. The system aims to transmit basic telemetry data between the two units at different ranges with minimal data and bandwidth loss. The system consists of a portable base station, which uses an RF module to transmit and receive data. The remote unit also consists of an RF module for transmission and reception of data. The remote unit RF module design aims to easily interface with mobile units or vehicles on land, water or air. The WOCCS system on the whole is designed to be portable and is powered through a rechargeable Li-ion battery.

The RF Test Bench, as a part of the WOCCS system, is responsible for demonstrating the functionality of the system. In industry, every major product design requires extensive testing before the product is deemed fit for use. A test bench is general is designed and used in industry to provide validation of the theoretical concepts and demonstrate the successful working of any system. The RF test bench for the WOCCS system tests the system for the data transmission and the power usage. Further, the design for the test bench aims to incorporate future compatibility for testing other communication products.

In the paper, we further explain the overview of the RF Test Bench, its overall process, the tests to be performed on various subsystems. The Design Methodology section explains the design process for hardware (Power Board & Arduino), the enclosure and the software GUI programmed for the testing of the system. The paper also gives the overview of subsystem tests, the experimental setup, and the results obtained from the tests.

OVERVIEW

The RF Test Bench consists of two distinct features: the Hardware and the Software. The hardware of the test bench includes the Power testing board, the Arduino board and the enclosure. The software component includes the Power Meter GUI and Control Panel GUI. The test bench as a device to test functionality of the WOCCS system, occupies an unique position in the family. Figure 1 displays the overview of the test bench in relation to the WOCCS system.

The WOCCS Test Bench tests the power, data loss, latency, bandwidth, and range of the WOCCS system. Due to the different requirements for each of these tests, the test bench consists of several components. These components are:

For the Power Test:

1x Laptop

Arduino Board

Arduino Software

Power testing board

Power Meter GUI Software

For the Latency, Bandwidth, Data Loss, and Range Tests:

Figure 1 : System Architecture Block Diagram

2x Laptops

Test Bench Control Panel Software

Serial Communication Protocol over USB

The Power Test allows the user to view the voltage across the device's battery, the current being drawn by the system, and the power used by the system. This is accomplished by measuring voltages on the WOCCS system using an external test bench device consisting of a power test board that formats the voltages, and an Arduino board which reads them through its ADC converter and outputs them to the PC for real-time display by the power meter GUI.

The Test Bench Control Panel Software allows the user to simulate input to the WOCCS System, and measure output. This GUI interacts with the RF devices according to a Serial Communication designed by the Test Bench team in collaboration with the RF teams.

DESIGN METHODOLOGY

Hardware

Hardware – Power Testing Board

The goals of the hardware design were to measure instantaneous power consumption and report the measurements back to the computer through USB communications. In order to monitor power consumption throughout the operating time test as defined by the mission profile, a means to measure the voltage and current had to be designed. By measuring the voltage of the battery, as well as the current drawn by the system, instantaneous power consumption can be calculated. Once measurements were taken, the

values returned should be communicated over USB to the computer so that the results can be displayed graphically.

Figure 2 displays the circuit schematic for the Power Testing board. In order to take accurate measurements of system performance, the Test Bench should not impose much of a load on the system. The current measurement had to be done with a sense resistor that was to be placed in between the battery and the system connected in series to the system. This sense resistor had to be small enough so that it did not drop too much voltage across it, but had to be big enough for the voltage being dropped across it to be measurable. The voltage developed across the sense resistor was expected to be very small during normal operation, so an operational amplifier (op-amp), configured in a differencing configuration, was used to amplify the voltage difference across the resistor. The differencing op-amp was setup to have a voltage gain of 5.24 by using 82kΩ resistors on the inputs, and a ~430kΩ trim potentiometer on the feedback. To ensure that the Test Bench imposed minimal load on the system, a pair of voltage-followers were used prior to the differencing op amp to isolate the Test Bench from the WOCCS system.

The battery voltage was measured using another op-amp in a differencing configuration. The op-amp was setup to have a gain of 1 by using a 220kΩ resistors on the inputs, and a ~220kΩ trim potentiometer in the feedback. The output of the op-amp was divided down by ~5.3 by using a voltage divider circuit that consists of a 430kΩ resistor and a 100kΩ resistor in series to ground. The output from the voltage divide was then sent to the microcontroller for processing and forwarding. In order to ensure that the Test Bench imposed a minimal load on the WOCCS system, a P-channel MOSFET was used as a switch. When on, the MOSFET will act as a short, and the battery measuring circuitry is now connected; and when off, the MOSFET is an open, and the battery voltage measuring circuitry is not connected to the WOCCS system. The MOSFET was chosen as a PMOS since it was going to be switching high voltages and not to ground.

Op-amps served two main purposes in the design of the Test Bench; they isolated the Test Bench from the WOCCS system, as well as took differences between two voltages. The sense resistor allowed the Test Bench to measure current as a voltage.

Hardware – PCB Layout

Figure 1 : PCB layout for the Power Meter

The PCB layout for the power meter board was done through the PCB Artist CAD software. Keeping in mind in the needs and budget of the system, and the circuit layout, a 2-layer board was selected as it provided enough room for placement of components. The board was designed to be 3" x 2.5" in dimension and uses one-ounce copper. The board also contains spacer holes to mount the Arduino board on top.

The final board, as shown in Fig (), required some adjustments due to introduction of a resistor. The initial prototype board while testing did not output the required voltage levels due the floating pin of one of the op-amp. A quick and easy modification was made on the board, which required the connection of a 10 kΩ resistor between Vbatt+ and the ground.

The board required extensive time to design and was verified by experienced professors. It was also manufactured for cheap using the student discounts available through the circuit fabrication company.

Hardware – Arduino

When looking for a microcontroller, the top priorities were that the microcontroller be capable of USB communication with the computer, and to have an Analog to Digital converter on board. The main tasks of the microcontroller were going to be using an analog to digital converter to read a voltage, and perform minor arithmetic on it, and to send the new value over USB to the computer so that it can be graphically displayed.

The Arduino was a no brainer selection thanks to its built in USB communication capabilities, on-board analog to digital converter, and the fact that the whole Arduino platform is open-source. The Arduino also comes in a demo-board format, which requires no PCB layout or additional board design to be done.

Hardware – Enclosure and Packaging

The goal of the enclosure was to provide suitable housing for the base and remote RF Test Bench units that would protect the internal circuitry from mild environmental conditions. The WOCCS project was not designed for severe weather and environmental conditions and the RF Test Bench remained similar in scope. An extruded aluminum enclosure was selected for the ease and practicality it offered. The enclosure can be seen in Figure 4. The aluminum enclosure features rails internally on both sides that allow the power testing board to slide in and out of the enclosure with minimal effort. The face plate of the enclosure was machined to allow the power testing board to interface with the power board via a 4-pin Molex connector. The face plate was also machined to allow for a USB connection between the Arduino and the laptop. A small hole was drilled for the LED. The dimensions of the enclosure were selected to specifically fit the power testing board which is 3 in by 2.5 in (76.2 mm by 63.5 mm) in size. The rails allow easy sliding for a two layer PCB which has a thickness of 0.0625 in (1.59 mm).

The Arduino board is mounted to the power testing board using 4 non-conductive plastic standoffs with plastic screws. To interface the power testing board with the Arduino, 6-pin and 8-pin flex cables were used which were soldered into the power testing board and then inserted into the pin headers of the Arduino. In order to connect the power testing board with the power board, a bundled cable was fashioned using crimping terminals and keyed 4-pin Molex connectors.

The enclosure was grounded by tying a wire internally to the aluminum. The wire was then soldered to a point in the ground plane of the power testing board. Grounding for the power testing board was linked to the Arduino ground which was linked to the laptop ground.

Figure 4 :Test Bench Enclosure

Software

The software for this project can be divided into two groups. The first set of software is the software that controls and interfaces with the power meter. The second group of software is the software that generates data input, and quantifies system properties by measuring data output.

Software – Power Meter

The software written for the power meter can be further divided into two sub-categories. First, there is the software written for the Arduino micro-controller. Second, there is the PC software written to interface with the Arduino micro-controller, and provide feedback to the user.

Software – Arduino

The free and open source programming environment provided by Arduino is the technology used to program the Arduino. It was chosen due to its high volume of public sample code, it's relatively simple learning curve, and its high quality support documentation. Writing code using this tool is very similar to writing in C, except that instead of the standard template library (STL) used in C, the Arduino programming environment uses its own library.

The software written for the Arduino completes several time-critical tasks: it needs to grab incoming data over the serial port, switch operating modes, perform analog to digital conversions, and output data back over the serial port. For this software, a Moore State Machine was designed to perform the needed functionality. Moore State Machines control output as a function of the current state alone. The state machine switches between four modes of operation: idle, reading power, reading voltage, and reading current. The commands that the PC sends to the Arduino are the following: 'W' -revert to idle state, 'V' -switch to voltage reading state, 'C' -switch to current reading state, 'P' -switch to power reading state. The Arduino software was designed with robustness in mind. The software was tested by using a serial packet analyzer to check the data flowing from the Arduino to the PC. In particular, the type of data received on the PC was examined to ensure that the Arduino was operating in the proper state for every possible use case. Additionally, the frequency of data received on the PC from the Arduino was examined to ensure that the device was streaming data in real-time according to specifications.

Upon reset, the power meter begins operation in the idle state. When in the idle state, the machine simply sets the LED on the power test board to green indicating that no tests are being performed, and polls for command data over the serial port indicating that it needs to change its state. Whenever the software enters the power reading, voltage reading, or current reading states, it sets the LED on the power test board to red indicating that tests are being performed.

When in the voltage reading state, the software enables a gate transistor on the power test board which enables reading of battery voltage, waits for any capacitance to be mitigated, takes a voltage reading using the ADC, and then outputs the data over the serial port. This operation is performed continuously. In addition, the software delays for 100 ms after beginning a read over the ADC to ensure that the calculation has settled. Furthermore, the Arduino uses a linear regression curve to map the voltage received to the equivalent voltage seen at the battery. When in the current reading state, the software performs the same calculation as for voltage, except that the gate transistor is not enabled, no regression curve is used, and current is measured instead of voltage. Current is calculated by measuring the voltage drop over a sense resistor that is input to analog pin three on the Arduino, and referencing it to the exact resistance of this sense resistor to obtain current. Current is output over the serial port in milliamps. Finally, when in the power reading state, the software performs both the voltage calculation and the current calculation described above; however, instead of outputting the current and voltage separately over the serial port, in this case the software computes the power in milli-Watts.

Software – Power Testing GUI

The free and open source programming environment known as 'Processing' was chosen as the technology for use by the GUI software that interfaces with the power meter. There were several reasons for this. The primary reason for this was due to the numerous libraries provided by Processing that allow for custom display of data, manipulation of individual pixels on the screen, etc. This was important because the power meter GUI needed to graph power data in real-time. The other reasons were: the Processing development kit was designed by the same people that created the Arduino development kit, and the Processing tool provided instant access to numerous examples.