top of page

Developing a Universal ECU System Using CompactRIO

*As Featured on NI.com

Original Authors: Kristof Ceustermans, Karel de Grote University College, Department of Applied Engineering

Edited by Cyth Systems

Engine Control Unit
Engine Control Unit

The Challenge

Developing a high-efficiency, low-emission adaptable engine control unit (ECU) to control engines running on standard gasoline as well as hydrogen, natural gas, and diesel.


The Solution

Using the NI LabVIEW FPGA Module and NI CompactRIO to simulate, test, and control our engine and perform on-the-fly control adaptations.


Engine Control Units

Engine Control Units or sometimes called engine control modules help us program and tune combustion engines to maximize fuel efficiency and provide a sustainable power method. Programmable ECUs are a necessity when working with any fuel sources and accelerate research on cutting edge fuel sources such as hydrogen. Several ECUs take data from the rotations per minute (rpm), request the torque/throttle position or boost pressure in the turbocharged engine, and determine the optimum ignition time and period as well as the optimum fuel injection amount and time. We use additional parameters such as engine temperature to apply a correction on these values. For example, a cool engine needs a richer fuel mixture compared to an engine running at its normal operating temperature.


Off-the-shelf programmable ECUs are not suited for our university’s research because they are limited in programming capabilities, take a predefined set of input variables (sensors), and are usually optimized for motorsport applications. We designed a very flexible, programmable motor management system using the CompactRIO (cRIO) programmable automation controller because the platform is modular and expandable for additional sensors and contains a field-programmable gate array (FPGA). With the FPGA, the CRIO’s high-speed data acquisition allows for our motor’s sensor data to be tracked using inputs and outputs in real-time.

Left: NI cRIO-9038, Right: NI cDAQ-9178

Engine Sensor Simulation

Before connecting our ECU system based on cRIO to our test bench engine, we verified the module’s function using Hardware in the Loop simulation (HIL). To do this, we applied simulated sensors to our CompactRIO engine controller, which are controlled by a separate application based on LabVIEW and NI CompactDAQ, generating the necessary voltage and current normally applied by the sensors. We discovered that the inductive signals typically generated by a sensor connected to the camshaft and crankshaft are usually unpredictable 80 Vpp signals, where the NI C Series output modules are limited to 60 V. To better represent this signal and save time, we connected a real sensor to a gear and electric motor and the application based on LabVIEW and Compact DAQ controlled the motor rpm. Then we fed the real signal to the CompactRIO ECU.


Designing an ECU Using CompactRIO

We used the LabVIEW FPGA Module to develop our ECU and we can implement the system with CompactRIO using LabVIEW. We created tables using the rpm, requested torque as input values, and used LabVIEW VIs interpolate array functions to find the appropriate actuator parameters such as spark ignition timing and fuel injection timing. We also acquired sensors such as manifold air pressure (MAP) and engine temperature and applied the correction parameters. With the CompactRIO setup, we can easily add more and nonstandard sensors for research as well as adapt for different engines and fuel types. CompactRIO uses the FPGA to acquire the crankshaft and camshaft angular position and generate the actuator signals at the correct time.

In addition to the standard engine parameters, we plan to measure the cylinder pressure and use the data as closed-loop control parameters in our engine controller to maximize engine efficiency. The mixture should best be ignited at the highest-pressure level to generate the most power. First, we want to optimize the control of a normal, four-cylinder gasoline car engine. By implementing the fast and reliable response time of the FPGA, we can focus our research on improving the efficiency of the engine by better controlling the combustion. Moreover, we will perform tests on our test engine under varying load conditions to further enhance our control algorithms.

Test bench controls in the engine testing workshop.
Test bench controls in the engine testing workshop.

ECU Developments for the Future

Hydrogen is an environmentally friendly fuel because it does not generate any carbon dioxide. We are working to adapt the ECU to control a hydrogen-fueled car engine. When using hydrogen as a fuel, the hydrogen/air ratio should be matched to at low torque to obtain perfect combustion without any hydrogen or air surplus. However, at higher torque, the engine is best operated at a poor fuel mixture by applying a surplus of air to the engine, which is also called the lean burn principle.

To reduce nitrogen oxide emissions, the engine should not operate at the intermediate fuel/air mixtures. In this control strategy, we will open the throttle valve all the time and use a high air/fuel ratio. The requested torque is controlled by varying the fuel amount. However, when more torque is needed than the lean burn principle can deliver, we have to control the throttle valve instead and switch between the two control strategies. Currently, there is no commercially available engine control system other than the BMW Hydrogen 7 that can switch between those strategies. We plan to implement an ECU using CompactRIO to switch between our control schemes and deliver a commercially available system to interested third parties.


Original Authors:

Kristof Ceustermans, Karel de Grote University College, Department of Applied Engineering

Edited by Cyth Systems







bottom of page