Developing an electronic control unit (ECU) for an automotive fuel cell system capable of demonstrating significant progress toward achieving a commercially viable fuel cell system design that is competitive with conventional internal combustion-based power trains.
Designing and implementing a real-time embedded control system for an automotive fuel cell system using the NI LabVIEW Real-Time and LabVIEW FPGA modules and an NI CompactRIO controller, and verifying the system with LabVIEW and a real-time PXI chassis hardware-in-the-loop (HIL) system.
Since 1992, Ford Motor Company has been dedicated to fuel cell system (FCS) R&D. Despite our significant progress, several deficiencies have prevented FCSs from becoming a commercially viable technology that is competitive with conventional internal combustion-based power trains. Our attempt to eliminate these deficiencies began by demonstrating significant improvements in areas such as system lifetime and freeze starting.
In conjunction with our groundbreaking FCS design, we developed a new control system using rapid prototyping. Changes occurred during development while the design team iteratively refined the design through verification following the systems engineering V-model. These design changes often affected the interfaces between subsystem components such as the air compressor control module and the fuel cell control module. Even though ECUs have been widely successful for production vehicles, better choices for rapid prototyping control systems exist. Instead of modifying production ECU I/O circuits to adapt to interface changes, we used CompactRIO to rapidly prototype our fuel control unit (FCU). With CompactRIO, we quickly adapted to the design changes and experimented with new sensors and actuators for novel design solutions.
We implemented an HIL system comprised of an NI PXI-8186 controller in an NI PXI-1010 combination PXI/SCXI chassis with associated PXI and SCXI I/O cards, including a controller area network (CAN), to verify the control strategy functionality embedded in the CompactRIO controller. This HIL system, implemented with LabVIEW Real-Time, has a graphical user interface (GUI) that provides manual and automatic input stimuli to the ECU to validate the control strategy operation while displaying the CompactRIO I/O feedback on the HIL monitor. The HIL system validation was very successful, and we only had to make minor changes to the strategy after the CompactRIO began controlling the actual FCS plant.
Automotive power train control demands real-time performance. To provide the determinism required for real-time performance, the LabVIEW Real-Time Module delivers a commercial real-time operating system (RTOS) for the selected controller. When we switched from using an NI cRIO-9002 to an NI cRIO-9012 embedded real-time controller to boost performance, LabVIEW Real-Time automatically switched from a Pharlap RTOS to a VxWorks RTOS. With NI products working to support the RTOS implementation, our team focused on delivering a fuel cell control system instead of RTOS details.
The FCS controller receives various inputs from sensors, actuators, and other controllers and systems within a vehicle. A CAN, now ubiquitous in automotive designs, transmits and receives a significant majority of the I/O within and outside the FCS. During laboratory testing, we simulated master vehicle control by an extensive test stand based on LabVIEW, which communicated via CAN to the slave FCS controller. For these reasons, CompactRIO CAN support is critical for automotive FCS applications. When we needed more performance for our CAN implementation, NI quickly provided a recently developed method for supporting CAN on the faster, VxWorks-based platforms, such as the cRIO-9012. In addition to enabling the use of the CAN channel API, the new CAN frame channel conversion library was even faster than before, thus reducing our development time.
NI products have always been well-known for supporting an open system architecture. NI Measurement & Automation Explorer (MAX) easily imported CAN message databases developed in a tool by another CAN manufacturer. This feature allowed us to exchange databases without translating or recoding CAN message databases.
For this project, we implemented the control strategy with the LabVIEW Professional Development System in conjunction with two add-on modules. First, we used the LabVIEW Real-Time Module to implement the software in real time to program the real-time controller. Next, we implemented the FPGA-based software using the LabVIEW FPGA Module to conduct all of the I/O including CAN. Both of these add-on LabVIEW modules seamlessly integrated into the LabVIEW development environment, and graphical differencing was one of the essential LabVIEW features that we used.
In addition, the NI Real-Time Execution Trace Toolkit quickly became an important tool to help solve chronometric issues. Using this toolkit, we found areas of the real-time embedded code that were not performing as expected, and then optimized the code to ensure correct real-time performance. Without a product like the NI Real-Time Execution Trace Toolkit, we would have needed expensive external test equipment such as in-circuit emulators and logic analyzers.
While some developers have a difficult experience when implementing version control, due to the excellent integration of LabVIEW with Microsoft Visual SourceSafe version control program, which we used during software development, we successfully and seamlessly integrated version control. With a simple right-click on the source VI icon in the LabVIEW project window, we can display a list of functions such as file check-in or check-out. Easy-to-use software is critical to gain developer support for version management software.
We developed the control system for our first internally designed FCS using LabVIEW for several reasons. First, the productivity gains from intuitive graphical programming and integration with hardware helped us complete the project with fewer resources than the software we previously used. Second, since NI technology spans many applications including test, measurements, and embedded control, we were able to leverage the same LabVIEW development environment and similar hardware across various engineering projects. Third, since LabVIEW VIs are modular and have an intuitive flowchart representation, developers can easily develop, maintain, and understand code. Because of this, we were able to reuse VIs developed more than 10 years ago as a basis for our HIL system.
In addition, our laboratory test system, based on LabVIEW and NI hardware, easily stored test data in the technical data management streaming (TDMS) file format for analysis in NI DIAdem data management software. Along with normal data visualization, we used DIAdem to rapidly and automatically search through multiple data files to find any performance anomalies and graph them with annotations. Finally, NI technical support – a key criterion for success – has always been the best in the industry. Ford has a long history with NI, and we have used LabVIEW to develop various aspects of every fuel cell electric vehicle that we produce and to successfully design and implement a real-time embedded control system for an automotive FCS.
Kurt D. Osborne
Ford Motor Company
1201 Village Rd
Dearborn, MI 48121