Develop, verify, and calibrate an automotive auxiliary oil pump without a pressure sensor
Use Model-Based Design to model and simulate the controller, and use Simulink Real-Time to validate the design and automate system identification and calibration
“Given the time pressure we faced, Model-Based Design was our only chance to design a controller that satisfied our customer’s pressure regulation requirements, build a test rig to automate labor-intensive tests, and rapidly set up a calibration process in production to maximize performance.”Jens Löffler, ebm-papst
The main oil pump in an automotive automatic transmission circulates oil when the engine is running. When the combustion engine in a hybrid vehicle is shut down, that responsibility falls to an auxiliary oil pump driven by an electric motor. Most auxiliary pumps are equipped with a sensor that monitors and regulates oil pressure. These pressure sensors fail frequently due to heat stress from transmission oil, which regularly reaches temperatures higher than 125° C (257° F).
Engineers at ebm-papst overcame this challenge by designing an auxiliary oil pump that does not use a pressure sensor. Model-Based Design with MATLAB® and Simulink® enabled them to develop and deploy a controller, build an automated system for engineering and end-of-line testing, and adapt to shifting customer requirements.
“Well into the project our customer’s requirements changed, and we had to significantly increase the accuracy of our pressure control,” says Jens Löffler, team leader for technology development at ebm-papst. “Model-Based Design made it possible to meet our customer’s changing requirements in a short time frame. In fact, without MATLAB and Simulink it would have been impossible to meet these new requirements in any time frame.”
Recognized as the world’s leading manufacturer of electric motors and fans, ebm-papst had never previously designed an oil pump. To design a pump and controller that would operate reliably at extreme temperatures, the engineers first needed to build a prototype to validate their design idea. In place of a pressure sensor, they planned to measure current draw using a shunt resistor on the electric motor. To accurately estimate pressure based only on this measurement, they needed to thoroughly characterize the relationship between the motor’s current draw and its output torque, which is influenced by many parameters. They then needed to analyze the relationship between this torque and the pump’s output pressure, which is significantly influenced by temperature.
Having validated this approach, the engineers would need to test the performance of more than 100 pumps and pump variants, all operating at different speeds, pressures, and temperatures. On previous design projects, engineers conducted similar experiments manually and compiled the results in spreadsheets, but this approach would not enable them to meet their deadline for the pump project.
Because the microcontroller lacked the processing power to handle a standard field-oriented control design, the engineers had to design and deploy a custom controller. They needed an automated way to calibrate a system model inside the controller during production to account for manufacturing differences between individual motors and pumps.
ebm-papst developed, tested, and calibrated the auxiliary oil pump using Model-Based Design with MATLAB and Simulink.
Working in Simulink, the engineers developed a controller model for the permanent magnet synchronous motor (PMSM) based on field-oriented control principles. They used Stateflow® to manage pump operating modes, including idle mode and various pressure-level modes.
They incorporated IIR filters from Signal Processing Toolbox™ to remove noise from current measurements and speed measurements coming from Hall sensors.
The engineers refined their controller design based on the results of closed-loop simulations of the controller model and a plant model of the PMSM.
To create a real-time prototype, they generated code from the controller model using Simulink Coder™, and used Simulink Real-Time™ to run the code on Speedgoat target hardware. They used this prototype to validate the control design in a test rig with actual motor and pump hardware.
Tests showed that calculating pressure from a current draw measurement was possible, but due to variations in pump components, the calculations were not accurate across all operating conditions.
Using MATLAB and Stateflow, the team created an automated test suite that systematically varied temperature, pressure, and motor speed while logging current draw and other measurements on the test rig. They ran this test setup 24 hours a day for three months to fully characterize about 100 motor-pump combinations and component variants.
The team developed simple Simulink models of the pumps using lookup tables filled with data from the experiments, and ran simulations to fine-tune the control design and identify the best pump to use in production.
Software engineers developed ANSI-C code for the controller for the target microcontroller based on the Simulink model. They verified the implementation by comparing the code’s output with simulation results.
To maximize the accuracy of the pressure control, the team developed a calibration system for the end-of-line manufacturing process. This system runs tests to characterize the motor and pump, uses Curve Fitting Toolbox™ to populate a lookup table based on the test measurements, and then calibrates a system model inside the controller with the lookup table.
The ebm-papst auxiliary oil pump is in volume production, and is already being used by German automobile manufacturers.
Join the Customer Reference Program