点击图片查看原图
|
|
作者:
Eric Lyness - Mink Hollow Systems, Inc.
产品:
LabVIEW, PCI
挑战:
Evaluating the suitability of a laser for making terrestrial measurements in an orbiting satellite by measuring laser beam quality and efficiency over extended life tests while simultaneously simulating the heating and cooling cycles typical of orbit.
解决方案:
Using NI LabVIEW for Mac OS X to combine data from multiple CCD cameras and GPIB and RS232 instruments for comprehensive laser beam analysis, taking full advantage of the multithreading features and object-oriented techniques to produce a stable, flexible, and scalable product at a low cost.
"Since implementation, the system has proved to be very stable and has saved NASA scientists hundreds of hours per year."
A Need for Stability and Efficiency
High efficiency is the key to any laser-based space mission. NASA laser efficiencies are typically below five percent. A one or two percent improvement can greatly reduce the size of the solar array, cooling system, and the overall mass of the satellite required to support the laser. But with lasers, as efficiency increases, stability decreases. NASA scientists searching for a highly stable and efficient laser needed a comprehensive and reliable test tool to aid in its development.
Before development of this system, NASA scientists used two or three PCs running four or more applications to run tests on their lasers. Frequent system crashes made long-term tests difficult. When tests were completed, it took scientists several hours to gather the relevant data from each of the applications. It was a full-time job for one scientist to maintain the test system. NASA asked Mink Hollow Systems to combine all of the functionality into a single, stable Mac OS X application.
NASA required laser beam measurements using two CCD cameras. The principal laser beam measurements were beam width, height, and center measured as the beam exited the cavity. A second CCD was used to measure the beam profile just inside the cavity through the opposing end mirror in order to monitor the intracavity beam intensity and quality. The CCD arrays were exposed to the attenuated beams, and image processing algorithms in the software measured beam width, height, drift, divergence, and fluence. The system measured the optical power of the beam using a precision instrument. The system also measured the laser head and surround environment temperature, as well as the dew point of the room. Simultaneously, the system controlled the temperature of the laser environment in cycles that simulated the temperature variations that would be encountered in orbit.
All data for each test was stored in a single comprehensive html file, including images of the beams, all measurements, and statistical analysis of the data. Tests could run for weeks and could run in a clean room environment. NASA scientists, using the NI LabVIEW Web server, could connect to the system from their office or from home to view and control the test in progress and look at current results, saving them the trouble of “gowning up.”
NASA required stability and flexibility in their system design. We achieved these goals using the LabVIEW multithreading features and applying object-oriented coding techniques, which inherently lead to tremendous scalability. We provided our customer a system that far exceeded expectations at a relatively low cost.
Laser life tests may run for months. If the software fails five weeks into a six-week life test, the test has to be started from the beginning and five weeks have been lost. To achieve stability, we chose a multithreaded modular approach that isolated the execution of each measurement subsystem. The core test control module communicated with the measurement subsystems through LabVIEW queues that it created and destroyed, and it contained no instrument I/O. This feature meant that the core code could be relatively straightforward and thus quite stable.
The test control module sent commands to each measurement subsystem, via queues to start, stop, and provided configuration settings. Measurement subsystems performed all I/O operations, sending the results to the core module through queues. Because each subsystem ran in its own thread, it could handle I/O errors, reset connections, or perform other often time-consuming operations without slowing down or halting the test control module. Because each measurement subsystem module could operate as a stand-alone program, it could be easily tested and, if desired, used in a different application.
NASA needed to duplicate the system at least three times. From previous systems, they already possessed a conglomeration of CCD cameras and instrumentation from a variety of manufacturers. The system had to be flexible enough to adapt to the available instrumentation. We chose an object-oriented coding technique in which the instruments were classified into five objects – camera object, power meter object, temperature measurement object, dew point meter object, and temperature control object. Each object had general functions such as connect, configure, read, and close. NASA scientists could select the instrumentation at run time. Through the object-oriented approach, in conjunction with the multithreaded architecture, scientists could exchange instruments during a life test without interrupting the test. This excellent scalability was a side affect of the multithreaded approach and the object-oriented techniques. Not only could we add entirely new types of instruments to the system without difficulty, but we could also add entirely new measurement subsystems without modification to the core code, thereby also maintaining stability.
We selected an image acquisition board from Active Silicon for use in the Macintosh G4 computer because it provided four CCD camera inputs on a single board, and it was compatible with most analog CCD cameras using PAL or NTSC video coding. A driver written in C created by Mink Hollow Systems transferred images from the Active Silicon board to LabVIEW and performed some image processing. The instruments communicated with LabVIEW via RS232 or GPIB. For GPIB communication, the NI GPIB-ENET/100 device provided access to a GPIB bus over an Ethernet connection. For RS232 communication the system used a Keyspan USB/RS232-4 serial to USB converter. NI-VISA for OS X and LabVIEW meant that drivers for each instrument were the same for serial and GPIB versions of the instruments.
Since implementation in fall 2003, the system has proved to be very stable and has saved NASA scientists hundreds of hours per year. Thanks to the object-oriented approach, were able to reuse the existing instrumentation and CCD cameras, saving NASA thousands of dollars in instrumentation as the system was duplicated. With the flexibility and scalability of the software, we have developed a general-purpose laser characterization system as a stand-alone software product.