Over the years my most common projects for hardware in the loop (HIL) systems have been “plant simulator” modes. With this post, I will take a deeper look at these types of HIL systems.
Elements of a plant simulator
The plant simulator environment consists of 4 elements
- The combined environment and plant model: Running on the HIL system are plant and environment models.
- The HIL system and physical connections: The HIL system simulates the plant system and communicates to the control hardware over a set of defined physical I/O.
- The control hardware: The control hardware is the limiting device in this system. It has both processing limitations (RAM/ROM, fixed or floating point) as well as hardware limitations (I/O resolution, CPU clock resolution)
- The control algorithm: The control algorithm, deployed to hardware is the unit under test (UUT).
- Testing infrastructure: While not part of the plant simulator, testing infrastructure, is part of every HIL system.
Limitations of hardware: why you use a HIL system
Recommended best practices for developing software with a Model-Based Design is to perform Model in the Loop (MIL) testing as part of the early development process. Upon completion of the initial development process, the HIL system is used to validate processor-specific behavior. The two most common issues are I/O update frequency and I/O resolution.
Let’s take the example of a throttle body; the device has a range of 2.5 degrees (hard stop close) to 90 degrees (full open). It has three linear encoded voltage signals to represent the position of the throttle using a standard y = mx + b formula. If we look at a 0 to 5 volt potentiometer sensor and assume the signal goes the full range then the formula becomes
V1 = m1 * alpha
where m1 = (5-0)/((90-2.5)*pi) = 0.0182
V1 = 0.0182 * alpha
If we now look at the other end of the system, the Hardware in the loop system it is standard to have 12 bit resolution for Analog to Digital cards. This means that over the 5 volt range we have a resolution of
bit resolution = 5 volts / 2^12 = 0.0012 volts
Combining these two formulas we find that the HIL system can resolve data at
Degree resolution = 0.0012 / 0.0182 = 0.0671 degrees
This resolution is, most likely, more than sufficient for the plant model. In fact, it is probably a finer resolution that the potentiometer on the throttle body provides. The act of performing these calculations is done to ensure that the resolution is sufficient for the systems needs. Let’s look at a simple change and assume that the role is reversed, the HIL system is sending a 0 to 5-volt signal and the embedded devices is receiving the data. Further, with a simple change to the analog to digital card from a 12-bit to 8-bit resolution
Bit resolution = 5 volts / 2^8 = 0.0391
Degree resolution = 0.0391/0.0182 = 1.0738 degrees
Most likely this would not be sufficient for the performance of the system.
HIL systems are used for a number of tasks; one critical task is the “shake out” of the hardware interfaces. As with all HIL tasks it has the advantage of moving the tests of expensive (or non-existent) prototype hardware and offering a level of repeatability that cannot be achieved in the field. For more information on the plant model aspect of HIL testing, you can view my blog on plant modeling.